Ë
    _§1h(  ã                  óP   — d dl mZ d dlmZ d dlZerd dlZdd„Zdd„Z	 	 	 	 d	d„Zy)
é    )Úannotations)ÚTYPE_CHECKINGNc               ƒ  ó(  ‡K  — g Šdˆfd„} t        j                  «       4 ƒd{  –—† }t        d«      D ]  }|j                  | t	        |«      «       Œ ddd«      ƒd{  –—†  t        ‰«      S 7 ŒJ7 Œ# 1 ƒd{  –—†7  sw Y   t        ‰«      S xY w­w)zDReturns a scheduler-dependent value we can use to check determinism.c              “  ó¤   •K  — t        d«      D ];  }‰j                  | |f«       t        j                  j	                  «       ƒ d {  –—†  Œ= y 7 Œ­w)Né2   )ÚrangeÚappendÚtrioÚlowlevelÚ
checkpoint)ÚnameÚiÚtraces     €úd/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/trio/_tests/test_scheduler_determinism.pyÚtracerzscheduler_trace.<locals>.tracer   sC   øè ø€ Ü�r“ò 	-ˆAØ�L‰L˜$ ˜Ô#Ü—-‘-×*Ñ*Ó,×,Ñ,ñ	-à,ús   ƒAAÁAÁANé   )r   ÚstrÚreturnÚNone)r
   Úopen_nurseryr   Ú
start_soonr   Útuple)r   Únurseryr   r   s      @r   Úscheduler_tracer      s�   øè ø€ à€Eõ-ô
 × Ñ Ó"÷ /ð / gÜ�q“ò 	/ˆAØ×Ñ˜v¤s¨1£vÕ.ð	/÷/÷ /ô �‹<Ðð	/øð /ø÷ /÷ /ð /ô �‹<ÐüsD   ƒ!B¤A/¥B¨,A3ÁBÁA1Á BÁ1BÁ3BÁ9A<Á:BÂBc                 ó°   — t        d«      D � cg c]  } t        j                  t        «      ‘Œ }} t	        t        |«      «      t	        |«      k(  sJ ‚y c c} w )Né
   )r   r
   Úrunr   ÚlenÚset)Ú_Útracess     r   Ú,test_the_trio_scheduler_is_not_deterministicr"      sB   € ä16°r³Ö;¨AŒd�h‰h”Õ'Ð;€FÐ;ÜŒs�6‹{Óœs 6›{Ò*Ð*Ñ*ùò <s   Ž Ac                óÂ  — | j                  t        j                  j                  dd«       g }t	        d«      D ]Ã  }t        j                  j                  j
                  j                  «       }	 t        j                  j                  j
                  j                  d«       |j                  t        j                  t        «      «       t        j                  j                  j
                  j                  |«       ŒÅ t        |«      dk(  sJ ‚t        t        |«      «      dk(  sJ ‚y # t        j                  j                  j
                  j                  |«       w xY w)NÚ_ALLOW_DETERMINISTIC_SCHEDULINGTr   r   é   )Úsetattrr
   Ú_coreÚ_runr   Ú_rÚgetstateÚseedr	   r   r   Úsetstater   r   )Úmonkeypatchr!   r    Ústates       r   Ú2test_the_trio_scheduler_is_deterministic_if_seededr/   !   sð   € ð ×ÑœŸ
™
Ÿ™Ð)JÈDÔQØ€FÜ�2‹Yò /ˆÜ—
‘
—‘×"Ñ"×+Ñ+Ó-ˆð	/Ü�J‰J�O‰O×Ñ×#Ñ# AÔ&Ø�M‰Mœ$Ÿ(™(¤?Ó3Ô4ä�J‰J�O‰O×Ñ×'Ñ'¨Õ.ð/ô ˆv‹;˜"ÒÐÐÜŒs�6‹{Ó˜qÒ Ð Ñ øô �J‰J�O‰O×Ñ×'Ñ'¨Õ.ús   Á/AD)Ä)5E)r   ztuple[tuple[str, int], ...])r   r   )r-   zpytest.MonkeyPatchr   r   )	Ú
__future__r   Útypingr   r
   Úpytestr   r"   r/   © ó    r   ú<module>r5      s3   ðÝ "å  ã áÛóó +ð!Ø#ð!à	ô!r4   