o
    tfg                     @  s   d dl mZ d dlZd dlZd dlZd dlZd dlZejdkr&d dlm	Z	 nd dl
m	Z	 e	dZedZdddZdddZG dd deZd ddZd!ddZdS )"    )annotationsN)   
   )	ParamSpecPTargstuple[typing.Callable, dict]returnNonec               	     s   t dt t 4 I d H ' d fdd}| D ]\}} |tj|fi | qW d   I d H  d S 1 I d H s<w   Y  d S )	NzOrun_until_first_complete is deprecated and will be removed in a future version.func%typing.Callable[[], typing.Coroutine]r
   r   c                   s   |  I d H   j   d S N)Zcancel_scopecancel)r   Z
task_group ^/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/starlette/concurrency.pyrun   s   z%run_until_first_complete.<locals>.run)r   r   r
   r   )warningswarnDeprecationWarninganyioZcreate_task_groupZ
start_soon	functoolspartial)r   r   r   kwargsr   r   r   run_until_first_complete   s   .r   r   typing.Callable[P, T]P.argsr   P.kwargsc                   s2   |rt j| fi |} tjj| g|R  I d H S r   )r   r   r   	to_threadrun_sync)r   r   r   r   r   r   run_in_threadpool$   s   r!   c                   @  s   e Zd ZdS )_StopIterationN)__name__
__module____qualname__r   r   r   r   r"   -   s    r"   iteratortyping.Iterator[T]c                 C  s   zt | W S  ty   tw r   )nextStopIterationr"   )r&   r   r   r   _next1   s
   
r*   typing.Iterable[T]typing.AsyncIterator[T]c                 C s>   t | }	 ztjt|I d H V  W n
 ty   Y d S w qr   )iterr   r   r    r*   r"   )r&   Zas_iteratorr   r   r   iterate_in_threadpool;   s   r.   )r   r	   r
   r   )r   r   r   r   r   r   r
   r   )r&   r'   r
   r   )r&   r+   r
   r,   )
__future__r   r   systypingr   Zanyio.to_threadr   version_infor   Ztyping_extensionsr   TypeVarr   r   r!   	Exceptionr"   r*   r.   r   r   r   r   <module>   s     



	

