o
    'h<                     @   s$  d Z ddlmZ ddlZddlZG dd dejjZG dd dej	j
Zded	efd
dZdeded	efddZded	eeef fddZddeded	efddZejZejZejZejZejZejZejZejZejZejZejZejZejZej Z ej!Z!ej"Z"ej#Z#ej$Z$ej%Z%ej&Z&ej'Z'dS )zDNS Result Codes.    )TupleNc                   @   sx   e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZdZdZdZdZdZdZedd Zedd ZdS )Rcoder                           	   
                              c                 C   s   dS )N   clsr   r   E/var/www/html/olx_land/venv/lib/python3.10/site-packages/dns/rcode.py_maximumF      zRcode._maximumc                 C   s   t S )N)UnknownRcoder   r   r   r   _unknown_exception_classJ   r   zRcode._unknown_exception_classN)__name__
__module____qualname__NOERRORFORMERRSERVFAILNXDOMAINNOTIMPREFUSEDYXDOMAINYXRRSETNXRRSETNOTAUTHNOTZONE	DSOTYPENIBADVERSBADSIGBADKEYBADTIMEBADMODEBADNAMEBADALGBADTRUNC	BADCOOKIEclassmethodr   r   r   r   r   r   r      s4    
r   c                   @   s   e Zd ZdZdS )r   zA DNS rcode is unknown.N)r    r!   r"   __doc__r   r   r   r   r   O   s    r   textreturnc                 C   s
   t | S )zConvert text into an rcode.

    *text*, a ``str``, the textual rcode or an integer in textual form.

    Raises ``dns.rcode.UnknownRcode`` if the rcode mnemonic is unknown.

    Returns a ``dns.rcode.Rcode``.
    )r   	from_text)r:   r   r   r   r<   S   s   

r<   flags	ednsflagsc                 C   s   | d@ |d? d@ B }t |S )zReturn the rcode value encoded by flags and ednsflags.

    *flags*, an ``int``, the DNS flags field.

    *ednsflags*, an ``int``, the EDNS flags field.

    Raises ``ValueError`` if rcode is < 0 or > 4095

    Returns a ``dns.rcode.Rcode``.
       r     )r   make)r=   r>   valuer   r   r   
from_flags`   s   
rC   rB   c                 C   s4   | dk s| dkrt d| d@ }| d@ d> }||fS )zReturn a (flags, ednsflags) tuple which encodes the rcode.

    *value*, a ``dns.rcode.Rcode``, the rcode.

    Raises ``ValueError`` if rcode is < 0 or > 4095.

    Returns an ``(int, int)`` tuple.
    r   r   zrcode must be >= 0 and <= 4095r?   r@   r   )
ValueError)rB   vevr   r   r   to_flagsp   s
   
rG   Ftsigc                 C   s   |r	| t jkr	dS t | S )zConvert rcode into text.

    *value*, a ``dns.rcode.Rcode``, the rcode.

    Raises ``ValueError`` if rcode is < 0 or > 4095.

    Returns a ``str``.
    r0   )r   r/   to_text)rB   rH   r   r   r   rI      s   

rI   )F)(r9   typingr   dns.enumdnsdns.exceptionenumIntEnumr   	exceptionDNSExceptionr   strr<   intrC   rG   boolrI   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r   r   r   r   <module>   s>   5
