python (3.12.0)

(root)/
lib/
python3.12/
asyncio/
__pycache__/
tasks.cpython-312.opt-2.pyc

ˑez	dZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddlm
Z
ddlmZddlm
Z
ddlmZddlmZdd	lmZdd
lmZej$dj&Zd.dZd.dZd
ZGddej0ZeZ	ddlZej2xZZddddZej j>Zej j@Z ej jBZ!de!ddZ"dZ#dZ$dZ%dZ&dddZ'ejPdZ)d.dZ*dddZ+GddejXZ-d d!d"Z.d#Z/d$Z0d%Z1e1eZ2e	jfZ4e5Z6iZ7d&Z8d'Z9d(Z:d)Z;d*Z<d+Z=d,Z>eZ?e8Z@e9ZAe=ZBe>ZCe:ZDe;ZEe<ZF	dd-lm8Z8m9Z9m=Z=m>Z>m:Z:m;Z;m<Z<m4Z4m6Z6m7Z7mZeZGe8ZHe9ZIe=ZJe>ZKe:ZLe;ZMe<ZNy#e$rYwxYw#e$rYywxYw)/)Taskcreate_taskFIRST_COMPLETEDFIRST_EXCEPTION
ALL_COMPLETEDwaitwait_foras_completedsleepgathershield
ensure_futurerun_coroutine_threadsafecurrent_task	all_taskscreate_eager_task_factoryeager_task_factory_register_task_unregister_task_enter_task_leave_taskN)GenericAlias)
base_tasks)
coroutines)events)
exceptions)futures)timeoutscZ	|tj}tj|SN)rget_running_loop_current_tasksgetloops A/BuggyBox/python/3.12.0/bootstrap/lib/python3.12/asyncio/tasks.pyrr$s)+|&&(d##cP	|tj}tt}d}d}		tt}	t
j||Dchc]+}tj||ur|js|-c}S#t
$r|dz
}|dk\rYnwxYwwcc}w)Nrri)rr"list_eager_tasks_scheduled_tasksRuntimeError	itertoolschainr	_get_loopdone)r&eager_tasksscheduled_tasksits     r'rr+s1|&&(|$KO	A
	"#34O
 D>!  #t+AFFH
>>
	
FADy	>sB0B#BBc|	|j}||yy#t$rtjdtdYywxYw)Nz~Task.set_name() was added in Python 3.8, the method support will be mandatory for third-party task implementations since 3.13.)
stacklevel)set_nameAttributeErrorwarningswarnDeprecationWarning)tasknamer9s   r'_set_task_namer@FsM	}}H
TN	8MM9)Q
8	8s%AAceZdZ	dZdddddfd
ZfdZeeZdZ	dZ
d	Zd
ZdZ
dZd
ZdddZddddZddZdZdZdZddZfdZdZxZS)rTNFr&r?contexteager_startcFt|||jr
|jd=tj|sd|_t
d||dt|_nt||_d|_
d|_d|_||_
|tj|_n||_|r+|j"j%r|j'y|j"j)|j*|j t-|y)Nr%Fza coroutine was expected, got zTask-rrC)super__init___source_tracebackriscoroutine_log_destroy_pending	TypeError_task_name_counter_namestr_num_cancels_requested_must_cancel_fut_waiter_corocontextvarscopy_context_context_loop
is_running_Task__eager_start	call_soon_Task__stepr)selfcoror&r?rCrD	__class__s      r'rIz
Task.__init__es
d#!!&&r*%%d+).D%<THEFF< !3!5 67DJTDJ&'#!
?'446DM#DM4::002 JJ  dmm D4 r(c|jtjk(rG|jr;|dd}|jr|j|d<|j
j
|t|!y)Nz%Task was destroyed but it is pending!)r>messagesource_traceback)	_stater_PENDINGrLrJrXcall_exception_handlerrH__del__)r]rCr_s  r'rfzTask.__del__sb;;'***t/H/HBG%%.2.D.D*+JJ--g6
r(c,tj|Sr!)r
_task_reprr]s r'__repr__z
Task.__repr__s$$T**r(c|jSr!)rTris r'get_coroz
Task.get_corozzr(c|jSr!)rWris r'get_contextzTask.get_contexts}}r(c|jSr!)rOris r'get_namez
Task.get_namermr(c$t||_yr!)rPrO)r]values  r'r9z
Task.set_names
Z
r(ctd)Nz*Task does not support set_result operationr-)r]results  r'
set_resultzTask.set_resultsGHHr(ctd)Nz-Task does not support set_exception operationru)r]	exceptions  r'
set_exceptionzTask.set_exceptionsJKKr()limitc0	tj||Sr!)r_task_get_stack)r]r{s  r'	get_stackzTask.get_stacks	())$66r()r{filec2	tj|||Sr!)r_task_print_stack)r]r{rs   r'print_stackzTask.print_stacks	++D%>>r(c	d|_|jry|xjdz
c_|j|jj	|ryd|_||_y)NFrmsgT)_log_tracebackr1rQrScancelrR_cancel_message)r]rs  r'rzTask.cancelsk	*$99;##q(#'&&3&/ "r(c	|jSr!rQris r'
cancellingzTask.cancellings	
***r(cd	|jdkDr|xjdzc_|jS)Nrrrris r'uncancelz
Task.uncancels4	&&*''1,'***r(cpt|j|}	t|	|jj	|j
dt
|		t|j|}|jr
d|_d}yt|y#t
|wxYw#|jr
d|_d}wt|wxYw#	t|j|}|jr
d|_d}wt|w#|jr
d|_d}wt|wxYwxYwr!)
_swap_current_taskrX_register_eager_taskrWrun!_Task__step_run_and_handle_result_unregister_eager_taskr1rTr)r]	prev_taskcurtasks   r'
__eager_startzTask.__eager_starts&tzz48		) &
-

!!$"C"CTJ&t,
),TZZC99;!%DJD"4('t,99;!%DJD"4(
),TZZC99;!%DJD"4(	99;!%DJD"4(sFC
&B
C
B#
B  C
#'C

D5D%&D5'D22D5c|jrtjd|d||jr1t	|tj
s|j
}d|_d|_t|j|	|j|t|j|d}y#t|j|d}wxYw)Nz_step(): already done: z, F)r1rInvalidStateErrorrR
isinstanceCancelledError_make_cancelled_errorrSrrXrr)r]excs  r'__stepzTask.__steps99;..)$C7;=
=c:#<#<=002 %DDJJ%	--c2

D)D


D)DsB11Cc|j}	||jd}n|j|}t|dd}|lt	j
||jurGtd|d|d}|jj|j||jd}y|r||urCtd|}|jj|j||jd}yd|_|j|j|j||_|jrN|jj!|j"r'd|_	d}ytd	|d
|}|jj|j||j	d}y|4|jj|j|jd}yt%j&|rFtd|d
|}|jj|j||jd}ytd|}|jj|j||j	d}yd}y#t($rS}|jr"d|_t*|A|j"nt*|Y|j.Yd}~d}yd}~wt0j2$r!}||_t*|AYd}~d}yd}~wt6t8f$r}t*|u|d}~wt<$r}t*|u|Yd}~d}yd}~wwxYw#d}wxYw)
N_asyncio_future_blockingzTask z got Future z attached to a different looprGzTask cannot await on itself: Frz-yield was used instead of yield from in task z with z;yield was used instead of yield from for generator in task zTask got bad yield: )rTsendthrowgetattrrr0rXr-r[r\rWradd_done_callback
_Task__wakeuprSrRrrinspectisgenerator
StopIterationrHrwrsrr_cancelled_excKeyboardInterrupt
SystemExitrz
BaseException)r]rr^rvblockingnew_excr_s      r'__step_run_and_handle_resultz!Task.__step_run_and_handle_result*sezzG	{4C$v'A4HH#$$V,DJJ>*x|!*$ACDGJJ((Wdmm)EPDM~".;D8D#F

,, KK$---IDD?;@700 MM4==1B+1(,,#//66(,(<(< 7 >49 10D-+##'(&
<=GJJ((Wdmm)E&D!

$$T[[$--$HD$$V,&))-vjBC

$$KK$--%AD	')=fZ'HI

$$KK$--%AD4DA	.  $)!4#7#78"399-tDs((	"%DGNlDk":.	G!#&	'G!#&&bDe	'dDs%JA5M,AM5A0M)AM03M&AMAM	MAKMM5L
MM#L33M?MMMMM!c	|j|jd}y#t$r}|j|Yd}~d}yd}~wwxYwr!)rvr\r)r]futurers   r'__wakeupz
Task.__wakeupusH	MMO
KKM	KK	s%	AAAr!)__name__
__module____qualname__rLrIrfclassmethodr__class_getitem__rjrlrorqr9rwrzr~rrrrrZr\rr
__classcell__r_s@r'rrSs+ %)d"!>	$L1+ IL"&7.$(d	?(T+
+)&"IVr(rr?rCc	tj}||j|}n|j||}t|||S)NrG)rr"rr@)r^r?rCr&r>s     r'rrsP""$D%g64Kr()timeoutreturn_whencK	tj|stj|r!t	dt|j|std|tttfvrtd|t|}td|Drt	dtj}t||||d{S7w)Nzexpect a list of futures, not zSet of Tasks/Futures is empty.zInvalid return_when value: c3FK|]}tj|ywr!)rrK).0fs  r'	<genexpr>zwait.<locals>.<genexpr>s
1:!!!$
1s!z6Passing coroutines is forbidden, use tasks explicitly.)risfuturerrKrMtyper
ValueErrorrrrsetanyrr"_wait)fsrrr&s    r'rrsz55b98b9J9J8KLMM
9::?O]KK6{mDEE	RB

1b
11PQQ""$Dr7K6666sCC
CCcH|js|jdyyr!)r1rw)waiterargss  r'_release_waiterrs;;=$r(cK	|T|dkrOt|}|jr|jSt|d{	|jStj|4d{|d{cdddd{S7N#tj
$r}t|d}~wwxYw7C7;7-#1d{7swYyxYwwNr)	r
r1rv_cancel_and_waitrrTimeoutErrorrr)futrrs   r'rrsDw!|C 88:::<s###	(::<(y
	$((	(C'	(sACBC
BC3B74C7B==B9>B=C
B;CB4(B//B44C9B=;C=CCCCc2	
K	|j
d	||j|t
	t|	
fd}|D]}|j	|	
d{		j|D]}|j
|	tt}}|D]5}|jr|j|%|j|7||fS7#		j|D]}|j
|wxYww)Ncdzdks2tk(s)tk(rW|jsF|j5j	jsj
dyyyyy)Nrr)rr	cancelledryrr1rw)rcounterrtimeout_handlers r'_on_completionz_wait.<locals>._on_completionst1qL?*?*AKKM01
0I)%%';;=!!$'!1J5B*r()

create_future
call_laterrlenrrremove_done_callbackrr1add)rrrr&rrr1pendingrrrs  `     @@@r'rrs



!FN/6J"gG
(,	N+,3%!!#	3A
"">2	3E35'D
668HHQKKKN	
=	%!!#	3A
"">2	3s1ADC($C&%C()A=D&C((,DDc4K	tj}|j}tjt
|}|j
|	|j|d{|j|y7#|j|wxYwwr!)	rr"r	functoolspartialrrrr)rr&rcbs    r'rr,s~F""$D



!F			?F	3B"%

  $	  $s0ABB)B*B.BBBB)rc#
	
K	tj|stj|r!t	dt|jddlm}|	tj}t|Dchc]}t||c}d
	fd}	
fd	fd}D]}|jr||j||
tt!D]}|
ycc}ww)Nz#expect an iterable of futures, not r)Queuer%cxD]$}|jjd&jyr!)r
put_nowaitclear)rrr1todos r'_on_timeoutz!as_completed.<locals>._on_timeoutZs7	"A
"">2OOD!	"	

r(c|syj|j|sjyyyr!)removerr)rr1rrs r'rz$as_completed.<locals>._on_completion`s;A2!!#3tr(cKjd{}|tj|jS7&wr!)r$rrrv)rr1s r'
_wait_for_onez#as_completed.<locals>._wait_for_onehs7((*9)))xxz	
sA>'A)rrrrKrMrrqueuesrrget_event_looprr
rrranger)rrrr&rrr_rr1rrs        @@@@r'r	r	>s"z55b9=d2h>O>O=PQRR7D  "D14R9AM!$'9DN$,	N+,#+>
3t9
o9:sA;DC>A.Dc#K	dywr!rr(r'__sleep0rws
s	c2K	|dkrtd{|Stj}|j}|j	|t
j||}	|d{|jS7g7#|jwxYwwr)rrr"rrr_set_result_unless_cancelledr)delayrvr&rhs     r'r
r
sCzj
""$D



!F<<	(A|	
		
s:BA>AB$B)B*B-BBBBr%c	tj|r&|"|tj|urtd|Sd}t	j
|s.t
j|rd}||}d}ntd|tj}	|j|S#t$r|r|jwxYw)NzRThe future belongs to a different loop than the one specified as the loop argumentTc"K|d{S7wr!r)	awaitables r'_wrap_awaitablez&ensure_future.<locals>._wrap_awaitables&&s
Fz:An asyncio.Future, a coroutine or an awaitable is required)rrr0rrrKrisawaitablerMrrrr-close)coro_or_futurer&should_closers    r'r
r
s'G,=,=n,M MEF
FL!!.1~.
'-^<N L*+
+|$$&//  "
sB**Cc(eZdZ	fdZddZxZS)_GatheringFuturecBt||||_d|_y)Nr%F)rHrI	_children_cancel_requested)r]childrenr&r_s   r'rIz_GatheringFuture.__init__s"
d#!!&r(c|jryd}|jD]}|j|sd}|rd|_|S)NFrT)r1rrr)r]rretchilds    r'rz_GatheringFuture.cancelsM99;^^	E|||$	&*D"
r(r!)rrrrIrrrs@r'rrs'r(rF)return_exceptionsc	
	|s7tj}|jjgS	
fd}i}gd
d	g}d}d|D]}||vrmt	||}|tj|}||urd|_
dz

|||<|jr|j|n|j|n||}j|t||D]
}||S)Ncdz
jr!|js|jysV|jr"|j}j	|y|j}|j	|yk(rg}D]s}|jr.tj|jdn|j}n"|j}||j}|j|ujr"|j}j	|yj|yy)Nr)r1rryrrzrrrrvappendrrw)	rrresultsresr	nfinishednfutsouterr	s	    r'_done_callbackzgather.<locals>._done_callbacks1Q	=EJJL==?

 }}//1##C(mmo?'',G
$==?%33!119++-C--/C{!jjls#
$"&&//1##C(  );r(rr%Fr)rrrrwr
rr0rLr1r
rr)r	coros_or_futuresr&r
arg_to_fut	done_futsargrrrrrs`       @@@@r'rrs/:$$&""$
5*5*nJH
EIIDEj $/C|((-#~
,1(QJE!JsOxxz  %%%n5S/C/2
XD1EsLr(c	t|jrStj}|j	fdfd}jj|S)Nc0jr!|js|jy|jrjy|j}|j|yj	|jyr!)rryrrzrwrv)innerrrs  r'_inner_done_callbackz$shield.<locals>._inner_done_callbacksj????$!??LLN//#C##C(  0r(cJjsjyyr!)r1r)rrrs r'_outer_done_callbackz$shield.<locals>._outer_done_callbacks zz|&&';<r()r
r1rr0rr)rr&rrrrs   @@@r'rrWsp@
#Ezz|U#D E1"=
01	01Lr(c	tjstdtjjfd}j
|S)NzA coroutine object is requiredc	tjty#ttf$rt
$r'}j
rj|d}~wwxYw)Nr%)r
_chain_futurer
rrrset_running_or_notify_cancelrz)rr^rr&s r'callbackz*run_coroutine_threadsafe.<locals>.callbacks]	!!-4"@&I-.		224$$S)	s!%A$"AA$)rrKrM
concurrentrFuturecall_soon_threadsafe)r^r&r"rs`` @r'rrsR!!$'899



&
&
(F	h'Mr(c	dddfd
}|S)Nrc||||dS)NTrBr)r&r^r?rCcustom_task_constructors    r'factoryz*create_eager_task_factory.<locals>.factorys&t$TK	Kr(r)r(r)s` r'rrs$%)$KNr(c0	tj|yr!)r,rr>s r'rrsEr(c0	tj|yr!)r+rr+s r'rrs@Tr(chtj|}|td|d|d|t|<y)NzCannot enter into task z while another task z is being executed.r#r$r-r&r>rs   r'rrsL!%%d+L4TH=##/"22EGH	HN4r(chtj|}||urtd|d|dt|=y)Nz
Leaving task z! does not match the current task .r.r/s   r'rrsJ!%%d+L4]4(3//;.>aAB	Btr(cXtj|}|	t|=|S|t|<|Sr!)r#r$)r&r>rs   r'rrs9""4(I|4  $tr(c0	tj|yr!)r,discardr+s r'rrs1T"r(c0	tj|yr!)r+r4r+s r'rrs@r()rrrrrrrr,r+r#rr!)O__all__concurrent.futuresr#rUrrr.typesr;weakrefrrrrrrrrcount__next__rNrrr@	_PyFuturer_PyTask_asyncio_CTaskImportErrorrrrrrrrrrr		coroutinerr
r
r$rrrrrrWeakSetr,rr+r#rrrrrrr_py_current_task_py_register_task_py_register_eager_task_py_unregister_task_py_unregister_eager_task_py_enter_task_py_leave_task_py_swap_current_task_c_current_task_c_register_task_c_register_eager_task_c_unregister_task_c_unregister_eager_task
_c_enter_task
_c_leave_task_c_swap_current_taskrr(r'<module>rSsM6
%Y__Q'00$>6
p7pf	"
MM!D6#D
$$$44$$44""00
#
7@ 
0d)X%$!%6r

"+/@w~~:16CL?D.4/t4#7??$u

 #

 ".&2*.((((#O%1)5MM-i		T		s$
F4	G4F=<F=GG