o
    Þ­jg  ã                   @  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)Úcancel_scopeÚcancel)r   ©Ú
task_group© úR/var/www/html/CropPilot/venv/lib/python3.10/site-packages/starlette/concurrency.pyÚrun   s   €z%run_until_first_complete.<locals>.run)r   r   r
   r   )ÚwarningsÚwarnÚDeprecationWarningÚanyioÚcreate_task_groupÚ
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*   Úas_iteratorr   r   r   Úiterate_in_threadpool;   s   €ÿýr3   )r   r	   r
   r   )r   r    r   r!   r   r"   r
   r   )r*   r+   r
   r   )r*   r/   r
   r0   )Ú
__future__r   r   ÚsysÚtypingr   Úanyio.to_threadr   Úversion_infor   Útyping_extensionsr   ÚTypeVarr   r   r%   Ú	Exceptionr&   r.   r3   r   r   r   r   Ú<module>   s     



	

