
    Eqg
                     B   d Z ddlZddlmZ  G d dej                  Z G d dej                  Zded	ed
efdZ	ded	ed
efdZ
ded
efdZded
efdZded
efdZded
ef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dS )zDNS Message Flags.    N)Anyc                   *    e Zd ZdZdZdZdZdZdZdZ	dS )	Flag   i   i                N)
__name__
__module____qualname__QRAATCRDRAADCD     ;/var/www/html/env/lib/python3.11/site-packages/dns/flags.pyr   r      s1        	B	B	B	B	B	B	BBBr   r   c                       e Zd ZdZdS )EDNSFlagr   N)r   r   r   DOr   r   r   r   r   .   s        	BBBr   r   text
enum_classreturnc                 v    d}|                                  }|D ]}|||                                         z  } |S )Nr   )splitupper)r   r   flagstokensts        r   
_from_textr$   3   sA    EZZ\\F ' 'AGGII&&Lr   r!   c                     g }|j                                         D ]#\  }}| |z  dk    r|                    |           $d                    |          S )Nr    )__members__itemsappendjoin)r!   r   
text_flagskvs        r   _to_textr.   ;   s]    J&,,.. ! !119>>a   88Jr   c                 ,    t          | t                    S )zgConvert a space-separated list of flag text values into a flags
    value.

    Returns an ``int``
    )r$   r   r   s    r   	from_textr1   C   s     dD!!!r   c                 ,    t          | t                    S )zgConvert a flags value into a space-separated list of flag text
    values.

    Returns a ``str``.
    )r.   r   r!   s    r   to_textr4   M   s     E4   r   c                 ,    t          | t                    S )zqConvert a space-separated list of EDNS flag text values into a EDNS
    flags value.

    Returns an ``int``
    )r$   r   r0   s    r   edns_from_textr6   W   s     dH%%%r   c                 ,    t          | t                    S )zrConvert an EDNS flags value into a space-separated list of EDNS flag
    text values.

    Returns a ``str``.
    )r.   r   r3   s    r   edns_to_textr8   a   s     E8$$$r   )__doc__enumtypingr   IntFlagr   r   strintr$   r.   r1   r4   r6   r8   r   r   r   r   r   r   r   r   r   r   r   <module>r?      s  $         
    4<   (    t|   
S c c     C  S  S        "C "C " " " "!3 !3 ! ! ! !& & & & & &% % % % % % 
W	W	W	W	W	W	W [r   