
    :exX                     >   	 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 j"        j#        s
 e!             d Z$e%dk    r e$             dS dS )    Nc                 b    t           j        j        rt          | t           j                   d S d S )Nfile)sysflagsverboseprintstderr)messages    /usr/lib/python3.11/site.py_tracer   [   s4    
y (gCJ''''''( (    c                      t          j        j        |  }	 t           j                            |          }n# t          $ r Y nw xY w|t           j                            |          fS N)ospathjoinabspathOSErrornormcase)pathsdirs     r   makepathr   `   se    
',
Cgooc""     %%%%s   5 
AAc                     	 t          t          j                                                  D ]} d }	 | j        j        }n3# t          $ r& 	 | j        j        j        }n# t          $ r Y nw xY wY nw xY w|dvrJ	 t          j
                            | j                  | _        n# t          t          t          f$ r Y nw xY w	 t          j
                            | j                  | _        # t          t          t          f$ r Y w xY wd S )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*   i   s6   O##%%&&  	L3MM 	 	 	 !
 1 <!   	
  SSS	44AJJ3 	 	 	D		7??1<88ALL3 	 	 	D	# sW   ?
A/
AA/
A)&A/(A))A/.A/8)B""B<;B< )C**DDc                      	 g } t                      }t          j        D ]B}t          |          \  }}||vr*|                     |           |                    |           C| t          j        d d <   |S r   )r   r   r   r   appendadd)Lknown_pathsr   dircases       r   removeduppathsr1      s{     	A%%Kx % %  }}W+%%HHSMMMOOG$$$CHQQQKr   c                      	 t                      } t          j        D ]Y}	 t          j                            |          r't          |          \  }}|                     |           J# t          $ r Y Vw xY w| S r   )r   r   r   r   existsr   r-   r&   )ditem_itemcases       r   _init_pathinfor8      s~    OA  	w~~d##  &tnn8h 	 	 	H	Hs   AA&&
A32A3c           	         	 |t                      }d}nd}t          j                            | |          }t	          d|           	 t          j        t          j        |          d          }n# t          $ r Y d S w xY w|5  t          |          D ]\  }}|
                    d          r|                                dk    r5	 |
                    d          rt          |           [|                                }t          | |          \  }}	|	|vrSt          j                            |          r4t           j                            |           |                    |	           # t&          $ r t)          d	                    |d
z   |          t           j                   dd l}
 |
j        t!          j                     D ]7}|                                D ] }t)          d|z   t           j                   !8t)          dt           j                   Y  nw xY wd d d            n# 1 swxY w Y   |rd }|S )NTFzProcessing .pth file: localeencoding# )zimport zimport	z"Error processing line {:d} of {}:
   r   r   z  z
Remainder of file ignored)r8   r   r   r   r   ioTextIOWrapper	open_coder   	enumerate
startswithstripexecrstripr   r3   r   r,   r-   	Exceptionr	   formatr
   	tracebackformat_exceptionexc_info
splitlines)sitedirnamer/   resetfullnamefnliner   r0   rJ   records               r   
addpackagerV      s    $&&w||GT**H
0H00111 R\(33hGGG   	
   || 	 	GAts## zz||r!!??#:;; JJJ{{}}'66W+--"'..2E2E-HOOC(((OOG,,,   ;BB1Q3QQ:' ' ' '    8i8#,..I : :F & 1 1 3 3 : :d4icj99999:3#*EEEE              0  sW   
(A3 3
B BAH1$E00H11A>E0/H10B.H"H1!H""H11H58H5c                    	 t          d|            |t                      }d}nd}t          |           \  } }||vr4t          j                            |            |                    |           	 t          j        |           }n# t          $ r Y d S w xY wd |D             }t          |          D ]}t          | ||           |rd }|S )NzAdding directory: TFc                 <    g | ]}|                     d           |S )z.pth)endswith).0rO   s     r   
<listcomp>zaddsitedir.<locals>.<listcomp>   s)    ===dt}}V'<'<=T===r   )r   r8   r   r   r   r,   r-   r   listdirr   sortedrV   )rN   r/   rP   sitedircasenamesrO   s         r   
addsitedirr`      s   
+++,,,$&&#G,,G[+%%   $$$
7##   ==e===Eu / /7D+.... s   4B	 	
BBc                  ~   	 t           j        j        rdS t          t          d          r?t          t          d          r*t	          j                    t	          j                    k    rd S t          t          d          r?t          t          d          r*t	          j                    t	          j                    k    rd S dS )NFgetuidgeteuidgetgidgetegidT)	r   r   no_user_sitehasattrr   rc   rb   re   rd    r   r   check_enableusersiteri      s     y ur8 Y!7!7 :<<29;;&&4r8 Y!7!7 :<<29;;&&44r   c            	         t           j                            dd           } | r| S t          j        dv rd S d }t           j        dk    r-t           j                            d          pd} ||d          S t          j        dk    r9t          j        r- |dd	t          j        d
t          j        d d         z            S  |dd          S )NPYTHONUSERBASE>   wasivxworks
emscriptenc                  b    t           j                            t          j        j        |            S r   )r   r   
expanduserr   )argss    r   joinuserz_getuserbase.<locals>.joinuser  s!    w!!"',"5666r   ntAPPDATA~PythondarwinLibraryz%d.%d   z.local)r   environgetr   platformrO   
_frameworkversion_info)env_baserr   bases      r   _getuserbaser     s    z~~.55H  |888t7 7 7 
w$z~~i((/Cxh'''
|xCNxY#"22A2"668 8 	8 8C"""r   c                     t           j        }t          j        dk    r(t           j                            dd          }|  d| dS t           j        dk    rt           j        r|  dS |  d|d	          d|d
          dS )Nrs   .r>   z\Pythonz\site-packagesrw   z/lib/python/site-packagesz/lib/pythonr   r?   z/site-packages)r   r~   r   rO   winverreplacer|   r}   )userbaseversion	ver_nodots      r   	_get_pathr      s    G	w$J&&sB//	>>I>>>>
|xCN5555JJ71:JJ
JJJJr   c                  <    	 t           t                      a t           S r   )	USER_BASEr   rh   r   r   getuserbaser   -  s      NN	r   c                  d    	 t                      } t          | dant          |           at          S )NF)r   	USER_SITEENABLE_USER_SITEr   )r   s    r   getusersitepackagesr   :  s:     }}H$!(++Ir   c                     	 t          d           t                      }t          r/t          j                            |          rt          ||            | S )NzProcessing user site-packages)r   r   r   r   r   isdirr`   )r/   	user_sites     r   addusersitepackagesr   K  sV     *+++#%%I +BGMM)44 +9k***r   c           
      6   	 g }t                      }| t          } | D ]}|r||v r	|                    |           t          j        dk    rt
          j        g}t
          j        dk    r|                    d           |D ]N}t          j        	                    ||dt
          j
        d d         z  d          }|                    |           O|                    |           |                    t          j        	                    |dd                     |S )N/libzpython%d.%dry   zsite-packagesLib)r   PREFIXESr-   r   sepr   
platlibdirr,   r   r   r~   )prefixessitepackagesseenprefixlibdirslibdirr   s          r   getsitepackagesr   Z  s.    L55D N N 	46S==~&G~&&u%%%! * *w||FF$1C4DRaR4H$H$35 5 ##D))))	* '''VUO L LMMMMr   c                     	 t          d           t          |          D ]1}t          j                            |          rt          ||            2| S )NzProcessing global site-packages)r   r   r   r   r   r`   )r/   r   rN   s      r   addsitepackagesr   {  sX    '
,---"8,, - -7==!! 	-w,,,r   c                      	 t           j        dk    rd} nd} t          j        d|           t          _        t          j        d|           t          _        d S )N\zCtrl-Z plus ReturnzCtrl-D (i.e. EOF)quitexit)r   r   _sitebuiltinsQuitterbuiltinsr   r   )eofs    r   setquitr     sL     
v~~"!!)&#66HM!)&#66HMMMr   c                     	 t          j        dt          j                  t          _        t          j        d d         dk    r t          j        dd          t          _        nt          j        dd          t          _        g g }} t          t          dd           }|s>t          t          d          r)t          j
                            t          j                  }|ra|                     d	d
g           |                    t          j
                            |t          j                  |t          j        g           t          j        dd| |          t          _        d S )N	copyright   javacreditsz?Jython is maintained by the Jython developers (www.jython.org).z    Thanks to CWI, CNRI, BeOpen.com, Zope Corporation 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   getattrrg   r   r   dirnamer%   extendr   pardircurdirr   )filesdirsheres      r   setcopyrightr     s2   3&/S]KKH
|BQB6!!(1MO O )1) >T U U b4E 3t,,D ,GB
++ ,wr{++ FmY/000RW\\$	22D")DEEE$-1t Hr   c                  @    t          j                    t          _        d S r   )r   _Helperr   helprh   r   r   	sethelperr     s    !)++HMMMr   c                  &    	 d } | t           _        d S )Nc                  J   dd l } 	 dd ldd l}n# t          $ r Y d S w xY wt	          dd          }|d|v r                    d           n                    d           	                                  n# t          $ r Y nw xY w                                dk    rt          j
                            t          j
                            d          d          	                                n# t          $ r Y nw xY wfd	}|                     |           d S d S )
Nr   __doc__r>   libeditzbind ^I rl_completeztab: completeru   z.python_historyc                  V    	                                  d S # t          $ r Y d S w xY wr   )write_history_filer   )historyreadlines   r   write_historyzCenablerlcompleter.<locals>.register_readline.<locals>.write_history  sF    //88888    DDs    
(()atexitr   rlcompleterImportErrorr   parse_and_bindread_init_filer   get_current_history_lengthr   r   r   rp   read_history_fileregister)r   r   readline_docr   r   r   s       @@r   register_readlinez,enablerlcompleter.<locals>.register_readline  s   	OOO 	 	 	FF	
 xB77#	\(A(A##$9::::##O444	##%%%% 	 	 	
 D	 ..00A55 gll27#5#5c#:#:#46 6G**73333         OOM*****+ 65s0    
%A: :
BB C6 6
DD)r   __interactivehook__)r   s    r   enablerlcompleterr     s'    .+ .+ .+` 0Cr   c                 d   t           j        }t          j        dk    r#d|v rt           j        d         x}t          _        nt          j        }t           j                            t           j                            |                    \  }}t           j        	                    |          }d t          _
        d}d t           j                            ||          t           j                            ||          fD             }|r+|d         }d}	t          |d          5 }
|
D ]}d	|v r|                    d	          \  }}}|                                                                }|                                }|d
k    r|                                }	t|dk    r|t          _
        	 d d d            n# 1 swxY w Y   |xt          _        t          _        t%          | t          j        g           |	dk    r&t&                              dt          j                   nt          j        gada| S )Nrw   __PYVENV_LAUNCHER__z
pyvenv.cfgc                 P    g | ]#}t           j                            |          !|$S rh   )r   r   isfile)rZ   conffiles     r   r[   zvenv.<locals>.<listcomp>  s>     
 
 
 7>>(##

 
 
r   r   truezutf-8r;   =zinclude-system-site-packageshomeF)r   rz   r   r|   _base_executable
executabler   splitr   r   _homer   open	partitionrE   lowerr   exec_prefixr   r   insertr   )r/   envr   exe_dirr6   site_prefixconf_basenamecandidate_confsvirtual_confsystem_siterR   rT   keyvalues                 r   venvr     s3    *C
|x$9S$@$@,.J7L,MM
S))^
rwz::;;JGQ'//'**KCI M
 
GLL-00GLLm44"
 
 
O  %&q) ,111 		*Q * *$;;$(NN3$7$7MCE))++++--C!KKMME<<<&+kkmm$)	*		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* 		* (32
S_ 	cj\222 &  OOAsz****
|H$s    B
F77F;>F;c                  \   	 	 	 dd l } d S # t          $ r}|j        dk    rn Y d }~d S d }~ww xY w# t          $ rr}t          j        j        r t	          j        t	          j                      n6t          j	        
                    d|j        j        d|d           Y d }~d S Y d }~d S d }~ww xY w)Nr   sitecustomizez9Error in sitecustomize; set PYTHONVERBOSE for traceback:
: 
)r   r   rO   rH   r   r   r   
excepthookrL   r
   write	__class____name__)r   excerrs      r   execsitecustomizer         6/	       	 	 	x?** 	
  / / /9 	/NCLNN+++J '''./ / / / / / / / / ,+++++/)   
 
,'/ ,/ 
B+A!B&&B+c                  \   	 	 	 dd l } d S # t          $ r}|j        dk    rn Y d }~d S d }~ww xY w# t          $ rr}t          j        j        r t	          j        t	          j                      n6t          j	        
                    d|j        j        d|d           Y d }~d S Y d }~d S d }~ww xY w)Nr   usercustomizez9Error in usercustomize; set PYTHONVERBOSE for traceback:
r   r   )r  r   rO   rH   r   r   r   r   rL   r
   r   r   r   )r  r   r   s      r   execusercustomizer  4  r   r   c                     	 t           j        d d          } t                      }| t           j        k    rt                       t	          |          }t
          t                      at          |          }t          |          }t                       t                       t                       t           j        j        st                       t                       t
          rt!                       d S d S r   )r   r   r1   r*   r   r   ri   r   r   r   r   r   r   isolatedr   r   r  )	orig_pathr/   s     r   mainr  H  s     I ""KCH 	{##K/11%k22K!+..KIIINNNKKK9   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|                    t                     d|v r|                    t                     |rt	          t          j                            |                     t          rt          j        d           d S t          du rt          j        d           d S t          t          j        d           d S t          j        d           d S dd l}t	          |                    | t           j        d         t          j        fz                       t          j        d           d S )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                 L    | !t           j                            |           rdS dS )Nr3   zdoesn't exist)r   r   r   )r   s    r   r3   z_script.<locals>.exists  s%    BGMM$$7$7x&r   zUSER_BASE: z ()zUSER_SITE: zENABLE_USER_SITE: r   z--user-basez--user-siteFry      
   )r   argvr   r   r	   r   r   r   r,   r   r   r   pathsepr   textwrapdedent)r   rq   	user_baser   r   r3   bufferr  s           r   _scriptr  j  s   D 8ABB<D MM	'))	n8 	& 	&CEsss$%%%%c


	' 	' 	'
 	?I??66)+<+<???@@@?I??66)+<+<???@@@7#377888Fi   i    bjoof%%&&& 	HQKKKKK&&HQKKKKK%HQKKKKKHQKKKKKhoodchqk2:%>>??@@@r   __main__r   )&r   r   r   r   r@   r   r   r   r   r   r   r   r   r*   r1   r8   rV   r`   ri   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   no_siter  r   rh   r   r   <module>r     s   EN 


 				      				 J(  
 		( ( (
& & &  .  &
 
 
, , ,^   2  @# # #0
K 
K 
K
 
 
  "     B   7 7 7   4, , ,90 90 90v1 1 1h/ / /(/ / /(  > y DFFF4 4 4l zGIIIII r   