+
    ˜°³jƒy  ã                   óò  € ^ 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Ht  ^ RItRt]! R. R.O4      t. R/Ot. R0Ot. R1Ot. R2Ot. R3OtR tR tR	 tR
 tR4R ltR tR t R t!R t"R t#R t$R t%R t&R t'R t(R t)R t*R t+R t,R t-R t.R t/R t0R t1R t2R  t3R! t4R4R" lt5R# R$ lt6R% t7R& t8R' t9R(Pu                  4       t;R) t<R* t=R+ R, lt>]?R-8X  d
   ]>! 4        R# R#   ]]]]3 d    Rt LÃi ; i)5é    N)Ú
namedtuple)ÚcastÚDictTFÚ	SystemEnvc                óž  € \        V 4      \        J p\        P                  ! V \        P                  \        P                  VR7      pVP                  4       w  r4VP                  p\        4       R8X  d   RpM\        P                  ! 4       pVP                  V4      pVP                  V4      pWWP                  4       VP                  4       3# )z%Return (return-code, stdout, stderr).)ÚstdoutÚstderrÚshellÚwin32Úoem)ÚtypeÚstrÚ
subprocessÚPopenÚPIPEÚcommunicateÚ
returncodeÚget_platformÚlocaleÚgetpreferredencodingÚdecodeÚstrip)	Úcommandr
   ÚpÚ
raw_outputÚraw_errÚrcÚencÚoutputÚerrs	   &        ÚX/home/luca/screen-checking/.venv/lib/python3.14/site-packages/torch/utils/collect_env.pyÚrunr"   x   sœ   € ä�‹MœSÐ €EÜ×ÒØœ
Ÿ™´
·±Àuô	€Að Ÿ-™-›/Ñ€JØ	
�‰€BÜƒ~˜Ô Ø‰ä×)Ò)Ó+ˆØ×Ñ˜sÓ#€FØ
�.‰.˜Ó
€CØ�|‰|‹~˜sŸy™y›{Ð*Ð*ó    c                ó.   € V ! V4      w  r#pV^ 8w  d   R# V# )zIRun command using run_lambda; reads and returns entire output if rc is 0.N© ©Ú
run_lambdar   r   ÚoutÚ_s   &&   r!   Úrun_and_read_allr*   ‰   s   € á˜GÓ$�J€BˆQØ	ˆQ„wÙØ€Jr#   c                ó„   € V ! V4      w  r4pV^ 8w  d   R# \         P                  ! W$4      pVf   R# VP                  ^4      # )zIRun command using run_lambda, returns the first regex match if it exists.N)ÚreÚsearchÚgroup)r'   r   Úregexr   r(   r)   Úmatchs   &&&    r!   Úrun_and_parse_first_matchr1   ‘   s>   € á˜GÓ$�J€BˆQØ	ˆQ„wÙÜ�IŠI�eÓ!€EØ‚}ÙØ�;‰;�q‹>Ðr#   c                óZ   € V ! V4      w  r#pV^ 8w  d   R# VP                  R4      ^ ,          # )zKRun command using run_lambda and returns first line if output is not empty.NÚ
)Úsplitr&   s   &&   r!   Úrun_and_return_first_liner5   œ   s-   € á˜GÓ$�J€BˆQØ	ˆQ„wÙØ�9‰9�T‹?˜1ÕÐr#   c                 ó.  a€ Sf(   \         \        ,           \        ,           \        ,           o\        P
                  P                  RR4      p\        V RP                  V4      4      pVf   V# RP                  V3R lVP                  4        4       4      # )NÚ	CONDA_EXEÚcondaz{} listr3   c              3   óà   <a"  € T Fb  oSP                  R 4      '       d   K  \        ;QJ d    V3R lS 4       F  '       g   K   RM	  RM! V3R lS 4       4      '       g   K^  Sx € Kd  	  R# 5i)Ú#c              3   ó,   <"  € T F	  qS9   x € K  	  R # 5i©Nr%   ©Ú.0ÚnameÚlines   & €r!   Ú	<genexpr>Ú/get_conda_packages.<locals>.<genexpr>.<genexpr>¯   s   øé € Ð+NÁX¸T°D®LÃXùó   ƒTFN)Ú
startswithÚany©r>   r@   Úpatternss   &@€r!   rA   Ú%get_conda_packages.<locals>.<genexpr>¬   sI   ùé € ð á$ˆDØ�‰˜s×#ô 	ç(+«Ô+NÁXÓ+N¯¯ªÔ+NÁXÓ+N×(N÷ 	ŠÛ$ùs   „A.¢
A.­A.ÁA.Á$
A.)ÚCONDA_PATTERNSÚCOMMON_PATTERNSÚNVIDIA_PATTERNSÚONEAPI_PATTERNSÚosÚenvironÚgetr*   ÚformatÚjoinÚ
splitlines)r'   rG   r8   r(   s   &f  r!   Úget_conda_packagesrS   ¤   sw   ø€ ØÒÜ!¤OÕ3´oÕEÌÕWˆÜ�J‰J�N‰N˜;¨Ó0€EÜ
˜: y×'7Ñ'7¸Ó'>Ó
?€CØ
‚{Øˆ
à�9‰9ô à—N‘NÔ$óó ð r#   c                 ó   € \        V R R4      # )zgcc --versionzgcc (.*)©r1   ©r'   s   &r!   Úget_gcc_versionrW   ³   s   € Ü$ Z°À+ÓNÐNr#   c                 ó   € \        V R R4      # )zclang --versionzclang version (.*)rU   rV   s   &r!   Úget_clang_versionrY   ·   s   € Ü$ØÐ%Ð'<óð r#   c                 ó   € \        V R R4      # )zcmake --versionz
cmake (.*)rU   rV   s   &r!   Úget_cmake_versionr[   ½   s   € Ü$ ZÐ1BÀMÓRÐRr#   c                 óh   € \        4       R 8X  d   Rp\        WR4      # \        4       p\        WR4      # )Údarwinzkextstat | grep -i cudazcom[.]nvidia[.]CUDA [(](.*?)[)]zDriver Version: (.*?) )r   r1   Úget_nvidia_smi)r'   ÚcmdÚsmis   &  r!   Úget_nvidia_driver_versionra   Á   s<   € Üƒ~˜Ô!Ø'ˆÜ(ØÐ?ó
ð 	
ô Ó
€CÜ$ ZÐ6OÓPÐPr#   c                 óä  € \        4       R 8X  gJ   \        '       Ed   \        \        P                  R4      '       dã   \        P                  P
                  eÇ   \        '       d¹   \        P                  P                  4       '       d•   \        P                  P
                  eQ   \        P                  P                  ^ 4      p\        VR4      '       d   RP                  VP                  4      pMRpMRp\        P                  P                  R4      V,           # R# \        4       p\        P                  ! R4      pV ! VR,           4      w  rVpV^ 8w  d   R# \        P                  ! VRV4      # )	r]   ÚhipNÚgcnArchNamez ({})ÚNoGCNArchNameOnOldPyTorchÚ z \(UUID: .+?\)z -L)r   ÚTORCH_AVAILABLEÚhasattrÚtorchÚversionrc   ÚcudaÚis_availableÚget_device_propertiesrP   rd   Úget_device_namer^   r,   ÚcompileÚsub)r'   ÚpropÚgcnArchr`   Ú
uuid_regexr   r(   r)   s   &       r!   Úget_gpu_infort   Ë   sû   € Üƒ~˜Ô!ßŒÜ”E—M‘M 5×)Ò)Ü�M‰M×ÑÒ)ç‹?œuŸz™z×6Ñ6×8Ò8Ü�}‰}× Ñ Ò,Ü—z‘z×7Ñ7¸Ó:�Ü˜4 ×/Ò/Ø%Ÿn™n¨T×-=Ñ-=Ó>‘Gà9‘Gà�Ü—:‘:×-Ñ-¨dÓ3°gÕ=Ð=ÙÜ
Ó
€CÜ—’Ð-Ó.€JÙ˜C %�KÓ(�J€BˆQØ	ˆQ„wÙä�6Š6�*˜b #Ó&Ð&r#   c                 ó   € \        V R R4      # )znvcc --versionzrelease .+ V(.*)rU   rV   s   &r!   Úget_running_cuda_versionrv   å   s   € Ü$ ZÐ1AÐCVÓWÐWr#   c                óä  € \        4       R8X  dt   \        P                  P                  RR4      p\        P                  P                  RR4      p\        P                  P                  VRR4      pRP                  W24      pM\        4       R	8X  d   R
pMRpV ! V4      w  rVp\        V4      ^ 8X  g   V^8w  dq   V^ 8w  dj   \        P                  P                  R4      pVeE   \        P                  P                  V4      '       d    \        P                  P                  V4      # R# \        4       p	VP                  R4       FZ  p
\        P                  P                  V
4      p
\        P                  P                  V
4      '       g   KI  V	P                  V
4       K\  	  V	'       g   R# \        V	4      p\        V4      ^8X  d
   V^ ,          # RP                  V4      pRP                  V4      # )zHReturn a list of libcudnn.so; it's hard to tell which one is being used.r   Ú
SYSTEMROOTú
C:\WindowsÚ	CUDA_PATHz%CUDA_PATH%ÚSystem32Úwherez{} /R "{}\bin" cudnn*.dllr]   z ls /usr/local/cuda/lib/libcudnn*z7ldconfig -p | grep libcudnn | rev | cut -d" " -f1 | revÚCUDNN_LIBRARYNr3   z!Probably one of the following:
{})r   rM   rN   rO   ÚpathrQ   rP   ÚlenÚisfileÚrealpathÚsetr4   ÚaddÚsorted)r'   Úsystem_rootÚ	cuda_pathÚ	where_cmdÚ	cudnn_cmdr   r(   r)   ÚlÚ	files_setÚfnÚfilesÚresults   &            r!   Úget_cudnn_versionrŽ   é   sg  € äƒ~˜Ô Ü—j‘j—n‘n \°=ÓAˆÜ—J‘J—N‘N ;°Ó>ˆ	Ü—G‘G—L‘L ¨j¸'ÓBˆ	Ø0×7Ñ7¸	ÓM‰	Ü	‹˜8Ô	#ð
 7‰	àMˆ	Ù˜IÓ&�J€BˆQä
ˆ3ƒx�1„}˜˜qœ R¨1¤WÜ�J‰J�N‰N˜?Ó+ˆØŠ=œRŸW™WŸ^™^¨A×.Ò.Ü—7‘7×#Ñ# AÓ&Ð&ÙÜ“€IØ�i‰i˜ŽoˆÜ�W‰W×Ñ˜bÓ!ˆÜ�7‰7�>‰>˜"×ÔØ�M‰M˜"Öñ ÷ Ùä�9Ó€EÜ
ˆ5ƒz�Q„Ø�Q�xˆØ�Y‰Y�uÓ€FØ/×6Ñ6°vÓ>Ð>r#   c                  ó¸  € R p \        4       R8X  dÉ   \        P                  P                  RR4      p\        P                  P                  RR4      p\        P                  P                  VRRV 4      p\        P                  P                  VRV 4      pWC.pV F<  p\        P                  P                  V4      '       g   K*  R	P                  V4      p  V # 	  V # )
z
nvidia-smir   rx   ry   ÚPROGRAMFILESzC:\Program FileszNVIDIA CorporationÚNVSMIr{   z"{}")r   rM   rN   rO   r~   rQ   ÚexistsrP   )r`   r…   Úprogram_files_rootÚlegacy_pathÚnew_pathÚsmisÚcandidate_smis          r!   r^   r^     s±   € à
€CÜƒ~˜Ô Ü—j‘j—n‘n \°=ÓAˆÜŸZ™ZŸ^™^¨NÐ<OÓPÐÜ—g‘g—l‘lØÐ 4°g¸só
ˆô —7‘7—<‘< ¨Z¸Ó=ˆØÐ&ˆÛ!ˆMÜ�w‰w�~‰~˜m×,Ô,Ø—m‘m MÓ2�ØØ€Jñ	 "ð €Jr#   c                  ót   € \        4       R 8w  d   R# R F   p \        RV  24      w  p pV^ 8X  g   K  V u # 	  R# )ÚlinuxúN/Azwhich )ÚdpkgÚdnfÚyumÚzypper)r   r"   )Úmgr_namer   r)   s      r!   Ú_detect_linux_pkg_managerr       sA   € Üƒ~˜Ô ÙÛ4ˆÜ˜ ˜zÐ*Ó+‰ˆˆAˆqØ�Ž7ØŠOñ 5ñ r#   c                 ó¬  € \        4       pVR 8X  d   R # RR^RR/RR^RR/RR^RR/R	R^RR
//p\        \        \        W2,          R,          4      4      p\        W2,          R,          4      pVP	                  V4      p\        W4      pVe   VR8X  d   R # \        P                  ! RRV4      P                  R4      p\        V4      V8:  d   R # Wt,          # )rš   r›   Úfield_indexr   zdpkg -l | grep {}rœ   zdnf list | grep {}r�   zyum list | grep {}rž   zzypper info {} | grep Versionrf   z +Ú )
r    ÚintÚ_castr   rP   r*   r,   rp   r4   r   )r'   Úpkg_nameÚpkg_mgrÚgrep_versionr¢   r_   ÚretÚlsts   &&      r!   Úget_linux_pkg_versionr«   *  sø   € Ü'Ó)€GØ�%ÔÙð 	Ø˜1ØÐ*ð
ð 	Ø˜1ØÐ+ð
ð 	Ø˜1ØÐ+ð
ð 	Ø˜1ØÐ6ð
ð€Lô& œ5¤ lÕ&;¸MÕ&JÓKÓL€KÜ�<Õ(¨Õ3Ó4€CØ
�*‰*�XÓ
€CÜ
˜:Ó
+€CØ
‚{�c˜R”iÙÜ
�&Š&��s˜CÓ
 ×
&Ñ
& sÓ
+€CÜ
ˆ3ƒx�;ÔÙØÕÐr#   c           
      óÈ  € . p\        4       pVR 8X  d_   R0 RmRRR0RRR0RRR0/P                  \        4       / 4      pV F.  p\        W4      pVR8w  g   K  VP	                  RV R	V 24       K0  	  VR9   d˜   \        V R
4      p \        P                  ! V4      p\        V4      \        J d;   V F3  pVP	                  RVR,           RVR,           RVR,           R24       K5  	  M'VP	                  RVR,           RVR,           R24        RP                  V4      #   \         d6   p	TP	                  T4       TP	                  \        T	4      4        Rp	?	LLRp	?	ii ; i)r™   r›   ú
level-zerorœ   zintel-openclr�   rž   rš   ú* z:	zåpowershell.exe "gwmi -Class Win32_PnpSignedDriver | where{$_.DeviceClass -eq \"DISPLAY\"            -and $_.Manufacturer -match \"Intel\"} | Select-Object -Property DeviceName,DriverVersion,DriverDate            | ConvertTo-Json"Ú
DeviceNameú: ÚDriverVersionú (Ú
DriverDateÚ)Nr3   >   Úlibze1r­   úintel-opencl-icd©r   Úcygwin)r   rO   r    r«   Úappendr*   ÚjsonÚloadsr   ÚlistÚ
ValueErrorr   rQ   )
r'   rª   ÚplatformÚpkgsÚpkgÚverÚtxtÚobjÚoÚes
   &         r!   Úget_intel_gpu_driver_versionrÆ   N  sƒ  € Ø
€CÜ‹~€HØ�7Ôàò ð
 ØØðð ØØðð ØØðð
÷$ ‰#Ô'Ó)¨2Ó
.ð% 	ó& ˆCÜ'¨
Ó8ˆCØ�eŽ|Ø—
‘
˜R ˜u C¨ uÐ-Ö.ñ ð Ð&Ô&ÜØðó
ˆð	Ü—*’*˜S“/ˆCÜ�C‹yœDÓ Û�AØ—J‘JØ˜Q˜|�_Ð-¨R°°/Õ0BÐ/CÀ2ÀaÈÅoÐEVÐVWÐXöò ð
 —
‘
˜R  OÕ 4Ð5°R¸¸LÕ8IÐ7JÈ!ÐLÕMð �9‰9�S‹>Ðøô ô 	Ø�J‰J�sŒOØ�J‰J”s˜1“v×Ñûð	ús   ÂA"D! Ã)&D! Ä!E!Ä,+EÅE!c                 óÎ  € . p\        4       pVR 8X  d˜   \        V R4      pV'       ds    \        P                  ! V4      pVP	                  R. 4      p\        V\        4      '       d"   V'       d   VP                  R V 4       4       M#VP                  R4       MVP                  R4       VR9   d™   \        V R4      pV'       dt    \        P                  ! V4      p\        V\        4      '       d"   V'       d   VP                  R V 4       4       M6VP                  RVP	                  R	R4       24       MVP                  R4       R
P                  V4      #   \        \        3 d6   pTP                  T4       TP                  \        T4      4        Rp?LñRp?ii ; i  \         d6   pTP                  T4       TP                  \        T4      4        Rp?L•Rp?ii ; i)r™   zxpu-smi discovery -jÚdevice_listc              3   ó:   "  € T F  pR VR,           2x € K  	  R# 5i)r®   Údevice_nameNr%   ©r>   Údevices   & r!   rA   Ú(get_intel_gpu_onboard.<locals>.<genexpr>‰  s   é € ÐVÉ+À  F¨=Õ$9Ð#:Õ;Ë+ùó   ‚rš   NzÁpowershell.exe "gwmi -Class Win32_PnpSignedDriver | where{$_.DeviceClass -eq \"DISPLAY\"            -and $_.Manufacturer -match \"Intel\"} | Select-Object -Property DeviceName | ConvertTo-Json"c              3   ó:   "  € T F  pR VR,           2x € K  	  R# 5i)r®   r¯   Nr%   rË   s   & r!   rA   rÍ   ›  s   é € ÐMÉ¸v  F¨<Õ$8Ð#9Õ:ËùrÎ   r®   r¯   r3   r·   )r   r*   rº   r»   rO   Ú
isinstancer¼   Úextendr¹   r½   Ú	TypeErrorr   rQ   )r'   rª   r¾   rÂ   rÃ   rÈ   rÅ   s   &      r!   Úget_intel_gpu_onboardrÓ     sv  € Ø€CÜ‹~€HØ�7ÔÜ˜zÐ+AÓBˆßð	#Ü—j’j “o�Ø!Ÿg™g m°RÓ8�Ü˜k¬4×0Ò0·[Ø—J‘JÑVÉ+ÓVÕVà—J‘J˜uÕ%ð
 �J‰J�uÔØÐ&Ô&ÜØðmó
ˆ÷
 ð#Ü—j’j “o�Ü˜c¤4×(Ò(¯SØ—J‘JÑMÉÓMÕMà—J‘J  C§G¡G¨L¸%Ó$@Ð#AÐBÕCð
 �J‰J�uÔØ�9‰9�S‹>Ðøô/ ¤	Ð*ô #Ø—
‘
˜3”Ø—
‘
œ3˜q›6×"Ñ"ûð#ûô$ ô #Ø—
‘
˜3”Ø—
‘
œ3˜q›6×"Ñ"ûð#úsH   ©AE Á/E ÂE Ã3F$ Ã;F$ Ä$F$ ÅF!Å,+FÆF!Æ$G$Æ/+GÇG$c           	      ó>  € \         '       d   \        \        R 4      '       g   R# \        P                  P	                  4       pV^ 8X  d   R# \        V4       Uu. uF(  pRV R\        P                  P                  V4       2NK*  	  ppRP                  V4      # u upi )Úxpurš   z* [z] r3   )rg   rh   ri   rÕ   Údevice_countÚrangerm   rQ   )r'   rÖ   ÚiÚdevicess   &   r!   Úget_intel_gpu_detectedrÚ   ¦  sŒ   € ß‹?¤'¬%°×"7Ò"7Ùä—9‘9×)Ñ)Ó+€LØ�qÔÙô BGÀ|ÔATóÙAT¸Aˆ#ˆaˆS�”5—9‘9×2Ñ2°1Ó5Ð6Ó7ÑATð ð ð �9‰9�WÓÐùòs   Á.Bc           
      ó  € ^ RRr2p\        4       R8X  d   V ! R4      w  rpEM\        4       R8X  dÝ   V ! R4      w  rpV^ 8X  dÊ   . p \        P                  ! V4      p\        V4      \        J dT   V FL  pVP                  R4       TP                  VP                  4        UUu. uF  w  rxV RV 2NK  	  upp4       KN  	  M9TP                  VP                  4        UUu. uF  w  rxV RV 2NK  	  upp4        R	P                  V4      pM\        4       R
8X  d   V ! R4      w  rpRp
V^ 8X  d   Tp
V
# Tp
V
# u uppi u uppi   \         d6   p	TP                  T4       TP                  \        T	4      4        Rp	?	L„Rp	?	ii ; i)r   rf   r™   Úlscpur   zípowershell.exe "gwmi -Class Win32_Processor | Select-Object -Property Name,Manufacturer,Family,            Architecture,ProcessorType,DeviceID,CurrentClockSpeed,MaxClockSpeed,L2CacheSize,L2CacheSpeed,Revision            | ConvertTo-Json"z----------------------r°   Nr3   r]   z"sysctl -n machdep.cpu.brand_stringÚNone)r   rº   r»   r   r¼   r¹   rÑ   Úitemsr½   r   rQ   )r'   r   r(   r    rª   rÃ   rÄ   ÚkÚvrÅ   Úcpu_infos   &          r!   Úget_cpu_inforâ      se  € Ø�b˜"ˆS€BÜƒ~˜Ô Ù! 'Ó*‰ˆ’Ü	‹˜7Ô	"Ù!ðó
‰ˆ�ð
 �Œ7ØˆCð
#Ü—j’j “o�Ü˜“9¤Ó$Û ˜ØŸ
™
Ð#;Ô<ØŸ
™
¸a¿g¹g¼iÔ#H¹i±F°Q q c¨¨A¨3£K¹iÒ#HÖIò !ð —J‘J¸#¿)¹)¼+ÔF¹+±° 1 # R¨ s£¹+ÒFÕGð —)‘)˜C“.ˆCøÜ	‹˜8Ô	#Ù!Ð"FÓG‰ˆ�Ø€HØ	ˆQ„wØˆð €Oð ˆØ€Oùó $IùãFøÜô #Ø—
‘
˜3”Ø—
‘
œ3˜q›6×"Ñ"ûð#ús=   ÁAE Â#D8Â5E ÃE Ã D>
Ã2E Ä8E ÅFÅ+E?Å?Fc                  óZ  € \         P                  P                  R 4      '       d   R # \         P                  P                  R4      '       d   R# \         P                  P                  R4      '       d   R# \         P                  P                  R4      '       d   R# \         P                  # )r™   r   r¸   r]   )Úsysr¾   rD   r%   r#   r!   r   r   "  sl   € Ü
‡|�|×Ñ˜w×'Ò'ÙÜ	�‰×	 Ñ	  ×	)Ò	)ÙÜ	�‰×	 Ñ	  ×	*Ò	*ÙÜ	�‰×	 Ñ	  ×	*Ò	*Ùä�|‰|Ðr#   c                 ó   € \        V R R4      # )zsw_vers -productVersionz(.*)rU   rV   s   &r!   Úget_mac_versionræ   /  s   € Ü$ ZÐ1JÈGÓTÐTr#   c                 óè   € \        V R 4      p \        P                  ! V4      pVR,           RVR,           RVR,           R2pV#   \         d!   pTR\	        T4       2,          p Rp?T# Rp?ii ; i)	z„powershell.exe "gwmi -Class Win32_OperatingSystem | Select-Object -Property Caption,        OSArchitecture,Version | ConvertTo-Json"ÚCaptionr²   ÚVersionr£   ÚOSArchitecturer´   r3   N)r*   rº   r»   r½   r   )r'   r©   rÃ   rÅ   s   &   r!   Úget_windows_versionrë   3  s�   € Ü
Øð	2ó€Cð
Ü�jŠj˜‹oˆØ�Y•Ð   3 y¥>Ð"2°!°CÐ8HÕ4IÐ3JÈ!ÐLˆð €Jøô ô Ø�”C˜“F�8ˆ}ÕŒØ€Jûðús   Ž6A ÁA1ÁA,Á,A1c                 ó   € \        V R R4      # )zlsb_release -azDescription:\t(.*)rU   rV   s   &r!   Úget_lsb_versionrí   A  s   € Ü$ØÐ$Ð&;óð r#   c                 ó   € \        V R R4      # )zcat /etc/*-releasezPRETTY_NAME="(.*)"rU   rV   s   &r!   Úcheck_release_filerï   G  s   € Ü$ØÐ(Ð*?óð r#   c                 ót  € ^ RI Hp \        4       pVR9   d   \        V 4      # VR8X  d(   \	        V 4      pVf   R# RP                  W1! 4       4      # VR8X  da   \        V 4      pVe   RP                  WA! 4       4      # \        V 4      pVe   RP                  WA! 4       4      # RP                  W!! 4       4      # V# )r   )Úmachiner]   NzmacOS {} ({})r™   z{} ({})r·   )r¾   rñ   r   rë   ræ   rP   rí   rï   )r'   rñ   r¾   rj   Údescs   &    r!   Úget_osró   M  s¿   € Ý ä‹~€HàÐ&Ô&Ü" :Ó.Ð.à�8ÔÜ! *Ó-ˆØŠ?ÙØ×%Ñ% g¨w«yÓ9Ð9à�7Ôä˜zÓ*ˆØÒØ×#Ñ# D¨'«)Ó4Ð4ô " *Ó-ˆØÒØ×#Ñ# D¨'«)Ó4Ð4à×Ñ ¨'«)Ó4Ð4ð €Or#   c                  ó*   € ^ RI p V P                  4       # )r   N©r¾   rõ   s    r!   Úget_python_platformrö   l  s   € Ûà×ÑÓÐr#   c                  ój   € ^ RI p \        4       R8w  d   R# RP                  V P                  4       4      # )r   Nr™   rš   Ú-)r¾   r   rQ   Úlibc_verrõ   s    r!   Úget_libc_versionrú   r  s*   € Ûäƒ~˜Ô ÙØ�8‰8�H×%Ñ%Ó'Ó(Ð(r#   c                óh  a€ Sf(   \         \        ,           \        ,           \        ,           o\        P
                  P                  ^8X  d   RMRpR\        P                  R&   \        V \        P                  RRR.4      pVf   W#3# RP                  V3R	 lVP                  4        4       4      pW$3# )
zZReturn `pip list` output. Note: will also find conda-installed pytorch and numpy packages.Úpip3ÚpipÚ1ÚPIP_DISABLE_PIP_VERSION_CHECKz-mpipr¼   z--format=freezer3   c              3   ó®   <a"  € T FI  o\         ;QJ d    V3R  lS 4       F  '       g   K   RM	  RM! V3R  lS 4       4      '       g   KE  Sx € KK  	  R# 5i)c              3   ó,   <"  € T F	  qS9   x € K  	  R # 5ir<   r%   r=   s   & €r!   rA   Ú-get_pip_packages.<locals>.<genexpr>.<genexpr>‹  s   øé € Ð0SÉ(À$¸¶Ë(ùrC   TFN)rE   rF   s   &@€r!   rA   Ú#get_pip_packages.<locals>.<genexpr>Š  s4   ùé € ð Ù)�¯S«SÔ0SÉ(Ó0S¯S¯SªSÔ0SÉ(Ó0S×-S�ŠÓ)ùs   „A”A«AÁ
A)ÚPIP_PATTERNSrJ   rK   rL   rä   Úversion_infoÚmajorrM   rN   r*   Ú
executablerQ   rR   )r'   rG   Úpip_versionr(   Úfiltered_outs   &f   r!   Úget_pip_packagesr
  z  s¢   ø€ àÒÜ¤/Õ1´OÕCÄoÕUˆä×,Ñ,×2Ñ2°aÔ7‘&¸U€Kà25„B‡J�JÐ.Ñ/ô Ø”S—^‘^ W¨fÐ6GÐHó€Cð ‚{ØÐÐà—9‘9ô ØŸ™Ô)óó €Lð Ð$Ð$r#   c                óF   € V ^8„  d   QhR\         \        \        3,          /# )é   Úreturn)Ú_Dictr   )rP   s   "r!   Ú__annotate__r  ‘  s   € ÷ ñ ¤U¬3´¨8¥_ñ r#   c                 óº   € R U u/ uFJ  p \         P                  P                  V 4      '       g   K*  V \         P                  P                  V 4      bKL  	  up # u up i )zKReturn the caching allocator configuration from environment variables.
    )ÚPYTORCH_CUDA_ALLOC_CONFÚPYTORCH_HIP_ALLOC_CONFÚPYTORCH_ALLOC_CONF)rM   rN   rO   )Úvars    r!   Úget_cachingallocator_configr  ‘  sS   € ñ
óñ
ˆCô
 �:‰:�>‰>˜#×ô 	!ˆŒR�Z‰Z�^‰^˜CÓ Ò ñ
ñð ùò s
   …'A±$Ac                  óæ   € \         '       de   \        P                  P                  4       '       dA   \        P                  P	                  4        \
        P                  P                  R R4      p V # R# )ÚCUDA_MODULE_LOADINGrf   rš   )rg   ri   rk   rl   ÚinitrM   rN   rO   )Úconfigs    r!   Úget_cuda_module_loading_configr     sD   € ßƒœ5Ÿ:™:×2Ñ2×4Ò4Ü�
‰
�‰ÔÜ—‘—‘Ð 5°rÓ:ˆØˆár#   c                  óx   € \         '       d.   ^ RIp \        V P                  P                  P
                  4      # R# )r   Nrš   )rg   Útorch.backends.xnnpackr   ÚbackendsÚxnnpackÚenabled)ri   s    r!   Úis_xnnpack_availabler   ©  s(   € ßƒÛ%ä�5—>‘>×)Ñ)×1Ñ1Ó2Ð2ár#   c            
     ó@  € \         p \        V 4      w  r\        '       EdÄ   \        P                  p\        \        P                  P                  4      p\        \        P                  P                  4       4      p\        P                  P                  p\        \        P                  P                  4       4      p\        P                  P                  4       '       dd   V R2R\        P                  P                   R2,           R\        V 4       R2,           R\        V 4       R2,           R\        V 4       2,           p\        \        P                  R4      '       d   \        P                  P                  f   R;p;ršMmR p\        P                   P#                  4       P%                  R4      pV! VR	4      p	V! VR
4      p
Rp\        P                  P                  pMR;p;p;p;rgR;p;rš\&        P                  P)                  RR4      p\+        V 4      p\-        R'/ RVbRVbRRP/                  V\&        P0                  P3                  4       ^,           4      bR\5        4       bRVbRVbR\7        V 4      bR\9        4       bR\;        V 4      bR\=        V 4      bR\?        V 4      bRVbRVbRV	bRV
bRVbRVbRVbR\A        V 4      bR \C        4       bR!\E        V 4      bR"\G        V 4      bR#\I        V 4      bR$\K        4       bR%\M        4       bR&\O        V 4      b # )(aÅ  
Collects environment information to aid in debugging.

The returned environment information contains details on torch version, is debug build
or not, cuda compiled version, gcc version, clang version, cmake version, operating
system, libc version, python version, python platform, CUDA availability, CUDA
runtime version, CUDA module loading config, GPU model and configuration, Nvidia
driver version, cuDNN version, pip version and versions of relevant pip and
conda packages, HIP runtime version, MIOpen runtime version,
Caching allocator config, XNNPACK availability and CPU information.

Returns:
    SystemEnv (namedtuple): A tuple containing various environment details
        and system information.
r3   zXPU used to build PyTorch: zIntel GPU driver version:
zIntel GPU models onboard:
zIntel GPU models detected:
rc   rš   c                 ó’   € V  Uu. uF$  q!V9   g   K  VP                  R ^4      R,          NK&  	  ppV'       d
   V^ ,          # R# u upi )Nrš   éÿÿÿÿ)Úrsplit)ÚcfgÚprefixÚsÚ_lsts   &&  r!   Úget_version_or_naÚ'get_env_info.<locals>.get_version_or_naÙ  sG   € Ù7:ÓJ±s°!È¹kÔ-˜Ÿ™  qÓ)¨"×-Ð-±s�ÐJß"&�t˜A•wÐ1¨EÐ1ùò Ks
   …A’AzHIP RuntimeÚMIOpenr£   Útorch_versionÚis_debug_buildÚpython_versionz{} ({}-bit runtime)Úpython_platformÚis_cuda_availableÚcuda_compiled_versionÚcuda_runtime_versionÚcuda_module_loadingÚnvidia_gpu_modelsÚnvidia_driver_versionÚcudnn_versionÚis_xpu_availableÚhip_compiled_versionÚhip_runtime_versionÚmiopen_runtime_versionr  Úpip_packagesÚconda_packagesrM   Úlibc_versionÚgcc_versionÚclang_versionÚcmake_versionÚcaching_allocator_configr   rá   r%   )(r"   r
  rg   ri   Ú__version__r   rj   Údebugrk   rl   rÕ   rÆ   rÓ   rÚ   rh   rc   Ú_CÚ_show_configr4   rä   ÚreplacerS   r   rP   ÚmaxsizeÚ
bit_lengthrö   rv   r  rt   ra   rŽ   ró   rú   rW   rY   r[   r  r   râ   )r'   r  Úpip_list_outputÚversion_strÚdebug_mode_strÚcuda_available_strÚcuda_version_strÚxpu_available_strr8  r9  r:  r)  r%  Úsys_versionr<  s                  r!   Úget_env_inforP  ²  sD  € ô  €JÜ#3°JÓ#?Ñ €Kç„Ü×'Ñ'ˆÜœUŸ]™]×0Ñ0Ó1ˆÜ ¤§¡×!8Ñ!8Ó!:Ó;ÐÜ Ÿ=™=×-Ñ-ÐÜ¤§	¡	× 6Ñ 6Ó 8Ó9ÐÜ�9‰9×!Ñ!×#Ò#à$Ð% RÐ(Ø/´·±×0AÑ0AÐ/BÀ"ÐEõFà/Ô0LÈZÓ0XÐ/YÐY[Ð\õ]ð 0Ô0EÀjÓ0QÐ/RÐRTÐUõVð 1Ô1GÈ
Ó1SÐ0TÐUõ	Vð ô œŸ™ u×-Ò-´·±×1BÑ1BÒ1JàRWÐWÐ ÐWÐ#6Ð9Oò2ô —(‘(×'Ñ'Ó)×/Ñ/°Ó5ˆCÙ"3°C¸Ó"GÐÙ%6°s¸HÓ%EÐ"Ø$ÐÜ#(§=¡=×#4Ñ#4Ñ àchÐhˆÐh�nÐhÐ'9ÐhÐ<LØNSÐSÐÐSÐ2ä—+‘+×%Ñ% d¨CÓ0€Kä'¨
Ó3€Näò Ù!ðá%ðð -×3Ñ3ØœŸ™×/Ñ/Ó1°AÕ5ô
ðô ,Ô-ðñ -ðñ /ðô 6°jÔAðô ;Ô<ðô ' zÔ2ðô 8¸
ÔCðô (¨
Ô3ðñ +ðñ 2ðñ  0ð!ñ"  6ð#ñ$  ð%ñ& %ð'ñ( &ð)ô* �*Ôð+ô, &Ô'ð-ô. $ JÔ/ð/ô0 (¨
Ô3ð1ô2 (¨
Ô3ð3ô4 "=Ô!>ð5ô6 2Ô3ð7ô8 ˜jÔ)ð9ð r#   aª  
PyTorch version: {torch_version}
Is debug build: {is_debug_build}
CUDA used to build PyTorch: {cuda_compiled_version}
ROCM used to build PyTorch: {hip_compiled_version}

OS: {os}
GCC version: {gcc_version}
Clang version: {clang_version}
CMake version: {cmake_version}
Libc version: {libc_version}

Python version: {python_version}
Python platform: {python_platform}
Is CUDA available: {is_cuda_available}
CUDA runtime version: {cuda_runtime_version}
CUDA_MODULE_LOADING set to: {cuda_module_loading}
GPU models and configuration: {nvidia_gpu_models}
Nvidia driver version: {nvidia_driver_version}
cuDNN version: {cudnn_version}
Is XPU available: {is_xpu_available}
HIP runtime version: {hip_runtime_version}
MIOpen runtime version: {miopen_runtime_version}
Is XNNPACK available: {is_xnnpack_available}
Caching allocator config: {caching_allocator_config}

CPU:
{cpu_info}

Versions of relevant libraries:
{pip_packages}
{conda_packages}
c                 óv  a
€ RR lpRR lpRR lpRR lpR pV P                  4       o
V! V P                  4      S
R&   . ROpVR.,           p\        ;QJ d    V
3R lV 4       F  '       d   K   R	M	  R
M! V
3R lV 4       4      p\        '       dN   \        P
                  P                  4       '       g*   V'       d"   V F  p	RS
V	&   K
  	  V P                  f   RS
R&   V! S
4      o
V! S
4      o
V! S
R,          4      S
R&   V! S
R,          4      S
R&   S
R,          '       d-   V! S
R,          RP                  V P                  4      4      S
R&   S
R,          '       d   V! S
R,          R4      S
R&   V P                  S
R&   V P                  S
R&   V P                  '       g   RS
R&   \        P                  ! R/ S
B # )úCould not collectc                 ó8   € V  F  pW,          e   K  WV&   K  	  V # r<   r%   )ÚdctÚreplacementÚkeys   && r!   Úreplace_nonesÚ!pretty_str.<locals>.replace_nones.  s%   € ÛˆCØ�xÒ#ÙØ"�‹Hñ ð ˆ
r#   c                 ó`   € V  F'  pW,          R J d   WV&   K  W,          RJ g   K#  W V&   K)  	  V # )TFr%   )rT  ÚtrueÚfalserV  s   &&& r!   Úreplace_boolsÚ!pretty_str.<locals>.replace_bools5  s5   € ÛˆCØ�x˜4ÓØ�C“Ø•˜UÕ"Ø �C“ñ	 ð
 ˆ
r#   c                 ó~   € V P                  R 4      pV Uu. uF  q1V,           NK  	  ppR P                  V4      # u upi )r3   )r4   rQ   )ÚtextÚtagÚlinesr@   Úupdated_liness   &&   r!   ÚprependÚpretty_str.<locals>.prepend=  s<   € Ø—
‘
˜4Ó ˆÙ05Ó6±¨˜tŸ˜±ˆÐ6Ø�y‰y˜Ó'Ð'ùò 7s   –:c                 ó2   € V e   \        V 4      ^ 8X  d   V# V # r<   )r   )r_  rU  s   &&r!   Úreplace_if_emptyÚ$pretty_str.<locals>.replace_if_emptyB  s   € ØÒ¤ D£	¨Q¤ØÐØˆr#   c                 ón   € V e1   \        V P                  R4      4      ^8”  d   RP                  V 4      # V # )Nr3   z
{}
)r   r4   rP   )Ústrings   &r!   Úmaybe_start_on_next_lineÚ,pretty_str.<locals>.maybe_start_on_next_lineG  s1   € àÒ¤# f§l¡l°4Ó&8Ó"9¸AÔ"=Ø—?‘? 6Ó*Ð*Øˆr#   r4  r6  c              3   ó:   <"  € T F  pSV,          R J x € K  	  R # 5ir<   r%   )r>   ÚfieldÚmutable_dicts   & €r!   rA   Úpretty_str.<locals>.<genexpr>[  s   øé € ð *Ù1D¨ˆ�UÕ˜tÕ#Ó1Dùs   ƒFTzNo CUDArÝ   r1  r;  r<  z[{}] z[conda] rá   rA  rš   )rR  )ÚYesÚNo)z	[prepend])zNo relevant packages)r2  r4  r5  r%   )Ú_asdictr4  Úallrg   ri   rk   rl   r1  rP   r  rá   rA  Úenv_info_fmt)ÚenvinforW  r\  rc  rf  rj  Údynamic_cuda_fieldsÚall_cuda_fieldsÚall_dynamic_cuda_fields_missingrm  rn  s   &         @r!   Ú
pretty_strry  -  sÂ  ø€ ôôô(ô
ò
ð —?‘?Ó$€Lñ )AØ×!Ñ!ó)€LÐ$Ñ%ò
Ðð
 *¨_Ð,=Õ=€Oß&)£cô *Ù1Dó*§c§c¢cô *Ù1Dó*ó 'Ð#÷ 	‹Ü—
‘
×'Ñ'×)Ò)ß+ã$ˆEØ"+ˆL˜Óñ %à×(Ñ(Ò0Ø4:ˆLÐ0Ñ1ñ ! Ó.€Lñ ! Ó.€Lñ $4°LÀÕ4PÓ#Q€L�Ñ Ù%5°lÐCSÕ6TÓ%U€LÐ!Ñ"ð �N×#Ô#Ù'.Ø˜Õ(¨'¯.©.¸×9LÑ9LÓ*Mó(
ˆ�^Ñ$ð Ð$×%Ô%Ù)0ØÐ)Õ*¨Jó*
ˆÐ%Ñ&ð  '×/Ñ/€L�ÑØ/6×/OÑ/O€LÐ+Ñ,Ø×+×+Ð+Ø38ˆÐ/Ñ0Ü×ÒÑ. Ñ.Ð.r#   c                 ó(   € \        \        4       4      # )aÁ  
Returns a pretty string of environment information.

This function retrieves environment information by calling the `get_env_info` function
and then formats the information into a human-readable string. The retrieved environment
information is listed in the document of `get_env_info`.
This function is used in `python collect_env.py` that should be executed when reporting a bug.

Returns:
    str: A pretty string of the environment information.
)ry  rP  r%   r#   r!   Úget_pretty_env_infor{  ƒ  s   € ô ”l“nÓ%Ð%r#   c                ó   € V ^8„  d   QhRR/# )r  r  Nr%   )rP   s   "r!   r  r  ’  s   € ÷ (ñ (ˆdñ (r#   c                  óz  € \        R 4       \        4       p \        V 4       \        '       Ed‰   \        \        R4      '       Edp   \        \        P
                  R4      '       EdM   \        P
                  P                  P                  p\        P                  R8X  Ed   \        P                  P                  V4      '       dê   \        P                  ! V4       Uu. uF"  p\        P                  P                  W4      NK$  	  pp\        V\        P                  P                   R7      p\        P                  P!                  V4      p\"        P"                  P%                  V4      P'                  R4      pRP)                  WF4      R,           p\        V\        P*                  R7       R	# R	# R	# R	# R	# R	# u upi )
z%Collecting environment information...ÚutilsÚ_crash_handlerr™   )rV  z%Y-%m-%d %H:%M:%Sz.
*** Detected a minidump at {} created on {}, zKif this is related to your bug please include it when you file a report ***)ÚfileN)Úprintr{  rg   rh   ri   r~  r  ÚDEFAULT_MINIDUMP_DIRrä   r¾   rM   r~   r’   ÚlistdirrQ   ÚmaxÚgetctimeÚdatetimeÚfromtimestampÚstrftimerP   r	   )r   Úminidump_dirÚdumpÚdumpsÚlatestÚctimeÚcreation_timeÚmsgs           r!   Úmainr�  ’  sH  € Ü	Ð
1Ô2Ü Ó"€FÜ	ˆ&„M÷ 	ŒÜ”E˜7×#Ó#Ü”E—K‘KÐ!1×2Ó2ä—{‘{×1Ñ1×FÑFˆÜ�<‰<˜7Õ"¤r§w¡w§~¡~°l×'CÒ'Cä=?¿ZºZÈÔ=UóÙ=U°T”—‘—‘˜\Ö0Ñ=Uð ð ô ˜¤B§G¡G×$4Ñ$4Ô5ˆFÜ—G‘G×$Ñ$ VÓ,ˆEÜ$×-Ñ-×;Ñ;¸EÓB×KÑKØ#óˆMð B×HÑHØóð `õ`ð ô �#œCŸJ™J×'ñ (DÑ"ñ 3ñ $ñ 	ùòs   Ã(F8Ú__main__)r,  r-  r1  r>  r?  r@  rM   r=  r.  r/  r0  r2  r3  r5  r4  r6  r7  r  r;  r<  r8  r9  r:  rA  r   rá   )ri   ÚnumpyÚtritonÚoptree)zcuda-cudartz
cuda-cuptizcuda-librarieszcuda-openclz
cuda-nvrtczcuda-runtimeÚcublasÚcudnnÚcufftÚcurandÚcusolverÚcusparseÚncclÚ	nvjitlinkÚnvtx)zdpcpp-cpp-rtzintel-cmplr-lib-rtzintel-cmplr-lib-urzintel-cmplr-lic-rtzintel-opencl-rtzintel-sycl-rtÚmklzonemkl-sycl-blaszonemkl-sycl-dftzonemkl-sycl-lapackzonemkl-sycl-rngzonemkl-sycl-sparsezintel-openmpÚtbbzimpi-rtz
impi-develÚonecclzoneccl-develz	intel-ptiÚumfÚtcmlib)ÚcudatoolkitÚsoumithrž  Úmagma)ÚmypyÚflake8Úonnxr<   )@r†  rº   r   rM   r,   r   rä   Úcollectionsr   Útypingr   r¥   r   r  ri   rg   ÚImportErrorÚ	NameErrorÚAttributeErrorÚOSErrorr   rJ   rK   rL   rI   r  r"   r*   r1   r5   rS   rW   rY   r[   ra   rt   rv   rŽ   r^   r    r«   rÆ   rÓ   rÚ   râ   r   ræ   rë   rí   rï   ró   rö   rú   r
  r  r  r   rP  r   rt  ry  r{  r�  Ú__name__r%   r#   r!   Ú<module>r°     so  ðó Û Û Û 	Û 	Û Û 
Ý "ß /ðÛà€Oñ
 Øòó€	ò@€ò€ò$€ò0€ò€ò+ò"òòôòOòòSòQò'ò4Xò"?òJò$ò!òH.òb$òNòtòD
òUòòòòò>ò)ô%õ.òòòUðp ÷@ 
�EƒGðA òFS/òl&õ(ð: ˆzÔÙ†Fñ øðu 	�Y °Ð8ô Ø‚Oðús   ¬C& Ã&C6Ã5C6