
    .i                         S r S rS r " S S\5      rSS.S jrSS.S jrSS.S	 jrSS.S
 jrSSS.S jr	\R                  \R                  \R                  \	R                  \R                  4rg )Nc                       \ rS rSrSrg)MonkeypatchWarning    N)__name__
__module____qualname____firstlineno____static_attributes__r       6lib/python3.13/site-packages/frozendict/monkeypatch.pyr   r      s    r   r   F)warn_cc                     SS K nUR                  nU (       a+  X1:X  a&  U(       a  SnOSnSS KnUR                  U[        5        U$ )N    z4C Extension version, monkeypatch will be not appliedz4Pure Python version, monkeypatch will be not applied)
frozendictc_extwarningswarnr   )r   r   coolresmsgr   s         r   checkCExtensionr   
   s9    
**CHCHCc-.Jr   Tr   c           
         [        US9(       d  g SSKJn  U" [        5      nSS KnSS KnUR                  nUR                  U5      nU (       a  UnOUnUc  S n	OU" SSSSS S S S9n	U (       a  Uc  UR                  R                  Ul        OUc  [        S5      eS Ul        Xtl        Xl	        XR                  l	        Xl        g )Nr   r   import_moduleFT)skipkeysensure_asciicheck_circular	allow_nanindent
separatorsdefaultz<Old json encoder is None (maybe you already unpatched json?))r   	importlibr   r   r   json_OldJsonEncoder_getFrozendictJsonEncoderencoderJSONEncoder
ValueErrorFrozendictJsonEncoder_default_encoder)
patchr   r   selfr   r$   OldJsonEncoderr*   DefaultJsonEncoderdefault_json_encoders
             r   patchOrUnpatchJsonr1      s    $''"D))N !:: 2+!#1! 
 !#'<<#;#;D !6 
  $!6)1LL0r   c                 4  ^^	 [        US9(       d  g SSKJn  U" [        5      nSS KnUR
                  c  U (       d  [        S5      eUR                  m	OUR
                  m	U (       a  SSKJm  UU	4S jnUnT	nOT	nS nXsl        Xdl        XdR                  l        g )Nr   r   r   z@Old orjson encoder is None (maybe you already unpatched orjson?)r   c                 T   > [        U T5      (       a  [        U 5      n T" U /UQ70 UD6$ )N)
isinstancedict)objargskwargsr   oldOrjsonDumpss      r   frozendictOrjsonDumps3patchOrUnpatchOrjson.<locals>.frozendictOrjsonDumpsh   s.    #z**3i!#7777r   )	r   r#   r   r   orjson_oldOrjsonDumpsr)   dumpsr   )
r,   r   r   r-   r=   r;   defaultOrjsonDumpsnewOldOrjsonDumpsr   r:   s
           @@r   patchOrUnpatchOrjsonrB   Q   s    $''"D#8 
  --)	8 3*+ ,%L,MMr   c                   ^^	^
 Sn[        XS9(       a  g SSKJn  U" [        5      nSSKJm  SSKJm	  UR                  c  U (       d  [        S5      eTR                  m
OUR                  m
U (       a  [        UU	U
4S j5       nUnT
nOT
nS nXtl        UTl	         TR                  5         g ! [         a9    TR                  R                  T	5        TR                  R                  T	5         g f = f)	NT)r   r   r   r   )MutableMappingr3   zUOld MutableMapping subclasshook is None (maybe you already unpatched MutableMapping?)c                 X   > U T:X  a  [        UT5      (       a  gT" U/UQ70 UD6$ [        $ )NF)
issubclassNotImplemented)klasssubclassr8   r9   rD   r   oldMutableMappingSubclasshooks       r   $frozendictMutableMappingSubclasshookVpatchOrUnpatchMutableMappingSubclasshook.<locals>.frozendictMutableMappingSubclasshook   sG     &h
33 4   "!r   )r   r#   r   r   collections.abcrD   r   _oldMutableMappingSubclasshookr)   __subclasshook__classmethod_abc_caches_clearAttributeError
_abc_cachediscard_abc_negative_cache)r,   r   r   r   r-   rK   !defaultMutableMappingSubclasshook newOldMutableMappingSubclasshookrD   r   rJ   s           @@@r   (patchOrUnpatchMutableMappingSubclasshookrX   y   s    
 Fd4'"D.%**2@ 
 )7(G(G%(,(K(K%		" 
	"$ -Q)+H(,I)+/(*J'&GN#?((* ?!!))*5**22:>	?s   B+ +A C.-C.)r   raise_orjsonc                 t    [        XS9   SS Kn[        XS9  [	        XS9  g ! [         a    U(       a  e  Nf = f)N)r,   r   r   )r1   r=   rB   ImportErrorrX   )r,   r   rY   r=   s       r   patchOrUnpatchAllr\      s@    u29
 	U8,UH   s   " 77)r%   r>   rN   UserWarningr   r   r1   rB   rX   r\   r   __all__r   r   r   <module>r_      s   !% 	 	 ', $ )- 21j +/ %-V ??D (,E I !!,55r   