+
    i                         R t ^ RIt^ RIt^ RIHt  ^ RIHtHtHtH	t	 ^RIHt  ! R R]P                  4      tR tR t]R]3R	 l4       t]R
 4       tR#   ]
 d     L@i ; i)zB
Helper functionality for interoperability with stdlib `logging`.
N)contextmanager)IteratorListOptionalType)tqdmc                   >   a a ] tR t^t o]3V 3R lltR tRtVtV ;t	# )_TqdmLoggingHandlerc                0   < \         SV `  4        Wn        R # N)super__init__
tqdm_class)selfr   	__class__s   &&]/Users/mibo/.openclaw/workspace/.venv-ak/lib/python3.14/site-packages/tqdm/contrib/logging.pyr   _TqdmLoggingHandler.__init__   s     	$    c                     V P                  V4      pV P                  P                  W P                  R 7       V P	                  4        R#   \
        \        3 d    h  T P                  T4        R# ; i))fileN)formatr   writestreamflushKeyboardInterrupt
SystemExithandleError)r   recordmsgs   && r   emit_TqdmLoggingHandler.emit   s\    	%++f%COO!!#KK!8JJL!:. 		%V$s   AA $A2)r   )
__name__
__module____qualname____firstlineno__std_tqdmr   r   __static_attributes____classdictcell____classcell__)r   __classdict__s   @@r   r	   r	      s      %% %r   r	   c                     \        V \        P                  4      ;'       d.    V P                  \        P
                  \        P                  09   # r   )
isinstanceloggingStreamHandlerr   sysstdoutstderr)handlers   &r   _is_console_logging_handlerr2   #   s:    w 5 56 ; ;3::szz"::<r   c                 B    V  F  p\        V4      '       g   K  Vu # 	  R # r   )r2   )handlersr1   s   & r   (_get_first_found_console_logging_handlerr5   (   s    &w//N r   c              #  &  "   V f   \         P                  .p V  Uu. uF  q"P                  NK  	  pp V  F  p\        V4      p\	        VP                  4      pVe-   VP                  VP                  4       VP                  Vn        VP                   Uu. uF  p\        V4      '       d   K  VNK  	  upV.,           Vn        K  	  Rx  \        W4       F  w  r'Wrn        K  	  R# u upi u upi   \        Y4       F  w  r'Yrn        K  	  i ; i5i)a  
Context manager redirecting console logging to `tqdm.write()`, leaving
other logging handlers (e.g. log files) unaffected.

Parameters
----------
loggers  : list, optional
  Which handlers to redirect (default: [logging.root]).
tqdm_class  : optional

Example
-------
```python
import logging
from tqdm import trange
from tqdm.contrib.logging import logging_redirect_tqdm

LOG = logging.getLogger(__name__)

if __name__ == '__main__':
    logging.basicConfig(level=logging.INFO)
    with logging_redirect_tqdm():
        for i in trange(9):
            if i == 4:
                LOG.info("console logging redirected to `tqdm.write()`")
    # logging restored
```
N)
r,   rootr4   r	   r5   setFormatter	formatterr   r2   zip)loggersr   loggeroriginal_handlers_listtqdm_handlerorig_handlerr1   original_handlerss   &&      r   logging_redirect_tqdmrA   .   s     D <<.<CDG&ooGD0F.z:LCFOOTL')),*@*@A&2&9&9#'-='6G27; =@L~NFO  	),W)M%F/O *N E=
 *-W)M%F/O *Ns?   DC(DA#C2 C-.C-4C2 !D-C2 2DDc            	   /  @  "   VP                  4       pVP                  RR4      pVP                  R\        4      pV! V / VB ;_uu_ 4       p\        W4R7      ;_uu_ 4        Vx  RRR4       RRR4       R#   + '       g   i     L; i  + '       g   i     R# ; i5i)a@  
Convenience shortcut for:
```python
with tqdm_class(*args, **tqdm_kwargs) as pbar:
    with logging_redirect_tqdm(loggers=loggers, tqdm_class=tqdm_class):
        yield pbar
```

Parameters
----------
tqdm_class  : optional, (default: tqdm.std.tqdm).
loggers  : optional, list.
**tqdm_kwargs  : passed to `tqdm_class`.
r;   Nr   )r;   r   )copypopr%   rA   )argskwargstqdm_kwargsr;   r   pbars   *,    r   tqdm_logging_redirectrI   c   st     , ++-Kooi.Gx8J	T	)[	)	)T"7JJJ K 
*	)JJ 
*	)	)s6   A	BB
 A7	%B
-
B7BB

B		B)__doc__r,   r.   
contextlibr   typingr   r   r   r   ImportErrorstdr   r%   r-   r	   r2   r5   rA   rI    r   r   <module>rP      s     
 %	55 #%'// %&<
 10 10h  u  		s   A AA