�
K�g�
� �f � d Z ddlZddlmZ ddlmZ ddgiZg d�Z G d � d
e� � Z d� Z
e Ze
ZdS )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� )�tqdmzgithub.com/� casperdcl)�tqdm_asyncio�taranger �trangec �v � � e Zd ZdZd
� fd� Zd� Zd� Zd� Zedddd�d�� � Z edddd�d �� � Z
� xZS )r z0
Asynchronous-friendly version of tqdm.
Nc �( �� t � � j |g|�R i |�� d| _ |�jt |d� � r|j | _ d| _ d S t |d� � r|j | _ d S t |� � | _ | j j | _ d S d S )NF� __anext__T�__next__) �super�__init__�iterable_awaitable�hasattrr �
iterable_nextr
�iter�iterable_iterator)�self�iterable�args�kwargs� __class__s ��\/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/tqdm/asyncio.pyr ztqdm_asyncio.__init__ s� �� �������3�D�3�3�3�F�3�3�3�"'������x��-�-�
E�%-�%7��"�*.��'�'�'���:�.�.�
E�%-�%6��"�"�"�)-�h����&�%)�%;�%D��"�"�"� �� c � � | S �N� )r s r � __aiter__ztqdm_asyncio.__aiter__$ s � ��r c � �. K � | j r| � � � � d {V ��}n| � � � }| � � � |S # t $ r | � � � t
�t $ r | � � � � w xY wr )r r �update�
StopIteration�close�StopAsyncIteration�
BaseException)r �ress r r ztqdm_asyncio.__anext__'