a 7dgh @sdZddlZddlZddlmZddlmZddlmZddlmZddej ej gej fej e ejejejej eejej efd d d ZdS) )staggered_raceN)events) exceptions)locks)tasks)loop)coro_fnsdelayrreturnc sp tt|ddggtjtjddfdd d}|z\d}|t krt IdH\}}t |}qlfWD] }| qS] }| qnD] }| q0dS)N)previous_failedr c s(|durJttj&t|IdHWdn1s@0Yzt\}}WntynYdS0t } |} | dz|IdH}WnJt tfyYnbty}z||<|WYd}~n8d}~00||tD]\}}||kr|qdS)N) contextlibsuppressexceptions_mod TimeoutErrorrwait_forwaitnext StopIterationrEvent create_taskappend SystemExitKeyboardInterrupt BaseExceptionset enumeratecancel) r Z this_indexZcoro_fnZ this_failedZ next_taskresulteitr Z enum_coro_fnsrr run_one_coroZ running_tasksZ winner_indexZ winner_result-/usr/local/lib/python3.9/asyncio/staggered.pyr#Rs.4    z$staggered_race..run_one_coror) rZget_running_looprtypingOptionalrrrrlenrrr)r r rZ first_taskZ done_countdone_r!r$r"r%rs0=  0     r)__all__r r&rrrrrIterableCallable Awaitabler'floatZAbstractEventLoopTupleAnyintList Exceptionrr$r$r$r%s$