Ë
    _§1h>L  ã                  ón  — d dl mZ d dlZd dlmZmZ d dlZd dlZd dlmZm	Z	m
Z
 ddlmZmZmZmZ ej                   dk  rd dlmZ erd d	lmZ d#d
„Zd$d„Zd#d„Zd#d„Zd#d„Zd#d„Zd#d„Zd#d„Zd#d„Zd#d„Zd#d„Zd#d„Z d#d„Z!d#d„Z"d#d„Z#d#d„Z$d#d„Z%	 	 	 	 d%d„Z&d#d„Z'd#d„Z(d#d„Z)d#d„Z*d#d „Z+d#d!„Z,d#d"„Z-y)&é    )ÚannotationsN)ÚTYPE_CHECKINGÚUnion)ÚEndOfChannelÚas_safe_channelÚopen_memory_channelé   )ÚMatcherÚRaisesGroupÚassert_checkpointsÚwait_all_tasks_blocked)é   é   )ÚExceptionGroup)ÚAsyncGeneratorc               ƒ  ó�  K  — t        j                  t        «      5  t        d«       d d d «       t        j                  t        d¬«      5  t        d«       d d d «       t        t
        t        t        d f      d«      \  } }t        | «       t        |«       | j                  d«       t        «       5  | j                  d«      ƒ d {  –—†  d d d «       t        j                  t        j                  «      5  | j                  d «       d d d «       t        «       5  |j                  «       ƒ d {  –—† dk(  sJ ‚	 d d d «       |j                  «       dk(  sJ ‚t        j                  t        j                  «      5  |j                  «        d d d «       | j                  d«       | j!                  «       ƒ d {  –—†  t        j                  t        j"                  «      5  | j                  d«      ƒ d {  –—†  d d d «       t        j                  t        j"                  «      5  | j                  d«       d d d «       t        j                  t        j"                  «      5  | j%                  «        d d d «       | j!                  «       ƒ d {  –—†  |j                  «       dk(  sJ ‚t        j                  t&        «      5  |j                  «       ƒ d {  –—†  d d d «       |j!                  «       ƒ d {  –—†  t        j                  t        j"                  «      5  |j                  «       ƒ d {  –—†  d d d «       t        j                  t        j"                  «      5  |j                  «        d d d «       |j!                  «       ƒ d {  –—†  y # 1 sw Y   �ŒmxY w# 1 sw Y   �ŒKxY w7 �Œå# 1 sw Y   �ŒåxY w# 1 sw Y   �ŒµxY w7 �Œš# 1 sw Y   �Œ”xY w# 1 sw Y   �ŒPxY w7 �Œ/7 �Œõ# 1 sw Y   �ŒõxY w# 1 sw Y   �ŒÅxY w# 1 sw Y   �Œ–xY w7 �Œ†7 �ŒB# 1 sw Y   �ŒBxY w7 �Œ27 Œø# 1 sw Y   Œ÷xY w# 1 sw Y   ŒÇxY w7 Œ¶­w)	Ng      ð?z^max_buffer_size must be >= 0$©Úmatchéÿÿÿÿr	   é   Úlastztoo late)ÚpytestÚraisesÚ	TypeErrorr   Ú
ValueErrorr   ÚintÚstrÚreprÚsend_nowaitr   ÚsendÚtrioÚ
WouldBlockÚreceiveÚreceive_nowaitÚacloseÚClosedResourceErrorÚcloner   )ÚsÚrs     úV/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/trio/_tests/test_channel.pyÚtest_channelr+      s.  è ø€ Ü	�‰”yÓ	!ñ !Ü˜CÔ ÷!ä	�‰”zÐ)JÔ	Kñ  Ü˜BÔ÷ ô œu¤S¬#¨t ^Ñ4Ñ5°aÓ8�D€A€qÜˆ„GÜˆ„Gà‡M�M�!ÔÜ	Ó	ñ Ø�f‰f�Q‹i�ˆ÷ä	�‰”t—‘Ó	'ñ Ø	�‰�dÔ÷ô 
Ó	ñ &Ø—Y‘Y“[×  AÒ%Ð%Ñ%÷&à×ÑÓ Ò"Ð"Ð"Ü	�‰”t—‘Ó	'ñ Ø	×ÑÔ÷ð ‡M�M�&ÔØ
�(‰(‹*×ÐÜ	�‰”t×/Ñ/Ó	0ñ !Ø�f‰f�ZÓ × Ð ÷!ä	�‰”t×/Ñ/Ó	0ñ "Ø	�‰�jÔ!÷"ä	�‰”t×/Ñ/Ó	0ñ Ø	�‰Œ	÷à
�(‰(‹*×Ðà×ÑÓ Ò'Ð'Ð'Ü	�‰”|Ó	$ñ Ø�i‰i‹k×Ð÷à
�(‰(‹*×ÐÜ	�‰”t×/Ñ/Ó	0ñ Ø�i‰i‹k×Ð÷ä	�‰”t×/Ñ/Ó	0ñ Ø	×ÑÔ÷à
�(‰(‹*×Ñ÷O!ñ !ú÷ ñ  úð 	ù÷ñ ú÷ñ úð !ù÷&ñ &ú÷ñ úð ùà ù÷!ñ !ú÷"ñ "ú÷ñ úàùð 	ù÷ñ úàùàø÷ð ú÷ð úàús¯  ‚QœN¨#QÁN ÁAQÂ3N0ÃN-Ã	N0Ã+QÃ8N=Ä
QÄOÄ0O
Ä1	OÄ;A QÅ;OÆ,QÆ8O'Æ9'QÇ O-Ç5O*Ç6O-Ç:+QÈ%O:È7+QÉ"PÉ3QÊPÊ2QËPËPËPËQË5P'Ë6'QÌP,Ì1P*Ì2P,Ì6+QÍ!P8Í2QÎQÎQÎNÎQÎ N*Î%QÎ-N0Î0N:Î5QÎ=OÏQÏ
OÏOÏQÏO$Ï	QÏ*O-Ï-O7Ï2QÏ:PÏ?QÐPÐ	QÐPÐP$Ð	QÐ*P,Ð,P5Ð1QÐ8QÐ=Qc              ƒ  ó  K  — t        t           d«      \  }}t        j                  d«      5 }|j	                  «       ƒ d {  –—†  d d d «       j
                  sJ ‚|j                  d«      ƒ d {  –—†  y 7 Œ4# 1 sw Y   Œ3xY w7 Œ­w)Nr   é
   zTest for PR #553)r   r   r!   Úmove_on_afterr#   Úcancelled_caughtr    )Úautojump_clockr(   r)   Útimeout_scopes       r*   Útest_553r2   ?   sz   è ø€ ÜœsÑ# AÓ&�D€A€qÜ	×	Ñ	˜BÓ	ð  =Ø�i‰i‹k×Ð÷à×)Ò)Ð)Ð)Ø
�&‰&Ð#Ó
$×$Ñ$ð 	ø÷ð úð %ús:   ‚+B­A8ÁA6ÁA8Á*BÁ0BÁ1BÁ6A8Á8BÁ=Bc               ƒ  ó  K  — dd„} t        t           d«      \  }}t        j                  «       4 ƒd {  –—† }|4 ƒd {  –—†  t	        d«      D ]#  }|j                  | |j                  «       |«       Œ% d d d «      ƒd {  –—†  |2 �cg c3 d {  –—† }|‘Œ7 Œb7 ŒY7 Œ# 1 ƒd {  –—†7  sw Y   Œ*xY w7 Œ"6 nc c}w }}|j                  «        |t        t	        d«      «      k(  sJ ‚d d d «      ƒd {  –—†7   y # 1 ƒd {  –—†7  sw Y   y xY w­w)Nc              “  óÞ   K  — | 4 ƒd {  –—†  t        d|z  d|dz   z  «      D ]  }| j                  |«      ƒ d {  –—†  Œ d d d «      ƒd {  –—†  y 7 ŒH7 Œ7 Œ	# 1 ƒd {  –—†7  sw Y   y xY w­w)Nr   r   )Úranger    )Úsend_channelÚiÚjs      r*   Úproducerz1test_channel_multiple_producers.<locals>.producerH   sr   è ø€ à÷ 	+ñ 	+Ü˜1˜q™5 ! q¨1¡u¡+Ó.ò +�Ø"×'Ñ'¨Ó*×*Ñ*ð+÷	+÷ 	+ñ 	+øà*øð	+ø÷ 	+÷ 	+ñ 	+üsT   ‚A-‰AŠA-�-AºA»AÁA-ÁAÁA-ÁAÁA-ÁA*ÁA!ÁA*Á&A-r   r-   é   )r6   útrio.MemorySendChannel[int]r7   r   ÚreturnÚNone)	r   r   r!   Úopen_nurseryr5   Ú
start_soonr'   ÚsortÚlist)r9   r6   Úreceive_channelÚnurseryr7   ÚvalueÚgots          r*   Útest_channel_multiple_producersrF   G   s  è ø€ ó+ô %8¼Ñ$<¸QÓ$?Ñ!€L�/Ü× Ñ Ó"÷ 
&ð 
& gð  ÷ 	Fñ 	FÜ˜2“Yò F�Ø×"Ñ" 8¨\×-?Ñ-?Ó-AÀ1ÕEðF÷	F÷ 	Fð )8×8Ô8˜uŠuð
&øð	Føð 	Fø÷ 	F÷ 	Fñ 	Fúð 9øÑ8ùÒ8ˆÐ8à�‰Œ
Ø”dœ5 ›9“oÒ%Ð%Ð%÷
&÷ 
&÷ 
&÷ 
&ó 
&üs»   ‚2D´BµD¸C8¿BÁ C8Á2BÁ5C8Â BÂC8Â	B6ÂB4ÂB2ÂB4ÂB6ÂDÂC8ÂC8ÂB/	Â#B&Â$B/	Â+C8Â2B4Â4B6Â51C8Ã&DÃ1C4Ã2DÃ8D
Ã>DÃ?D
ÄDc               ƒ  óÂ  ‡‡K  — t        «       Šg Šdˆˆfd„} t        j                  «       4 ƒd {  –—† }t        j                  t           d«      \  }}|4 ƒd {  –—†  t        d«      D ]  }|j                  | ||«       Œ t        «       ƒ d {  –—†  t        d«      D ]  }|j                  |«      ƒ d {  –—†  Œ d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  ‰t        t        d«      «      k(  sJ ‚t        ‰«      dk(  sJ ‚t        ‰«      t        t        d«      «      k(  sJ ‚y 7 Œø7 ŒÐ7 Œ�7 Œx7 Œh# 1 ƒd {  –—†7  sw Y   ŒxxY w7 Œo# 1 ƒd {  –—†7  sw Y   ŒxY w­w)Nc              “  óp   •K  — | 2 3 d {  –—† }‰j                  |«       ‰j                  |«       Œ,7 Œ'6 y ­w©N)ÚaddÚappend)rB   r7   rD   ÚreceivedÚsuccessful_receiverss      €€r*   Úconsumerz1test_channel_multiple_consumers.<locals>.consumer`   s8   øè ø€ Ø*÷ 	#ð 	#�%Ø ×$Ñ$ QÔ'Ø�O‰O˜EÕ"ð	#ø™?ùs   ƒ6†4Š2‹4Ž$6²4´6r   é   r-   )rB   útrio.MemoryReceiveChannel[int]r7   r   r<   r=   )
Úsetr!   r>   r   r   r5   r?   r   r    Úlen)rN   rC   r6   rB   r7   rL   rM   s        @@r*   Útest_channel_multiple_consumersrS   \   sM  ùè ø€ Ü›5ÐØ€Hö#ô
 × Ñ Ó"÷ +ð + gÜ(,×(@Ñ(@ÄÑ(EÀaÓ(HÑ%ˆ�oØ÷ 	+ñ 	+Ü˜1“Xò A�Ø×"Ñ" 8¨_¸aÕ@ðAä(Ó*×*Ð*Ü˜2“Yò +�Ø"×'Ñ'¨Ó*×*Ñ*ð+÷		+÷ 	+÷+÷ +ð  ¤3¤u¨Q£x£=Ò0Ð0Ð0Üˆx‹=˜BÒÐÐÜˆx‹=œC¤ b£	›NÒ*Ð*Ñ*ð+øð	+øð +øà*øð	+ø÷ 	+÷ 	+ñ 	+úð+ø÷ +÷ +ñ +üs±   „,E°D)±E´&E
ÁD+ÁE
Á1D3ÂD-Â&D3Â6D/
Â7D3Â=E
ÃD1Ã	E
ÃEÃEÃAEÄ+E
Ä-D3Ä/D3Ä1E
Ä3E	Ä9D<Ä:E	ÅE
ÅEÅ
EÅEÅEÅEc               ƒ  óØ  K  — 	 	 	 	 	 	 dd„} t        d    d«      \  }}t        j                  «       4 ƒd {  –—† }|j                  | |t        j                  «       t        «       ƒ d {  –—†  |j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  t        j                  t        j                  «      5  |j                  d «       d d d «       t        j                  t        j                  «      5  |j                  d «      ƒ d {  –—†  d d d «       t        j                  t        «      5  |j                  «        d d d «       t        j                  t        «      5  |j                  «       ƒ d {  –—†  d d d «       t        d    d«      \  }}t        j                  «       4 ƒd {  –—† }|j                  | |t        j                  «       t        «       ƒ d {  –—†  |j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  t        j                  t        j                  «      5  |j                  d «       d d d «       t        j                  t        j                  «      5  |j                  d «      ƒ d {  –—†  d d d «       dd„}t        t           d«      \  }}t        j                  «       4 ƒd {  –—† }|j                  ||«       t        «       ƒ d {  –—†  |j                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  t        j                  t        j                  «      5  |j                  «        d d d «       t        j                  t        j                  «      5  |j                  «       ƒ d {  –—†  d d d «       y 7 �Œ\7 �Œ,7 �Œ7 �Œ
# 1 ƒd {  –—†7  sw Y   �ŒxY w# 1 sw Y   �ŒëxY w7 �Œ¶# 1 sw Y   �Œ¶xY w# 1 sw Y   �Œ‘xY w7 �Œg# 1 sw Y   �ŒgxY w7 �ŒA7 �Œ7 �Œü7 �Œï# 1 ƒd {  –—†7  sw Y   �Œ xY w# 1 sw Y   �ŒÐxY w7 �Œ›# 1 sw Y   �Œ›xY w7 �Œm7 �ŒL7 �Œ77 �Œ*# 1 ƒd {  –—†7  sw Y   �Œ;xY w# 1 sw Y   �ŒxY w7 Œ×# 1 sw Y   y xY w­w)Nc              “  ó–   K  — t        j                  |«      5  | j                  d «      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrI   ©r   r   r    ©r(   Úexpects     r*   Ú
send_blockz%test_close_basics.<locals>.send_blockt   óB   è ø€ ô �]‰]˜6Ó"ñ 	Ø—&‘&˜“,×Ð÷	ð 	Øø÷	ð 	üó%   ‚A	˜=­;®=²	A	»=½AÁA	r   c              “  ó°   K  — t        j                  t        j                  «      5  | j	                  «       ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrI   ©r   r   r!   r&   r#   ©r)   s    r*   Úreceive_blockz(test_close_basics.<locals>.receive_blockœ   óD   è ø€ Ü�]‰]œ4×3Ñ3Ó4ñ 	Ø—)‘)“+×Ð÷	ð 	Øø÷	ð 	üó+   ‚$A¦A
ºA»A
¿	AÁA
Á
AÁA©r(   ztrio.MemorySendChannel[None]rX   ztype[BaseException]r<   r=   )r)   rP   r<   r=   )r   r!   r>   r?   r&   r   r%   r   r   r   r    r   r$   r#   ÚBrokenResourceErrorr   )rY   r(   r)   rC   r_   Ú_s2Úr2s          r*   Útest_close_basicsrf   s   s�  è ø€ ðØ'ðà#ðð 
óô ˜tÑ$ QÓ'�D€A€qÜ× Ñ Ó"÷ ð  gØ×Ñ˜: q¬$×*BÑ*BÔCÜ$Ó&×&Ð&Ø�h‰h‹j×Ð÷÷ ô 
�‰”t×/Ñ/Ó	0ñ Ø	�‰�dÔ÷ä	�‰”t×/Ñ/Ó	0ñ Ø�f‰f�T‹l×Ð÷ô 
�‰”|Ó	$ñ Ø	×ÑÔ÷ä	�‰”|Ó	$ñ Ø�i‰i‹k×Ð÷ô ˜tÑ$ QÓ'�D€A€qÜ× Ñ Ó"÷ ð  gØ×Ñ˜: q¬$×*BÑ*BÔCÜ$Ó&×&Ð&Ø�h‰h‹j×Ð÷÷ ô 
�‰”t×/Ñ/Ó	0ñ Ø	�‰�dÔ÷ä	�‰”t×/Ñ/Ó	0ñ Ø�f‰f�T‹l×Ð÷óô "¤#Ñ& qÓ)�G€CˆÜ× Ñ Ó"÷ ð  gØ×Ñ˜=¨"Ô-Ü$Ó&×&Ð&Ø�i‰i‹k×Ð÷÷ ô 
�‰”t×/Ñ/Ó	0ñ Ø
×ÑÔ÷ä	�‰”t×/Ñ/Ó	0ñ Ø�j‰j‹l×Ð÷ð ðYùà&ùØùðù÷ ÷ ò ú÷ñ úð 	ù÷ñ ú÷ñ úð 	ù÷ñ úð
ùà&ùØùðù÷ ÷ ò ú÷ñ úð 	ù÷ñ úðùà&ùØùðù÷ ÷ ò ú÷ñ úð 	ø÷ð üs<  ‚4Q*¶N·Q*º/NÁ)NÁ*NÂNÂNÂQ*ÂNÂ'Q*Â9N4Ã+Q*Ã6OÄOÄOÄ!Q*Ä1OÅ!Q*Å#O!Å7OÅ8O!Å<1Q*Æ-O.Æ.Q*Æ1/O:Ç O1Ç!O:Ç8O4Ç9O:Ç=Q*ÈO7È	'Q*È0PÉ+Q*É-P ÊPÊP Ê9Q*Ë P-ËQ*Ë P9Ë$P0Ë%P9Ë<P3Ë=P9ÌQ*ÌP6Ì'Q*Ì4QÍ+Q*Í0QÎQÎQÎ	
Q*ÎNÎNÎQ*ÎN1Î$N'Î%N1Î,Q*Î4N>Î9Q*ÏOÏOÏ	Q*ÏOÏQ*ÏO!Ï!O+Ï&	Q*Ï1O:Ï4O:Ï7Q*Ï:PÐ PÐPÐQ*ÐPÐQ*ÐP Ð P*Ð%	Q*Ð0P9Ð3P9Ð6Q*Ð9QÐ?QÑ QÑQ*ÑQÑQ*ÑQÑQ'Ñ#Q*c               ƒ  óŽ  K  — 	 	 	 	 	 	 dd„} t        d    d«      \  }}t        j                  «       4 ƒd {  –—† }|j                  | |t        j                  «       t        «       ƒ d {  –—†  |j                  «        d d d «      ƒd {  –—†  t        j                  t        j                  «      5  |j                  d «       d d d «       t        j                  t        j                  «      5  |j                  d «      ƒ d {  –—†  d d d «       t        j                  t        «      5  |j                  «        d d d «       t        j                  t        «      5  |j                  «       ƒ d {  –—†  d d d «       t        d    d«      \  }}t        j                  «       4 ƒd {  –—† }|j                  | |t        j                  «       t        «       ƒ d {  –—†  |j                  «        d d d «      ƒd {  –—†  t        j                  t        j                  «      5  |j                  d «       d d d «       t        j                  t        j                  «      5  |j                  d «      ƒ d {  –—†  d d d «       dd„}t        d    d«      \  }}t        j                  «       4 ƒd {  –—† }|j                  ||«       t        «       ƒ d {  –—†  |j                  «        d d d «      ƒd {  –—†  t        j                  t        j                  «      5  |j                  «        d d d «       t        j                  t        j                  «      5  |j                  «       ƒ d {  –—†  d d d «       y 7 �Œ@7 �Œ7 �Œó# 1 ƒd {  –—†7  sw Y   �ŒxY w# 1 sw Y   �ŒÔxY w7 �ŒŸ# 1 sw Y   �ŒŸxY w# 1 sw Y   �ŒzxY w7 �ŒP# 1 sw Y   �ŒPxY w7 �Œ*7 �Œú7 �ŒÝ# 1 ƒd {  –—†7  sw Y   �ŒîxY w# 1 sw Y   �Œ¾xY w7 �Œ‰# 1 sw Y   �Œ‰xY w7 �Œ_7 �Œ>7 �Œ!# 1 ƒd {  –—†7  sw Y   �Œ2xY w# 1 sw Y   �ŒxY w7 ŒÎ# 1 sw Y   y xY w­w)Nc              “  ó–   K  — t        j                  |«      5  | j                  d «      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrI   rV   rW   s     r*   rY   z#test_close_sync.<locals>.send_block®   rZ   r[   r   c              “  ó°   K  — t        j                  t        j                  «      5  | j	                  «       ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrI   r]   r^   s    r*   r_   z&test_close_sync.<locals>.receive_blockÖ   r`   ra   rb   )r)   ztrio.MemoryReceiveChannel[None]r<   r=   )r   r!   r>   r?   r&   r   Úcloser   r   r   r    r   r$   r#   rc   )rY   r(   r)   rC   r_   s        r*   Útest_close_syncrk   ­   so  è ø€ ðØ'ðà#ðð 
óô ˜tÑ$ QÓ'�D€A€qÜ× Ñ Ó"÷ ð  gØ×Ñ˜: q¬$×*BÑ*BÔCÜ$Ó&×&Ð&Ø	�‰Œ	÷÷ ô 
�‰”t×/Ñ/Ó	0ñ Ø	�‰�dÔ÷ä	�‰”t×/Ñ/Ó	0ñ Ø�f‰f�T‹l×Ð÷ô 
�‰”|Ó	$ñ Ø	×ÑÔ÷ä	�‰”|Ó	$ñ Ø�i‰i‹k×Ð÷ô ˜tÑ$ QÓ'�D€A€qÜ× Ñ Ó"÷ ð  gØ×Ñ˜: q¬$×*BÑ*BÔCÜ$Ó&×&Ð&Ø	�‰Œ	÷÷ ô 
�‰”t×/Ñ/Ó	0ñ Ø	�‰�dÔ÷ä	�‰”t×/Ñ/Ó	0ñ Ø�f‰f�T‹l×Ð÷óô ˜tÑ$ QÓ'�D€A€qÜ× Ñ Ó"÷ ð  gØ×Ñ˜=¨!Ô,Ü$Ó&×&Ð&Ø	�‰Œ	÷÷ ô 
�‰”t×/Ñ/Ó	0ñ Ø	×ÑÔ÷ä	�‰”t×/Ñ/Ó	0ñ Ø�i‰i‹k×Ð÷ð ðYùà&ùðù÷ ÷ ò ú÷ñ úð 	ù÷ñ ú÷ñ úð 	ù÷ñ úð
ùà&ùðù÷ ÷ ò ú÷ñ úð 	ù÷ñ úðùà&ùðù÷ ÷ ò ú÷ñ úð 	ø÷ð üs  ‚4Q¶M6·Qº/M?Á)M9Á*M?Á>QÂ	M<Â
'QÂ1NÃ+QÃ.N%ÄN"ÄN%Ä!QÄ)N2Ä:!QÅOÅ/N?Å0OÅ41QÆ%OÆ&QÆ)/OÇOÇOÇ-QÇ8OÇ9'QÈ O.È2+QÉO>É2O;É3O>É75QÊ,PÊ-QÊ0 PËPËPË%QË0PË1'QÌP*Ì)+QÍP9Í(P7Í)P9Í-
QÍ9M?Í<QÍ?NÎNÎNÎQÎNÎQÎ"N%Î%N/Î*QÎ2N<Î7QÎ?OÏOÏ	QÏOÏQÏO+ÏO!ÏO+Ï&QÏ.O8Ï3QÏ;O>Ï>PÐ	QÐPÐQÐP'ÐPÐP'Ð"QÐ*P4Ð/QÐ7P9Ð9QÐ>Qc               ƒ  óü  K  — t        d    d«      \  } }|j                  «       }|j                  «       }| j                  d «       |j                  «       ƒ d {  –—†  |5  	 d d d «       t	        j
                  t        j                  «      5  |j                  «        d d d «       t	        j
                  t        j                  «      5  |j                  «        d d d «       | j                  d «       |j                  «       ƒ d {  –—†  t	        j
                  t        j                  «      5  | j                  d «       d d d «       y 7 Œï# 1 sw Y   ŒêxY w# 1 sw Y   ŒºxY w# 1 sw Y   ŒŠxY w7 Œh# 1 sw Y   y xY w­w)Nr-   )	r   r'   r   r%   r   r   r!   r&   rc   )r(   r)   re   Úr3s       r*   Ú$test_receive_channel_clone_and_closern   ç   s+  è ø€ Ü˜tÑ$ RÓ(�D€A€qà	
�‰‹€BØ	
�‰‹€Bà‡M�M�$ÔØ
�(‰(‹*×ÐØ	ñ Ø÷ô 
�‰”t×/Ñ/Ó	0ñ Ø	�‰Œ	÷ô 
�‰”t×/Ñ/Ó	0ñ Ø
�‰Œ
÷ð ‡M�M�$Ôà
�)‰)‹+×Ðô 
�‰”t×/Ñ/Ó	0ñ Ø	�‰�dÔ÷ð ð! ø÷ð ú÷ð ú÷ð úð ø÷ð üs~   ‚AE<ÁEÁE<ÁE
Á!+E<ÂEÂ+E<ÃE"Ã,E<ÄE.Ä'E<Ä-E0Ä?
E<Å
EÅE<ÅEÅE<Å"E+Å'E<Å0E9Å5E<c               ƒ  óÜ  ‡‡K  — t        t           d«      \  Š} ‰j                  «       Šdˆfd„}dˆfd„}t        j                  «       4 ƒd {  –—† }|j                  |«       |j                  |«       t        «       ƒ d {  –—†  ‰j                  «       ƒ d {  –—†  | j                  «       ƒ d {  –—† dk(  sJ ‚d d d «      ƒd {  –—†  y 7 Œ~7 ŒL7 Œ67 Œ 7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nr   c               “  ó´   •K  — t        j                  t        j                  «      5  ‰ j	                  d«      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­w)NÚnope)r   r   r!   r&   r    )Ús1s   €r*   Úsend_will_closez9test_close_multiple_send_handles.<locals>.send_will_close  sG   øè ø€ Ü�]‰]œ4×3Ñ3Ó4ñ 	"Ø—'‘'˜&“/×!Ð!÷	"ð 	"Ø!ø÷	"ð 	"üs,   ƒ$A§A¼A
½AÁ	AÁ
AÁAÁAc               “  óD   •K  — ‰ j                  d«      ƒ d {  –—†  y 7 Œ­w©NÚok)r    )Ús2s   €r*   Úsend_will_succeedz;test_close_multiple_send_handles.<locals>.send_will_succeed  s   øè ø€ Ø�g‰g�d‹m×Òús   ƒ ˜™ rv   ©r<   r=   )	r   r   r'   r!   r>   r?   r   r%   r#   )r)   rs   rx   rC   rr   rw   s       @@r*   Ú test_close_multiple_send_handlesrz     sÍ   ùè ø€ ô  ¤Ñ$ QÓ'�E€BˆØ	�‰‹€Bõ"õô × Ñ Ó"÷ )ð ) gØ×Ñ˜?Ô+Ø×ÑÐ,Ô-Ü$Ó&×&Ð&Ø�i‰i‹k×ÐØ—Y‘Y“[×  DÒ(Ð(Ð(÷)÷ )ñ )øð 	'øØøØ øð)ø÷ )÷ )ñ )üs~   „A
C,ÁCÁC,Á0CÂCÂCÂCÂCÂ2CÂ3	CÂ<C,ÃCÃC,ÃCÃCÃCÃC,ÃC)ÃC ÃC)Ã%C,c               ƒ  óÔ  ‡‡K  — t        t           d«      \  } Š‰j                  «       Šdˆfd„}dˆfd„}t        j                  «       4 ƒd {  –—† }|j                  |«       |j                  |«       t        «       ƒ d {  –—†  ‰j                  «       ƒ d {  –—†  | j                  d«      ƒ d {  –—†  d d d «      ƒd {  –—†  y 7 Œz7 ŒH7 Œ27 Œ7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nr   c               “  ó²   •K  — t        j                  t        j                  «      5  ‰ j	                  «       ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrI   r]   )Úr1s   €r*   Úreceive_will_closez?test_close_multiple_receive_handles.<locals>.receive_will_close  sE   øè ø€ Ü�]‰]œ4×3Ñ3Ó4ñ 	Ø—*‘*“,×Ð÷	ð 	Øø÷	ð 	üs,   ƒ$A§A»A	¼AÁ 	AÁ	AÁAÁAc               “  óL   •K  — ‰ j                  «       ƒ d {  –—† dk(  sJ ‚y 7 Œ
­wru   ©r#   )re   s   €r*   Úreceive_will_succeedzAtest_close_multiple_receive_handles.<locals>.receive_will_succeed!  s!   øè ø€ Ø—Z‘Z“\×! TÒ)Ð)Ñ)Ð!ús   ƒ$—"˜$rv   ry   )	r   r   r'   r!   r>   r?   r   r%   r    )r(   r~   r�   rC   r}   re   s       @@r*   Ú#test_close_multiple_receive_handlesr‚     sÈ   ùè ø€ ô  ¤Ñ$ QÓ'�E€A€rØ	�‰‹€Bõõ*ô × Ñ Ó"÷ ð  gØ×ÑÐ-Ô.Ø×ÑÐ/Ô0Ü$Ó&×&Ð&Ø�i‰i‹k×ÐØ�f‰f�T‹l×Ð÷÷ ñ øð 	'øØøØøðø÷ ÷ ñ üs~   „A
C(ÁC	ÁC(Á0CÂCÂCÂCÂCÂ3CÂ4CÂ8C(ÃCÃC(ÃCÃCÃCÃC(ÃC%ÃCÃC%Ã!C(c               ƒ  ó&  K  — t        t           t        d«      «      \  } }| 5  t        d«      D ]  }| j	                  |«       Œ 	 d d d «       |2 �cg c3 d {  –—† }|‘Œ# 1 sw Y   ŒxY w7 Œ6 nc c}w }}|t        t        d«      «      k(  sJ ‚y ­w)NÚinfr-   )r   r   Úfloatr5   r   rA   )r    r#   r7   rE   s       r*   Útest_inf_capacityr†   ,  s�   è ø€ Ü'¬Ñ,¬U°5«\Ó:�M€Dˆ'ð 
ñ  Ü�r“ò 	 ˆAØ×Ñ˜QÕñ	 ÷ ð $×
$Ô
$�qŠ1÷	 ð  úð %øÑ
$ùÒ
$€CÐ
$Ø”$”u˜R“y“/Ò!Ð!Ñ!ùsL   ‚!B£"A ÁBÁA0ÁA.ÁA,
ÁA.ÁA0Á A)Á%BÁ,A.Á.A0Á/"Bc               ƒ  ó†  K  — t        d    d«      \  } }| j                  «       |j                  «       k(  sJ ‚| j                  «       }|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚|j
                  dk(  sJ ‚|j                  dk(  sJ ‚|j                  dk(  sJ ‚| j                  d «       | j                  «       j                  dk(  sJ ‚| j                  «       }| j                  «       j                  dk(  sJ ‚| j                  «       ƒ d {  –—†  |j                  «       j                  dk(  sJ ‚|j                  «       }|j                  «       j
                  dk(  sJ ‚|j                  «       ƒ d {  –—†  |j                  «       j
                  dk(  sJ ‚t        j                  «       4 ƒd {  –—† }|j                  d «       | j                  «       j                  dk(  sJ ‚|j                  |j                  d «       |j                  |j                  d «       t        «       ƒ d {  –—†  | j                  «       j                  dk(  sJ ‚|j                   j#                  «        d d d «      ƒd {  –—†  | j                  «       j                  dk(  sJ ‚	 	 |j%                  «        Œ7 �Œœ7 �Œ97 Œÿ7 Œ‡7 Œ@# 1 ƒd {  –—†7  sw Y   ŒPxY w# t        j&                  $ r Y nw xY wt        j                  «       4 ƒd {  –—†7  }|j                  |j(                  «       t        «       ƒ d {  –—†7   | j                  «       j                  dk(  sJ ‚|j                   j#                  «        d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY w| j                  «       j                  dk(  sJ ‚y ­w)Nr	   r   r   )r   Ú
statisticsÚcurrent_buffer_usedÚmax_buffer_sizeÚopen_send_channelsÚopen_receive_channelsÚtasks_waiting_sendÚtasks_waiting_receiver   r'   r%   r!   r>   r?   r    r   Úcancel_scopeÚcancelr$   r"   r#   )r(   r)   Ústatsrw   re   rC   s         r*   Útest_statisticsr’   8  s4  è ø€ Ü˜tÑ$ QÓ'�D€A€qà�<‰<‹>˜QŸ\™\›^Ò+Ð+Ð+Ø�L‰L‹N€EØ×$Ñ$¨Ò)Ð)Ð)Ø× Ñ  AÒ%Ð%Ð%Ø×#Ñ# qÒ(Ð(Ð(Ø×&Ñ&¨!Ò+Ð+Ð+Ø×#Ñ# qÒ(Ð(Ð(Ø×&Ñ&¨!Ò+Ð+Ð+à‡M�M�$ÔØ�<‰<‹>×-Ñ-°Ò2Ð2Ð2à	
�‰‹€BØ�<‰<‹>×,Ñ,°Ò1Ð1Ð1Ø
�(‰(‹*×ÐØ�=‰=‹?×-Ñ-°Ò2Ð2Ð2à	
�‰‹€BØ�=‰=‹?×0Ñ0°AÒ5Ð5Ð5Ø
�)‰)‹+×ÐØ�=‰=‹?×0Ñ0°AÒ5Ð5Ð5ä× Ñ Ó"÷ &ð & gØ
�‰�tÔØ�|‰|‹~×1Ñ1°QÒ6Ð6Ð6Ø×Ñ˜2Ÿ7™7 DÔ)Ø×Ñ˜2Ÿ7™7 DÔ)Ü$Ó&×&Ð&Ø�|‰|‹~×0Ñ0°AÒ5Ð5Ð5Ø×Ñ×#Ñ#Ô%÷&÷ &ð �<‰<‹>×,Ñ,°Ò1Ð1Ð1ðØØ×ÑÔð ð) ùð
 ùð&øð
 	'øð&ø÷ &÷ &ñ &ûô �?‰?ò Ùðúô × Ñ Ó"÷ &ñ & gØ×Ñ˜1Ÿ9™9Ô%Ü$Ó&×&Ñ&Ø�|‰|‹~×3Ñ3°qÒ8Ð8Ð8Ø×Ñ×#Ñ#Ô%÷	&÷ &÷ &÷ &ó &úð
 �<‰<‹>×/Ñ/°1Ò4Ð4Ñ4ùsì   ‚DOÄJ;Ä A%OÆJ>Æ;OÇKÇOÇA6KÈ;KÈ<=KÉ9OÊKÊ#OÊ)K Ê;OÊ>OËOËKËOËKËKËKËOËK2Ë/OË1K2Ë2OÌLÌOÌ)NÌ;L>Ì<>NÍ:OÎNÎOÎNÎNÎNÎ'Oc               ƒ  ól  ‡K  — t        t        t        d f      d«      \  } }| j                  d«       |j	                  «       dk(  sJ ‚| j                  d«       |j	                  «       dk(  sJ ‚d Šdˆfd„}t        j                  «       4 ƒd {  –—† }|j                  ||«       t        «       ƒ d {  –—†  | j                  d«       t        j                  t
        j                  «      5  |j	                  «        d d d «       d d d «      ƒd {  –—†  ‰dk(  sJ ‚t        t        t        d f      d«      \  } }| j                  d«       t        j                  t
        j                  «      5  | j                  d «       d d d «       t        j                  «       4 ƒd {  –—† }|j                  | j                  d«       t        «       ƒ d {  –—†  |j	                  «       dk(  sJ ‚t        j                  t
        j                  «      5  | j                  d«       d d d «       |j                  «       ƒ d {  –—† dk(  sJ ‚d d d «      ƒd {  –—†  y 7 �ŒÄ7 �Œ£# 1 sw Y   �Œ^xY w7 �ŒV# 1 ƒd {  –—†7  sw Y   �ŒgxY w# 1 sw Y   �ŒxY w7 Œë7 Œ¿# 1 sw Y   ŒtxY w7 Œc7 ŒP# 1 ƒd {  –—†7  sw Y   y xY w­w)Nr   r	   c              “  óB   •K  — | j                  «       ƒ d {  –—† Šy 7 Œ­wrI   r€   )r)   Úresults    €r*   Ú
do_receivez)test_channel_fairness.<locals>.do_receivex  s   øè ø€ à—y‘y“{×"‰Ð"ús   ƒ—˜r   )r)   z%trio.MemoryReceiveChannel[int | None]r<   r=   )r   r   r   r   r$   r!   r>   r?   r   r   r   r"   r    r#   )r(   r)   r–   rC   r•   s       @r*   Útest_channel_fairnessr—   j  sF  øè ø€ ô œu¤S¨$ YÑ/Ñ0°Ó3�D€A€qØ‡M�M�!ÔØ×ÑÓ Ò"Ð"Ð"Ø‡M�M�!ÔØ×ÑÓ Ò"Ð"Ð"ð
 €Fõ#ô × Ñ Ó"÷ ð  gØ×Ñ˜: qÔ)Ü$Ó&×&Ð&Ø	�‰�aÔÜ�]‰]œ4Ÿ?™?Ó+ñ 	Ø×ÑÔ÷	÷	÷ ð �QŠ;Ðˆ;ô
 œu¤S¨$ YÑ/Ñ0°Ó3�D€A€qØ‡M�M�!ÔÜ	�‰”t—‘Ó	'ñ Ø	�‰�dÔ÷ä× Ñ Ó"÷ (ð ( gØ×Ñ˜1Ÿ6™6 1Ô%Ü$Ó&×&Ð&Ø×ÑÓ! QÒ&Ð&Ð&Ü�]‰]œ4Ÿ?™?Ó+ñ 	Ø�M‰M˜!Ô÷	à—i‘i“k×! aÒ'Ð'Ð'÷(÷ (ð (ðùà&ù÷	ñ 	úð	ù÷ ÷ ò ú÷ñ úð(øà&ø÷	ð 	úà!øð(ø÷ (÷ (ñ (üs  ƒBJ4ÂIÂJ4Â I(Â2IÂ38I(Ã+IÃ<I(ÄJ4ÄI%ÄAJ4Å-I>Å? J4ÆJÆ J4Æ#*JÇJÇ<JÈ
JÈJÈ7JÈ8	JÉJ4ÉJÉJ4ÉI(ÉI"	ÉI(É%J4É(I;É.I1É/I;É6J4É>JÊ	J4ÊJÊJ	ÊJÊJ4ÊJ1Ê%J(Ê&J1Ê-J4c               ƒ  ó   K  — t        t           d«      \  } }t        j                  t        j
                  «      5  |j                  «        d d d «       t        j                  t        j
                  «      5  | j                  d«       d d d «       dd„}t	        j                  «       4 ƒd {  –—† }|j                  || d«       t        «       5  |j                  «       ƒ d {  –—† dk(  sJ ‚	 d d d «       d d d «      ƒd {  –—†  t        j                  t        j
                  «      5  |j                  «        d d d «       y # 1 sw Y   ŒøxY w# 1 sw Y   ŒÇxY w7 Œ­7 Œy# 1 sw Y   ŒrxY w7 Œi# 1 ƒd {  –—†7  sw Y   ŒyxY w# 1 sw Y   y xY w­w)Nr   r   c              “  ó€   K  — t        «       5  | j                  |«      ƒ d {  –—†  d d d «       y 7 Œ# 1 sw Y   y xY w­wrI   )r   r    )r(   Úvs     r*   Údo_sendz test_unbuffered.<locals>.do_send›  s8   è ø€ ÜÓ!ñ 	Ø—&‘&˜“)�OˆO÷	ð 	Øø÷	ð 	üs    ‚>�2¢0£2§	>°2²;·>)r(   r;   rš   r   r<   r=   )r   r   r   r   r!   r"   r$   r   r>   r?   r   r#   )r(   r)   r›   rC   s       r*   Útest_unbufferedrœ   ”  sA  è ø€ ÜœsÑ# AÓ&�D€A€qÜ	�‰”t—‘Ó	'ñ Ø	×ÑÔ÷ä	�‰”t—‘Ó	'ñ Ø	�‰�aÔ÷óô × Ñ Ó"÷ *ð * gØ×Ñ˜7 A qÔ)ÜÓ!ñ 	*ØŸ™›×$¨Ò)Ð)Ñ)÷	*÷*÷ *ô 
�‰”t—‘Ó	'ñ Ø	×ÑÔ÷ð ÷ð ú÷ð úð*øð %ø÷	*ð 	*úð*ø÷ *÷ *ñ *ú÷ð üs¸   ‚9F»EÁ+FÁ7EÂ	$FÂ-EÂ.FÂ1E-ÃEÃ#EÃ$	EÃ.E-Ã6FÄE+Ä'FÄ)FÄ:	FÅEÅFÅEÅFÅEÅE(	Å$E-Å+FÅ-E?Å3E6Å4E?Å;FÆFÆFc               ƒ  óÂ   K  — t         dd„«       }  | «       4 ƒd {  –—† }|2 3 d {  –—† }|dk(  rŒJ ‚7 Œ7 Œ6 d d d «      ƒd {  –—†7   y # 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                ó   K  — d­–— y ­w©Nr   © r    ó    r*   Úagenz*test_as_safe_channel_exhaust.<locals>.agen¨  s   è ø€ àŒùs   ‚	r   ©r<   úAsyncGenerator[int]©r   ©r¢   Ú	recv_chanÚxs      r*   Útest_as_safe_channel_exhaustr©   §  sl   è ø€ Üòó ðñ ‹v÷ ð ˜Ø ÷ 	ð 	�!Ø˜“6ˆM�6ðøð	ø�y÷÷ ÷ ÷ ó üs`   ‚A›3œAŸA
¢7¦5§7ªA
±A
³Aµ7·A
¸AÁAÁAÁ
AÁAÁAÁAc               ƒ  ó®  K  — t         dd„«       }  | «       4 ƒd {  –—† }|j                  «       ƒ d {  –—† dk(  sJ ‚|j                  «       ƒ d {  –—†  t        j                  t
        j                  «      5  |j                  «       ƒ d {  –—†  d d d «       d d d «      ƒd {  –—†  y 7 ŒŽ7 Œx7 Œ]7 Œ## 1 sw Y   Œ"xY w7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                ó    K  — d­–— d­–— y ­w)Nr   r	   r    r    r¡   r*   r¢   z2test_as_safe_channel_broken_resource.<locals>.agen²  s   è ø€ à‹ØŒùó   ‚r   r£   )r   Ú	__anext__r%   r   r   r!   r&   ©r¢   r§   s     r*   Ú$test_as_safe_channel_broken_resourcer¯   ±  sÉ   è ø€ Üòó ðñ ‹v÷ (ð (˜Ø×(Ñ(Ó*×*¨aÒ/Ð/Ð/ð ×ÑÓ × Ð ô �]‰]œ4×3Ñ3Ó4ñ 	(Ø×%Ñ%Ó'×'Ð'÷	(÷(÷ (ñ (øØ*øð 	!øð (ø÷	(ð 	(úð(ø÷ (÷ (ñ (üs�   ‚C›B*œCŸC ³B,´C ÁB.Á'C Á8B2ÂB0ÂB2ÂC ÂCÂ$B>Â%CÂ,C Â.C Â0B2Â2B;	Â7C Â>CÃ CÃC	ÃCÃCc               ƒ  ó
  K  — t        j                  «       5 } t        dd„«       } |«       4 ƒd {  –—†  | j                  «        d d d «      ƒd {  –—†  d d d «       y 7 Œ-7 Œ# 1 ƒd {  –—†7  sw Y   ŒxY w# 1 sw Y   y xY w­w)Nc                ó    K  — t        d«      ‚­w)Nz@cancel before consumption means generator should not be iterated©ÚAssertionErrorr    r¡   r*   r¢   z,test_as_safe_channel_cancelled.<locals>.agenÇ  s   è ø€ ä ØRóð ùr¬   ©r<   úAsyncGenerator[None])r!   ÚCancelScoper   r�   )Úcsr¢   s     r*   Útest_as_safe_channel_cancelledr¸   Ä  s   è ø€ Ü	×	Ñ	Ó	ð 
˜rä	ò	ó 
ð	ñ “6÷ 	ñ 	Ø�I‰IŒK÷	÷ 	÷
ð 
ð	øð 	ø÷ 	÷ 	ñ 	ú÷
ð 
üsa   ‚B—A7°A±A7´A"ÁA7ÁA ÁA7Á	BÁA7Á A7Á"A4	Á(A+Á)A4	Á0A7Á7B Á<Bc               ƒ  ó$  K  — t         dd„«       } t        j                  t        d¬«      5   | «       4 ƒd {  –—† }|2 3 d {  –—† }|dk(  rŒJ ‚7 Œ7 Œ6 d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wd d d «       y # 1 sw Y   y xY w­w)Nc                ó*   K  — d­–— t        d«      ‚­w)Nr   Úoae)r   r    r¡   r*   r¢   z*test_as_safe_channel_no_race.<locals>.agenÕ  s   è ø€ à‹Ü˜ÓÐùó   ‚z^oae$r   r   r£   )r   r   r   r   r¦   s      r*   Útest_as_safe_channel_no_racer½   Ò  s‘   è ø€ ô ò ó ð ô 
�‰”z¨Ô	2ñ Ù“6÷ 	ð 	˜YØ$÷ ð �aØ˜A“v��vð	øðø˜9÷	÷ 	÷ 	÷ 	ó 	ú÷÷ ñ üs„   ‚)B«B·A¸B»A&¾AÁA
ÁAÁA&ÁA&ÁBÁAÁA&ÁBÁA"Á BÁ&A8	Á,A/Á-A8	Á4BÁ;	BÂBÂ	Bc              ƒ  óT  K  — t         dd„«       }t        j                  d«      5   |«       4 ƒd {  –—† }|2 3 d {  –—† }|dk(  sJ ‚t        j                  «       ƒ d {  –—†  Œ-7 Œ37 Œ*7 Œ	6 d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wd d d «       y # 1 sw Y   y xY w­w)Nc                ó*   K  — d­–— t        d«      ‚­w)Nr   z;buffer size 0 means we shouldn't be asked for another valuer²   r    r¡   r*   r¢   z8test_as_safe_channel_buffer_size_too_small.<locals>.agenã  s   è ø€ à‹ÜØIó
ð 	
ùr¼   rO   r   r£   )r   r!   r.   Úsleep_forever)r0   r¢   r§   r¨   s       r*   Ú*test_as_safe_channel_buffer_size_too_smallrÁ   à  sª   è ø€ ô ò
ó ð
ô 
×	Ñ	˜AÓ	ñ +Ù“6÷ 	+ð 	+˜YØ$÷ +ð +�aØ˜A’v��vÜ×(Ñ(Ó*×*Ñ*ð	+øð+øà*øð %÷	+÷ 	+÷ 	+÷ 	+ó 	+ú÷+÷ +ñ +üsŽ   ‚#B(¥B±A%²BµA>¸A+¼A'
½A+Á A>ÁA)
Á A>Á%BÁ'A+Á)A>Á+A>Á,BÁ7A:Á8BÁ>B	ÂBÂB	ÂBÂ	B(ÂB%Â!B(c               ƒ  ó&  K  — t         dd„«       }  | «       4 ƒd {  –—† }|j                  «       ƒ d {  –—† dk(  sJ ‚t        j                  j	                  «       ƒ d {  –—†  d d d «      ƒd {  –—†  y 7 ŒX7 ŒB7 Œ7 Œ# 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                ó    K  — d­–— t         ‚­wrŸ   r²   r    r¡   r*   r¢   z0test_as_safe_channel_no_interleave.<locals>.agenò  s   è ø€ à‹ÜÐùr¬   r   r£   )r   r­   r!   ÚlowlevelÚ
checkpointr®   s     r*   Ú"test_as_safe_channel_no_interleaverÆ   ñ  sˆ   è ø€ Üòó ðñ ‹v÷ )ð )˜Ø×(Ñ(Ó*×*¨aÒ/Ð/Ð/Ü�m‰m×&Ñ&Ó(×(Ð(÷)÷ )ñ )øØ*øØ(øð)ø÷ )÷ )ñ )üsf   ‚B›A4œBŸA<³A6´*A<ÁA8ÁA<Á#BÁ.A:Á/BÁ6A<Á8A<Á:BÁ<BÂBÂBÂ
Bc            	   ƒ  ó†  K  — t         d
d„«       } g }t        t        t        t        d¬«      t        t        d¬«      «      d¬«      5   | |«      4 ƒd {  –—† }|2 3 d {  –—† }|dk(  sJ ‚t	        d«      ‚7 Œ!7 Œ6 d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wd d d «       n# 1 sw Y   nxY w|dd	gk(  sJ ‚y ­w)Nc               óè   K  — 	 d­–— 	 | j                  d«       t        d«      ‚# t         $ r }| j                  t        |«      «       ‚ d }~ww xY w# | j                  d«       t        d«      ‚xY w­w)Nr   Úfinallyr¢   )ÚBaseExceptionrK   r   r   )ÚeventsÚes     r*   r¢   z2test_as_safe_channel_genexit_finally.<locals>.agený  sg   è ø€ ð	%ØŒGð
 �M‰M˜)Ô$Ü˜VÓ$Ð$øô ò 	Ø�M‰Mœ$˜q›'Ô"Øûð	ûð �M‰M˜)Ô$Ü˜VÓ$Ð$üs0   ‚A2„& ŠA2¦	A¯A
Á
AÁA ÁA/Á/A2z^agen$r   z
^iterator$z^Encountered exception during cleanup of generator object, as well as exception in the contextmanager body - unable to unwrap.$r   ÚiteratorzGeneratorExit()rÉ   )rË   ú	list[str]r<   r¤   )r   r   r
   r   r   )r¢   rË   r§   r7   s       r*   Ú$test_as_safe_channel_genexit_finallyrÏ   ü  sÖ   è ø€ Üò%ó ð%ð €FÜ	ÜÜ”J hÔ/Ü”I \Ô2ó	
ð Qô
ñ 
,ñ ˜“<÷ 	,ð 	, 9Ø$÷ ,ð ,�aØ˜A’v��vÜ 
Ó+Ð+ð	,øð,ø˜9÷	,÷ 	,÷ 	,÷ 	,ó 	,ú÷
,÷ 
,ñ 
,úð Ð'¨Ð3Ò3Ð3Ñ3ùs„   ‚ACÁB+ÁA6ÁB+ÁBÁA:ÁA8
Á A:Á#BÁ6B+Á8A:Á:BÁ;B+ÂB	ÂB+ÂB	ÂBÂB	ÂB+Â"	CÂ+B4Â0Cc            	   ƒ  óv  K  — t         dd„«       } d} | «       4 ƒd {  –—† }|2 3 d {  –—† } | «       4 ƒd {  –—† }d}|2 3 d {  –—† }||f||fk(  sJ ‚|dz  }Œ7 Œ=7 Œ47 Œ&7 Œ6 d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY w|dz  }Œm6 d d d «      ƒd {  –—†7   y # 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                ó6   K  — t        d«      D ]  } | ­–— Œ	 y ­w)Nr	   )r5   )r7   s    r*   r¢   z.test_as_safe_channel_nested_loop.<locals>.agen  s   è ø€ ä�q“ò 	ˆAØŒGñ	ùs   ‚r   r   r£   r¥   )r¢   ÚiiÚ
recv_chan1r7   r§   Újjr8   s          r*   Ú test_as_safe_channel_nested_looprÕ     sà   è ø€ Üòó ðð 
€BÙ‹v÷ ð ˜Ø!÷ 	ð 	�!Ù“v÷ ð  Ø�Ø(÷ ð ˜!Ø˜q˜6 b¨" XÒ-Ð-Ð-Ø˜!‘G‘Bðøð	øðøðø˜y÷÷ ÷ ÷ ó úð
 �!‰G‰Bð "÷÷ ÷ ÷ ó üsÁ   ‚B9�AžB9¡B$¤B¨A©B¬B$¸A
¹B$¼A6ÁA#ÁA!ÁA#Á	A6ÁB9ÁBÁB$Á!A#Á#A6Á$B$Á/A2Á0B$Á6BÁ<A?Á=BÂB$ÂB9ÂB ÂB9Â$B6Â*B-Â+B6Â2B9c               ƒ  ó(  K  — t         dd„«       } t        j                  t        «      5   | «       4 ƒd {  –—† }|2 3 d {  –—† }Œ
7 Œ7 Œ6 d d d «      ƒd {  –—†7   t        d«      ‚# 1 ƒd {  –—†7  sw Y   t        d«      ‚xY w# 1 sw Y   y xY w­w)Nc                óˆ   K  — t        j                  «       5 } | j                  «        d ­–— d d d «       y # 1 sw Y   y xY w­wrI   )r!   r¶   r�   )Úcscopes    r*   r¢   z;test_as_safe_channel_doesnt_leak_cancellation.<locals>.agen*  s4   è ø€ ä×ÑÓð 	 6Ø�M‰MŒOÜ÷	÷ 	ñ 	üs   ‚A—6­	A¶?»Azshould be reachabler´   )r   r   r   r³   )r¢   r§   Ú_s      r*   Ú-test_as_safe_channel_doesnt_leak_cancellationrÚ   )  s¡   è ø€ Üòó ðô
 
�‰”~Ó	&ñ 4Ù“6÷ 	ð 	˜YØ$÷ ð �aØð	øðø˜9÷	÷ 	ð 	ô Ð2Ó3Ð3÷	÷ 	ð 	ô Ð2Ó3Ð3ú÷	4ð 4üsx   ‚'B©BµA¶B¹A'¼A
Á A
ÁA
ÁA'ÁBÁA
Á
A'ÁBÁAÁBÁ'B	Á-A0Á.B	Á5BÂBÂBc               ƒ  ó  K  — t         dd„«       } t        t        t        d¬«      d¬«      5   | «       4 ƒd {  –—† }t	        dt        d«      g«      ‚7 Œ# 1 ƒd {  –—†7  sw Y   nxY w	 d d d «       y # 1 sw Y   y xY w­w)Nc                ó    K  — t        d«      ‚­w)Nznot entered)ÚNotImplementedErrorr    r¡   r*   r¢   zBtest_as_safe_channel_dont_unwrap_user_exceptiongroup.<locals>.agen8  s   è ø€ ä! -Ó0Ð0ùr¬   Úbarr   Úfoor´   )r   r   r
   r   r   )r¢   rÙ   s     r*   Ú4test_as_safe_channel_dont_unwrap_user_exceptiongrouprà   7  s€   è ø€ Üòó ðô 
”WœZ¨uÔ5¸UÔ	Cñ =Ù“6÷ 	=ð 	=˜QÜ  ¬°EÓ):Ð(;Ó<Ð<ð	=ø÷ 	=÷ 	=ñ 	=úð 	=÷=÷ =ñ =üsI   ‚*B ¬A4¸A¹A4¼AÁA4ÁA'	ÁAÁA'	Á#A4Á+	B Á4A=Á9B c               ƒ  óþ  ‡K  — t        j                  «       Št        dˆfd„«       } 	 	 	 	 	 	 	 	 dd„} | «       4 ƒd {  –—† }t        j                  «       4 ƒd {  –—† }|j	                  ||d«      ƒ d {  –—†  |j	                  ||d«      ƒ d {  –—†  ‰j                  «        d d d «      ƒd {  –—†  d d d «      ƒd {  –—†  y 7 Œˆ7 Œm7 ŒT7 Œ;7 Œ# 1 ƒd {  –—†7  sw Y   Œ-xY w7 Œ$# 1 ƒd {  –—†7  sw Y   y xY w­w)Nc                óV   •K  — ‰ j                  «       ƒ d {  –—†  d­–— d­–— y 7 Œ­w)Nr   r   )Úwait)Úevents   €r*   r¢   z4test_as_safe_channel_multiple_receiver.<locals>.agenE  s%   øè ø€ à�j‰j‹l×ÐØ‹ØŒð 	ús   ƒ)—'˜)c              “  ój   K  — |j                  «        | j                  «       ƒ d {  –—† |k(  sJ ‚y 7 Œ
­wrI   )Ústartedr#   )r§   rD   Útask_statuss      r*   Úhandle_valuez<test_as_safe_channel_multiple_receiver.<locals>.handle_valueK  s1   è ø€ ð
 	×ÑÔØ×&Ñ&Ó(×(¨EÒ1Ð1Ñ1Ð(ús   ‚$3¦1§3r   r   r£   )r§   ztrio.abc.ReceiveChannel[int]rD   r   rç   ztrio.TaskStatusr<   r=   )r!   ÚEventr   r>   ÚstartrQ   )r¢   rè   r§   rC   rä   s       @r*   Ú&test_as_safe_channel_multiple_receiverrë   B  s   øè ø€ Ü�J‰J‹L€Eäôó ðð
2Ø/ð2àð2ð %ð2ð 
ó	2ñ ‹v÷ ð ˜Ü×$Ñ$Ó&÷ 	ð 	¨'Ø—-‘- ¨i¸Ó;×;Ð;Ø—-‘- ¨i¸Ó;×;Ð;Ø�I‰IŒK÷	÷ 	÷÷ ñ øð	øØ;øØ;øð	ø÷ 	÷ 	ñ 	úðø÷ ÷ ñ üs±   ƒ;C=¾C¿C=ÁC(ÁC	ÁC(ÁCÁ6CÁ7CÂCÂCÂ&C(Â1CÂ2C(Â6C=ÃC&ÃC=Ã	C(ÃCÃCÃC(ÃC#	ÃCÃC#	ÃC(Ã&C=Ã(C:Ã.C1Ã/C:Ã6C=c            	   ƒ  óX  K  — t         dd„«       } g }t        j                  «       5 }t        j                  t        j
                  «      5   | |«      4 ƒd {  –—† }|2 3 d {  –—† }|j                  «        	 t        j                  j                  «       ƒ d {  –—†  ŒA7 ŒG7 Œ>7 Œ	# t        j
                  $ r |j                  d«       ‚ w xY w6 d d d «      ƒd {  –—†7   n# 1 ƒd {  –—†7  sw Y   nxY wd d d «       n# 1 sw Y   nxY wd d d «       n# 1 sw Y   nxY w|ddgk(  sJ ‚y ­w)Nc               óh  K  — 	 d ­–— 	 t         j                  j                  «       ƒ d {  –—†  y 7 Œ# t         j                  $ r | j	                  d«       ‚ w xY w# 	 t         j                  j                  «       ƒ d {  –—†7   w # t         j                  $ r | j	                  d«       ‚ w xY wxY w­w)Núagen cancel)r!   rÄ   rÅ   Ú	CancelledrK   )rË   s    r*   r¢   z/test_as_safe_channel_multi_cancel.<locals>.agen[  s‡   è ø€ ð		ÜðÜ—m‘m×.Ñ.Ó0×0Ò0ùÜ—>‘>ò Ø—‘˜mÔ,ØðûðÜ—m‘m×.Ñ.Ó0×0Ò0øÜ—>‘>ò Ø—‘˜mÔ,ØðÿsZ   ‚B2„A Š!3 «1¬3 °B2±3 ³&AÁB2ÁB/Á!BÁ?BÂ BÂB/Â&B,Â,B/Â/B2zbody cancelrî   )rË   rÎ   r<   rµ   )
r   r!   r¶   r   r   rï   r�   rÄ   rÅ   rK   )r¢   rË   r·   r§   rÙ   s        r*   Ú!test_as_safe_channel_multi_cancelrð   Z  s  è ø€ Üò
ó ð
ð €FÜ	×	Ñ	Ó	ð 	˜rÜ�]‰]œ4Ÿ>™>Ó*ñ 	Ù˜F“|÷ ð  yØ(÷ ð ˜!Ø—I‘I”KðÜ"Ÿm™m×6Ñ6Ó8×8Ñ8ð	øðøð 9ùÜŸ>™>ò ØŸ™ mÔ4Øðúð	  )÷÷ ÷ ÷ ó ú÷	÷ 	ñ 	ú÷	÷ 	ñ 	úð �m ]Ð3Ò3Ð3Ñ3ùs¾   ‚$D*¦$DÁ
C?ÁB
ÁC?ÁC!ÁCÁ"B!Á#CÁ&C!Á8!B%ÂB#ÂB%ÂC!ÂC?Â!CÂ#B%Â%&CÃC!ÃC?ÃCÃC?Ã!C3Ã'C*Ã(C3Ã/C?Ã6	DÃ?D	ÄDÄ	D*ÄDÄD*ry   )r0   ztrio.abc.Clockr<   r=   )r0   ztrio.testing.MockClockr<   r=   ).Ú
__future__r   ÚsysÚtypingr   r   r   r!   r   r   r   Útestingr
   r   r   r   Úversion_infoÚexceptiongroupr   Úcollections.abcr   r+   r2   rF   rS   rf   rk   rn   rz   r‚   r†   r’   r—   rœ   r©   r¯   r¸   r½   rÁ   rÆ   rÏ   rÕ   rÚ   rà   rë   rð   r    r¡   r*   ú<module>rø      sÉ   ðÝ "ã 
ß 'ã ã ß CÑ Cç VÓ Và×Ñ�gÒÝ-áÝ.ó(óV%ó&ó*+ó.7ót7ótó6)ó*ó*	"ó/5ód'(óTó&ó(ó&óð+Ø*ð+à	ó+ó")ó4ó8ó"4ó=óô04r¡   