
    =Og!                        	 d Z dZddlZddlZddlZddlZddlZddlZddddddddd	d	d

Z ej	        d          Z
d Z ej	        dej                  Zd^dZd_dZ ej	        d          Z	 	 d`dZdddddddddddd Zdd!d"d#d$d%d&Zd' Zd( Zdad)Zd* Zdbd,Zd- Zdcd.Zd/ Zd0 Zd_d1Zd2 Zd_d3Zd4d5d6dZ ej!        ddfd7Z"d8 Z# G d9 d:          Z$d; Z% G d< d= ej&        d>d?                    Z'da(d@ Z)dA Z*dB Z+dC Z,dD Z-dE Z.dF Z/ ej	        dGej                  Z0 ej	        dHej                  Z1 ej	        dI          Z2 ej	        dJ          Z3i Z4dddKZ5dL Z6dM Z7dN Z8dO Z9dP Z:dQ Z;dR Z<i Z=dedSZ> ej	        dT          Z? ej	        dU          Z@dVZAdaBdW ZCdX ZDeEdYk    rKdZejF        v pd[ejF        v ZGd\ejF        vod]ejF        vZH eI e>eHeG                      ejJ        d           dS dS )fa  
    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.8    N
         (   2      )
devalphaabetabcRCrcplpz([0-9]+|[._+-])c                     g }t                               |           D ]\}|dvrV	 t          |d          }d}n+# t          $ r t                              |d          }Y nw xY w|                    ||f           ]|S )Nz._+-r   d   r   )_component_resplitint
ValueError_ver_stagesgetextend)versionresultvts       !/usr/lib64/python3.11/platform.py_comparable_versionr!      s    F  )) " "F??*2JJ * * *OOAq))*MM1a&!!!Ms   7%AAsC   (__libc_init)|(GLIBC_([0-9.]+))|(libc(_\w+)?\.so(?:\.(\d[0-9.]*))?)  @  c                    	 | s}	 t          j        d          }|                    d          }t          |          dk    rt	          |          S n# t
          t          t          f$ r Y nw xY wt          j	        } | s||fS t          }t           j                            |           } t          | d          5 }|                    |          }d}	|	t          |          k     r\d|v sd|v rt                              ||	          }
nd }
|
r%|
                                t          |          k    rH|                    |          }|r.|t%          |	t          |          d	z
            d          |z   }d}	|
snd
 |
                                D             \  }}}}}}|r|sd}ns|r&|dk    rd}|}nf ||           ||          k    r|}nK|rI|dk    rCd}|r|r ||           ||          k    r|}|r!|t          |           d          |k    r||z   }|
                                }	|	t          |          k     \d d d            n# 1 swxY w Y   ||fS )NCS_GNU_LIBC_VERSION   )maxsplit   rbr   s   libcs   GLIBCi  c                 @    g | ]}||                     d          n|S )Nlatin1)decode).0ss     r    
<listcomp>zlibc_ver.<locals>.<listcomp>   sC     E% E% E% '(m"""E% E% E%    libcglibc)osconfstrr   lentupleAttributeErrorr   OSErrorsys
executabler!   pathrealpathopenread_libc_searchsearchendmaxgroups)r:   libr   	chunksizeverpartsVfbinaryposmchunklibcinitr2   glibcversionsothreads	soversions                     r    libc_verrS      s      	*233CIIqI))E5zzQU||# 
G4 	 	 	D	 ^
 	 <A !!*--J	j$		 "1	""CKK&  H$6$6 ''44 3v;;..y)) #CS[[4-?$@$@$A$ABUJFC E% E%E% E% E%AHe\2w	  4 4 4'>>!C*GGQ|__qqzz11*G 4'>> C  ,' ,QQy\\AAgJJ5N5N"+ 47CLL=>>#:g#E#E")G"3%%''C? CKK" " " " " " " " " " " " " " "F <s%   AA A,+A,7FIIIc           	      ,   	 |                      d          }|r|                    |           	 t          t          t          t          t
          |                              }n# t          $ r |}Y nw xY wd                    |d d                   } | S )N.   )r   appendlistmapstrr   r   join)r   buildlstringss       r    _norm_versionr_      s     	cA 	s3C,,--   hhwrr{##GNs   5A% %A43A4z'(?:([\w ]+) ([\w.]+) .*\[.* ([\d.]+)\])win32win16dosc           	         	 t           j        |vr| ||fS dd l}dD ]G}	 |                    ||j        |j        ddd          } n## t
          |j        f$ r
}Y d }~@d }~ww xY w| ||fS |                                }t          	                    |          }|S|
                                \  } }}|d         dk    r
|d d         }|d         dk    r
|d d         }t          |          }| ||fS )Nr   )rF   zcommand /c verz
cmd /c verTlocale)stdinstderrtextencodingshellrU   )r9   platform
subprocesscheck_outputDEVNULLr8   CalledProcessErrorstrip_ver_outputmatchrC   r_   )	systemreleaser   supported_platformsrm   cmdinfowhyrL   s	            r    _syscmd_verrz     sP   	 |...w'' 6 ( (	**31;1C2<2D044<15 + 7 7D E	 67 	 	 	HHHH	 w'' ::<<D$A}#$88:: 2;#crclG2;#crclG  ((7G##s   %AA A 2000XP
2003Serverpost2003Vista78z8.1zpost8.110post10))   r   )r   r&   r   r(   )r   N   r   r   r&   r   r(   r   rV   r   N)r   r   )r   N
2008Server2008ServerR2
2012Server2012ServerR2post2012ServerR2)r   r   r   r   r   r   c                  "    t                      dv S )N)IoTUAP
NanoServerWindowsCoreHeadless	IoTEdgeOS)win32_edition r0   r    win32_is_iotr   V  s    ??ZZZr0   c                  "   	 	 dd l } n# t          $ r dd l} Y nw xY w	 d}|                     | j        |          5 }|                     |d          d         cd d d            S # 1 swxY w Y   n # t          $ r Y nw xY w# t          $ r Y nw xY wd S )Nr   ,SOFTWARE\Microsoft\Windows NT\CurrentVersion	EditionId)winregImportError_winreg	OpenKeyExHKEY_LOCAL_MACHINEQueryValueExr8   )r   cvkeykeys      r    r   r   Y  s6   	%MMMM 	% 	% 	%$$$$$$	%
	CE!!&";UCC @s**3<<Q?@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ 	 	 	D	     4s[    A? A? A? A/ A#A/ #A''A/ *A'+A/ /
A<;A<?
BBc                 2   	 ddl m} n# t          $ r	 | |||fcY S w xY w |            }	 t          t          t                      d                             d                    \  }}}n%# t          $ r |j        p	|d d         \  }}}Y nw xY wd	                    |||          }t                              ||f          pt                              |d f          p| } |d d         ||fk    rG	 d	                    |j                  }n+# t          $ r |d d         d	k    rd
|dd          z   }Y nw xY wt          |dd           dk    r:t                              ||f          pt                              |d f          p| } 	 	 dd l}	n# t          $ r dd l}	Y nw xY w	 d}
|	                    |	j        |
          5 }|	                    |d          d         }d d d            n# 1 swxY w Y   n # t*          $ r Y nw xY w# t          $ r Y nw xY w| |||fS )Nr   )getwindowsversionr(   rU   rV   z{0}.{1}.{2}zSP{}   zService Pack SPproduct_typer   CurrentType)r9   r   r   rY   r   rz   r   r   platform_versionformat_WIN32_CLIENT_RELEASESr   service_pack_majorr7   getattr_WIN32_SERVER_RELEASESr   r   r   r   r   r8   )ru   r   csdptyper   winvermajorminorr\   r   r   r   s               r    	win32_verr   k  s"   ,))))))) , , ,e++++,   FD!#{}}Q'7'='=c'B'BCCuee D D D$5CueeeD""5%77G%))5%.99 %))5$-88  bqbzeU^##	&-- 9::CC 	& 	& 	&3B3x?**SXo	&
 v~t,,11)--uen== )--udm<< 		%MMMM 	% 	% 	%$$$$$$	%
	CE!!&";UCC Cs++C??BC C C C C C C C C C C C C C C 	 	 	D	     GS%''s   	 >A) )B
B0D %D32D3F H FH FH !G3 >G'G3 'G++G3 .G+/G3 3
H ?H 
HHc                  J   d} t           j                            |           sd S 	 dd l}n# t          $ r Y d S w xY wt          | d          5 }|                    |          }d d d            n# 1 swxY w Y   |d         }d}t          j                    j        }|dv rd}|||fS )Nz0/System/Library/CoreServices/SystemVersion.plistr   r)   ProductVersionr"   r"   r"   )ppczPower MacintoshPowerPC)	r3   r;   existsplistlibr   r=   loadunamemachine)fnr   rI   r   ru   versioninfor   s          r    _mac_ver_xmlr     s   	;B7>>" t   tt 
b$ 1]]1              !"GKhjj G,,,K((s   * 
88A--A14A1r   c                 2    	 t                      }||S | ||fS N)r   )ru   r   r   rx   s       r    mac_verr     s,     >>D K((r0   c                 j    ddl m} 	 |                    |           }||S |S # t          $ r |cY S w xY w)Nr   )System)	java.langr   getPropertyr7   )namedefaultr   values       r    _java_getpropr     s_          ""4((=N   s   # # 22c                 t   	 	 dd l }n# t          $ r	 | |||fcY S w xY wt          d|          }t          d|           } |\  }}}t          d|          }t          d|          }t          d|          }|||f}|\  }}	}
t          d|
          }
t          d|          }t          d	|	          }	||	|
f}| |||fS )
Nr   zjava.vendorzjava.versionzjava.vm.namezjava.vm.vendorzjava.vm.versionzjava.os.archzjava.os.namezjava.os.version)r   r   r   )ru   vendorvminfoosinfojavavm_name
vm_release	vm_vendoros_name
os_versionos_archs              r    java_verr     s   	/ / / /..../ =&11FNG44G%+"GZNG44G.	::I0*==Jj)+F#) GZNG44GNG44G0*==Jj')FFFF**s    c                 (   	 | dk    r|dk     r| ||fS |                     d          }|rS	 t          |d                   }|dz
  }t          |          |d<   d                    |          }n# t          $ r Y nw xY w|dk     rd} n	d} n| dv rd	} | ||fS )
NSunOS5rU   r   rV   6Solarisra   rb   Windows)r   r   rZ   r[   r   )rt   ru   r   r]   r   s        r    system_aliasr     s     S==7G++MM# 	&&AaD		 	5zz!((1++     S==FF FF	%	%	%
 7G##s   A- -
A:9A:c                  ~   	 d                     d t          t          |           D                       }|                    dd          }|                    dd          }|                    dd          }|                    dd          }|                    dd          }|                    d	d          }|                    d
d          }|                    dd          }|                    dd          }	 |                    dd          }||k    rn|} |d         dk    r|d d         }|d         dk    |S )N-c              3   >   K   | ]}|                                 V  d S r   )rq   )r-   xs     r    	<genexpr>z_platform.<locals>.<genexpr>%  s*      ==a		======r0    _/\:;"()unknownr"   r&   z--rk   )r[   filterr5   replace)argsrl   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--h	
 2,#

CRC= 2,#

 Or0   c                     	 	 dd l }n# t          $ r | cY S w xY w	 |                                S # t          $ r | cY S w xY wNr   )socketr   gethostnamer8   )r   r   s     r    _noder   ?  sv       !!###   s    / >>c                    	 t           j                            |           } t           j                            |           rt           j                            t           j                            t           j                            |           t          j        |                               } t           j                            |           | S r   )r3   r;   abspathislinknormpathr[   dirnamereadlink)filepaths    r    _follow_symlinksr  N  s     wx((H
'..
"
" L7##GLL22BK4I4IJJL L '..
"
" L Or0   c                 P   	 t           j        dv r|S 	 dd l}n# t          $ r |cY S w xY wt	          |           } t          t          j        d          }	 |                    dd| g|j	        |          }n# t          |j        f$ r |cY S w xY w|s|S |                    d          S )	N)rc   ra   rb   r   C)LC_ALLfilez-b)rg   envzlatin-1)r9   rl   rm   r   r  dictr3   environrn   ro   r8   rp   r,   )targetr   rm   r  outputs        r    _syscmd_filer  Z  s     |000   f%%F rz#
&
&
&C((&$)?0:0B-0 ) 2 2 Z23     ==###s    '' A6 6BB)r"   	WindowsPE)r"   r   )r"   MSDOSc                    	 |s.dd l }|                    d          }t          |dz            dz   }| rt          | d          }nd}|sI| t          j        k    r9t          j        t          v r"t          t          j                 \  }}|r|}|r|}||fS d|vrd|vr||fS d|v rd	}nd
|v rd}d|v rd}nd|v r
d|v rd}nd}nd|v rd}nd|v rd}n	 ||fS )Nr   P   bitr"   r:   zshared objectz32-bit32bitz64-bit64bitELFPEr   r  COFFzMS-DOSr  )structcalcsizerZ   r  r9   r:   rl   _default_architecture)r:   bitslinkager  sizefileoutr   r]   s           r    architecturer    sd   *  %s##4!8}}u$  z2.. 
S^## <000(6DAq  W}7""g'E'EW} 7	W		 	!GGGG	7			W		 	=r0   c                      t           j                            dd          pt           j                            dd          S )NPROCESSOR_ARCHITEW6432r"   PROCESSOR_ARCHITECTURE)r3   r	  r   r   r0   r    _get_machine_win32r#    s6     	
/44 	5

/44r0   c                   6    e Zd Zed             Zd Zd Zd ZdS )
_Processorc                 `    t          | dt          j         | j                  } |            pdS )Nget_r"   )r   r9   rl   from_subprocess)clsfuncs     r    r   z_Processor.get  s1    s13<1133FGGtvv|r0   c                  Z    t           j                            dt                                S )NPROCESSOR_IDENTIFIER)r3   r	  r   r#  r   r0   r    	get_win32z_Processor.get_win32  s     z~~46H6J6JKKKr0   c                  t    	 dd l } |                     dd          \  }}|dk    rdndS # t          $ r Y d S w xY w)Nr   zSYI$_CPU   AlphaVAX)vms_libgetsyir   )r2  csid
cpu_numbers      r    get_OpenVMSz_Processor.get_OpenVMS  sb    	;NNN  '~~j!<<D*(C//77U:	  	 	 	DD	s   ) 
77c                      	 	 dd l } n# t          $ r Y d S w xY w	 |                     ddg| j        dd                                          S # t
          | j        f$ r Y d S w xY w)Nr   r   z-pTutf8)rg   rh   ri   )rm   r   rn   ro   rq   r8   rp   )rm   s    r    r(  z_Processor.from_subprocess  s    		 	 	 	44		**$!)	 +  
 egg 67 	 	 	DD	s    
1A A! A!N)__name__
__module____qualname__classmethodr   r-  r6  r(  r   r0   r    r%  r%    s]          [L L L; ; ;    r0   r%  c                     | dk    rdn| S )Nr   r"   r   )vals    r    _unknown_as_blankr?    s    	!!22s*r0   c                   l     e Zd Z	 dZej        d             Z fdZed             Z	d Z
d Zd Z xZS )uname_result)rt   noderu   r   r   	processorc                 N    t          t                                                    S r   )r?  r%  r   selfs    r    rC  zuname_result.processor  s     !1!1222r0   c                 v    t          j        t                                                      | j        f          S r   )	itertoolschainsuper__iter__rC  )rF  	__class__s    r    rK  zuname_result.__iter__  s2    GG^
 
 	
r0   c                     t          | j                  dz
  } | j        | g|R  }t          |          |dz   k    r$d| dt          |           }t          |          |S )Nr&   z	Expected z arguments, got )r5   _fields__new__	TypeError)r)  iterable
num_fieldsr   msgs        r    _makezuname_result._make"  sr     %%)
S,8,,,v;;*q.((GjGG#f++GGCC.. r0   c                 ,    t          |           |         S r   )r6   )rF  r   s     r    __getitem__zuname_result.__getitem__,  s    T{{3r0   c                 T    t          t          t          |                               S r   )r5   r6   iterrE  s    r    __len__zuname_result.__len__/  s    5d$$%%%r0   c                 h    t           t          |           d t          | j                  dz
           fS Nr&   )rA  r6   r5   rN  rE  s    r    
__reduce__zuname_result.__reduce__2  s-    U4[[)?#dl*;*;a*?)?@@@r0   )r9  r:  r;  rN  	functoolscached_propertyrC  rK  r<  rT  rV  rY  r\  __classcell__)rL  s   @r    rA  rA  
  s        
 OG3 3 3
 
 
 
 
   [     & & &A A A A A A Ar0   rA  uname_result_basez#system node release version machinec                     	 t           t           S 	 t          j                    x\  } }}}}}n2# t          $ r% t          j        } t                      }dx}x}}d}Y nw xY wt          |          s| dk    r#t                      \  }}}}|pt                      }|r|s=t          |           \  } }}| dk    rd} n!| dk    r|dk    rd} d|d d         k    rd	}nd}| d
v r|s| dk    rd}nd}d} n<| d d         dk    r.t                      \  }}}	}
d} d                    |	          }|s|}| dk    r|r|dk    r|}d}| dk    r
|dk    rd} d	}| ||||f}t          t          t          |           a t           S )Nr"   r   ra   zMicrosoft Windowsr   	Microsoftz6.0rV   r   r   r  16bit   r   Java, OpenVMS0)_uname_cacher3   r   r7   r9   rl   r   anyr   r#  rz   r   r[   rA  rY   r?  )rt   rB  ru   r   r   infosr   r   r   r   r   valss               r    r   r   9  s   	 :<(**D/gw%%   ww&((('G	 u:: *! W+4;;(GWc55!3!5!5G  	!G 	!'26':':$FGW ,,,";&&7i+?+?
 #GBQBK''%GG G ''' &W$$%GG%GFFBQBZ6!!.6jj+GVVVFii''G !   	'S..GG I!5!54'72D%6!=!=>Ls   - ,AAc                  *    	 t                      j        S r   )r   rt   r   r0   r    rt   rt     s    
 77>r0   c                  *    	 t                      j        S r   )r   rB  r   r0   r    rB  rB    s     77<r0   c                  *    	 t                      j        S r   )r   ru   r   r0   r    ru   ru         
 77?r0   c                  *    	 t                      j        S r   )r   r   r   r0   r    r   r     rp  r0   c                  *    	 t                      j        S r   )r   r   r   r0   r    r   r     rp  r0   c                  *    	 t                      j        S r   )r   rC  r   r0   r    rC  rC    s     77r0   zL([\w.+]+)\s*\(#?([^,]+)(?:,\s*([\w ]*)(?:,\s*([\w :]*))?)?\)\s*\[([^\]]+)\]?z;IronPython\s*([\d\.]+)(?: \(([\d\.]+)\))? on (.NET [\d\.]+)zU([\d.]+)\s*\(IronPython\s*[\d.]+\s*\(([\d.]+)\) on ([\w.]+ [\d.]+(?: \(\d+-bit\))?)\)zE([\w.+]+)\s*\(#?([^,]+),\s*([\w ]+),\s*([\w :]+)\)\s*\[PyPy [^\]]+\]?c                 ~   	 | t           j        } t                              | d           }||S d| v rd}|                     d          rt
                              |           }nt                              |           }|t          dt          |           z            |
                                \  }}}d}d}nJt           j                            d          rhd}t                              |           }|t          dt          |           z            |
                                \  }}}}	}
|d}t           j        }nd| v rYd}t                              |           }|t          dt          |           z            |
                                \  }}}}	d}nft                              |           }|t          d	t          |           z            |
                                \  }}}}	}d
}|d}n
|	r|dz   |	z   }t          t           d          rt           j        \  }
}}n*t          t           d          rt           j        \  }
}}nd}d}|                    d          }t%          |          dk    r*|                    d           d                    |          }|||||||f}|t          | <   |S )N
IronPythonz*failed to parse IronPython sys.version: %sr"   r   Jythonz&failed to parse Jython sys.version: %sPyPyz$failed to parse PyPy sys.version: %sz'failed to parse CPython sys.version: %sCPythonr   _git
_mercurialrU   r(   rh  )r9   r   _sys_version_cacher   
startswith_ironpython_sys_version_parserrs    _ironpython26_sys_version_parserr   reprrC   rl   _sys_version_parser_pypy_sys_version_parserhasattrry  rz  r   r5   rW   r[   )sys_versionr   r   rs   r   alt_versioncompilerbuildno	builddate	buildtimer   branchrevisionr]   s                 r    _sys_versionr    s   & k  ##K66F {""!!,// 	H288EEEE4::;GGE=<[!!"# # # */&h				 	 	(	( $4#))+66=8[!!"# # # 5:LLNN1)YI<	;		(..{;;=C!+../ 0 0 016.)Y $))+66=9[!!"# # # llnn 	9)YII 	4!C)3IsF !h688	l	#	# !n688 	cA
1vv{{	((1++ GVXw	8LF&,{#Mr0   c                  ,    	 t                      d         S r   r  r   r0   r    python_implementationr  R       >>!r0   c                  ,    	 t                      d         S r[  r  r   r0   r    python_versionr  _  s     >>!r0   c                  l    	 t          t                      d                             d                    S )Nr&   rU   )r6   r  r   r   r0   r    python_version_tupler  i  s.     "((--...r0   c                  ,    	 t                      d         S )Nr(   r  r   r0   r    python_branchr  t  s     >>!r0   c                  ,    	 t                      d         S )NrV   r  r   r0   r    python_revisionr    r  r0   c                  0    	 t                      dd         S )Nrd  r   r  r   r0   r    python_buildr    s     >>!A#r0   c                  ,    	 t                      d         S )Nr   r  r   r0   r    python_compilerr    s     >>!r0   c           	         	 t                               | |fd           }||S t                      \  }}}}}}||k    rd}| rt          |||          \  }}}|dk    rt	                      d         }	|	rd}|	}|dk    r:t          |          \  }
}}}|rt          ||          }nt          ||||          }n|dv r)t                      \  }}t          ||||d||z             }n|dk    rCt                      \  }}}\  }}}|s|st          |||          }nYt          |||d	|||          }nC|rt          ||          }n0t          t          j                  \  }}t          ||||||          }|t           | |f<   |S )
Nr"   Darwinr   macOSr   )Linuxwithre  on)_platform_cacher   r   r   r   r   r   rS   r   r  r9   r:   )aliasedterser   rt   rB  ru   r   r   rC  macos_releaserelversr   r   rl   libcnamelibcversionrr   r   r   r   r   r  r  s                            r    rl   rl     s   "   '5!1488F :?6FD'7GY)	 J#/#I#I 		! 	$F#G )' 2 2T3 	@ 11HH '3??HH	:		 (

+VWgy#%k13 3 
6		7?zz41f4w
G 	? 	? '::HH '!%!(*g? ?HH  	; 11HH(88MD' '!*D'; ;H )1OWe$%Or0   zA^(?P<name>[a-zA-Z0-9_]+)=(?P<quote>["']?)(?P<value>.*)(?P=quote)$z\\([\\\$\"\'`]))z/etc/os-releasez/usr/lib/os-releasec                     dddd}| D ]b}t                               |          }|Dt                              d|                    d                    ||                    d          <   c|S )Nr  linux)NAMEIDPRETTY_NAMEz\1r   r   )_os_release_liners   _os_release_unescapesubgroup)linesrx   linemos       r    _parse_os_releaser    s      D   ##D))>%9%=%=rxx((& &D&!!" Kr0   c                  b   	 t           d } t          D ]Z}	 t          |d          5 }t          |          a d d d            n# 1 swxY w Y    nI# t          $ r}|j        } Y d }~Sd }~ww xY wt	          | dd                    t                               t                                           S )Nzutf-8)ri   zUnable to read files rf  )_os_release_cache_os_release_candidatesr=   r  r8   errnor[   copy)r  	candidaterI   es       r    freedesktop_os_releaser    s     / 	 	I )g666 =!(9!(<(<%= = = = = = = = = = = = = = =        K		2H(I(IKK  
 !!###s9   AAAA	A	A	
A
A*A%%A*__main__r  z--terse
nonaliasedz--nonaliased)Nr"   r"   r#   )r"   )r"   r"   r"   r`   )r"   r"   r"   r"   )r"   r   r"   )r"   r"   r   r   r   )r   r   )K__copyright____version__collectionsr3   rer9   r]  rH  r   compiler   r!   ASCIIr?   rS   r_   rr   rz   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r:   r  r#  r%  r?  
namedtuplerA  ri  r   rt   rB  ru   r   r   rC  r  r}  r~  r  r{  r  r  r  r  r  r  r  r  r  rl   r  r  r  r  r  r  r9  argvr  r  printexitr   r0   r    <module>r     s  r*      				 				 



         bR	
B
C	 	 
-..
 
 
 rz B DF8	M MH H H HT    bj - . . 02#<0$ 0$ 0$ 0$f    ( !  [ [ [  $0( 0( 0( 0(f) ) ),) ) ) )&	 	 	+ + + +F&$ &$ &$T  @   	 	 	 $  $  $  $N     NR I I I IX
 
 
" " " " " " " "J+ + +)A )A )A )A )AK-/ /)A )A )AX U U Ur          
 
 
 !bj h     ", 8	"% "%  $.2::$ $   &2:  
  f f f fP    	/ 	/ 	/         H H H H^ 2:I   "rz"455 C    &$ $ $2 z 9I$9E38+NNch4NG	E((7E
"
"###CHQKKKKK r0   