+
     Biѿ                        R t Rt^ RIt^ RIt^ RIt^ RIt^ RIt^ RIt ^ RIsR^
R^R^R^R^R^(R	^2R
^2R^R^/
t
R tRIR ltRJR ltRKR ltR t. RLOt. RMOtR tR tR tRNR ltR tROR lt]P0                  ! R. RPO4      tRQR ltR tRRR lt]P0                  ! R R!4      tRSR" ltR# tR$ t RJR% lt!R& t"RJR' lt#RRTRRURRV/t$]PJ                  RR3R( lt&R) t' ! R* R+4      t(R, t) ! R- R.]P0                  ! R/R04      4      t*Rs+R1 t,R2 t-R3 t.R4 t/R5 t0R6 t1R7 t2/ t3RWR8 lt4R9 t5R: t6R; t7R< t8R= t9R> t:R? t;/ t<RXR@ lt=RYt>Rs?RA t@RB tARC tBRD RE ltCRWRF RG lltD]ERH8X  d
   ]D! 4        R# R#   ]	 d    Rs ELOi ; i)Za  
    Copyright (c) 1999-2000, Marc-Andre Lemburg; mailto:mal@lemburg.com
    Copyright (c) 2000-2010, eGenix.com Software GmbH; mailto:info@egenix.com

    Permission to use, copy, modify, and distribute this software and its
    documentation for any purpose and without fee or royalty is hereby granted,
    provided that the above copyright notice appear in all copies and that
    both that copyright notice and this permission notice appear in
    supporting documentation or portions thereof, including modifications,
    that you make.

    EGENIX.COM SOFTWARE GMBH DISCLAIMS ALL WARRANTIES WITH REGARD TO
    THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
    FITNESS, IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,
    INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
    FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
    NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
    WITH THE USE OR PERFORMANCE OF THIS SOFTWARE !

z1.0.9NdevalphaabetabcRCrcplpc                    \         P                  ! R 4      p. pVP                  V 4       F-  pVR9  g   K   \        V^
4      p^dpVP                  WC34       K/  	  V#   \         d    \
        P                  T^ 4      p L;i ; i)z([0-9]+|[._+-])z._+-)recompilesplitint
ValueError_ver_stagesgetextend)versioncomponent_reresultvts   &    /usr/lib/python3.14/platform.py_comparable_versionr      s    ::01LF(F?*2J MM1&! ) M  *OOAq)*s   A!B B c                    V '       g   \         P                  R 8X  d5   RP                  R \         P                  P                   4       4      pR V3#  \
        P                  ! R4      pVP                  ^R7      p\        V4      ^8X  d   \        V4      #  \         P                  p V '       g   W3# \        P                  ! R\        P                   \        P"                  ,          4      p\$        p\
        P&                  P)                  V 4      p Rp\+        V R4      ;_uu_ 4       pVP-                  V4      p	^ p
V
\        V	4      8  Ed   RV	9   g   R	V	9   g   R
V	9   d   VP/                  W4      pMRpV'       d   VP1                  4       \        V	4      8X  dN   VP-                  V4      pV'       d+   V	\3        V
\        V	4      R,
          4      R V,           p	^ p
K  V'       g   EMDVP5                  4        Uu. uF  pVe   VP7                  R4      MTNK  	  ppVw
  ppppppppppV'       d   V'       g   RpMV'       d#   VR8w  d   RpTpMV! V4      V! V4      8  d   TpMV'       dU   VR8w  dM   RpV'       d   V'       d   V! V4      V! V4      8  d   TpV'       d   V\        V4      ) R V8w  d
   VV,           pMWV'       d!   RpV'       d   V! V4      V! V4      8  d   TpM/V'       d(   RpV'       d   V'       d   V! V4      V! V4      8  d   TpVP1                  4       p
EK  RRR4       Yf   V3# T3#   \        \        \        3 d     ELi ; iu upi   + '       g   i     L<; i)
emscripten.c              3   8   "   T F  p\        V4      x  K  	  R # 5iN)str.0xs   & r   	<genexpr>libc_ver.<locals>.<genexpr>   s     S+Ra3q66+Rs   CS_GNU_LIBC_VERSION)maxsplits   
          (__libc_init)
        | (GLIBC_([0-9.]+))
        | (libc(_\w+)?\.so(?:\.(\d[0-9.]*))?)
        | (musl-([0-9.]+))
        | (libc.musl(?:-\w+)?.so(?:\.(\d[0-9.]*))?)
        Nrbs   libcs   GLIBCs   musli  latin1libcglibcmusl)sysplatformjoin_emscripten_infoemscripten_versionosconfstrr   lentupleAttributeErrorr   OSError
executabler   r   ASCIIVERBOSEr   pathrealpathopenreadsearchendmaxgroupsdecode)r:   libr   	chunksizeverpartslibc_searchVfbinaryposmchunksdecoded_groupslibcinitr-   glibcversionsothreads	soversionr.   muslversionmusl_so
musl_sovers   &&&&                     r   libc_verr[      s    <<<' ((S3+?+?+R+RSSC #&&	**23CIIqI)E5zQU|#  ^^
<**  	2::K 	A !!*-J
C	j$		1	"CK& H$6'V:K&&v33v;.y)#CS[4-?$@$ABUJFC'(xxz3'1! 56Mahhx0qH'1  3 8F5XulB;'>!C&C|_qv-&C'> C #9#1F'3G}~#6'#A!Gmanqv5%Csa
maf.D$C%%'CW 
 X ;//C//K 
G4 		R3! 
 	s   AL> 'AM =6M 41M &M : MM 9
M )M .M ?M M $%M 
	M M 2	M <M (M >MMM  M0	c           	          V P                  R 4      pV'       d   VP                  V4        \        \        \        \        \
        V4      4      4      pR P                  VR,          4      p V #   \         d    Tp L)i ; i)r   N   N)r   appendlistmapr"   r   r   r1   )r   buildlstringss   &&  r   _norm_versionre     sk    
 	cA	s3C,- hhwr{#GN  s   'A- -A=<A=win32win16dosc           
         \         P                  V9  d   WV3# ^ RIpR F/  p VP                  VVP                  VP                  RRRR7      p M	  WV3# \        P                  ! R4      pVP                  4       pVP                  V4      p	V	eE   V	P                  4       w  rpVR,          R8X  d   VRR pVR,          R8X  d   VRR p\        V4      pWV3#   \
        TP                  3 d   p Rp?K  Rp?ii ; i)	    NTlocale)stdinstderrtextencodingshellz'(?:([\w ]+) ([\w.]+) .*\[.* ([\d.]+)\])r   )rH   zcommand /c verz
cmd /c ver)r/   r0   
subprocesscheck_outputDEVNULLr9   CalledProcessErrorr   r   stripmatchrD   re   )
systemreleaser   supported_platformsrr   cmdinfowhy
ver_outputrO   s
   &&&&      r   _syscmd_verr     s    ||..'' 6	**31;1C1C2<2D2D044<15 + 7D  7 '' - .J
 ::<DA}#$88: 2;#crlG2;#crlG  (G##3 667 		s   +CC<7C<c                   a \         '       g   \        R 4      hRRRR/V ,          p  \         P                  ! RP                  RP	                  V4      V 4      4      P                  R4      pR	 T 4       pT Uu/ uF  qD^ ,          T^,          bK  	  upoT3R
 lT 4       #   \         d    Rs \        R 4      hi ; iu upi )znot supportedOSWin32_OperatingSystemCPUWin32_ProcessorzSELECT {} FROM {}, Nc              3   B   "   T F  qP                  R 4      x  K  	  R# 5i)=N)	partition)r$   is   & r   r&   _wmi_query.<locals>.<genexpr>b  s     1Dq++c""Ds   c              3   6   <"   T F  pSV,          x  K  	  R # 5ir!    )r$   k	dict_datas   & r   r&   r   d  s     '$QIaLL$s   )_wmir9   
exec_queryformatr1   r   )tablekeysdata
split_datar   r   s   &*   @r   
_wmi_queryr   R  s    4o&&%  E'299HHTN 
  5; 	 2D1J%/0Z1qtZ0I'$''  'o&&' 1s   AB  8B< B9c                      \        4       R9   # )IoTUAP)r   
NanoServerWindowsCoreHeadless	IoTEdgeOS)win32_editionr       r   win32_is_iotr     s    ?ZZZr   c                      ^ RI p  RpV P                  V P                  V4      ;_uu_ 4       pV P                  VR4      ^ ,          uuRRR4       #   + '       g   i     R# ; i  \         d     R# i ; i  \
         d     R# i ; i)rj   N,SOFTWARE\Microsoft\Windows NT\CurrentVersion	EditionId)winreg	OpenKeyExHKEY_LOCAL_MACHINEQueryValueExr9   ImportError)r   cvkeykeys      r   r   r     s    
	CE!!&";";UCCs**3<Q? DCCC
   		   s?   A7 &A% A
A% A"	A% "A% %A43A47BBc                     \        R RRRRR4      w  rr$p\        V4      ^8H  pV'       d   VR8w  d
   RV RV 2pMRV 2pWW&3#   \         d     Mi ; i ^ R	IHp M  \
         d	    YTR
3u # i ; iT! 4       p\        TR^4      ^8H  p \        4       ^,          p \        \        T P                  R4      4      w  rpMC  \         d6    TP                  ;'       g
    TR,          w  rpRP                  YT4      p  Mi ; iTR,          Y38X  dM    RP                  TP                  4      pM/  \         d"    TR,          R8X  d   RTR,          ,           p Mi ; i ^ RIp RpTP!                  TP"                  T4      ;_uu_ 4       pTP%                  TR4      ^ ,          pRRR4       M5  + '       g   i     M%; i  \         d     Mi ; i  \
         d     Mi ; iYY&3# )r   VersionProductType	BuildTypeServicePackMajorVersionServicePackMinorVersion0SPr   )getwindowsversionTproduct_typer]   z{0}.{1}.{2}:N   NzSP{}:N   NzService Pack :r   NNNr   CurrentType)r   r   r9   r/   r   r   getattrr   ra   r   r   platform_versionr   service_pack_majorr8   r   r   r   r   )r   csdptyper   spmajorspminor	is_clientr   winvermajorminorrb   r   r   r   s   &&&            r   
_win32_verr     s   <F%%=
8 &!+	w#~wiq	*Cwi.CU-- )) )UD(()  F3q8I<-"!#w}}S'9:e <$55CCe&&uU;< bze^#	&-- 9 9:C 	&3x?*SXo	&
	CE!!&";";UCCs++C?B DCCC 		   ))s   AA AAA A10A13C   D D ?D D/ /)EEG $&G  
F-$G  -F=	8G  =G   GGGGc                    a R p\        WV4      w  rr4V'       dS   \        \        \        VP	                  R4      4      4      oV'       d   \
        M\        p\        V3R lV 4       V 4      p WW#3# )Fr   c              3   >   <"   T F  w  rVS8:  g   K  Vx  K  	  R # 5ir!   r   )r$   r   r
intversions   &  r   r&   win32_ver.<locals>.<genexpr>  s     Bhda!z/hs   
)r   r7   ra   r   r   _WIN32_CLIENT_RELEASES_WIN32_SERVER_RELEASESnext)ry   r   r   r   r   releasesr   s   &&&&  @r   	win32_verr     s^    I%/e%D"G%3sGMM#$678
-6)<RBhBGLS''r   c                  r   R p \         P                  P                  V 4      '       g   R#  ^ RIp\        T R4      ;_uu_ 4       pTP                  T4      pRRR4       XR,          pRp\         P                  ! 4       P                  pTR9   d   RpYET3#   \         d     R# i ; i  + '       g   i     LY; i)z0/System/Library/CoreServices/SystemVersion.plistNr*   ProductVersionPowerPCr   r   r   )ppczPower Macintosh)	r4   r=   existsplistlibr   r?   loadunamemachine)fnr   rL   r
   ry   versioninfor   s          r   _mac_ver_xmlr     s    	;B77>>" 
b$1]]1 
!"GKhhj  G,,((   
s   B B&B#"B#&B6	c                 *    \        4       pVe   V# WV3# r!   )r   )ry   r   r   r|   s   &&& r   mac_verr     s#     >D ((r   IOSVersionInfoc                     \         P                  R 8X  d"   ^ RIpVP                  4       pVe
   \	        V!  # \	        WW#4      # )iosN)r/   r0   _ios_supportget_platform_iosr   )rx   ry   modelis_simulatorr   r   s   &&&&  r   ios_verr     s?     ||u..0!6**&5??r   c                 h    ^ RI Hp  VP                  V 4      pVf   V# V#   \         d    Tu # i ; i)rj   )System)	java.langr   getPropertyr8   )namedefaultr   values   &&  r   _java_getpropr     s=     ""4(=N s   ! ! 11c                 P   ^ RI pVP                  RRR7        ^ RIp\	        RT4      p\	        RT 4      p Tw  rgp\	        RT4      p\	        RT4      p\	        RT4      pYgT3pTw  rp\	        R	T4      p\	        R
T	4      p	\	        RT
4      p
YT3pYY#3#   \         d    YY#3u # i ; i)rj   Njava_ver)removezjava.vendorzjava.versionzjava.vm.namezjava.vm.vendorzjava.vm.versionzjava.os.archzjava.os.namezjava.os.version)r^      )warnings_deprecatedr   r   r   )ry   vendorvminfoosinfor   javavm_name
vm_release	vm_vendoros_name
os_versionos_archs   &&&&        r   r   r   )  s     G4/ =&1FNG4G%+"GNG4G.	:I0*=J)+F#) GNG4GNG4G0*=J')FF**!  /../s   B B%$B%
AndroidVerz7release api_level manufacturer model device is_emulatorc                 H  a	a
 \         P                  R 8X  do    ^ RIHpHpHo	 \        V! R4      R4      o
Ww3S
n        V	V
3R lpV! RV 4      p \        V! RV4      4      pV! RV4      pV! RV4      pV! R	V4      pV! R
R4      R8H  p\        WW#WE4      #   \         d     Li ; i)android)CDLLc_char_pcreate_string_bufferzlibc.so__system_property_getc                    < ^\pS! V4      pS! V P                  R4      V4      pV^ 8X  d   V# VP                  P                  RR4      # )\   zUTF-8backslashreplace)encoder   rE   )r   r   PROP_VALUE_MAXbufferlengthr  system_property_gets   &&   r   getpropandroid_ver.<locals>.getprop^  sM    !#-n=,T[[-A6JQ; #N!<<..w8JKKr   zro.build.version.releasezro.build.version.sdkzro.product.manufacturerzro.product.modelzro.product.devicezro.kernel.qemur   1)r/   r0   ctypesr   r   r  r   argtypesr   r   r   )ry   	api_levelmanufacturerr   deviceis_emulatorr   r   r  r  r
  s   &&&&&&   @@r   android_verr  P  s    
||y 	@CC #*$y/;R"S,4+?(
L 8'BGG$:IFGI"#<lKL.6E0&9F!"2C8C?KLF F9  		s   
B B! B!c                 $   V R 8X  dm   VR8  d   WV3# VP                  R4      pV'       d<    \        V^ ,          4      pV^,
          p\        V4      V^ &   RP                  V4      pVR8  d   Rp MRp M	V R9   d   Rp WV3#   \         d     L'i ; i)SunOS5r   6SolarisWindowsrf   rg   )r   r   r"   r1   r   )rx   ry   r   rc   r   s   &&&  r   system_aliasr  w  s     S=G++MM#&AaD	 	5z!((1+S=F F	%	%
 G##'  s   B BBc                     R P                  R \        \        V 4       4       4      pVP                  RR4      pVP                  RR 4      pVP                  RR 4      pVP                  RR 4      pVP                  RR 4      pVP                  RR 4      pVP                  R	R 4      pVP                  R
R 4      pVP                  RR4      p VP                  RR 4      pW!8X  d   MTpK  V'       d   VR,          R 8X  d   VRR pK  V# )-c              3   @   "   T F  qP                  4       x  K  	  R # 5ir!   )rv   r#   s   & r   r&   _platform.<locals>.<genexpr>  s     =+<a		+<s    _/\:;"()unknownr   z--Nrq   )r1   filterr6   replace)argsr0   cleaneds   *  r   	_platformr/    s    xx=6#t+<==H S)HS)Hc*HS)HS)HS)HS)HS)H 	2.H ""4-
x|s*CR=Or   c                 z     ^ RI p TP                  4       #   \         d    T u # i ; i  \         d    T u # i ; i)rj   N)socketr   gethostnamer9   )r   r1  s   & r   _noder3    sI    !!##	  
  s    * ''::c                 n   \         P                  P                  V 4      p \         P                  P                  V 4      '       dq   \         P                  P	                  \         P                  P                  \         P                  P                  V 4      \         P                  ! V 4      4      4      p K  V # r!   )r4   r=   abspathislinknormpathr1   dirnamereadlink)filepaths   &r   _follow_symlinksr;    sk    
 wwx(H
''..
"
"77##GGLL2BKK4IJLOr   c                 d   \         P                  R9   d   V#  ^ RIp\	        T 4      p \        \        P                  RR7      p TP                  RRT .TP                  TR7      pT'       g   T# TP                  R4      #   \         d    Tu # i ; i  \        TP                  3 d    Tu # i ; i)	rh   NC)LC_ALLfilez-b)rm   envzlatin-1>   rh   r   tvosrg   rf   watchos)r/   r0   rr   r   r;  dictr4   environrs   rt   r9   ru   rE   )targetr   rr   r@  outputs   &&   r   _syscmd_filerG    s     ||JJ f%F rzz#
&C((&$)?0:0B0B-0 ) 2
  ==###   Z223 s#   B  !B  BBB/.B/c                 R   V'       g/   ^ RI pVP                  R4      p\        V^,          4      R,           pV '       d   \        V R4      pMRpV'       gc   V \        P
                  8X  dN   \        P                  \        9   d2   \        \        P                  ,          w  rgV'       d   TpV'       d   TpW3# RV9  d   RV9  d   W3# RV9   d   RpM	R	V9   d   R
pRV9   d   RpW3# RV9   d   RpW3# RV9   d   RV9   d   RpW3# Rp W3# RV9   d   RpW3# RV9   d   RpW3#  W3# )rj   NPbitr   r:   zshared objectz32-bit32bitz64-bit64bitELFzMach-OPEr  	WindowsPECOFFzMS-DOSMSDOS)structcalcsizer"   rG  r/   r:   r0   _default_architecture)r:   bitslinkagerR  sizefileoutr   rc   s   &&&     r   architecturerY    s[   . s#4!8}u$ z2.S^^# <<00(6DA}7"g'E} 7	W	 " =! 
W	 = 
!G = G = 
7	 = 
W	
 = 	=r   c                  >    \        R R4      vr . RO\        V 4      ,          p V '       d   V #  \
        P                  P                  RR4      ;'       g!    \
        P                  P                  RR4      #   \        \        3 d     L[i ; i  \         d     Lli ; i)r   ArchitecturePROCESSOR_ARCHITEW6432r   PROCESSOR_ARCHITECTURE)x86MIPSAlphar   NARMia64NNAMD64NNARM64)r   r   r   
IndexErrorr9   r4   rD  r   )archr"  s     r   _get_machine_win32rg  V  s    ~6
		 $iD   	

/4 	5 	5


/4 J' 		  s"   B A7 7B
BBBc                   H   a  ] tR tRt o ]R 4       tR tR tR tR t	Rt
V tR# )	
_Processorir  c                t    \        V R \        P                   2V P                  4      pV! 4       ;'       g    R# )get_r   )r   r/   r0   from_subprocess)clsfuncs   & r   r   _Processor.gets  s/    sd3<<.133F3FGv||r   c                      \        R RR4      w  rV RV  2#   \         d,    \        P                  P	                  R\        4       4      u # i ; i)r   ManufacturerCaption, PROCESSOR_IDENTIFIER)r   r9   r4   rD  r   rg  )r  captions     r   	get_win32_Processor.get_win32x  sX    	0$.uni$P!L Yb//  	P::>>"8:L:NOO	Ps    3AAc                 n     ^ RI p V P                  R^ 4      w  rV^8  d   R# R#   \         d     R# i ; i)rj   NzSYI$_CPUr`  VAX)vms_libgetsyir   )rz  csid
cpu_numbers      r   get_OpenVMS_Processor.get_OpenVMS  sE    	;  '~~j!<D(C/7:U:	  		s   % 44c                     \         P                  P                  P                  R 4      '       d    \        P
                  ! 4       P                  # R# )	simulatorarm64)r/   implementation
_multiarchendswithr4   r   r   r   r   r   get_ios_Processor.get_ios  s4    ((11+>>88:%%%r   c                      ^ RI p  T P                  RR.T P                  RRR7      P	                  4       #   \         d     R# i ; i  \
        T P                  3 d     R# i ; i)rj   Nr   z-pTutf8)rm   rn   ro   )rr   r   rs   rt   rv   r9   ru   )rr   s    r   rl  _Processor.from_subprocess  sx    		**$!))	 + 
 eg  		 667 		s    6 .A AAA#"A#r   N)__name__
__module____qualname____firstlineno__classmethodr   rv  r~  r  rl  __static_attributes____classdictcell__)__classdict__s   @r   ri  ri  r  s0      0;
 r   ri  c                     V R 8X  d   R# T # )r*  r   r   )vals   &r   _unknown_as_blankr    s    	!2*s*r   c                   |   a a ] tR tRt oR	t]P                  R 4       tV 3R lt]	R 4       t
R tR tR tRtVtV ;t# )
uname_resulti  c                <    \        \        P                  4       4      # r!   )r  ri  r   selfs   &r   	processoruname_result.processor  s     !122r   c                `   < \         P                  ! \        SV `  4       V P                  34      # r!   )	itertoolschainsuper__iter__r  )r  	__class__s   &r   r  uname_result.__iter__  s)    G^^
 	
r   c                    \        V P                  4      ^,
          pV P                  ! V .VO5!  p\        V4      V^,           8w  d   RV R\        V4       2p\        V4      hV# )   z	Expected z arguments, got )r6   _fields__new__	TypeError)rm  iterable
num_fieldsr   msgs   &&   r   _makeuname_result._make  s`     %)
S,8,v;*q.(j\)9#f+GCC. r   c                &    \        V 4      V,          # r!   )r7   )r  r   s   &&r   __getitem__uname_result.__getitem__  s    T{3r   c                <    \        \        \        V 4      4      4      # r!   )r6   r7   iterr  s   &r   __len__uname_result.__len__  s    5d$%%r   c                ^    \         \        V 4      R \        V P                  4      ^,
           3# r!   )r  r7   r6   r  r  s   &r   
__reduce__uname_result.__reduce__  s'    U4[)?#dll*;a*?@@@r   r   )rx   nodery   r   r   r  )r  r  r  r  r  	functoolscached_propertyr  r  r  r  r  r  r  r  r  __classcell__)r  r  s   @@r   r  r    sT      OG3 3
   &A Ar   r  uname_result_basez#system node release version machinec                     \         e   \         #  \        P                  ! 4       ;w  rr#rE\        V4      '       g   V R8X  d"   \        4       w  r#rgT;'       g    \        4       pV'       d	   V'       g<   \        V 4      w  rpV R8X  d   Rp M#V R8X  d   VR8X  d   Rp RVR,          8X  d   RpMRpV R9   d   V'       g   V R8X  d   R	pMR
pRp M8V R,          R8X  d+   \        4       w  r(rRp RP                  V	4      pV'       g   TpV R8X  d   V'       d   VR8X  d   TpRpV R8X  d   VR8X  d   Rp Rp\        P
                  R8X  d   Rp \        4       P                  p\        P
                  R8X  d   \        4       w  r pWW#V3p\!        \#        \$        V4      !  s \         #   \         d&    \        P
                  p \        4       pR;p;r4Rp ELi ; i)Nr   rf   zMicrosoft Windowsr  	Microsoftz6.0r]   VistarK  16bit:N   Nr   Javars  OpenVMSr   r   Androidr   r   r  )_uname_cacher4   r   r8   r/   r0   r3  anyr   rg  r   r   r1   r  ry   r   r  ra   r  )rx   r  ry   r   r   infosr   r   r   r   r   r"  valss                r   r   r     s    :<((*D/g u:: W+4;(Gc55!3!5G G'26':$FW ,,";&7i+?
 #GBK'%G G ''W$%G%GFBZ6!.6j+GVFii'G  'S.GG I!5 ||y -'' ||u '	A72D%6!=>LU  w&((('	s   F   ,GGc                  *    \        4       P                  # r!   )r   rx   r   r   r   rx   rx   ;  s     7>>r   c                  *    \        4       P                  # r!   )r   r  r   r   r   r  r  D  s     7<<r   c                  *    \        4       P                  # r!   )r   ry   r   r   r   ry   ry   N       7??r   c                  *    \        4       P                  # r!   )r   r   r   r   r   r   r   W  r  r   c                  *    \        4       P                  # r!   )r   r   r   r   r   r   r   `  r  r   c                  *    \        4       P                  # r!   )r   r  r   r   r   r  r  i  s     7r   c                    V f   \         P                  p \        P                  V R 4      pVe   V# \         P                  P                  R4      '       d   \        P                  ! R\        P                  4      pRpVP                  V 4      pVf   \        R\        V 4      ,          4      hVP                  4       w  rVrxp	Vf   Rp\         P                  p
MRV 9   d_   \        P                  ! R4      pRpVP                  V 4      pVf   \        R\        V 4      ,          4      hVP                  4       w  rVrxRp
M\        P                  ! R	\        P                  4      pVP                  V 4      pVf   \        R
\        V 4      ,          4      hVP                  4       w  rVrxp
RpVf   RpMV'       d   VR,           V,           p\        \         R4      '       d   \         P                  w  rpM.\        \         R4      '       d   \         P                  w  rpMRpRpVP!                  R4      p\#        V4      ^8X  d#   VP%                  R4       RP'                  V4      pW5WWgV
3pV\        V &   V# )Nr   zL([\w.+]+)\s*\(#?([^,]+)(?:,\s*([\w ]*)(?:,\s*([\w :]*))?)?\)\s*\[([^\]]+)\]?Jythonz&failed to parse Jython sys.version: %sr   PyPyzE([\w.+]+)\s*\(#?([^,]+),\s*([\w ]+),\s*([\w :]+)\)\s*\[PyPy [^\]]+\]?z$failed to parse PyPy sys.version: %szh([\w.+]+)\s*(?:free-threading build\s+)?\(#?([^,]+)(?:,\s*([\w ]*)(?:,\s*([\w :]*))?)?\)\s*\[([^\]]+)\]?z'failed to parse CPython sys.version: %sCPythonr!  _git
_mercurialr   r   )r/   r   _sys_version_cacher   r0   
startswithr   r   r;   rw   r   reprrD   hasattrr  r  r   r6   r_   r1   )sys_versionr   jython_sys_version_parserr   rw   r   buildno	builddate	buildtimer"  compilerpypy_sys_version_parsercpython_sys_version_parserbranchrevisionrc   s   &               r   _sys_versionr  y  sL   * kk  ##K6F
||v&&$&JJ !hh%(! )//<=8[!"# # 5:LLN1)I<<	;	"$** #!
 '--k:=C!+./ 0 016.) &(ZZ
 !hh&(" +00==9[!"# # lln 	9)I!C)3IsF!hh8	l	#	#!nn8 	cA
1v{	((1+ Vw8LF&,{#Mr   c                  $    \        4       ^ ,          # )rj   r  r   r   r   python_implementationr    s     >!r   c                  $    \        4       ^,          # )r  r  r   r   r   python_versionr    s     >!r   c                  T    \        \        4       ^,          P                  R4      4      # )r  r   )r7   r  r   r   r   r   python_version_tupler    s!     "((-..r   c                  $    \        4       ^,          # )r   r  r   r   r   python_branchr    s     >!r   c                  $    \        4       ^,          # )r^   r  r   r   r   python_revisionr    s     >!r   c                  $    \        4       R ,          # ):r     Nr  r   r   r   python_buildr    s     >#r   c                  $    \        4       ^,          # )r  r  r   r   r   python_compilerr  %  s     >!r   c           	         \         P                  W3R 4      pVe   V# \        4       w  r4rVrxWx8X  d   RpV '       d   \        W5V4      w  r5pVR8X  dB   \        P
                  R8X  d   \        4       w  r5 p	M\        4       ^ ,          p
V
'       d   RpT
pVR8X  d0   \        V4      w  rrV'       d   \        W54      pM\        W5Wm4      pMVR8X  d$   \        4       w  pp\        W5WxRVV,           4      pMVR8X  dB   \        4       w  pppw  pppV'       g	   V'       g   \        W5V4      pMP\        W5VR	VVV4      pM?V'       d   \        W54      pM+\        \        P                  4      w  pp\        W5VVVV4      pV\         W3&   V# )
Nr   Darwinr   macOSr  Linuxwithr  on)_platform_cacher   r   r  r/   r0   r   r   r   r/  r[   r   rY  r:   )aliasedterser   rx   r  ry   r   r   r  r"  macos_releaserelversr   r   r0   libcnamelibcversionr   r   r   r   r   r   rU  rV  s   &&                        r   r0   r0   1  s~   &   '!148F :?6F'G	#/#I <<5 $+I!FQ#IaLM ' )' 23 1H '?H	7	 (
+Vg#%k13 
6	7?z41f4w
G ':H '!%!(*g?H  1H(8MD' '!*D';H )1OW$%Or   c                    R RRRRR/p\         P                  ! R4      p\         P                  ! R4      pV  FL  pVP                  V4      pVf   K  VP                  RVP	                  R4      4      WP	                  R	4      &   KN  	  V# )
NAMEr  IDlinuxPRETTY_NAMEzA^(?P<name>[a-zA-Z0-9_]+)=(?P<quote>["']?)(?P<value>.*)(?P=quote)$z\\([\\\$\"\'`])z\1r   r   )r   r   rw   subgroup)linesr|   os_release_lineos_release_unescapelinemos   &     r   _parse_os_releaser    s     	gwD jjMO **%78""4(>%8%<%<rxx(&D&!"  Kr   c                     \         fo   R p \         F@  p \        VRR7      ;_uu_ 4       p\        V4      s R R R 4        \         P                  4       # 	  \	        V RRP                  \        4       24      h\         P                  4       #   + '       g   i     L]; i  \         d   pTP
                  p  R p?K  R p?ii ; i)Nzutf-8)ro   zUnable to read files rs  )_os_release_cache_os_release_candidatesr?   r  r9   errnor1   copy)r  	candidaterL   es       r   freedesktop_os_releaser    s    
  /I )g66!(9!(<% 7 !!## 0 '		2H(I'JK 
 !!## 76    s-   BBBBBC )B;;C c                  ^    R s R s\        P                  4        \        P                  4        R # r!   )r  r  r  clearr  r   r   r   invalidate_cachesr    s)     L r   c                H    V ^8  d   QhR\         \        ,          R,          /# r   r-  Nr`   r"   )r   s   "r   __annotate__r    s     # #d3i$& #r   c                     ^ RI pVP                  RR7      pVP                  RRRR.R7       VP                  R	R
RR7       VP                  RRRRR7       VP                  V 4      # )rj   NT)colorr-  *
nonaliasedr  )nargschoicesz--terse
store_truezLreturn only the absolute minimum information needed to identify the platform)actionhelpz--nonaliasedr  store_falsezdisable system/OS name aliasing. If aliasing is enabled, some platforms report system names different from their common names, e.g. SunOS is reported as Solaris)destr&  r'  )argparseArgumentParseradd_argument
parse_args)r-  r*  parsers   &  r   _parse_argsr/    s    $$4$0F
cL'3JK
'	   D  	 T""r   c                H    V ^8  d   QhR\         \        ,          R,          /# r  r  )r   s   "r   r  r    s     $ $S	D  $r   c                     \        V 4      p V P                  ;'       g    R V P                  9   pV P                  ;'       d    RV P                  9  p\	        \        W!4      4       R# )r  r"  N)r/  r  r-  r  printr0   )r-  r  r  s   &  r   _mainr3    sM    tDJJ007dii/Ell>>DII =G	(7
"#r   __main__)Nr   r   i @  )r   )r   r   r   )rf   rg   rh   ))
   r  rj   post11))r6  rj   iU  11)r  r  rj   10)r  r^   rj   z8.1)r  r   rj   8)r  r  rj   7)r  rj   rj   r  ))   r   i  XP64)rA  r   rj   XPMedia))rA  r  rj   XP)rA  rj   rj   2000))r5  post2025Server))r6  rj   ie  
2025Server))r6  rj   i|O  
2022Server))r6  rj   icE  
2019Server)r9  
2016Server)r;  2012ServerR2)r<  
2012Server)r>  2008ServerR2)r@  
2008Server)rC  
2003Server)rF  
2000Server)r   r   r   r   )r   r   r   )rx   ry   r   r   )r   r   r   F)r   r   r   r   )r   rj   r   r   r   F)r   rO  )r   r  )r   rQ  r!   )FF)z/etc/os-releasez/usr/lib/os-release)F__copyright____version__collectionsr4   r   r/   r  r  r   r   r   r   r[   re   r   r   r   r   r   r   r   r   r   r   
namedtupler   r   r   r   r   r  r  r/  r3  r;  rG  rT  r:   rY  rg  ri  r  r  r  r   rx   r  ry   r   r   r  r  r  r  r  r  r  r  r  r  r  r0   r  r  r  r  r  r/  r3  r  r   r   r   <module>rW     s9  x*   	 	 
   
2Rb
BR"dB#sC	 `0D24$n(*  [9*v
(),)* ''2@ 	!+H ##KM
"FN&$T@	 $N _	=   NNR K\8/ /d+)A-/)AX ^D
  fP
	/ Kb D  6$.	#6$ z	G _+  Ds   E% %	E21E2