+
    öÙ†jOY  ã                   ó  a € R< tK0 t ^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt^ RI	t	^ RI
t
^ RIt^ RIt^ RIt^ RIt^ RIt^ RIHt ^ RIHt ^ RIHt ^ RIHt Rt]t]R,           tRtR=t]R>,           t]t]t]t ]!]R	3,          t"]#],          t$]#]!]]%3,          ,          t&]!]R	3,          t'](]]'3,          t)R
 R lt*R R lt+R?R R llt,R R lt-R@R lt.R R lt/Rs0] ^ k R R lt1R R lt2Rs3] ^k R R lt4R R lt5R t6R t7R?R R  llt8RAR" R# llt9]Pt                  R$ 4       t;R% R& lt<R' R( lt=]>! RB4      t?R)R!/R* R+ llt@R, R- ltAR. R/ ltBR0 R1 ltCR2 R3 ltDR4 R5 ltER6 R7 ltF]	PŽ                  ! R84      tHR9 tIR: R; ltJR# )Cé    N)ÚCallable)Úsupport)Ú	os_helper)Úthreading_helperÚtest_python_Úworker_g      ^@.c                ó0   € V ^8„  d   QhR\         R\        /# )é   ÚsecondsÚreturn)ÚfloatÚstr)Úformats   "Ú-/usr/lib/python3.14/test/libregrtest/utils.pyÚ__annotate__r   <   s   € ÷ ñ œUð ¤sñ ó    c                 ó  € \         P                  ! V R ,          4      p\        VR4      w  r\        V ^<4      w  r \        V^<4      w  r2. pV'       d   VP                  RV,          4       V'       d   VP                  RV,          4       V '       dG   V'       d   VP                  RV ,          4       M%VP                  RWR,          ,           ,          4       V'       g
   RV,          # VR,          pRP	                  V4      # )	g     @�@iè  z%s hourz%s minz%s secz%.1f secz%s ms:Nr
   NÚ )ÚmathÚceilÚdivmodÚappendÚjoin)r   ÚmsÚminutesÚhoursÚpartss   &    r   Úformat_durationr   <   sÁ   € Ü	�Š�7˜S•=Ó	!€BÜ˜˜TÓ"�K€GÜ˜g rÓ*Ñ€GÜ˜G RÓ(�N€Eà€EßØ�‰�Y Õ&Ô'ßØ�‰�X Õ'Ô(ßßà�L‰L˜ GÕ+Õ,ð �L‰L˜ w°dµÕ':Õ;Ô<ßØ˜�|Ðà�"�I€EØ�8‰8�E‹?Ðr   c                óL   € V ^8„  d   QhR\         \        ,          R,          RR/# )r
   ÚnamesNr   )Úlistr   )r   s   "r   r   r   U   s#   € ÷ "ñ "œ4¤�9 tÕ+ð "°ñ "r   c                 óž   € V '       g   R # \        V 4       F3  w  r\        P                  P                  V4      w  r4VR8X  g   K/  W0V&   K5  	  R # )Nz.py)Ú	enumerateÚosÚpathÚsplitext)r    ÚidxÚnameÚbasenameÚexts   &    r   Ústrip_py_suffixr+   U   s=   € ßÙÜ˜uÖ%‰	ˆÜŸ™×(Ñ(¨Ó.‰ˆØ�%Ž<Ø!�#‹Jó &r   c                óV   € V ^8„  d   QhR\         R\        R\        R,          R\        /# )r
   ÚnÚsingularÚpluralNr   ©Úintr   )r   s   "r   r   r   ^   s,   € ÷ ñ Œcð œSð ¬#°­*ð Äñ r   c                 ó2   € V ^8X  d   V# Ve   V# VR,           # )é   Ús© )r-   r.   r/   s   &&&r   r/   r/   ^   s#   € ØˆA„vØˆØ	Ò	Øˆà˜#�~Ðr   c                ó<   € V ^8„  d   QhR\         R\        R\        /# )r
   r-   Úwordr   r0   )r   s   "r   r   r   g   s!   € ÷ ñ ŒSð œð ¤ñ r   c                 ó.   € V ^8X  d   V  RV 2# V  RV R2# )r3   r   r4   r5   )r-   r7   s   &&r   Úcountr9   g   s+   € ØˆA„vØ��A�d�Vˆ}Ðà��A�d�V˜1ˆ~Ðr   c           
     óž   € RV,          p\        \        P                  ! RP                  R \	        V 4       4       4      VWDR7      VR7       R# )zÀPrint the elements of iterable x to stdout.

Optional arg width (default 70) is the maximum line length.
Optional arg indent (default 4) is the number of blanks with which to
begin each line.
r   c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5i©N©r   )Ú.0Úelts   & r   Ú	<genexpr>Úprintlist.<locals>.<genexpr>x   s   é € Ð ?±Y¨c¤ S§ ³Yùs   ‚)Úinitial_indentÚsubsequent_indent)ÚfileN)ÚprintÚtextwrapÚfillr   Úsorted)ÚxÚwidthÚindentrD   Úblankss   &&&& r   Ú	printlistrM   n   s>   € ð �6�\€Fä	Œ(�-Š-˜Ÿ™Ñ ?´V¸A´YÓ ?Ó?ÀØ'-ôIà÷r   c                ó(   € V ^8„  d   QhR\         RR/# )r
   Úmsgr   Nr=   )r   s   "r   r   r   }   s   € ÷ ñ ”sð ˜tñ r   c                 ó2   € \         P                  ! V 4       R # r<   )r   Úprint_warning)rO   s   &r   rQ   rQ   }   s   € Ü×Ò˜#Ör   c                ó   € V ^8„  d   QhRR/# ©r
   r   Nr5   )r   s   "r   r   r   „   s   € ÷  ñ  ¨Dñ  r   c                 ó€  € R \         n        \         P                  ! R4       \        P                  p \         P
                  ! 4        \         P                  P                  \        n        \        f   Q R4       h\        V 4       \        P                  P                  4        V\        n        R#   T\        n        i ; i)TzUnraisable exceptionNzorig_unraisablehook not set)	r   Úenvironment_alteredrQ   ÚsysÚstderrÚflush_std_streamsÚorig_stderrÚorig_unraisablehookÚflush)Ú
unraisableÚ
old_stderrs   & r   Úregrtest_unraisable_hookr^   „   s   € à"&„GÔÜ×ÒÐ0Ô1Ü—‘€Jð Ü×!Ò!Ô#Ü×*Ñ*×6Ñ6ŒŒ
Ü"Ò.ÐMÐ0MÓMÐ.Ü˜JÔ'Ü�
‰
×ÑÔàŒŽ
ø�ZŒ�
ús   ³A0B0 Â0B=c                ó   € V ^8„  d   QhRR/# rS   r5   )r   s   "r   r   r   “   s   € ÷ 2ñ 2˜tñ 2r   c                  óD   € \         P                  s\        \         n        R # r<   )rV   ÚunraisablehookrZ   r^   r5   r   r   Úsetup_unraisable_hookrb   “   s   € ä×,Ñ,ÐÜ1„CÖr   c                ó   € V ^8„  d   QhRR/# rS   r5   )r   s   "r   r   r   œ   s   € ÷  ñ  ¨4ñ  r   c                 ó®  € R \         n        \         P                  ! RV P                  P                   24       \
        P                  p \         P                  ! 4        \         P                  P                  \
        n        \        f   Q R4       h\        V 4       \
        P                  P                  4        V\
        n        R#   T\
        n        i ; i)TzUncaught thread exception: Nz!orig_threading_excepthook not set)r   rU   rQ   Úexc_typeÚ__name__rV   rW   rX   rY   Úorig_threading_excepthookr[   )Úargsr]   s   & r   Úregrtest_threading_excepthookri   œ   s‘   € à"&„GÔÜ×ÒÐ7¸¿¹×8NÑ8NÐ7OÐPÔQÜ—‘€Jð Ü×!Ò!Ô#Ü×*Ñ*×6Ñ6ŒŒ
Ü(Ò4ÐYÐ6YÓYÐ4Ü! $Ô'Ü�
‰
×ÑÔàŒŽ
ø�ZŒ�
ús   Á
A0C ÃCc                ó   € V ^8„  d   QhRR/# rS   r5   )r   s   "r   r   r   «   s   € ÷ 9ñ 9 Dñ 9r   c                  ó<   € ^ RI p V P                  s\        V n        R# )r   N)Ú	threadingÚ
excepthookrg   ri   )rl   s    r   Úsetup_threading_excepthookrn   «   s   € ãØ )× 4Ñ 4ÐÜ8€IÖr   c                  óB	  € \         P                  P                  4        F  p \        V R 4      '       g   K  V =K  	  \         P
                  \         P                  \         P                  \         P                  3 F  pVf   K	  VP                  4        K  	   \         P                  R,          pVP                  ! 4         \         P                  R,          pVP                  P                  4         \         P                  R,          pVP                  4         \         P                  R,          pVP                  4         \         P                  R,          pVP!                  4         \         P                  R,          pVP#                  4         \         P                  R,          pVP$                  P                  4         \         P                  R	,          p	V	P'                  4         \         P                  R
,          p
RV
n         \         P                  R,          pVP+                  4         \         P                  R,          pVP,                   F
  pV! 4        K  	  ^ RIp\1        VP2                  VP4                  P                  4       4      pV F2  pVP7                  4       V.,            F  pVP9                  4        K  	  K4  	   \         P                  R,          pVP:                  P=                  4         \         P                  R,          pVP>                  P=                  4        VP@                  P                  4        VPB                  P                  4         \         P                  R,          pVPD                  PF                  P=                  4        R#   \         d     ELói ; i  \         d     ELÓi ; i  \         d     EL½i ; i  \         d     EL§i ; i  \         d     EL‘i ; i  \         d     EL{i ; i  \         d     EL[i ; i  \         d     ELEi ; i  \         d     EL8i ; i  \         d     EL"i ; i  \         d     EL˜i ; i  \         d     ELxi ; i  \         d     EL$i ; i  \         d     R# i ; i)Ú__warningregistry__NÚreÚ	_strptimezurllib.parsezurllib.requestÚ	linecacheÚ	mimetypesÚfilecmpÚstructÚdoctestÚctypesÚtypingÚ	fractionsÚinspectzimportlib.metadata)$rV   ÚmodulesÚvaluesÚhasattrrp   ÚstdoutrW   Ú
__stdout__Ú
__stderr__r[   ÚpurgeÚKeyErrorÚ_regex_cacheÚclearÚclear_cacheÚ
urlcleanupÚ
clearcacheÚ_default_mime_typesÚ_cacheÚ_clearcacheÚmasterÚ_reset_cacheÚ	_cleanupsr{   ÚfilterÚ
isabstractÚ__dict__Ú__subclasses__Ú_abc_caches_clearÚ_hash_algorithmÚcache_clearÚ%_shadowed_dict_from_weakref_mro_tupleÚ_filesbymodnameÚmodulesbyfileÚFastPathÚ__new__)ÚmodÚstreamrq   rr   Úurllib_parseÚurllib_requestrs   rt   ru   rv   rw   rx   ry   Úfr{   Úabs_classesÚabcÚobjrz   Úimportlib_metadatas                       r   Úclear_cachesr¤   ²   sÝ  € ä�{‰{×!Ñ!Ö#ˆÜ�3Ð-×.Ô.ØÒ'ñ $ô —:‘:œsŸz™z¬3¯>©>¼3¿>¹>ÓJˆØÔØ�L‰LŽNñ KðÜ�[‰[˜Õˆð 	�ŠŒ
ð'Ü—K‘K Õ,ˆ	ð 	×Ñ×$Ñ$Ô&ð#Ü—{‘{ >Õ2ˆð 	× Ñ Ô"ð$ÜŸ™Ð%5Õ6ˆð 	×!Ñ!Ô#ðÜ—K‘K Õ,ˆ	ð 	×ÑÔð(Ü—K‘K Õ,ˆ	ð 	×%Ñ%Ô'ðÜ—+‘+˜iÕ(ˆð 	�‰×ÑÔðÜ—‘˜XÕ&ˆð 	×ÑÔðÜ—+‘+˜iÕ(ˆð ˆŒðÜ—‘˜XÕ&ˆð 	×ÑÔð(Ü—‘˜XÕ&ˆð ×!Ô!ˆAÙŽCñ "ó 	Ü˜W×/Ñ/°·±×1GÑ1GÓ1IÓJˆÛˆCØ×)Ñ)Ó+¨s¨e×3Ð3�Ø×%Ñ%Ö'ó 4ñ ð0Ü—K‘K Õ,ˆ	ð 	×!Ñ!×-Ñ-Ô/ð&Ü—+‘+˜iÕ(ˆð 	×5Ñ5×AÑAÔCØ×Ñ×%Ñ%Ô'Ø×Ñ×#Ñ#Ô%ð:Ü Ÿ[™[Ð)=Õ>Ðð 	×#Ñ#×+Ñ+×7Ñ7Ö9øôO ô Úðûô ô Úðûô ô Úðûô ô Úðûô ô Úðûô ô Úðûô ô Úðûô ô Úðûô ô Úðûô ô Úðûô ô Úðûô ô Úðûô ô Úðûô ô Úðúsü   ÂN% ÃN7 Ã3O	 ÄO ÅO- Å+O? ÆP ÇP# Ç-P5 ÈQ È4Q ËQ+ ÌQ= Í(R Î%N4Î3N4Î7OÏOÏ	OÏOÏO*Ï)O*Ï-O<Ï;O<Ï?PÐPÐP ÐP Ð#P2Ð1P2Ð5QÑQÑQÑQÑQ(Ñ'Q(Ñ+Q:Ñ9Q:Ñ=RÒRÒRÒRc                  óˆ	  € \         P                  ! R 4      ;'       g    Rp \         P                  ! R4      ;'       g    RpTR\         P                  ! R4      ;'       g    R,           ,          p\         P                  ! R4      ;'       g    Rp. p\         P                  ! R4      '       dx   \        P                  P                  '       g/   \
        P                  P                  RR4      pV'       d   VR	8H  pMRpR
pVe   V R\        V4       2pVP                  V4       \        \        R4      '       d+   VP                  R4       RV9   d   VP                  R4       MBVP                  R4       RV 9   d   VP                  R4       MRV9  d   VP                  R4       \        P                  P                  4       '       dH   \        P                  P                  4       '       d   VP                  R4       MVP                  R4       \         P                  ! R4      pV'       d   VP                  RV 24       \        \         P                  ! R4      ;'       g    R4      pV'       d   VP                  R4       . pRV9   d   VP                  R4       MRV9   d   VP                  R4       \        P                  ! 4       '       d   VP                  R4       \        P                   ! 4       '       d   VP                  R4       V'       d!   VP                  R P#                  V4      4       . p	\        P$                  ! R!R"7      '       d   V	P                  R#4       \        P$                  ! R!R$7      '       d   V	P                  R%4       \        P$                  ! R!R&7      '       d   V	P                  R'4       \        P$                  ! R!R(7      '       d   V	P                  R)4       V	'       d!   VP                  R P#                  V	4      4       \        \        R*4      '       d   VP                  R+4       \        \        R,4      '       d   VP                  R-4       \         P                  ! R.4      '       d   VP                  R/4       \         P                  ! R04      '       d   VP                  R14       V# )2ÚCONFIG_ARGSÚ Ú	PY_CFLAGSr   ÚPY_CFLAGS_NODISTÚPY_LDFLAGS_NODISTÚPy_GIL_DISABLEDÚ
PYTHON_GILNÚ1Úfree_threadingz GIL=ÚgettotalrefcountÚdebugz-DNDEBUGÚwithout_assertÚreleasez--with-assertionsÚwith_assertÚJITzJIT (disabled)ÚPYTHONFRAMEWORKz
framework=ÚPY_ENABLE_SHAREDÚ0Úsharedz
-flto=thinÚThinLTOz-fltoÚLTOÚPGOÚBOLTÚ+T©ÚaddressÚASAN©ÚmemoryÚMSAN©ÚubÚUBSAN©ÚthreadÚTSANÚ
getobjectsÚ	TraceRefsÚ	_stats_onÚpystatsÚWITH_VALGRINDÚvalgrindÚWITH_DTRACEÚdtrace)Ú	sysconfigÚget_config_varrV   ÚflagsÚignore_environmentr$   ÚenvironÚgetr1   r   r~   Ú_jitÚis_availableÚ
is_enabledr   Úcheck_cflags_pgoÚcheck_bolt_optimizedr   Úcheck_sanitizer)
Úconfig_argsÚcflagsÚldflags_nodistÚbuildr¬   r®   Ú	frameworkr¸   ÚoptimizationsÚ
sanitizerss
             r   Úget_build_inforå   *  s}  € ô ×*Ò*¨=Ó9×?Ð?¸R€KÜ×%Ò% kÓ2×8Ð8°b€FØ
ˆc”Y×-Ò-Ð.@ÓA×GÐGÀRÕHÕH€FÜ×-Ò-Ð.AÓB×HÐHÀb€Nà€Eô ×ÒÐ 1×2Ò2Ü�y‰y×+×+Ð+ÜŸ™Ÿ™¨°dÓ;ˆJßØ(¨CÑ/�
øàˆJà)ˆØÒ!Ø .Ð/¨u´S¸³_Ð4EÐFˆNØ�‰�^Ô$äŒsÐ&×'Ò'à�‰�WÔà˜ÔØ�L‰LÐ)Ô*øà�‰�YÔà +Ô-Ø�L‰L˜Õ'Ø˜vÔ%Ø�L‰L˜Ô'ô ‡x�x×Ñ×ÒÜ�8‰8×Ñ× Ò Ø�L‰L˜Õà�L‰LÐ)Ô*ô ×(Ò(Ð):Ó;€IßØ�‰�z ) Ð-Ô.ô ”×)Ò)Ð*<Ó=×DÐDÀÓE€FßØ�‰�XÔð €MØ�~Ô%Ø×Ñ˜YÕ'Ø	�NÔ	"Ø×Ñ˜UÔ#ä×Ò×!Ò!à×Ñ˜UÔ#ä×#Ò#×%Ò%à×Ñ˜VÔ$çØ�‰�S—X‘X˜mÓ,Ô-ð €JÜ×Ò t×,Ó,Ø×Ñ˜&Ô!ä×Ò d×+Ó+Ø×Ñ˜&Ô!ä×Ò $×'Ó'Ø×Ñ˜'Ô"ä×Ò d×+Ó+Ø×Ñ˜&Ô!ßØ�‰�S—X‘X˜jÓ)Ô*ô Œs�L×!Ò!Ø�‰�[Ô!äŒs�K× Ò Ø�‰�YÔä×Ò ×0Ò0Ø�‰�ZÔ ä×Ò ×.Ò.Ø�‰�XÔà€Lr   c                ó>   € V ^8„  d   QhR\         R,          R\         /# )r
   Útmp_dirNr   ©ÚStrPath)r   s   "r   r   r   ”  s   € ÷ #$ñ #$œ' D�.ð #$´Gñ #$r   c                 óÀ  € V '       d"   \         P                  P                  V 4      p EM\        P                  ! 4       '       dè   \
        P                  '       gƒ   \        P                  ! R 4      p V fH   \        P                  ! R4      p V '       g*   \        P                  ! R4      p V '       g   \        R4      h\         P                  P                  V R4      p Md\        P                  ! R4      p V '       g   \        RV : R24      h\         P                  P                  V R4      p M\        P                  ! 4       p \         P                  P                  V 4      # )Úabs_builddirÚ
abs_srcdirÚsrcdirz1Could not determine the correct value for tmp_dirrá   Úprojectbasez>sysconfig.get_config_var('projectbase') unexpectedly returned z on WASI)r$   r%   Ú
expanduserrÒ   Úis_python_buildr   Úis_wasirÓ   ÚRuntimeErrorr   ÚtempfileÚ
gettempdirÚabspath)rç   s   &r   Úget_temp_dirrö   ”  s  € ßÜ—'‘'×$Ñ$ WÓ-Šô
 ×$Ò$×&Ò&Ü—?—?�?Ü#×2Ò2°>ÓB�Ø’?Ü'×6Ò6°|ÓD�Gß"ô
 #,×":Ò":¸8Ó"D˜ß&Ü".Ø Só#ð ô Ÿ'™'Ÿ,™, w°Ó8‘ô $×2Ò2°=ÓA�ßÜ&ð1Ø18±¸8ðEóð ô Ÿ'™'Ÿ,™, w°Ó8‘ä×)Ò)Ó+ˆGä�7‰7�?‰?˜7Ó#Ð#r   Fc                ó<   € V ^8„  d   QhR\         R\        R\         /# )r
   Ú
parent_dirÚworkerr   )ré   Úbool)r   s   "r   r   r   º  s!   € ÷ ñ œWð ¬dð ¼wñ r   c                 óŽ  € \         P                  '       g   \         P                  '       d   \        P                  ! ^ R4      pM\
        P                  ! 4       pV'       d   \        \        V4      ,           pM\        \        V4      ,           pV\        P                  ,          p\
        P                  P                  W4      pV# )r   i@B )r   Úis_emscriptenrñ   ÚrandomÚrandintr$   ÚgetpidÚWORK_DIR_PREFIXr   ÚWORKER_WORK_DIR_PREFIXr   ÚFS_NONASCIIr%   r   )rø   rù   ÚnounceÚwork_dirs   &&  r   Úget_work_dirr  º  sy   € ô ××Ð¤§§ Ü—’  9Ó-‰ä—’“ˆçÜ"¤S¨£[Õ0‰ä)¬C°«KÕ7ˆØ”	×%Ñ%Õ%€HÜ�w‰w�|‰|˜JÓ1€HØ€Or   c               #   óî   "  €  R x € R #   \          d^   p \        P                  '       d   \        P                  ! \
        RR7       \        P                  ! T P                  4        R p ? R # R p ? ii ; i5i)NT)Úexit)	Ú
SystemExitr   Úcan_start_threadÚfaulthandlerÚdump_traceback_laterÚEXIT_TIMEOUTrV   r  Úcode)Úexcs    r   Úexit_timeoutr  Î  sM   é € ðÝøÜô ô ×,×,Ð,Ü×-Ò-¬lÀÕFÜ�Š�—‘×Òûðüs+   ‚A5„
 ˆA5ŠA2•AA-Á'A5Á-A2Á2A5c                ó4   € V ^8„  d   QhR\         R\        RR/# )r
   Ú	test_nameÚverboser   N)ÚTestNamer1   )r   s   "r   r   r   Ú  s!   € ÷ "<ñ "<œXð "<´ð "<¸ñ "<r   c           
      ó¼  € \         P                  p\        P                  P	                  V4      '       g   R # \        P                  P                  V4      '       d   ^ R IpRVP                  rTMG\        P                  P                  V4      '       d   R\        P                  rTM\        RV: R24      hV'       d    \        V  RV RV: 24       R\        n         ^ R Ip\        P                  ! W&P                   VP"                  ,          VP$                  ,          4       V! V4       R #   \&         d#   p\        T  RT RT: RT 24        R p?R # R p?ii ; i)	NÚ	directoryrD   zos.path says z) exists but is neither directory nor filez left behind r   Tz and it couldn't be removed: )r   ÚTESTFNr$   r%   ÚexistsÚisdirÚshutilÚrmtreeÚisfileÚunlinkrò   rQ   r   rU   ÚstatÚchmodÚS_IRWXUÚS_IRWXGÚS_IRWXOÚ	Exception)r  r  r(   r  ÚkindÚnukerr  r  s   &&      r   Úremove_testfnr%  Ú  s  € ô ×Ñ€DÜ�7‰7�>‰>˜$×ÒÙô 
‡w�w‡}�}�T×ÒÛØ! 6§=¡=‰eÜ	�‰�‰˜×	Ò	ØœbŸi™i‰eä˜]¨4©(ð 30ð 1ó 2ð 	2÷ Ü˜˜ =°°°a¸±xÐ@ÔAØ&*ŒÔ#ð<Ûä
�Š�—|‘| d§l¡lÕ2°T·\±\ÕAÔBÙˆdŽøÜô <Ü˜˜ =°°°a¸±xð @5Ø58°Eð;÷ 	<ò 	<ûð<ús   ÃAD. Ä.EÄ9EÅEc                óJ   € V ^8„  d   QhR\         R\        R,          R\         /# )r
   r  Útest_dirNr   )r  ré   )r   s   "r   r   r   ÿ  s%   € ÷ #ñ #œxð #´7¸Tµ>ð #Ähñ #r   c                 óV   € V P                  R 4      '       g	   V'       d   V # R V ,           # )ztest.)Ú
startswith)r  r'  s   &&r   Úabs_module_namer*  ÿ  s(   € Ø×Ñ˜G×$Ò$¯ØÐð ˜Õ"Ð"r   Úis_errorc                óJ   € V ^8„  d   QhR\         R\        R\         R,          /# )r
   Útest_full_namer+  r   N)r   rú   )r   s   "r   r   r     s'   € ÷ ñ ¬ð Ü"&ðÜ36¸µ:ñr   c                ó  € V P                  R 4      ^ ,          pV'       dh   V\        9   d]   V P                  R4      '       d   R# V P                  R4      pV P                  R4      pW^,           V P                  R4      R,          # V# )r   NÚ(Ú)Ú.)zsetUpModule (ztearDownModule (éÿÿÿÿ)ÚsplitÚ_TEST_LIFECYCLE_HOOKSr)  Úindex)r-  r+  Ú
short_nameÚlparÚrpars   &$   r   Únormalize_test_namer9    s€   € à×%Ñ% cÓ*¨1Õ-€Jß�JÔ"7Ô7Ø×$Ñ$Ð%J×KÒKñ ð ×#Ñ# CÓ(ˆØ×#Ñ# CÓ(ˆØ Q�h¨Ð-×3Ñ3°CÓ8¸Õ<Ð<ØÐr   c                ó   € V ^8„  d   QhRR/# rS   r5   )r   s   "r   r   r   %  s   € ÷ 5ñ 5˜dñ 5r   c            
     ón  €  ^ RI p T P                  T P                  4      w  rRpY8  dE   Y8  d=   \	        Y24      p T P                  T P                  YB34       \        RT RT 24       R# R# R#   \         d     R# i ; i  \        \        3 d!   p\        RT RT RT R24        Rp?R# Rp?ii ; i)	z°
On macOS the default fd limit (RLIMIT_NOFILE) is sometimes too low (256)
for our test suite to succeed. Raise it to something more reasonable. 1024
is a common Linux default.
Ni   zRaised RLIMIT_NOFILE: z -> z#Unable to raise RLIMIT_NOFILE from z to z: r1  )
ÚresourceÚImportErrorÚ	getrlimitÚRLIMIT_NOFILEÚminÚ	setrlimitrE   Ú
ValueErrorÚOSErrorrQ   )r<  Úfd_limitÚmax_fdsÚdesired_fdsÚnew_fd_limitÚerrs         r   Úadjust_rlimit_nofilerI  %  sÐ   € ðÛð !×*Ñ*¨8×+AÑ+AÓBÑ€Hà€KàÔ (Ô"4Ü˜;Ó0ˆð	5Ø×Ñ˜x×5Ñ5Ø ,Ð6ô8äÐ*¨8¨*°D¸¸ÐGÖHñ #5Ñøô ô Úðûô œGÐ$ô 	5ÜÐ?À¸zÈØ)˜N¨"¨S¨E°ð4÷ 5ò 5ûð	5ús(   ‚A1 ½.B Á1B Á?B ÂB4ÂB/Â/B4c                ó$   € V ^8„  d   QhR\         /# ©r
   r   r=   )r   s   "r   r   r   ?  s   € ÷ ñ œñ r   c                  óx   € \         P                  P                  R 4      ;p f   \        P                  ! R4      p V # )Ú_PYTHON_HOSTRUNNERÚ
HOSTRUNNER)r$   rÖ   r×   rÒ   rÓ   )Ú
hostrunners    r   Úget_host_runnerrP  ?  s1   € Ü—j‘j—n‘nÐ%9Ó:Ð:ˆ
ÒCÜ×-Ò-¨lÓ;ˆ
ØÐr   c                ó$   € V ^8„  d   QhR\         /# rK  )rú   )r   s   "r   r   r   E  s   € ÷ 3ñ 3œ4ñ 3r   c                  ó(   € R \         P                  9   # )Ú_PYTHON_HOST_PLATFORM)r$   rÖ   r5   r   r   Úis_cross_compiledrT  E  s   € Ø#¤r§z¡zÑ1Ð2r   c                ó`   € V ^8„  d   QhR\         \        \        R,          3,          R\        /# )r
   Úuse_resourcesNr   )Údictr   )r   s   "r   r   r   I  s'   € ÷ ñ ¤D¬¬c°D­j¨Õ$9ð ¼cñ r   c                 ó¬  € \        \        4      p. p\        V 4       F+  pW,          f   K  VP                  V RW,           24       K-  	  R.p\        V\        V 4      ,
          4       F  pVP                  RV 24       K  	  \        \        V 4      V,
          4       F   pW,          e   K  VP                  V4       K"  	  RP	                  WB,           4      pRV 2p. p\        V 4       F   pW,          e   K  VP                  V4       K"  	  RP	                  Wb,           4      pR\        V 4       RV 2p\        V4      \        V4      8:  d   V# V# )NÚ=ÚallÚ-Ú,zresources: zresources (z): )ÚsetÚALL_RESOURCESrH   r   r   Úlen)rV  Úall_resourcesr}   r(   Úrelative_allÚall_textÚ	resourcesÚtexts   &       r   Úformat_resourcesre  I  s=  € ÜœÓ&€Mà€FÜ�}Ö%ˆØÕÔ*Ø�M‰M˜T˜F ! MÕ$7Ð#8Ð9Ö:ñ &ð
 �7€LÜ�}¤s¨=Ó'9Õ9Ö:ˆØ×Ñ˜a ˜v˜JÖ'ñ ;ä”s˜=Ó)¨MÕ9Ö:ˆØÕÔ&Ø×Ñ Ö%ñ ;ð �x‰x˜Õ-Ó.€HØ˜X˜JÐ'€Hð €IÜ�}Ö%ˆØÕÔ&Ø×Ñ˜TÖ"ñ &ð �8‰8�IÕ&Ó'€DØœ˜]Ó+Ð,¨C°¨vÐ6€Dô ˆ8ƒ}œ˜D›	Ô!Øˆàˆr   c                óŒ   € V ^8„  d   QhR\         \        \        R,          3,          R\        \        R3,          R,          RR/# )r
   rV  NÚ
python_cmd.r   )rW  r   Útuple)r   s   "r   r   r   j  sB   € ÷ Lñ L¤$¤s¬C°$­J Õ"7ð LÜ$¤S¨# X�°Õ5ðLØ:>ñLr   c                 ó¦  € \        R \        P                  ! 4       .\        P                  P                  4       O5!   \        R \        P                  ! RR7      R\        P                  ,          4       \        RRP                  \        4       4      4       \        R\        P                  ! 4       4       \        P                  ! 4       pV'       d8   \        P                  ! 4       pV'       d   W28w  d	   V RV R2p\        R	V4       \        R
\        P                  ! 4       : R\        P                  ! 4       : 24       V '       d   \!        V 4      p\        RV 24       M\        R4       \#        4       pV'       d   \        R4       V'       dÐ   \$        P                  ! V4      p\        RV 24       . VORNRNp\&        P(                  ! V\&        P*                  R\,        P.                  R7      pVP0                  P3                  RR4      P5                  4       p	V	'       d   \        RV	 24       MLVP6                  '       d   \        RVP6                   R24       M \9        4       p
V
'       d   \        RV
 24       \:        P<                  ! RR7      p\:        P<                  ! RR7      p\:        P<                  ! RR7      p\:        P<                  ! RR7      p. pV'       d   VP?                  R4       V'       d   VP?                  R4       V'       d   VP?                  R4       V'       d   VP?                  R4       V'       dw   \        R R!P                  V4       24       VR"3VR#3VR$3VR%33 FG  w  pp\        P@                  PC                  V4      pV'       g   K/  Vf   K5  \        RV R'V: 24       KI  	  \        RR(7       R&# ))z==T)Úaliasedz	%s-endianz== Python build:r   z== cwd:z (process) / z	 (system)z== CPU count:z== encodings: locale=z FS=z== zL== resources: all test resources are disabled, use -u option to unskip testsz== cross compiled: Yesz== host python: z-mÚplatform)r   rd  ÚcwdÚ
z== host platform: z1== host platform: <command failed with exit code Ú>z== host runner: r¾   rÁ   rÄ   rÇ   r¿   rÂ   zundefined behaviorrÈ   z== sanitizers: z, ÚASAN_OPTIONSÚMSAN_OPTIONSÚUBSAN_OPTIONSÚTSAN_OPTIONSNrY  )r[   )"rE   rk  Úpython_implementationrV   Úversionr3  Ú	byteorderr   rå   r$   ÚgetcwdÚ	cpu_countÚprocess_cpu_countÚlocaleÚgetencodingÚgetfilesystemencodingre  rT  ÚshlexÚ
subprocessÚrunÚPIPEr   ÚSAVEDCWDr   ÚreplaceÚstripÚ
returncoderP  r   rÝ   r   rÖ   r×   )rV  rg  rw  rx  rd  Úcross_compileÚcmdÚget_cmdÚprocr   rO  ÚasanÚmsanÚubsanÚtsanrä   Ú	sanitizerÚenv_varÚoptionss   &&                 r   Údisplay_headerr�  j  sü  € ô 
ˆ$”×.Ò.Ó0ÐG´3·;±;×3DÑ3DÓ3FÔGÜ	ˆ$”×!Ò!¨$Ô/Ø¤§¡Õ-ô/ä	Ð
˜cŸh™h¤~Ó'7Ó8Ô9Ü	ˆ)”R—Y’Y“[Ô!äŸš›€Ißä×0Ò0Ó2ÐßÐ!2Ô!?Ø,Ð-¨]¸9¸+ÀYÐOˆIÜˆo˜yÔ)Ý	Ü×ÒÖ!¤3×#<Ò#<Õ#>ð@ô A÷ Ü Ó.ˆÜ��D�6ˆlÕäð .ô 	/ô &Ó'€MßÜÐ&Ô'ßÜ�jŠj˜Ó$ˆÜÐ   Ð&Ô'à1�JÐ1 Ð1 jÐ1ˆÜ�~Š~ØÜ—?‘?ØÜ×"Ñ"ô	$ˆð
 —‘×$Ñ$ T¨3Ó/×5Ñ5Ó7ˆßÜÐ& v hÐ/Õ0Ø�_�_ˆ_ÜÐEÀdÇoÁoÐEVÐVWÐXÔYøä$Ó&ˆ
ßÜÐ$ Z LÐ1Ô2ô ×"Ò"¨4Ô0€DÜ×"Ò"¨$Ô/€DÜ×#Ò# tÔ,€EÜ×"Ò"¨$Ô/€DØ€JßØ×Ñ˜)Ô$ßØ×Ñ˜(Ô#ßØ×ÑÐ.Ô/ßØ×Ñ˜(Ô#ßÜ� §	¡	¨*Ó 5Ð6Ð7Ô8à�>Ð"Ø�>Ð"Ø�OÐ$Ø�>Ð"ó	#
ÑˆI�wô —Z‘Z—^‘^ GÓ,ˆGß‰y˜WÔ0Ü˜˜G˜9 A g¡[Ð1Ö2ñ#
ô 
�×r   c                ó(   € V ^8„  d   QhR\         RR/# )r
   rç   r   Nrè   )r   s   "r   r   r   ¹  s   € ÷ #ñ #œgð #¨$ñ #r   c                 óÄ  € ^ RI p\        P                  P                  VP	                  V 4      \
        R,           4      p\        RV ,          4       VP                  V4       Fz  p\        P                  P                  V4      '       d+   \        RV,          4       \        P                  ! V4       KR  \        RV,          4       \        P                  ! V4       K|  	  R# )r   NÚ*zCleanup %s directoryzRemove directory: %szRemove file: %s)Úglobr$   r%   r   ÚescapeÚ
TMP_PREFIXrE   r  r   r  r  )rç   r“  r%   r(   s   &   r   Úcleanup_temp_dirr–  ¹  s’   € Ûä�7‰7�<‰<˜Ÿ™ GÓ,¬j¸3Õ.>Ó?€DÜ	Ð
  7Õ
*Ô+Ø—	‘	˜$–ˆÜ�7‰7�=‰=˜×ÒÜÐ(¨4Õ/Ô0Ü×Ò˜TÖ"äÐ# dÕ*Ô+Ü×Ò˜TÖ"ó  r   u   [ --í €-í¿¿ï¿¾ï¿¿]+c                 óD   € V ^ ,          pRP                  R V 4       4      # )r   r§   c              3   ój   "  € T F)  pVR 8:  d   R\        V4      R 2M\        V4      ^R x € K+  	  R# 5i)ô   Ã¿z\xÚ02xNr2  )ÚordÚascii)r>   Úchs   & r   r@   Ú(_sanitize_xml_replace.<locals>.<genexpr>Õ  s9   é € ð #Ù!�rð +-°¬,�Sœ˜R› ˜Ñ&¼EÀ"»IÀaÈ¸OÔKÛ!ùs   ‚13)r   )Úregsrd  s   & r   Ú_sanitize_xml_replacer   Ó  s)   € Ø��7€DØ�7‰7ñ #Ù!ó#ó #ð #r   c                ó0   € V ^8„  d   QhR\         R\         /# )r
   rd  r   r=   )r   s   "r   r   r   Ø  s   € ÷ Añ A”sð Aœsñ Ar   c                 ó6   € \         P                  \        V 4      # r<   )ÚILLEGAL_XML_CHARS_REÚsubr   )rd  s   &r   Úsanitize_xmlr¥  Ø  s   € Ü×#Ñ#Ô$9¸4Ó@Ð@r   c                ó¬   € V ^8„  d   Qh/ ^ \         9   d   \        R,          R,          ;R&   ^\         9   d   \        R\        3,          R,          ;R&   # )r
   .NrZ   rg   ).N)Ú__conditional_annotations__r   Úobject)r   s   "r   r   r      sH   € × Ñ ÷@ 7Ò 6”X˜iÕ(¨4Õ/Ñ 6ñA ÷p ?Ò >œ8 C¬ KÕ0°4Õ7Ñ >òq r   )ÚaudioÚconsoleÚcursesÚ	largefileÚnetworkÚdecimalÚcpur}  ÚurlfetchÚguiÚwalltime)ÚextralargefileÚtzdataÚxpickleÚwantobjectsr<   )éF   é   N)F)Ú
setUpClassÚtearDownClassÚsetUpModuleÚtearDownModule)Lr§  Ú
contextlibr
  ry  r   Úos.pathr$   rk  rý   rq   r|  r}  rV   rÒ   ró   rF   Úcollections.abcr   Útestr   Útest.supportr   r   r•  r   r  r  r^  ÚRESOURCE_NAMESr   ré   r  ÚStrJSONrh  Ú	TestTupler!   ÚTestListrú   Ú
TestFilterÚFilterTuplerW  Ú
FilterDictr   r+   r/   r9   rM   rQ   rZ   r^   rb   rg   ri   rn   r¤   rå   rö   r  Úcontextmanagerr  r%  r*  Ú	frozensetr4  r9  rI  rP  rT  re  r�  r–  Úcompiler£  r   r¥  r   )r§  s   @r   Ú<module>rÌ     s³  øðß Ð Û Û Û Û Û Û Û 	Û Û Û 
Û Û Û Ý $å Ý "Ý )ð
 €
Ø€Ø(¨9Õ4Ð ð
 €ðP€ð Ð!WÕW€ð €Ø€Ø
€Ø�(˜C�-Õ €	Ø��>€ð �%˜ $˜Õ'Õ(€
Ø�H˜c�MÕ"€Ø�(˜KÐ'Õ(€
õõ2"÷õôõð 37Ð Ó 6õ õ2ð ;?Ð Ó >õ õ9òu:òpg÷T#$÷Lð( ×Ññó ðõ"<õJ#ñ "ð #ó Ð ð
Ø).÷õ,5õ4õ3õõBLõ^#ð —z’zð		ó

Ð ò#÷
Ar   