
    >wg                     \    d dl Z e j                  dk  sd dlmZ yd dlmZ  G d dee      Zy)    N)      )OrderedDict)	DictMixinc                   .   e Zd Zd Zd Zd Zd Zd Zd ZddZ	d Z
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
 Zd Zedd       Zd Zd Zy)r   c                     t        |      dkD  rt        dt        |      z        	 | j                    | j
                  |i | y # t        $ r | j	                          Y .w xY w)N   z$expected at most 1 arguments, got %d)len	TypeError_OrderedDict__endAttributeErrorclearupdate)selfargskwdss      N/var/www/horilla/myenv/lib/python3.12/site-packages/asn1crypto/_ordereddict.py__init__zOrderedDict.__init__#   s]    4y1} FT RSS

 DKK&& " 

s   A A"!A"c                 ^    g x| _         }|d ||gz  }i | _        t        j                  |        y N)r   _OrderedDict__mapdictr   )r   ends     r   r   zOrderedDict.clear,   s2    !!DJD#s##CDJJJt    c                     || vr-| j                   }|d   }|||gx|d<   x|d<   | j                  |<   t        j                  | ||       y )Nr	   r   )r   r   r   __setitem__)r   keyvaluer   currs        r   r   zOrderedDict.__setitem__2   sS    $jj1v6945EEQE#a&4::c?T3.r   c                     t         j                  | |       | j                  j                  |      \  }}}||d<   ||d<   y )Nr   r	   )r   __delitem__r   pop)r   r   prevnext_s       r   r!   zOrderedDict.__delitem__9   s=    T3'#zz~~c2CuDGE!Hr   c              #   Z   K   | j                   }|d   }||ur|d    |d   }||ury y w)Nr   r   r   r   r   r   s      r   __iter__zOrderedDict.__iter__?   :     **Cq6Dc/1gAw c/   &++c              #   Z   K   | j                   }|d   }||ur|d    |d   }||ury y w)Nr	   r   r&   r'   s      r   __reversed__zOrderedDict.__reversed__F   r)   r*   c                     | st        d      |rt        |       j                         }nt        |       j                         }| j	                  |      }||fS )Nzdictionary is empty)KeyErrorreversednextiterr"   )r   lastr   r   s       r   popitemzOrderedDict.popitemM   sM    455tn))+4joo'HHSME:r   c                     | D cg c]	  }|| |   g }}| j                   | j                  f}| ` | `t        |       j                         }|\  | _         | _        |r| j                  |f|fS | j                  |ffS c c}w r   )r   r   varscopy	__class__)r   kitemstmp	inst_dicts        r   
__reduce__zOrderedDict.__reduce__W   s    +/0aaa\0E0**djj(C
DJT
)I%("DJ
)<<>>E8++ 1s   A:c                     t        |       S r   )listr   s    r   keyszOrderedDict.keysa   s    :r   c                     | s| j                   j                  dS | j                   j                  d| j                         dS )Nz()())r7   __name__r9   r?   s    r   __repr__zOrderedDict.__repr__m   s3    !%!8!8::#~~66

EEr   c                 $    | j                  |       S r   )r7   r?   s    r   r6   zOrderedDict.copyr   s    >>$''r   Nc                 ,     |        }|D ]  }|||<   	 |S r    )clsiterabler   dr   s        r   fromkeyszOrderedDict.fromkeysu   s&    A #Hr   c                     t        |t              rPt        |       t        |      k7  ryt        | j	                         |j	                               D ]  \  }}||k7  s y yt
        j                  | |      S )NFT)
isinstancer   r
   zipr9   r   __eq__)r   otherpqs       r   rP   zOrderedDict.__eq__|   se    %-t9E
* 

ekkm< %DAqAv$% ;;tU++r   c                     | |k(   S r   rH   )r   rQ   s     r   __ne__zOrderedDict.__ne__   s    u}$$r   )Tr   )rD   
__module____qualname__r   r   r   r!   r(   r,   r3   r<   r@   r   
setdefaultr   r"   valuesr9   iterkeys
itervalues	iteritemsrE   r6   classmethodrL   rP   rU   rH   r   r   r   r   !   s    	'		/					,	 ))
!!mm!!%%))
''		F
	( 
	 
		,	%r   r   )sysversion_infocollectionsr   UserDictr   r   rH   r   r   <module>rb      s0   . 
& ' #f%dI f%r   