Ë
    êmxiÅ
  ã                   ó^   — d Z ddlZddlmZ ddlmZ ddgiZg d¢Z G d	„ d
e«      Z	d„ Z
e	Ze
Zy)zÊ
Asynchronous progressbar decorator for iterators.
Includes a default `range` iterator printing to `stderr`.

Usage:
>>> from tqdm.asyncio import trange, tqdm
>>> async for i in trange(10):
...     ...
é    N)Úversion_infoé   )Útqdmzgithub.com/Ú	casperdcl)Útqdm_asyncioÚtaranger   Útrangec                   ój   ‡ — e Zd ZdZd
ˆ fd„	Zd„ Zd„ Zd„ Zeddddœd„«       Z	eddddœd	„«       Z
ˆ xZS )r   z0
    Asynchronous-friendly version of tqdm.
    Nc                 ó  •— t        ‰| �  |g|¢­i |¤Ž d| _        |�ot        |d«      r|j                  | _        d| _        y t        |d«      r|j                  | _        y t        |«      | _        | j                  j                  | _        y y )NFÚ	__anext__TÚ__next__)	ÚsuperÚ__init__Úiterable_awaitableÚhasattrr   Úiterable_nextr   ÚiterÚiterable_iterator)ÚselfÚiterableÚargsÚkwargsÚ	__class__s       €úC/home/htdocs/ttos/venv/lib/python3.12/site-packages/tqdm/asyncio.pyr   ztqdm_asyncio.__init__   s…   ø€ Ü‰Ñ˜Ð3 DÒ3¨FÒ3Ø"'ˆÔØÐÜ�x Ô-Ø%-×%7Ñ%7�Ô"Ø*.�Õ'Ü˜ :Ô.Ø%-×%6Ñ%6�Õ"ä)-¨h«�Ô&Ø%)×%;Ñ%;×%DÑ%D�Õ"ð  ó    c                 ó   — | S ©N© )r   s    r   Ú	__aiter__ztqdm_asyncio.__aiter__$   s   € Øˆr   c              ƒ   ó  K  — 	 | j                   r| j                  «       ƒ d {  –—† }n| j                  «       }| j                  «        |S 7 Œ'# t        $ r | j	                  «        t
        ‚t        $ r | j	                  «        ‚ w xY w­wr   )r   r   ÚupdateÚStopIterationÚcloseÚStopAsyncIterationÚBaseException)r   Úress     r   r   ztqdm_asyncio.__anext__'   sy   è ø€ ð	Ø×&Ò&Ø ×.Ñ.Ó0×0‘à×(Ñ(Ó*�Ø�K‰KŒMØˆJð	 1ùô
 ò 	%Ø�J‰JŒLÜ$Ð$Üò 	Ø�J‰JŒLØð	üs,   ‚B	„A £A¤&A Á
B	ÁA Á9BÂB	c                 ó:   —  | j                   j                  |i |¤ŽS r   )r   Úsend)r   r   r   s      r   r(   ztqdm_asyncio.send6   s   € Ø!ˆt�}‰}×!Ñ! 4Ð2¨6Ñ2Ð2r   ©ÚloopÚtimeoutÚtotalc             +   ó¢   K  — |€t        |«      }i }t        dd dk  r||d<    | t        j                  |fd|i|¤Žfd|i|¤ŽE d{  –—†  y7 Œ­w)z5
        Wrapper for `asyncio.as_completed`.
        Né   )é   é
   r*   r+   r,   )Úlenr   ÚasyncioÚas_completed)ÚclsÚfsr*   r+   r,   Útqdm_kwargsr   s          r   r3   ztqdm_asyncio.as_completed9   sl   è ø€ ð
 ˆ=Ü˜“GˆEØˆÜ˜˜Ð˜gÒ%Ø!ˆF�6‰NÙ”w×+Ñ+¨BÑJ¸ÐJÀ6ÑJñ 3Ø"ð3Ø&1ñ3÷ 	3ò 	3ús   ‚AAÁAÁAc             �   ó  K  — d„ }t        |«      D ��cg c]  \  }} |||«      ‘Œ }	}} | j                  |	f|||dœ|¤ŽD �cg c]  }|ƒ d{  –—† ‘Œ }
}t        |
«      D ��cg c]  \  }}|‘Œ	 c}}S c c}}w 7 Œ,c c}w c c}}w ­w)z/
        Wrapper for `asyncio.gather`.
        c              “   ó&   K  — | |ƒ d {  –—† fS 7 Œ­wr   r   )ÚiÚfs     r   Úwrap_awaitablez+tqdm_asyncio.gather.<locals>.wrap_awaitableK   s   è ø€ Ø˜A—g�:Ð�gús   ‚‰Šr)   N)Ú	enumerater3   Úsorted)r4   r*   r+   r,   r5   r6   r;   r9   r:   Úifsr&   Ú_s               r   Úgatherztqdm_asyncio.gatherF   sŸ   è ø€ ò
	ô 1:¸"³×>©¨¨1‰~˜a Õ#Ð>ˆÑ>Ø 0 × 0Ñ 0°ð !M¸4ÈØ7<ñ!MØ@Kñ!Mö N˜1�Q�w‰wð Nˆð Nä$ S›k×*‘d�a˜’Ó*Ð*ùó ?Øúò Nùã*ùs?   ‚B”A4§BÁ
A<ÁA:
ÁA<ÁBÁ$BÁ0
BÁ:A<Á<Br   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r(   Úclassmethodr3   r@   Ú__classcell__)r   s   @r   r   r      sS   ø„ ñõEòòò3ð Ø&*°DÀó 
3ó ð
3ð Ø$(°$¸dó 
+ó ô
+r   r   c                  ó&   — t        t        | Ž fi |¤ŽS )zE
    A shortcut for `tqdm.asyncio.tqdm(range(*args), **kwargs)`.
    )r   Úrange)r   r   s     r   r   r   T   s   € ô œ˜t˜Ñ/¨Ñ/Ð/r   )rD   r2   Úsysr   Ústdr   Ústd_tqdmÚ
__author__Ú__all__r   r   r	   r   r   r   ú<module>rN      sD   ðñó Ý å !à˜k˜]Ð+€
Ú
7€ô>+�8ô >+òB0ð €Ø	�r   