
    x8'h                         d Z d Zd Z G d de      ZdddZdddZddd	Zddd
ZddddZ	ej                  ej                  ej                  e	j                  ej                  fZy )Nc                       e Zd Zy)MonkeypatchWarningN)__name__
__module____qualname__     R/var/www/html/trade_iq/venv/lib/python3.12/site-packages/frozendict/monkeypatch.pyr   r      s    r   r   F)warn_cc                 v    dd l }|j                  }| r&||k(  r!|rd}nd}dd l}|j                  |t               |S )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   
   s;    
**CvHCHCc-.Jr   Tr   c           	      v   t        |      sy ddlm}  |t              }dd l}dd l}|j                  }|j                  |      }| r|}n|}|d }	n |ddddd d d       }	| r|0|j                  j                  |_        n|t        d      d |_        ||_        ||_	        ||j                  _	        |	|_        y )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	   patchOrUnpatchJsonr.      s    $''"D))N !:: 2+!#1! 
 !#'<<#;#;D !6 
  $!6D)D1DLL0Dr   c                   	 t        |      sy ddlm}  |t              }dd l}|j
                  | st        d      |j                  	n|j
                  	| rddlm 	fd}|}	}n	}d }||_        ||_        ||j                  _        y )Nr   r   r   z@Old orjson encoder is None (maybe you already unpatched orjson?)r   c                 J    t        |       rt        |       }  | g|i |S )N)
isinstancedict)objargskwargsr   oldOrjsonDumpss      r	   frozendictOrjsonDumpsz3patchOrUnpatchOrjson.<locals>.frozendictOrjsonDumpsh   s+    #z*3i!#7777r   )	r   r    r   r   orjson_oldOrjsonDumpsr&   dumpsr   )
r)   r   r   r*   r9   r8   defaultOrjsonDumpsnewOldOrjsonDumpsr   r7   s
           @@r	   patchOrUnpatchOrjsonr>   Q   s    $''"D#8 
  --)	8 3*+ ,D%FL,FMMr   c                   	
 d}t        ||      ry ddlm}  |t              }ddlm ddlm	 |j                  | st        d      j                  
n|j                  
| rt        	
fd       }|}
}n
}d }||_        |_	        	 j                          y # t        $ r9 j                  j                  	       j                  j                  	       Y y w xY w)	NT)r   r
   r   r   )MutableMappingr0   zUOld MutableMapping subclasshook is None (maybe you already unpatched MutableMapping?)c                 L    | k(  rt        |      ry |g|i |S t        S )NF)
issubclassNotImplemented)klasssubclassr5   r6   r@   r   oldMutableMappingSubclasshooks       r	   $frozendictMutableMappingSubclasshookzVpatchOrUnpatchMutableMappingSubclasshook.<locals>.frozendictMutableMappingSubclasshook   sD     &h
3 4   "!r   )r   r    r   r   collections.abcr@   r   _oldMutableMappingSubclasshookr&   __subclasshook__classmethod_abc_caches_clearAttributeError
_abc_cachediscard_abc_negative_cache)r)   r   r
   r   r*   rG   !defaultMutableMappingSubclasshook newOldMutableMappingSubclasshookr@   r   rF   s           @@@r	   (patchOrUnpatchMutableMappingSubclasshookrS   y   s    
 FdV4'"D.%**2@ 
 )7(G(G%(,(K(K%		" 
	"$ -Q)+H(,I)+/(*JD'&GN#?((* ?!!))*5**22:>	?s   B ?C! C!)r   raise_orjsonc                     t        | |       	 dd l}t        | |       t	        | |       y # t        $ r |r Y w xY w)N)r)   r   r   )r.   r9   r>   ImportErrorrS   )r)   r   rT   r9   s       r	   patchOrUnpatchAllrW      sF    uT29
 	U48,U4H   s   . ==)r"   r:   rI   UserWarningr   r   r.   r>   rS   rW   r   __all__r   r   r	   <module>rZ      s   !% 	 	 ', $ )- 21j +/ %-V ??D (,E I !!,55r   