+
    4Ejv                        ^ RI Ht R tRsRt ! R R]4      tR t]]n        ]]n	         ]P                   ]]n        ]]n        ]]n        ]]n        ]]n        ]]n        ]]n        ]P(                  3tR#   ] d    R t]]n
         LSi ; i)    )deepcopyc                H    \        RV P                  P                   R24      h)zC
Function for not implemented method since the object is immutable
'z' object is read-only)AttributeError	__class____name__self_args_kwargss   &*,9lib/python3.14/site-packages/frozendict/_frozendict_py.py	immutabler      s)    
 
DNN##$$9:     N
frozendictc                      a a ] tR t^t oRtRt]R 4       tR tR t	R t
V 3R ltR tR tR	 tR
 tR tRR ltR tR tRR ltRR ltRR ltR tR tRtVtV ;t# )r   z
A simple immutable dictionary.

The API is the same as `dict`, without methods that can change the
immutability. In addition, it supports __hash__().
c                :    V ! \         P                  ! V/ VB 4      # )z
Identical to dict.fromkeys().
)dictfromkeys)clsargskwargss   &*,r   r   frozendict.fromkeys   s     4==$1&122r   c                   T p\        V4      pR pRp\        V4      ^8X  d6   V'       g.   V^ ,          pVP                  \        8X  d   V\        8X  d   TpRpV'       d   \        P
                  ! V.VO5/ VB p\        P                  ! V.VO5/ VB  VP                  \        8X  d%   \        V4      '       g   \        f   VsM\        pRpV'       d   \        P                  VRR4       V# )TNF_hash)
boollenr   r   r   __new____init___empty_frozendictobject__setattr__)$e4b37cdf_d78a_4632_bade_6f0579d8efacr   r   r   
has_kwargscontinue_creationr
   its   &*,     r   r   frozendict.__new__(   s    2&\
  t9>*aB ||z)cZ.?$)!<<5d5f5DMM$000 ~~+CII %,(,%,D(-% !""4"5r   c                    R # N r
   r   r   s   &*,r   r   frozendict.__init__P   s    r   c                    V P                   R8w  d   V P                   pV# \        V P                  4       4      p\        V4      p\        P                  V RV4       V# )zO
Calculates the hash if all values are hashable, otherwise
raises a TypeError.
r   r   )r   	frozensetitemshashr!   r"   )r
   r   r   r   fss   &*,  r   __hash__frozendict.__hash__S   sR     ::JJE  4::<(BHEtWe4r   c                   < \         SV `  ! V/ VB pV P                  pV\        8X  d   \         RVP
                   2pMVP
                  pV RV R2# )z
Identical to dict.__repr__().
.())super__repr__r   r   _module_namer   )r
   r   r   bodyklassnamer   s   &*,   r   r9   frozendict.__repr__c   s[    
 w00J"^1U^^$45D>>Dqa  r   c                D    V P                   pV\        8X  d   V # V! V 4      # )z1
Return the object itself, as it's an immutable.
)r   r   )r
   r<   s   & r   copyfrozendict.copyr   s$    
 JKT{r   c                "    V P                  4       # )z
See copy().
)r@   r+   s   &*,r   __copy__frozendict.__copy__~   s    
 yy{r   c                    V P                   pV\        8H  pV'       d    \        V 4       V'       d   V P	                  4       # \        \        V 4      4      pV! V4      #   \         d    Rp LCi ; i)zK
As for tuples, if hashable, see copy(); otherwise, it returns a
deepcopy.
F)r   r   r0   	TypeErrorr@   r   r   )r
   memor   r   r<   return_copytmps   &&*,   r   __deepcopy__frozendict.__deepcopy__   se     z)$T
 99;tDz"Sz  $#$s   A A.-A.c                2    V P                   \        V 4      33# )z
Support for `pickle`.
)r   r   r+   s   &*,r   
__reduce__frozendict.__reduce__   s    
 d..r   c                B    \        V 4      pW#V&   V P                  V4      # r)   r   r   )r
   keyvalnew_selfs   &&& r   setfrozendict.set   s!    :~~h''r   c                R    W9   d   V # \        V 4      pW#V&   V P                  V4      # r)   rP   )r
   rQ   defaultrS   s   &&& r   
setdefaultfrozendict.setdefault   s+    ;K:~~h''r   c                n    \        V 4      pW! V'       d   V P                  V4      # V P                  4       # r)   rP   )r
   rQ   rS   s   && r   deletefrozendict.delete   s/    :M>>(++~~r   c                     W,          #   \          d>    \        T4      ^,
          pT P                  P                  p\        T RT RT 24      Rhi ; i)   z index z out of range N)
IndexErrorr   r   r   )r
   
collectionindexmaxindexr=   s   &&&  r   _get_by_indexfrozendict._get_by_index   s`    	$$ 	:*H>>**D&wnXJ?	s
   
 AAc                V    \        V P                  4       4      pV P                  W!4      # r)   )tuplekeysrc   r
   ra   r`   s   && r   rQ   frozendict.key   s#    499;'
!!*44r   c                V    \        V P                  4       4      pV P                  W!4      # r)   )rf   valuesrc   rh   s   && r   valuefrozendict.value   s#    4;;=)
!!*44r   c                V    \        V P                  4       4      pV P                  W!4      # r)   )rf   r/   rc   rh   s   && r   itemfrozendict.item   s#    4::<(
!!*44r   c                H    \        R V P                  P                   R24      h)r   z(' object doesn't support item assignmentrF   r   r   )r
   rQ   rR   r   r   s   &&&*,r   __setitem__frozendict.__setitem__   s+    ''( ) 
 	
r   c                H    \        R V P                  P                   R24      h)r   z&' object doesn't support item deletionrr   )r
   rQ   r   r   s   &&*,r   __delitem__frozendict.__delitem__   s+    ''( ) 
 	
r   r*   )r   r)   )r   )r   
__module____qualname____firstlineno____doc__	__slots__classmethodr   r   r   r2   r9   r@   rC   rJ   rM   rT   rX   r[   rc   rQ   rl   ro   rs   rv   __static_attributes____classdictcell____classcell__)r   __classdict__s   @@r   r   r      s     I 3 3%P !
,/(( 5
5
5


 
r   c                 l    / pVP                  V 4       VP                  V4       V P                  V4      # r)   )updater   )r
   otherr   r   ress   &&*, r   frozendict_orr      s.    
CJJtJJu>>#r   c                 *    \        \        V 4      4      # r)   )reversedrf   r	   s   &*,r   frozendict_reversedr      s    d$$r   )r@   r   r   r    r:   r   r   r   __or____ior____reversed__r   r   clearpoppopitemr   __delattr__r"   rx   r   __all__r*   r   r   <module>r      s      K
 K
\ "
 "
 2 
 

 
 "
 "
 $
 
   2% 2J2s   A7 7B
B