
    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d S )Nc                       e Zd ZdS )MonkeypatchWarningN)__name__
__module____qualname__     T/var/www/html/marketdash/venv/lib/python3.11/site-packages/frozendict/monkeypatch.pyr   r      s        Dr   r   F)warn_cc                 x    dd l }|j        }| r,||k    r&|rd}nd}dd l}|                    |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 	IHCCHCc-...Jr   Tr   c           	      x   t          |          sd S ddlm}  |t                    }dd l}dd l}|j        }|                    |          }| r|}n|}|d }	n |ddddd d d           }	| r||j        j	        |_        n|t          d          d |_        ||_        ||_	        ||j        _	        |	|_        d S )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.      s5   $''' ''''''=""DKKK)N !::   ,2+!#11! 
  
  
  
$!#'<#;D !6  
  $!6D)D1DL0Dr   c                   	 t          |          sd S 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        _        d S )Nr   r   r   z@Old orjson encoder is None (maybe you already unpatched orjson?)r   c                 Z    t          |           rt          |           }  | g|R i |S )N)
isinstancedict)objargskwargsr   oldOrjsonDumpss      r	   frozendictOrjsonDumpsz3patchOrUnpatchOrjson.<locals>.frozendictOrjsonDumpsh   s@    #z**  3ii!>#777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MMM# 	8  
  - !))))))	8 	8 	8 	8 	8 	8 3*+ ,D%FL,FMr   c                   	
 d}t          ||          rd S 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 }||_        |_	        	                                  d S # t          $ r8 j                            	           j                            	           Y d S w xY w)	NT)r   r
   r   r   )MutableMappingr0   zUOld MutableMapping subclasshook is None (maybe you already unpatched MutableMapping?)c                 Z    | k    rt          |          rdS  |g|R i |S t          S )NF)
issubclassNotImplemented)klasssubclassr5   r6   r@   r   oldMutableMappingSubclasshooks       r	   $frozendictMutableMappingSubclasshookzVpatchOrUnpatchMutableMappingSubclasshook.<locals>.frozendictMutableMappingSubclasshook   sc     &&h
33 ! 54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44 ''''''=""D......%%%%%%*2 	@  
 )7(G%%(,(K% 0		" 	" 	" 	" 	" 	" 
	"$ -Q)+H((,I)+/(*JD'&GN#?((***** ? ? ?!))*555*22:>>>>>>	?s   B& &>C('C()r   raise_orjsonc                     t          | |           	 dd l}t          | |           n# t          $ r |r Y nw xY wt	          | |           d S )N)r)   r   r   )r.   r9   r>   ImportErrorrS   )r)   r   rT   r9   s       r	   patchOrUnpatchAllrW      s    uT22229
 	U488888	     		 	 -U4HHHHHHs   ) 99)r"   r:   rI   UserWarningr   r   r.   r>   rS   rW   r   __all__r   r   r	   <module>rZ      s
  !% 	 	 	 	 	 	 	 	 ',     $ )- 21 21 21 21 21j +/ %- %- %- %- %-V ?? ?? ?? ?? ??D (,E I I I I I !,5r   