
    h                    n    d Z ddlmZ ddlmZmZmZ ddlmZ  G d de          Z	 G d de          Z
d	S )
z'
Basic Flag and Flags data structures.
    )annotations)IterableIterator
MutableSet)
NamedTuplec                  $    e Zd ZU ded<   ded<   dS )FlagstrnameintbitN)__name__
__module____qualname____annotations__     T/var/www/html/e360mart/e360mart_env/lib/python3.11/site-packages/hyperframe/flags.pyr	   r	   
   s"         IIIHHHHHr   r	   c                  J    e Zd ZdZddZddZddZddZddZddZ	ddZ
dS )Flagsz
    A simple MutableSet implementation that will only accept known flags as
    elements.

    Will behave like a regular set(), except that a ValueError will be thrown
    when .add()ing unexpected flags.
    defined_flagsIterable[Flag]returnNonec                N    d |D             | _         t                      | _        d S )Nc                    h | ]	}|j         
S r   )r   ).0flags     r   	<setcomp>z!Flags.__init__.<locals>.<setcomp>   s    AAA4TYAAAr   )_valid_flagsset_flags)selfr   s     r   __init__zFlags.__init__   s'    AA=AAA #r   r
   c                D    t          t          | j                            S N)reprsortedr"   r#   s    r   __repr__zFlags.__repr__   s    F4;''(((r   xobjectboolc                6    | j                             |          S r&   )r"   __contains__)r#   r+   s     r   r/   zFlags.__contains__   s    {''***r   Iterator[str]c                4    | j                                         S r&   )r"   __iter__r)   s    r   r2   zFlags.__iter__"   s    {##%%%r   r   c                4    | j                                         S r&   )r"   __len__r)   s    r   r4   zFlags.__len__%   s    {""$$$r   valuec                6    | j                             |          S r&   )r"   discard)r#   r5   s     r   r7   zFlags.discard(   s    {""5)))r   c                    || j         vrd| d| j          }t          |          | j                            |          S )NzUnexpected flag: z. Valid flags are: )r    
ValueErrorr"   add)r#   r5   msgs      r   r:   z	Flags.add+   sH    )))SeSS@QSSCS//!{u%%%r   N)r   r   r   r   )r   r
   )r+   r,   r   r-   )r   r0   )r   r   )r5   r
   r   r   )r   r   r   __doc__r$   r*   r/   r2   r4   r7   r:   r   r   r   r   r      s         & & & &) ) ) )+ + + +& & & &% % % %* * * *& & & & & &r   r   N)r<   
__future__r   collections.abcr   r   r   typingr   r	   r   r   r   r   <module>r@      s     # " " " " " : : : : : : : : : :          :   
 &  &  &  &  &J  &  &  &  &  &r   