
    4bhZ                     \   	 d dl Z d dlZd dlZd dlZd dlZd dlZe j                  e j                  gada	da
dad Zd Zd Zd Zd Zd ZddZd	 Zd
 Zd Zd Zd Zd ZddZddZd Zd Zd Zd Zd Zd Z d Z!d Z"e jF                  jH                  s e"        d Z%e&dk(  r e%        yy)    Nc                 p    t         j                  j                  rt        | t         j                         y y )Nfile)sysflagsverboseprintstderr)messages    ./opt/python-3.12.12/usr/lib/python3.12/site.py_tracer   \   s"    
yygCJJ'     c                      t        j                  j                  |  }	 t         j                  j                  |      }|t         j                  j                  |      fS # t        $ r Y ,w xY wN)ospathjoinabspathOSErrornormcase)pathsdirs     r   makepathr   a   s[    
'',,
Cggooc"   %%%  s   A 	A*)A*c                  >   	 t        t        j                  j                               D ]~  } d }	 | j                  j
                  }|dvr!	 t        j                  j                  | j                        | _        	 t        j                  j                  | j                        | _         y # t        $ r4 	 | j                  j                  j
                  }n# t        $ r Y nw xY wY w xY w# t        t        t        f$ r Y w xY w# t        t        t        f$ r Y w xY w)N>   _frozen_importlib_frozen_importlib_external)setr   modulesvalues
__loader__
__module__AttributeError__spec__loaderr   r   r   __file__r   	TypeError
__cached__)mloader_modules     r   	abs_pathsr*   j   s    O##%&	LL33M  SS	4AJ	77??1<<8AL! '  	 !

 1 1 < <! 	 3 		 3 		sY   B+.C+:.D+	C(5 CC(	C"C(!C""C('C(+DDDDc                      	 g } t               }t        j                  D ]7  }t        |      \  }}||vs| j	                  |       |j                  |       9 | t        j                  d d  |S r   )r   r   r   r   appendadd)Lknown_pathsr   dircases       r   removeduppathsr1      sf     	A%Kxx  }W+%HHSMOOG$  CHHQKr   c                      	 t               } t        j                  D ]A  }	 t        j                  j	                  |      rt        |      \  }}| j                  |       C | S # t        $ r Y Qw xY wr   )r   r   r   r   existsr   r-   r&   )ditem_itemcases       r   _init_pathinfor8      sc    OA	ww~~d#&tn8h	  H  		s   >A""	A.-A.c           	         	 |t               }d}nd}t        j                  j                  | |      }	 t        j                  |      }t        |dd      t        j                  z  st        |dd      t        j                  z  rt        d|       y t        d|       	 t        j                  |      5 }|j                         }d d d        	 j                  d      }t%        |j'                         d      D ]  \  }	}
|
j)                  d      r|
j+                         dk(  r,	 |
j)                  d      rt-        |
       J|
j/                         }
t1        | |
      \  }}||vrOt        j                  j3                  |      r0t4        j                  j7                  |       |j9                  |        |rd }|S # t
        $ r Y y w xY w# 1 sw Y   	xY w# t
        $ r Y y w xY w# t        $ rF dd l}j                  |j#                               }t        d	|d
|j#                                Y Ww xY w# t:        $ r}t=        d|	dd| dt4        j>                         dd l }|jC                  |      D ]5  }|j'                         D ]   }
t=        d|
z   t4        j>                         " 7 t=        dt4        j>                         Y d }~ d }~ww xY w)NTFst_flagsr   st_file_attributeszSkipping hidden .pth file: zProcessing .pth file: z	utf-8-sigzCannot read z# as UTF-8. Using fallback encoding    # )zimport zimport	zError processing line r4   z of z:
r   z  z
Remainder of file ignored)"r8   r   r   r   lstatr   getattrstat	UF_HIDDENFILE_ATTRIBUTE_HIDDENr   io	open_codereaddecodeUnicodeDecodeErrorlocalegetencoding	enumerate
splitlines
startswithstripexecrstripr   r3   r   r,   r-   	Exceptionr	   r
   	tracebackformat_exception)sitedirnamer/   resetfullnamestfpth_contentrI   nliner   r0   excrR   records                   r   
addpackager_      s    $&ww||GT*HXXh 
Z	#dnn	4	)1	-0J0J	J,XL9:
#H<01\\(#q&&(K $

D "((5 [335q94??3::<2	67T
;;=D#GT2LCk)bggnnS.A$( :. e   $#   D 	!((););)=>h\ ***0*<*<*>)AC 	DD,  	*1Q%tH:SAzz##44S9"--/D$t)#**5 0 : /cjjA	sn   G #G 8G	G G, *H>A2H>	GGGG 	G)(G),AH;:H;>	KBKKc                    	 t        d|        |t               }d}nd}t        |       \  } }||vr0t        j                  j                  |        |j                  |       	 t        j                  |       }|D cg c]&  }|j                  d      r|j                  d      s|( }}t        |      D ]  }t        | ||        |rd }|S # t        $ r Y y w xY wc c}w )NzAdding directory: TFz.pth.)r   r8   r   r   r   r,   r-   r   listdirr   endswithrM   sortedr_   )rT   r/   rV   sitedircasenamesrU   s         r   
addsitedirrg      s    
{+,$&#G,G[+% $

7# $ Dedf%dooc.B eE Du7D+.   Ds   $C =+C	CCc                  d   	 t         j                  j                  ryt        t        d      r:t        t        d      r*t	        j
                         t	        j                         k7  ry t        t        d      r:t        t        d      r*t	        j                         t	        j                         k7  ry y)NFgetuidgeteuidgetgidgetegidT)	r   r   no_user_sitehasattrr   rj   ri   rl   rk    r   r   check_enableusersiterp      sp     yyr8Y!7::<299;&r8Y!7::<299;&r   c            	         t         j                  j                  dd       } | r| S t        j                  dv ry d }t         j
                  dk(  r,t         j                  j                  d      xs d} ||d      S t        j                  dk(  r=t        j                  r- |dd	t        j                  d
t        j                  d d z        S  |dd      S )NPYTHONUSERBASE>   wasivxworks
emscriptenc                  t    t         j                  j                  t        j                  j                  |        S r   )r   r   
expanduserr   )argss    r   joinuserz_getuserbase.<locals>.joinuser&  s$    ww!!"'',,"566r   ntAPPDATA~PythondarwinLibraryz%d.%d   z.local)r   environgetr   platformrU   
_frameworkversion_info)env_basery   bases      r   _getuserbaser     s    zz~~.5H ||887 
ww$zz~~i(/Ch''
||xCNNY#"2"22A"668 	8 C""r   c                 
   t         j                  }t        j                  dk(  r(t         j                  j                  dd      }|  d| dS t         j                  dk(  rt         j                  r|  dS |  d|d	    d|d
    dS )Nrz   ra   r>   z\Pythonz\site-packagesr~   z/lib/python/site-packagesz/lib/pythonr   r<   z/site-packages)r   r   r   rU   winverreplacer   r   )userbaseversion	ver_nodots      r   	_get_pathr   5  s    G	ww$JJ&&sB/	8I;o>>
||xCNN455Z{71:,a
|>JJr   c                  0    	 t         
t               a t         S r   )	USER_BASEr   ro   r   r   getuserbaser   B  s      N	r   c                  Z    	 t               } t        | dat        S t        |       at        S )NF)r   	USER_SITEENABLE_USER_SITEr   )r   s    r   getusersitepackagesr   O  s<     }H$  "(+Ir   c                     	 t        d       t               }t        r+t        j                  j                  |      rt        ||        | S )NzProcessing user site-packages)r   r   r   r   r   isdirrg   )r/   	user_sites     r   addusersitepackagesr   `  s<     *+#%IBGGMM)49k*r   c           
         	 g }t               }| t        } | D ]  }|r||v r
|j                  |       t        j                  dk(  rt
        j                  g}t
        j                  dk7  r|j                  d       |D ]I  }t        j                  j                  ||dt
        j                  d d z  d      }|j                  |       K |j                  |       |j                  t        j                  j                  |dd              |S )N/libzpython%d.%dr   zsite-packagesLib)r   PREFIXESr-   r   sepr   
platlibdirr,   r   r   r   )prefixessitepackagesseenprefixlibdirslibdirr   s          r   getsitepackagesr   o  s     L5D466S=~~&G~~&u%!ww||FF$1C4D4DRa4H$H$35 ##D)	 " 'VUO LM# $ r   c                     	 t        d       t        |      D ].  }t        j                  j	                  |      s#t        ||        0 | S )NzProcessing global site-packages)r   r   r   r   r   rg   )r/   r   rT   s      r   addsitepackagesr     s?    '
,-"8,77==!w, - r   c                      	 t         j                  dk(  rd} nd} t        j                  d|       t        _        t        j                  d|       t        _        y )N\zCtrl-Z plus ReturnzCtrl-D (i.e. EOF)quitexit)r   r   _sitebuiltinsQuitterbuiltinsr   r   )eofs    r   setquitr     sF     
vv~"!!))&#6HM!))&#6HMr   c                  N   	 t        j                  dt        j                        t        _        t        j                  dd      t        _        g g }} t        t        dd       }|s=t        t        d      r-t        j                  j                  t        j                        }|ra| j                  ddg       |j                  t        j                  j                  |t        j                        |t        j                  g       t        j                  dd	| |      t        _        y )
N	copyrightcreditsz    Thanks to CWI, CNRI, BeOpen, Zope Corporation, the Python Software
    Foundation, and a cast of thousands for supporting Python
    development.  See www.python.org for more information._stdlib_dirr%   zLICENSE.txtLICENSElicensez'See https://www.python.org/psf/license/)r   _Printerr   r   r   r   r@   rn   r   r   dirnamer%   extendr   pardircurdirr   )filesdirsheres      r   setcopyrightr     s    3&//S]]KH$--i :> ?H b4E 3t,DGB
+wwr{{+mY/0RWW\\$		2D"))DE$--1tHr   c                  >    t        j                         t        _        y r   )r   _Helperr   helpro   r   r   	sethelperr     s    !))+HMr   c                  "    	 d } | t         _        y )Nc                     dd l } 	 dd ldd l}t	        dd      }|d|v rj                  d       nj                  d       	 j                          j                         dk(  rgt        j                  j                  t        j                  j                  d      d      	 j                         fd	}| j                  |       y y # t        $ r Y y w xY w# t        $ r Y w xY w# t        $ r Y Bw xY w)
Nr   __doc__r>   libeditzbind ^I rl_completeztab: completer|   z.python_historyc                  H    	 j                          y # t        $ r Y y w xY wr   )write_history_filer   )historyreadlines   r   write_historyzCenablerlcompleter.<locals>.register_readline.<locals>.write_history  s*    //8  s    	!!)atexitr   rlcompleterImportErrorr@   parse_and_bindread_init_filer   get_current_history_lengthr   r   r   rw   read_history_fileregister)r   r   readline_docr   r   r   s       @@r   register_readlinez,enablerlcompleter.<locals>.register_readline  s    	 xB7#	\(A##$9:##O4	##% ..0A5 ggll277#5#5c#:#46G**73 OOM*+ 6)  		  	
 	"  s5   C C! (C0 	CC!	C-,C-0	C<;C<)r   __interactivehook__)r   s    r   enablerlcompleterr     s    .+` 0Cr   c                 B   t         j                  }t        j                  dk(  r#d|v rt         j                  d   x}t        _        nt        j
                  }t         j                  j                  t         j                  j                  |            }t         j                  j                  |      }d t        _	        d}t        d t         j                  j                  ||      t         j                  j                  ||      fD        d       }|r |}d}t        |d      5 }	|	D ]q  }
d|
v s|
j                  d      \  }}}|j                         j                         }|j                         }|d	k(  r|j                         }a|d
k(  sg|t        _	        s 	 d d d        |xt        _        t        _        t%        | t        j                   g       |dk(  r&t&        j)                  dt        j                          | S t        j                   gada| S # 1 sw Y   zxY w)Nr~   __PYVENV_LAUNCHER__z
pyvenv.cfgc              3   ^   K   | ]%  }t         j                  j                  |      r| ' y wr   )r   r   isfile).0conffiles     r   	<genexpr>zvenv.<locals>.<genexpr>
  s.      	
& ww~~h'	  &s   +-truezutf-8)encoding=zinclude-system-site-packageshomer   F)r   r   r   r   _base_executable
executabler   r   r   _homenextr   open	partitionrN   lowerr   exec_prefixr   r   insertr   )r/   envr   exe_dirsite_prefixconf_basenamecandidate_confvirtual_confsystem_siterY   r\   keyr6   values                 r   venvr     s    **C
||x$9S$@,.JJ7L,MM
S)^^
ggoobggooj9:G''//'*KCI M	
Wm4[-8&	
 		N % ,1Q$;$(NN3$7MCE))+++-C!KKME<<&+kkm$)	  2 (32
S_ 	cjj\2 & OOAszz*
  

|H$1 21s   $
H/AHHHc                     	 	 	 dd l } y # t        $ r}|j                  dk(  rn Y d }~y d }~ww xY w# t        $ r}t        j
                  j                  r%t	        j                  t	        j                           n?t        j                  j                  d|j                  j                  d|d       Y d }~y Y d }~y d }~ww xY w)Nr   sitecustomizez9Error in sitecustomize; set PYTHONVERBOSE for traceback:
: 
)r   r   rU   rQ   r   r   r   
excepthookexc_infor
   write	__class____name__)r   r]   errs      r   execsitecustomizer  4      6/	  	xx?* 	
  /99NNCLLN+JJ ''./ / ,/)   	 	-(0 -0 	CA9B<<Cc                     	 	 	 dd l } y # t        $ r}|j                  dk(  rn Y d }~y d }~ww xY w# t        $ r}t        j
                  j                  r%t	        j                  t	        j                           n?t        j                  j                  d|j                  j                  d|d       Y d }~y Y d }~y d }~ww xY w)Nr   usercustomizez9Error in usercustomize; set PYTHONVERBOSE for traceback:
r   r   )r  r   rU   rQ   r   r   r   r   r   r
   r   r  r  )r  r]   r  s      r   execusercustomizer	  H  r  r  c                     	 t         j                  d d  } t               }| t         j                  k7  r
t                t	        |      }t
        
t               at        |      }t        |      }t                t                t                t         j                  j                  s
t                t                t
        rt!                y y r   )r   r   r1   r*   r   r   rp   r   r   r   r   r   r   isolatedr   r  r	  )	orig_pathr/   s     r   mainr  \  s     I "KCHH 	{#K/1%k2K!+.KINK99 r   c                     d} t         j                  dd  }|st               }t               }t	        d       t         j
                  D ]  }t	        d|d        t	        d       d }t	        d|d	 ||       d
       t	        d|d	 ||       d
       t	        dt               t        j                  d       g }d|v r|j                  t               d|v r|j                  t               |rt	        t        j                  j                  |             t        rt        j                  d       y t        du rt        j                  d       y t        t        j                  d       y t        j                  d       y dd l}t	        |j                  | t         j                  d   t        j                  fz               t        j                  d       y )Na      %s [--user-base] [--user-site]

    Without arguments print some useful information
    With arguments print the value of USER_BASE and/or USER_SITE separated
    by '%s'.

    Exit codes with --user-base or --user-site:
      0 - user site directory is enabled
      1 - user site directory is disabled by user
      2 - user site directory is disabled by super user
          or for security reasons
     >2 - unknown error
    r<   zsys.path = [z    ,]c                 H    |  t         j                  j                  |       ryy)Nr3   zdoesn't exist)r   r   r   )r   s    r   r3   z_script.<locals>.exists  s    BGGMM$$7&r   zUSER_BASE: z ()zUSER_SITE: zENABLE_USER_SITE: r   z--user-basez--user-siteFr      
   )r   argvr   r   r	   r   r   r   r,   r   r   r   pathsepr   textwrapdedent)r   rx   	user_baser   r   r3   bufferr  s           r   _scriptr  ~  si   D 88AB<DM	')	n88Cs$% c
	'
 	I=6)+<*=Q?@I=6)+<*=Q?@"#3"678Fi i bjjoof%&HHQK&HHQK%HHQKHHQKhoodchhqk2::%>>?@r   __main__r   )'r   r   r   r   rD   rA   r   r   r   r   r   r   r   r   r*   r1   r8   r_   rg   rp   r   r   r   r   r   r   r   r   r   r   r   r   r  r	  r  r   no_siter  r  ro   r   r   <module>r     s   EN  	   	  JJ(  
 		(
&.&
?D4@#0
K
"B7 ,,90v4n/(/(> yyF4l zI r   