ó
    ÌÅLgá  ã                   ó‚   • S SK rS SKJrJr  S SKJr  \ " S S\R                  R                  5      5       r	S\S\4S jr
g)	é    N)ÚAnyÚCallable)Ú	immutablec            	       ó|   • \ rS rSrS\4S\S\S\/ \R                  R                  4   4S jjrS rS rS	 rS
 rSrg)ÚDicté	   FÚ
dictionaryÚno_copyÚmap_factoryc                 óÎ   • U(       a0  [        U[        R                  R                  5      (       a  Xl        O'U" 5       U l        U R                  R                  U5        SU l        g)záMake an immutable dictionary from the specified dictionary.

If *no_copy* is `True`, then *dictionary* will be wrapped instead
of copied.  Only set this if you are sure there will be no external
references to the dictionary.
N)Ú
isinstanceÚcollectionsÚabcÚMutableMappingÚ_odictÚupdateÚ_hash)Úselfr	   r
   r   s       Ú//usr/lib/python3/dist-packages/dns/immutable.pyÚ__init__ÚDict.__init__   sD   € ö ”z *¬k¯o©o×.LÑ.L×MÑMØ$�Ká%›-ˆDŒKØ�K‰K×Ñ˜zÔ*Øˆ�
ó    c                 ó8   • U R                   R                  U5      $ ©N)r   Ú__getitem__)r   Úkeys     r   r   ÚDict.__getitem__   s   € Ø�{‰{×&Ñ& sÓ+Ð+r   c                 óÖ   • U R                   cQ  Sn[        U R                  R                  5       5       H  nU[	        U5      -  nM     [
        R                  U SU5        U R                   $ )Nr   r   )r   Úsortedr   ÚkeysÚhashÚobjectÚ__setattr__)r   Úhr   s      r   Ú__hash__ÚDict.__hash__!   sV   € Ø�:‰:ÑØˆAÜ˜dŸk™k×.Ñ.Ó0Ö1�Ø”T˜#“Y‘’ñ 2ä×Ñ˜t W¨aÔ0à�z‰zÐr   c                 ó,   • [        U R                  5      $ r   )Úlenr   ©r   s    r   Ú__len__ÚDict.__len__*   s   € Ü�4—;‘;ÓÐr   c                 ó,   • [        U R                  5      $ r   )Úiterr   r)   s    r   Ú__iter__ÚDict.__iter__-   s   € Ü�D—K‘KÓ Ð r   )r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Údictr   Úboolr   r   r   r   r   r   r%   r*   r.   Ú__static_attributes__© r   r   r   r   	   sS   † ð
 ØDHñ	àðð ðð ˜b +§/¡/×"@Ñ"@Ð@ÑAõ	ò&,òò õ!r   r   ÚoÚreturnc                 óÀ  • [        U [        5      (       a  [        U 5      $ [        U [        5      (       a   [	        U 5        U $ [        U [        5      (       a  [        S U  5       5      $ [        U [        5      (       a<  [        5       nU R                  5        H  u  p#[        U5      X'   M     [        US5      $ U $ ! [
         a    [        S U  5       5      s $ f = f)z+
Convert mutable types to immutable types.
c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr   ©Úconstify©Ú.0Úelts     r   Ú	<genexpr>Úconstify.<locals>.<genexpr><   s   é € Ð4²!¨3œ #Ÿ˜²!ùó   ‚c              3   ó8   #   • U  H  n[        U5      v •  M     g 7fr   r<   r>   s     r   rA   rB   >   s   é € Ð0ªa s”X˜c—]�]ªaùrC   T)r   Ú	bytearrayÚbytesÚtupler!   Ú	ExceptionÚlistr4   Úitemsr=   r   )r8   ÚcdictÚkÚvs       r   r=   r=   1   s½   € ô �!”Y×ÑÜ�Q‹xˆÜ�!”U×Ñð	5Ü�ŒGØˆHô �!”T×ÑÜÑ0©aÓ0Ó0Ð0Ü�!”T×ÑÜ“ˆØ—G‘G–I‰DˆAÜ “{ˆE‹Hñ ä�E˜4Ó Ð Ø€Høô ó 	5ÜÑ4±!Ó4Ó4Ò4ð	5ús   ·B> Â>CÃC)Úcollections.abcr   Útypingr   r   Údns._immutable_ctxr   r   ÚMappingr   r=   r7   r   r   Ú<module>rR      sI   ðó ß  å (ð ô$!ˆ;�?‰?×"Ñ"ó $!ó ð$!ðN�ð ˜õ r   