
    r|Ciy                        S r  \" S5      R                  5         SSKrSSKrSSKrSSKJ	r
  SSKJr  SSKJr  SSKJr  SSKJrJrJrJrJr  SS	KJr  SS
KJr  SSKJr  SSKJr  \R>                  " \ 5      r!     SSS.S\"S\#S\\"   S\\"   S\#S\\"   S\#S\\"\"4   4S jjjr$     SS\"S\#S\\"   S\\"   S\#S\\"   S\4S jjr%S\"4S jr&S\"4S jr'S\"4S jr(g! \\4 a     Nf = f)z7Locations where we look for configs, install stuff, etc_distutils_hack    N)Command)SCHEME_KEYS)installget_python_lib)DictListOptionalUnioncast)Scheme)WINDOWS)running_under_virtualenv   )get_major_minor_versionF)ignore_config_files	dist_nameuserhomerootisolatedprefixr   returnc                D   SSK Jn  SU 0nU(       a  S/US'   U" U5      n	U(       d   U	R                  5         S	nU	R                  S
SS9nUc   e[        [        U5      nU(       a  U(       a   SU SU 35       eU(       a  U(       a   SU SU 35       eU=(       d    UR                  Ul        U(       d  U(       a  SUl        U=(       d    UR                  Ul        U=(       d    UR                  Ul        U=(       d    UR                  Ul        UR                  5         0 n[          H  n[#        USU-   5      X'   M     SU	R%                  S
5      ;   a(  UR'                  UR(                  UR(                  S.5        [+        5       (       a  U(       a  UnO U(       a  UR,                  nOUR                  n[.        R0                  R                  USSS[3        5        3U 5      US'   Ubg  [.        R0                  R5                  [.        R0                  R7                  US   5      5      S   n[.        R0                  R                  X?SS	 5      US'   U$ ! [         a@    U	R	                  5       n
[
        R                  SSR                  S U
 5       5      5         GNff = f)z#
Return a distutils install scheme
r   )Distributionnamez--no-user-cfgscript_argsz6Ignore distutils configs in %s due to encoding errors.z, c              3   ^   #    U H$  n[         R                  R                  U5      v   M&     g 7f)N)ospathbasename).0ps     Z/var/www/html/troy/venv/lib/python3.13/site-packages/pip/_internal/locations/_distutils.py	<genexpr>#distutils_scheme.<locals>.<genexpr>>   s"     =u!"''**1--us   +-Nr   T)createzuser=z prefix=zhome= install_install_lib)purelibplatlibincludesitepythonheadersr   )distutils.distr   parse_config_filesUnicodeDecodeErrorfind_config_filesloggerwarningjoinget_command_objr   distutils_install_commandr   r   r   r   finalize_optionsr   getattrget_option_dictupdater+   r   install_userbaser    r!   r   
splitdriveabspath)r   r   r   r   r   r   r   r   	dist_argsdpathsobjischemekeypath_no_drives                   r%   distutils_schemerJ   #   sE    ,3992EI$3#4	- YA	  " '+C


Id

3C??&,A @E$xx"@@ @E$xx"@@ ^QVVAFt!AH^QVVAF^QVVAFFac!12  )))44!--AMMJK!!F''FXXFGGLL,./0
y GG..rwwvi?P/QRSTUM "T3D EF9Mm " 	'')ENNH		=u==	s   I AJJc                 T    [        XX#XE5      n[        US   US   US   US   US   S9$ )a  
Get the "scheme" corresponding to the input parameters. The distutils
documentation provides the context for the available schemes:
https://docs.python.org/3/install/index.html#alternate-installation

:param dist_name: the name of the package to retrieve the scheme for, used
    in the headers scheme path
:param user: indicates to use the "user" scheme
:param home: indicates to use the "home" scheme and provides the base
    directory for the same
:param root: root under which other directories are re-based
:param isolated: equivalent to --no-user-cfg, i.e. do not consider
    ~/.pydistutils.cfg (posix) or ~/pydistutils.cfg (non-posix) for
    scheme paths
:param prefix: indicates to use the "prefix" scheme and provides the
    base directory for the same
r-   r,   r1   scriptsdata)r-   r,   r1   rL   rM   )rJ   r   )r   r   r   r   r   r   rG   s          r%   
get_schemerN   s   sF    2 it8LFy!y!y!y!F^     c                     [         R                  R                  [        R                  5      n [
        (       af  [         R                  R                  U S5      n[         R                  R                  U5      (       d   [         R                  R                  U S5      nU$ [        R                  S S S:X  a
  U S S S:X  a  g[         R                  R                  U S5      $ )NScriptsbin   darwin   z/System/Library/z/usr/local/bin)	r    r!   normpathsysr   r   r8   existsplatform)r   bin_pys     r%   get_bin_prefixr[      s     WWcjj)Fwfi0ww~~f%%WW\\&%0F ||BQ8#s7I(I77<<&&rO   c                      [        SS9$ )NFplat_specificr    rO   r%   get_purelibr`      s    ..rO   c                      [        SS9$ )NTr]   r   r_   rO   r%   get_platlibrb      s    --rO   )FNNFN))__doc__
__import__remove_shimImportErrorAttributeErrorloggingr    rW   distutils.cmdr   DistutilsCommanddistutils.command.installr   r   r:   distutils.sysconfigr   typingr	   r
   r   r   r   pip._internal.models.schemer   pip._internal.utils.compatr   pip._internal.utils.virtualenvr   baser   	getLogger__name__r6   strboolrJ   rN   r[   r`   rb   r_   rO   r%   <module>rv      s   =	 !--/  	 
 5 1 J . 4 4 . . C )			8	$
  M !&MM
M 3-M 3-	M
 M SMM M 
#s(^Md    
  3-  3-	 
   SM   F' '"/S /.S .{ 	^$ 		s   C C('C(