§
    dŠtjß  ã                  ój  — d Z ddlmZ ddlZddlZddlZddlmZ ddl	m
Z
 ddlmZ ddlmZmZmZmZmZmZ dd	lmZmZ er
dd
lmZmZmZ  ed¦  «        Z G d„ de¦  «        Z e
d¬¦  «         G d„ dee         ¦  «        ¦   «         Z G d„ d¦  «        Zd*d„Z d+d„Z!d*d„Z"d,d„Z#d-d%„Z$d.d(„Z%g d)¢Z&dS )/zKSeparate caller cancellation from backend task and executor-future results.é    )ÚannotationsN)ÚFuture)Ú	dataclass)ÚLock)ÚTYPE_CHECKINGÚFinalÚGenericÚNoReturnÚTypeVarÚcasté   )Ú_append_exception_contextÚ_raise_chained_errors)ÚAsyncIteratorÚ	AwaitableÚCallableÚ_Tc                  ó   — e Zd ZdS )Ú _AsyncTransitionUnavailableErrorN)Ú__name__Ú
__module__Ú__qualname__© ó    úM/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/filelock/_async.pyr   r      s   € € € € € Ø€Dr   r   T)Úfrozenc                  ó,   — e Zd ZU dZded<   dZded<   dS )Ú_BackendOutcomeNz	_T | NoneÚvaluezBaseException | NoneÚerror)r   r   r   r   Ú__annotations__r    r   r   r   r   r      s4   € € € € € € à€EÐÐÐÑØ"&€EÐ&Ð&Ð&Ñ&Ð&Ð&r   r   c                  óz   — e Zd Zdd„Zej        dd„¦   «         Zej        dd„¦   «         Zedd„¦   «         Z	dd„Z
dS )Ú_AsyncTransitionGateÚreturnÚNonec                ó:   — t          ¦   «         | _        d | _        d S ©N)r   Ú
_tail_lockÚ_tail)Úselfs    r   Ú__init__z_AsyncTransitionGate.__init__    s   € Ý'+¡v¤vˆŒØ48ˆŒ
ˆ
ˆ
r   úAsyncIterator[None]c               óž  ‡ ‡K  — t          ¦   «         Š‰ j        5  ‰ j        }‰‰ _        d d d ¦  «         n# 1 swxY w Y   |�V	 t          t	          j        |¦  «        ¦  «        ƒ d {V —† n-# t          j        $ r |                     ˆ ˆfd„¦  «         ‚ w xY w	 d W V — ‰                      ‰¦  «         d S # ‰                      ‰¦  «         w xY w)Nc                ó.   •— ‰                      ‰¦  «        S r'   ©Ú_leave©Ú_predecessorr*   Útickets    €€r   ú<lambda>z+_AsyncTransitionGate.hold.<locals>.<lambda>.   ó   ø€ À4Ç;Â;ÈvÑCVÔCV€ r   )	ÚConcurrentFuturer(   r)   Ú_wait_until_doneÚasyncioÚwrap_futureÚCancelledErrorÚadd_done_callbackr0   )r*   Úpredecessorr3   s   ` @r   Úholdz_AsyncTransitionGate.hold$   s;  øøè è € å)9Ñ);Ô);ˆØŒ_ð 	 ð 	 Øœ*ˆKØˆDŒJð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð Ð"ðÝ&¥wÔ':¸;Ñ'GÔ'GÑHÔHÐHÐHÐHÐHÐHÐHÐHÐHøÝÔ)ð ð ð Ø×-Ò-Ð.VÐ.VÐ.VÐ.VÐ.VÑWÔWÐWØðøøøð	 ØˆEˆEˆEˆEà�KŠK˜ÑÔÐÐÐøˆD�KŠK˜ÑÔÐÐøøøs$   š5µ9¼9Á'A+ Á+*BÂB5 Â5CÚblockingÚboolÚcancel_checkúCallable[[], bool] | NoneÚdeadlineúfloat | NoneÚpoll_intervalÚfloatc              ó®  ‡ ‡K  — t          ¦   «         Š‰ j        5  ‰ j        }‰‰ _        d d d ¦  «         n# 1 swxY w Y   |�^|                     ¦   «         sJ	 ‰                      |||||¬¦  «        ƒ d {V —† n(# t
          $ r |                     ˆ ˆfd„¦  «         ‚ w xY w	 d W V — ‰                      ‰¦  «         d S # ‰                      ‰¦  «         w xY w)N)r>   r@   rB   rD   c                ó.   •— ‰                      ‰¦  «        S r'   r/   r1   s    €€r   r4   z7_AsyncTransitionGate.hold_for_acquire.<locals>.<lambda>L   r5   r   )r6   r(   r)   ÚdoneÚ_wait_for_predecessorÚBaseExceptionr;   r0   )r*   r>   r@   rB   rD   r<   r3   s   `     @r   Úhold_for_acquirez%_AsyncTransitionGate.hold_for_acquire5   sn  øøè è € õ *:Ñ);Ô);ˆØŒ_ð 	 ð 	 Øœ*ˆKØˆDŒJð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð Ð"¨;×+;Ò+;Ñ+=Ô+=Ð"ð
Ø×0Ò0ØØ%Ø!-Ø%Ø"/ð 1ñ ô ð ð ð ð ð ð ð ð øõ !ð ð ð Ø×-Ò-Ð.VÐ.VÐ.VÐ.VÐ.VÑWÔWÐWØðøøøð	 ØˆEˆEˆEˆEà�KŠK˜ÑÔÐÐÐøˆD�KŠK˜ÑÔÐÐøøøs$   š5µ9¼9Á A8 Á8%BÂ!B= Â=Cr<   úConcurrentFuture[None]c             ƒ  óx  K  — |st           ‚t          j        | ¦  «        }|                      ¦   «         s†|� |¦   «         rt           ‚|�8|t	          j        ¦   «         z
  x}dk    rt           ‚|�t          ||¦  «        n|}n|�|nd }t          j        |f|¬¦  «        ƒ d {V —† |                      ¦   «         ¯„d S d S )Nr   )Útimeout)r   r8   r9   rH   ÚtimeÚperf_counterÚminÚwait)r<   r>   r@   rB   rD   ÚwaiterÚ	remainingÚwait_intervals           r   rI   z*_AsyncTransitionGate._wait_for_predecessorS   sþ   è è € ð ð 	3Ý2Ð2ÝÔ$ [Ñ1Ô1ˆØ×"Ò"Ñ$Ô$ð 		AØÐ'¨L¨L©N¬NÐ'Ý6Ð6ØÐ#Ø!)­DÔ,=Ñ,?Ô,?Ñ!?Ð?�IÀAÒEÐEÝ:Ð:ØAMÐAY¥ M°9Ñ =Ô =Ð =Ð_h��à1=Ð1I  Èt�Ý”, ˜y°-Ð@Ñ@Ô@Ð@Ð@Ð@Ð@Ð@Ð@Ð@ð ×"Ò"Ñ$Ô$ð 		Að 		Að 		Að 		Að 		Ar   r3   c                óŽ   — | j         5  | j        |u rd | _        d d d ¦  «         n# 1 swxY w Y   |                     d ¦  «         d S r'   )r(   r)   Ú
set_result)r*   r3   s     r   r0   z_AsyncTransitionGate._leavej   s�   € ØŒ_ð 	"ð 	"ØŒz˜VÐ#Ð#Ø!�”
ð	"ð 	"ð 	"ñ 	"ô 	"ð 	"ð 	"ð 	"ð 	"ð 	"ð 	"øøøð 	"ð 	"ð 	"ð 	"ð 	×Ò˜$ÑÔÐÐÐs   ˆ%¥)¬)N)r$   r%   )r$   r,   )
r>   r?   r@   rA   rB   rC   rD   rE   r$   r,   )r<   rL   r>   r?   r@   rA   rB   rC   rD   rE   r$   r%   )r3   rL   r$   r%   )r   r   r   r+   Ú
contextlibÚasynccontextmanagerr=   rK   ÚstaticmethodrI   r0   r   r   r   r#   r#      s¨   € € € € € ð9ð 9ð 9ð 9ð Ô#ð ð  ð  ñ $Ô#ð ð  Ô#ð ð  ð  ñ $Ô#ð ð: ðAð Að Añ „\ðAð, ð  ð  ð  ð  ð  r   r#   Úfutureú#asyncio.Future[_BackendOutcome[_T]]r$   c              ƒ  ó
  K  — |                       ¦   «         s_t          j        t          j        ¦  «        5  t          | ¦  «        ƒ d {V —† d d d ¦  «         n# 1 swxY w Y   |                       ¦   «         ¯_t          | ¦  «        S r'   )rH   rX   Úsuppressr8   r:   r7   Ú_future_result©r[   s    r   Ú_drain_futurera   q   sÁ   è è € Ø�kŠk‰mŒmð +ÝÔ ¥Ô!7Ñ8Ô8ð 	+ð 	+Ý" 6Ñ*Ô*Ð*Ð*Ð*Ð*Ð*Ð*Ð*ð	+ð 	+ð 	+ñ 	+ô 	+ð 	+ð 	+ð 	+ð 	+ð 	+ð 	+øøøð 	+ð 	+ð 	+ð 	+ð �kŠk‰mŒmð +õ ˜&Ñ!Ô!Ð!s   µAÁAÁAúasyncio.Future[_T]r%   c              ƒ  ól   K  — |                       ¦   «         st          j        | f¦  «        ƒ d {V —† d S d S r'   )rH   r8   rR   r`   s    r   r7   r7   x   sJ   è è € Ø�;Š;‰=Œ=ð &ÝŒl˜F˜9Ñ%Ô%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%Ð%ð&ð &r   c                ó¦   — |                       ¦   «         }|j        x}€t          d|j        ¦  «        S |j        }	 |‚# t
          $ r	 ||_        ‚ w xY w)Nr   )Úresultr    r   r   Ú__context__rJ   )r[   Úoutcomer    Úcontexts       r   r_   r_   }   sf   € Ø�mŠm‰oŒo€GØ”ÐˆÐ'Ý�D˜'œ-Ñ(Ô(Ð(ØÔ€GðØˆøÝð ð ð Ø#ˆÔØðøøøs	   »= ½AÚfuncúCallable[[], _T]ú_BackendOutcome[_T]c                ó‚   — 	 t           | ¦   «         ¬¦  «        S # t          $ r}t          |¬¦  «        cY d }~S d }~ww xY w©N)r   )r    ©r   rJ   )ri   r    s     r   Ú_capture_callro   ‰   s]   € ð,Ý T T¡V¤VÐ,Ñ,Ô,Ð,øÝð ,ð ,ð ,Ý UÐ+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+øøøøð,øøøs   ‚ š
>¤9³>¹>Úcancellationúasyncio.CancelledErrorr    rJ   r
   c                óŒ   — |j         x}�$|| ur | j         x}�t          ||¦  «         || _         | |_         t          |¦  «         d S r'   )rf   r   r   )rp   r    rh   Úcancellation_contexts       r   Ú_raise_cancelled_errorrt   �   s`   € ð Ô$Ð$ˆÐ1°gÀ\Ð6QÐ6QØ$0Ô$<Ð<Ð ÐIÝ% gÐ/CÑDÔDÐDØ#*ˆÔ Ø$€EÔÝ˜%Ñ Ô Ð Ð Ð r   Ú	awaitableúAwaitable[_T]c              ƒ  ó‚   K  — 	 t          | ƒ d {V —†¬¦  «        S # t          $ r}t          |¬¦  «        cY d }~S d }~ww xY wrm   rn   )ru   r    s     r   Ú_capture_awaitablerx   œ   sg   è è € ð,Ý¨9 _ _ _ _ _ _Ð5Ñ5Ô5Ð5øÝð ,ð ,ð ,Ý UÐ+Ñ+Ô+Ð+Ð+Ð+Ð+Ð+Ð+øøøøð,øøøs   „ š
>¤9³>¹>)	r#   r   r   rx   ro   ra   r_   rt   r7   )r[   r\   r$   r   )r[   rb   r$   r%   )ri   rj   r$   rk   )rp   rq   r    rJ   r$   r
   )ru   rv   r$   rk   )'Ú__doc__Ú
__future__r   r8   rX   rO   Úconcurrent.futuresr   r6   Údataclassesr   Ú	threadingr   Útypingr   r   r	   r
   r   r   Ú_apir   r   Úcollections.abcr   r   r   r   Ú	Exceptionr   r   r#   ra   r7   r_   ro   rt   rx   Ú__all__r   r   r   ú<module>rƒ      s  ðØ QÐ Qà "Ð "Ð "Ð "Ð "Ð "à €€€Ø Ð Ð Ð Ø €€€Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð Ø IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ IÐ Ià BÐ BÐ BÐ BÐ BÐ BÐ BÐ Bàð CØBÐBÐBÐBÐBÐBÐBÐBÐBÐBà€WˆT�]„]€ð	ð 	ð 	ð 	ð 	 yñ 	ô 	ð 	ð €�$ÐÑÔð'ð 'ð 'ð 'ð '�g˜b”kñ 'ô 'ñ Ôð'ð
O ð O ð O ð O ð O ñ O ô O ð O ðd"ð "ð "ð "ð&ð &ð &ð &ð
	ð 	ð 	ð 	ð,ð ,ð ,ð ,ð	!ð 	!ð 	!ð 	!ð,ð ,ð ,ð ,ð
ð 
ð 
€€€r   