
    E#i#                        S SK r S SKJr  S SKrS SKJrJrJrJrJ	r	J
r
JrJr  SSKJr  Sr\
" S\R                   S9r " S	 S
\R                   5      rSS jr\ R(                  S\	\R                      S\S   4S j5       rSS\S\\	\   S4   S\4S jjrS\S\4S jr\
" SSS9r " S S\5      r " S S\S9r " S S\5      r\R=                  \5      r " S S\S9r  " S S\ 5      r!g)     N)cached_property)AnyDictIteratorTupleTypeTypeVarUnioncast   )assoc   TLogger)boundc                   b    \ rS rSrSr\S\4S j5       rS\S\	S\	SS4S	 jr
S\\	S
4   4S jrSrg)ExtendedDebugLogger   z?
Logging class that can be used for lower level debug logging.
returnc                 ,    U R                  [        5      $ N)isEnabledForDEBUG2_LEVEL_NUMselfs    i/home/james-whalen/.local/lib/python3.13/site-packages/ccxt/static_dependencies/ethereum/utils/logging.pyshow_debug2ExtendedDebugLogger.show_debug2   s      !122    messageargskwargsNc                 ~    U R                   (       a  U R                  " [        U/UQ70 UD6  g S U R                  S'   g )Nc                     g r    )r   r    r!   s      r   <lambda>,ExtendedDebugLogger.debug2.<locals>.<lambda>*   s    tr   debug2)r   logr   __dict__)r   r   r    r!   s       r   r'   ExtendedDebugLogger.debug2#   s5    HH%w@@@
 'LDMM(#r   .c                 (    [         U R                  44$ r   )get_extended_debug_loggernamer   s    r   
__reduce__ExtendedDebugLogger.__reduce__,   s     )499,66r   r$   )__name__
__module____qualname____firstlineno____doc__r   boolr   strr   r'   r   r.   __static_attributes__r$   r   r   r   r      s\     3T 3 3Lc L# L L L7E#s(O 7r   r   r   c                      [        [        S5      (       d+  [        R                  " [        S5        [        [        l        gg)zH
Installs the `DEBUG2` level logging levels to the main logging module.
DEBUG2N)hasattrloggingaddLevelNamer   r9   r$   r   r   setup_DEBUG2_loggingr=   2   s.     7H%%-x8) &r   logger_classc              #      #    [         R                  " 5       n[         R                  " U 5         S v   [         R                  " U5        g ! [         R                  " U5        f = f7fr   )r;   getLoggerClasssetLoggerClass)r>   original_logger_classs     r   _use_logger_classrC   ;   sH     #224<(64545s   ,A%A
 A%
A""A%r-   c                    Uc$  [        [        [        R                  " U 5      5      $ [	        U5         [        R
                  R                  nXR                  ;   a(  [        UR                  U    5      ULa  UR                  U 	 [        [        [        R                  " U 5      5      sS S S 5        $ ! , (       d  f       g = fr   )	r   r   r;   	getLoggerrC   Loggermanager
loggerDicttype)r-   r>   rG   s      r   
get_loggerrJ   E   s    GW..t455|, nn,,G)))**401E**40!2!24!89 -,,s   A5B22
C c                 "    [        U [        5      $ r   )rJ   r   )r-   s    r   r,   r,   Y   s    d/00r   THasLoggerMetaHasLoggerMetac            
          ^  \ rS rSrSr\R                  rS\\	   S\
S\\\      S\\
\4   S\	4
U 4S jjr\S\\	   S	\\R                     S\\	   4S
 j5       r\S\\	   S\\   S\\	   4S j5       rSrU =r$ )rM   `   z
Assigns a logger instance to a class, derived from the import path and name.

This metaclass uses `__qualname__` to identify a unique and meaningful name
to use when creating the associated logger for a given class.
mclsr-   bases	namespacer   c           
        > SU;   a  [         TU ]  XX#5      $ SU;  a  [        S5      e[        U R                  5         [
        R                  " US   5      nS S S 5        [         TU ]  XU[        USW5      5      $ ! , (       d  f       N*= f)Nloggerr2   zMissing __qualname__)super__new__AttributeErrorrC   r>   r;   rE   r   )rP   r-   rQ   rR   rT   	__class__s        r   rV   HasLoggerMeta.__new__j   s     y  7?4u@@* !788t001&&y'@AF 2 wt5%	8V2TUU 21s   A<<
B
valuec                 6    [        U R                  U 4SU05      $ )Nr>   rI   r0   )rP   rZ   s     r   replace_logger_class"HasLoggerMeta.replace_logger_class|   s     DMMD7^U,CDDr   otherc                 2    [        U R                  X40 5      $ r   r\   )rP   r_   s     r   meta_compatHasLoggerMeta.meta_compat   s     DMMD="55r   r$   )r0   r1   r2   r3   r4   r;   rF   r>   r   rL   r6   r   r   r   rV   classmethodr]   rI   ra   r7   __classcell__)rX   s   @r   rM   rM   `   s     >>LV>"VV T#YV S>	V
 
V$ E>"E+/+?E	n	E E
 6>"6+/:6	n	6 6r   c                   8    \ rS rSr\R
                  " S5      rSrg)_BaseHasLogger    r$   N)r0   r1   r2   r3   r;   rF   rT   r7   r$   r   r   rf   rf      s     ^^BFr   rf   )	metaclassc                       \ rS rSrSrg)	HasLogger   r$   Nr0   r1   r2   r3   r7   r$   r   r   rk   rk          r   rk   c                   $    \ rS rSr\" S5      rSrg)_BaseHasExtendedDebugLogger   rh   r$   N)r0   r1   r2   r3   r   rT   r7   r$   r   r   rp   rp      s     !$Fr   rp   c                       \ rS rSrSrg)HasExtendedDebugLogger   r$   Nrm   r$   r   r   rs   rs      rn   r   rs   )r   Nr   )"
contextlib	functoolsr   r;   typingr   r   r   r   r   r	   r
   r   toolzr   r   rF   r   r   r=   contextmanagerrC   r6   rJ   r,   rL   rI   rM   rf   rk   r]   HasExtendedDebugLoggerMetarp   rs   r$   r   r   <module>r{      s&    	 	 	  
)7>>
27'.. 70* 6D$8 6Xd^ 6 6:S :d7mT.A(B :g :(1C 1,? 1 )A&6D &6R }  	 	 +??@ST %,F %	8 	r   