Ë
    óÇ:jxu  ã            
      óÚ  — d Z ddlm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l	m
Z
 ddlmZmZ ddlmZ ddlmZ dd	lmZ dd
lmZmZ ddlmZ ddlmZ ddlmZmZmZmZ ddlm Z! dZ"ddddddœZ#ddddddœddddddœe#ddddddœddddddœdœZ$e"rd d d!d"d#dœe$d$<   d d d%d&d#dœe$d'<   e$jK                  e!jL                  «       dZ'd(„ Z(d)„ Z)d*„ Z*d+„ Z+d,„ Z,d-„ Z-d.„ Z.d/„ Z/d0„ Z0 G d1„ d2e«      Z1y)3zFdistutils.command.install

Implements the Distutils 'install' command.é    )ÚannotationsN)Úlog)Ú	USER_BASEÚ	USER_SITE)ÚClassVaré   )ÚCommand)ÚDEBUG)ÚDistutilsOptionErrorÚDistutilsPlatformError)Ú
write_file)Úget_config_vars)Úchange_rootÚconvert_pathÚget_platformÚ
subst_varsé   )Ú_framework_compatTz{base}/Lib/site-packagesz{base}/Include/{dist_name}z{base}/Scriptsz{base})ÚpurelibÚplatlibÚheadersÚscriptsÚdatazA{base}/lib/{implementation_lower}{py_version_short}/site-packageszN{platbase}/{platlibdir}/{implementation_lower}{py_version_short}/site-packageszM{base}/include/{implementation_lower}{py_version_short}{abiflags}/{dist_name}z
{base}/binz!{base}/lib/{implementation_lower}z*{base}/{platlibdir}/{implementation_lower}z1{base}/include/{implementation_lower}/{dist_name}z{base}/site-packagesz{base}/include/{dist_name})Úposix_prefixÚ
posix_homeÚntÚpypyÚpypy_ntz
{usersite}zF{userbase}/{implementation}{py_version_nodot_plat}/Include/{dist_name}z:{userbase}/{implementation}{py_version_nodot_plat}/Scriptsz
{userbase}Únt_userzQ{userbase}/include/{implementation_lower}{py_version_short}{abiflags}/{dist_name}z{userbase}/binÚ
posix_userc            	     óÚ   — t        j                  t        «      5  t        j                  «       D � ci c]  } | t        j
                  | d¬«      “Œ c} cd d d «       S c c} w # 1 sw Y   y xY w)NF)Úexpand)Ú
contextlibÚsuppressÚAttributeErrorÚ	sysconfigÚget_scheme_namesÚ	get_paths)Úschemes    úz/home/mcse/projects/srt_converter/srt-converter-venv/lib/python3.12/site-packages/setuptools/_distutils/command/install.pyÚ_load_sysconfig_schemesr+   c   sb   € Ü	×	Ñ	œ^Ó	,ñ 
ô $×4Ñ4Ó6ö
àð ”I×'Ñ'¨°uÔ=Ñ=ò
÷
ñ 
ùò
÷
ð 
ús   šA!±AÁA!ÁA!Á!A*c            	     óÜ   — t        «       xs i } t        t        j                  t        | «      «      D �ci c]-  }|i t        j                  |i «      ¥| j                  |i «      ¥“Œ/ c}S c c}w )z=
    Extend default schemes with schemes from sysconfig.
    )r+   ÚsetÚ	itertoolsÚchainÚINSTALL_SCHEMESÚget)Úsysconfig_schemesr)   s     r*   Ú_load_schemesr3   k   s{   € ô
 0Ó1Ò7°RÐô œ)Ÿ/™/¬/Ð;LÓMÓNöð
 ð	 	ð 
Ü×!Ñ! &¨"Ó-ð
à×#Ñ# F¨BÓ/ð
ñ 	
òð ùò s   ´2A)c                 ó&   — t        t        d«      ryy)NÚpypy_version_infoÚPyPyÚPython)ÚhasattrÚsys© ó    r*   Ú_get_implementationr<   {   s   € ÜŒsÐ'Ô(Øàr;   c                óš   — t        |t        t        |«      «      «      }t        | «      j	                  t        | t        |«      «      «       y ©N)Ú_inject_headersÚ_load_schemeÚ_resolve_schemeÚvarsÚupdateÚ_remove_setÚ_scheme_attrs)ÚobÚnamer)   s      r*   Ú_select_schemerH   ‚   s4   € Ü˜T¤<´ÀÓ0EÓ#FÓG€FÜˆƒH‡O�O”K ¤M°&Ó$9Ó:Õ;r;   c                óp   — |j                  «       D ��ci c]  \  }}t        | |«      �Œ||“Œ c}}S c c}}w )z1
    Include only attrs that are None in ob.
    )ÚitemsÚgetattr)rF   ÚattrsÚkeyÚvalues       r*   rD   rD   ‡   s2   € ð */¯©«×S™:˜3 ¼'À"ÀcÓ:JÑ:RˆC�‰JÓSÐSùÓSs   ”2©2c                ó¦   — | j                  d«      \  }}}	 t        j                  |«      }|S # t        $ r t	        j
                  | «      }Y |S w xY w)NÚ_)Ú	partitionr&   Úget_preferred_schemeÚ	ExceptionÚfwr)   )rG   Úos_nameÚseprM   Úresolveds        r*   rA   rA   Ž   sV   € ØŸ™ sÓ+Ñ€GˆS�#ð#Ü×1Ñ1°#Ó6ˆð €Oøô ò #Ü—9‘9˜T“?‰Ø€Oð#ús   —. ®AÁAc                ó   — t        «       |    S r>   )r3   )rG   s    r*   r@   r@   —   s   € Ü‹?˜4Ñ Ð r;   c                óF   — t        | «      }|j                  d|d   «       |S )z¾
    Given a scheme name and the resolved scheme,
    if the scheme does not include headers, resolve
    the fallback scheme for the name and use headers
    from it. pypa/distutils#88
    r   )r@   Ú
setdefault)rG   r)   Úfallbacks      r*   r?   r?   ›   s(   € ô ˜DÓ!€HØ
×Ñ�i ¨)Ñ!4Ô5Ø€Mr;   c                óB   — t         D �ci c]  }d|› �| |   “Œ c}S c c}w )z<Resolve install directories by applying the install schemes.Úinstall_)ÚSCHEME_KEYS)r)   rM   s     r*   rE   rE   ©   s&   € ä5@ÖA¨cˆh�s�eÐ˜f S™kÑ)ÒAÐAùÒAs   ‰c                  óN  — e Zd ZU dZg d¢Zg d¢Zded<   er)ej                  ddde	› d	�f«       ej                  d«       d
diZ
ded<   d)d„Zd)d„Zd)d„Zd)d„Zd)d„Zd)d„Zd„ Zd)d„Zd)d„Zd)d„Zd)d„Zd)d„Zd)d„Zd„ Zd„ Zd„ Zd„ Zd„ Zd „ Zd!„ Zd"„ Zd#efd$efd%efd&efd'd(„ fgZ y)*Úinstallz'install everything from build directory))zprefix=Nzinstallation prefix)zexec-prefix=Nz.(Unix only) prefix for platform-specific files)zhome=Nz+(Unix only) home directory to install under)zinstall-base=Nz;base installation directory (instead of --prefix or --home))zinstall-platbase=Nz\base installation directory for platform-specific files (instead of --exec-prefix or --home))zroot=Nz<install everything relative to this alternate root directory)zinstall-purelib=Nz;installation directory for pure Python module distributions)zinstall-platlib=Nz8installation directory for non-pure module distributions)zinstall-lib=Nzginstallation directory for all module distributions (overrides --install-purelib and --install-platlib))zinstall-headers=Nz(installation directory for C/C++ headers)zinstall-scripts=Nz)installation directory for Python scripts)zinstall-data=Nz%installation directory for data files)ÚcompileÚczcompile .py to .pyc [default])ú
no-compileNzdon't compile .py files)z	optimize=ÚOzlalso compile with optimization: -O1 for "python -O", -O2 for "python -OO", and -O0 to disable [default: -O0])ÚforceÚfz1force installation (overwrite any existing files))ú
skip-buildNz2skip rebuilding everything (for testing/debugging))zrecord=Nz3filename in which to record list of installed files)ra   re   rg   zClassVar[list[str]]Úboolean_optionsÚuserNzinstall in user site-package 'ú'rc   ra   zClassVar[dict[str, str]]Únegative_optc                ór  — d| _         d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _	        d| _
        d| _        d| _        t        | _        t        | _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        d| _        y)zInitializes options.NFT)ÚprefixÚexec_prefixÚhomeri   Úinstall_baseÚinstall_platbaseÚrootÚinstall_purelibÚinstall_platlibÚinstall_headersÚinstall_libÚinstall_scriptsÚinstall_datar   Úinstall_userbaser   Úinstall_usersitera   ÚoptimizeÚ
extra_pathÚinstall_path_filere   Ú
skip_buildÚwarn_dirÚ
build_baseÚ	build_libÚrecord©Úselfs    r*   Úinitialize_optionszinstall.initialize_options÷   sË   € ð #'ˆŒØ'+ˆÔØ $ˆŒ	ØˆŒ	ð
 !ˆÔØ $ˆÔØ $ˆŒ	ð  $ˆÔØ#ˆÔØ#ˆÔØ'+ˆÔØ#ˆÔØ ˆÔÜ )ˆÔÜ )ˆÔàˆŒØˆŒð ˆŒØ!%ˆÔð ˆŒ
ØˆŒØˆŒð ˆŒØˆŒð ˆ�r;   c                ó´	  — | j                   s| j                  s| j                  r#| j                  s| j                  rt        d«      ‚| j                  r#| j                   s| j                  rt        d«      ‚| j                  rG| j                   s0| j                  s$| j                  s| j                  s| j                  rt        d«      ‚t        j                  dk7  r$| j                  r| j                  d«       d| _        | j                  d«       t        j                  dk(  r| j                  «        n| j                  «        | j                  d«       t        j                  j                  «       d	   }t!        d
d«      \  }}	 t        j"                  }| j&                  j)                  «       | j&                  j+                  «       | j&                  j-                  «       |t        j.                  j0                  › dt        j.                  j2                  › �t        j.                  j0                  › t        j.                  j2                  › �|||||t5        t        dd«      t7        «       j9                  «       t7        «       dœ}t;        t5        t        dd«      j=                  dd«      ¬«      }t>        r| j@                  |d<   | jB                  |d<   tE        jF                  |tI        j                   «       |tK        jL                  «       «      | _'        | jQ                  «        | j                  d«       | j                  |d<   | j                  |d<   tR        r,d	dl*m*} tW        d«        |t;        | jN                  «      «       | jY                  «        | j                  d«       | j                  r| j[                  «        | j\                  €=| j&                  j_                  «       r| j`                  | _.        n| jb                  | _.        | je                  dddddddd«       | jg                  «        | j\                  | _4        t        jj                  jm                  | j\                  | jn                  «      | _.        | jp                  �| js                  d dddddd«       | j                  d!«       | ju                  d"d#d$«       y# t$        $ r d}Y �Œ>w xY w)%zFinalizes options.zWmust supply either prefix/exec-prefix/home or install-base/install-platbase -- not bothz9must supply either home or prefix/exec-prefix -- not bothzGcan't combine user with prefix, exec_prefix/home, or install_(plat)baseÚposixz+exec-prefix option ignored on this platformNzpre-finalize_{unix,other}zpost-finalize_{unix,other}()r   rm   rn   Ú ú.Ú
platlibdirÚlib)Ú	dist_nameÚdist_versionÚdist_fullnameÚ
py_versionÚpy_version_shortÚpy_version_nodotÚ
sys_prefixrm   Úsys_exec_prefixrn   ÚabiflagsrŠ   Úimplementation_lowerÚimplementationÚwinver)Úpy_version_nodot_platÚuserbaseÚusersitezpost-expand_basedirs()ÚbaseÚplatbase)Úpprintzconfig vars:zpost-expand_dirs()r   r   r   r   r   Úlibbasezafter prepending rootÚbuild)r€   r€   )r�   r�   );rm   rn   ro   rp   rq   r   ri   ÚosrG   ÚwarnÚ	dump_dirsÚfinalize_unixÚfinalize_otherr9   ÚversionÚsplitr   r”   r%   ÚdistributionÚget_nameÚget_versionÚget_fullnameÚversion_infoÚmajorÚminorrK   r<   ÚlowerÚdictÚreplaceÚHAS_USER_SITEry   rz   ÚcollectionsÚChainMapr&   rT   rB   Úconfig_varsÚexpand_basedirsr
   r�   ÚprintÚexpand_dirsÚcreate_home_pathrv   Úhas_ext_modulesrt   rs   Úconvert_pathsÚhandle_extra_pathÚinstall_libbaseÚpathÚjoinÚ
extra_dirsrr   Úchange_rootsÚset_undefined_options)r„   r�   rm   rn   r”   Ú
local_varsÚcompat_varsr�   s           r*   Úfinalize_optionszinstall.finalize_optionsD  s  € ð  �KŠK˜4×+Ò+¨t¯yªyØ×Ò ×!6Ò!6ä&Øióð ð �9Š9˜$Ÿ+š+¨×)9Ò)9Ü&ØKóð ð �9Š9Ø�KŠKØ×ÒØ�yŠyØ× Ò Ø×$Ò$ä&ð:óð ô �7‰7�gÒØ×ÒØ—	‘	ÐGÔHØ#'�Ô ð 	�‰Ð2Ô3ä�7‰7�gÒØ×ÑÕ à×ÑÔ!à�‰Ð5Ô6ô —[‘[×&Ñ&Ó(¨Ñ+ˆ
Ü /°¸-Ó HÑˆ�ð	Ü—|‘|ˆHð
 ×*Ñ*×3Ñ3Ó5Ø ×-Ñ-×9Ñ9Ó;Ø!×.Ñ.×;Ñ;Ó=Ø$Ü#&×#3Ñ#3×#9Ñ#9Ð":¸!¼C×<LÑ<L×<RÑ<RÐ;SÐ TÜ#&×#3Ñ#3×#9Ñ#9Ð":¼3×;KÑ;K×;QÑ;QÐ:RÐ SØ ØØ*Ø&Ø Ü!¤# |°UÓ;Ü$7Ó$9×$?Ñ$?Ó$AÜ1Ó3ñ
ˆ
ô$ ä")¬#¨x¸Ó"<×"DÑ"DÀSÈ"Ó"Mô
ˆõ
 Ø%)×%:Ñ%:ˆJ�zÑ"Ø%)×%:Ñ%:ˆJ�zÑ"ä&×/Ñ/ØÜ×%Ñ%Ó'ØÜ�G‰G‹Ió	
ˆÔð 	×ÑÔà�‰Ð/Ô0ð "×.Ñ.ˆ
�6ÑØ!%×!6Ñ!6ˆ
�:ÑåÝ%ä�.Ô!Ù”4˜×(Ñ(Ó)Ô*ð 	×ÑÔà�‰Ð+Ô,ð �9Š9Ø×!Ñ!Ô#ð ×ÑÐ#Ø× Ñ ×0Ñ0Ô2Ø#'×#7Ñ#7�Õ à#'×#7Ñ#7�Ô ð 	×ÑØØØØØØØØô		
ð  	×ÑÔ Ø#×/Ñ/ˆÔÜŸ7™7Ÿ<™<¨×(8Ñ(8¸$¿/¹/ÓJˆÔð �9‰9Ð Ø×ÑØ˜5 )¨Y¸	À6È9ôð 	�‰Ð.Ô/ð 	×"Ñ"ØÐ1Ð3Mõ	
øôQ ò 	à‹Hð	ús   ÆS ÓSÓSc                ót  — t         syddlm} t        j                  |dz   «       | j
                  D ]„  }|d   }|d   dk(  r|dd }|| j                  v r.| j                  |   }|j                  |«      }t        | |«       }n|j                  |«      }t        | |«      }t        j                  d||«       Œ† y)	zDumps the list of user options.Nr   )Úlongopt_xlateú:r   éÿÿÿÿú=z  %s: %s)	r
   Úfancy_getoptrÆ   r   ÚdebugÚuser_optionsrk   Ú	translaterK   )r„   ÚmsgrÆ   ÚoptÚopt_nameÚvals         r*   r¢   zinstall.dump_dirsû  s¹   € åØÝ0ä�	‰	�#˜‘)ÔØ×$Ñ$ò 	1ˆCØ˜1‘vˆHØ˜‰|˜sÒ"Ø# A b˜>�Ø˜4×,Ñ,Ñ,Ø×,Ñ,¨XÑ6�Ø#×-Ñ-¨mÓ<�Ü! $¨Ó1Ð1‘à#×-Ñ-¨mÓ<�Ü˜d HÓ-�Ü�I‰I�j (¨CÕ0ñ	1r;   c                óð  — | j                   €| j                  �l| j                  du xr | j                  du xr | j                  du xs. | j
                  du xs | j                  du xs | j                  du }|rt        d«      ‚y| j                  rA| j                  €t        d«      ‚| j                  x| _         | _        | j                  d«       y| j                  �*| j                  x| _         | _        | j                  d«       y| j                  €“| j                  �t        d«      ‚t!        t"        dd«      }t$        j&                  j)                  t*        j                  «      |z   | _        t$        j&                  j)                  t*        j                  «      |z   | _        n| j                  €| j                  | _        | j                  | _         | j                  | _        | j                  d	«       y)
z&Finalizes options for posix platforms.NzPinstall-base or install-platbase supplied, but installation scheme is incompleteú$User base directory is not specifiedr    r   z*must not supply exec-prefix without prefixÚ_prefix_additionrˆ   r   )rp   rq   rv   rs   rt   ru   rw   rx   r   ri   ry   r   Úselect_schemero   rm   rn   rK   r&   r    r½   Únormpathr9   )r„   Úincomplete_schemerÔ   s      r*   r£   zinstall.finalize_unix  sÙ  € à×ÑÐ(¨D×,AÑ,AÐ,Mð ×$Ñ$¨Ð,ò 5Ø×,Ñ,°Ð4ò5à×,Ñ,°Ð4ò-ð
 ×'Ñ'¨4Ð/ò-ð ×'Ñ'¨4Ð/ò-ð ×$Ñ$¨Ð,ð ñ !Ü*ð8óð ð à�9Š9Ø×$Ñ$Ð,Ü,Ð-SÓTÐTØ8<×8MÑ8MÐMˆDÔ Ô 5Ø×Ñ˜|Õ,Ø�Y‰YÐ"Ø8<¿	¹	ÐAˆDÔ Ô 5Ø×Ñ˜|Õ,à�{‰{Ð"Ø×#Ñ#Ð/Ü.ØDóð ô
 $+¬9Ð6HÈ"Ó#MÐ ä Ÿg™g×.Ñ.¬s¯z©zÓ:Ð=MÑM�”Ü#%§7¡7×#3Ñ#3´C·O±OÓ#DÐGWÑ#W�Õ ð ×#Ñ#Ð+Ø'+§{¡{�DÔ$à $§¡ˆDÔØ$(×$4Ñ$4ˆDÔ!Ø×Ñ˜~Õ.r;   c                ól  — | j                   rR| j                  €t        d«      ‚| j                  x| _        | _        | j                  t        j                  dz   «       y| j                  �*| j                  x| _        | _        | j                  d«       y| j                  €2t        j                  j                  t        j                  «      | _	        | j                  x| _        | _        	 | j                  t        j                  «       y# t        $ r t        dt        j                  › d�«      ‚w xY w)z)Finalizes options for non-posix platformsNrÓ   Ú_userr   z&I don't know how to install stuff on 'rj   )ri   ry   r   rp   rq   rÕ   r    rG   ro   rm   r½   rÖ   r9   ÚKeyErrorrƒ   s    r*   r¤   zinstall.finalize_other@  sõ   € à�9Š9Ø×$Ñ$Ð,Ü,Ð-SÓTÐTØ8<×8MÑ8MÐMˆDÔ Ô 5Ø×ÑœrŸw™w¨Ñ0Õ1Ø�Y‰YÐ"Ø8<¿	¹	ÐAˆDÔ Ô 5Ø×Ñ˜|Õ,à�{‰{Ð"Ü Ÿg™g×.Ñ.¬s¯z©zÓ:�”à8<¿¹ÐCˆDÔ Ô 5ðØ×"Ñ"¤2§7¡7Õ+øÜò Ü,Ø<¼R¿W¹W¸IÀQÐGóð ðús   Ã,D Ä'D3c                ó   — t        | |«       y r>   )rH   )r„   rG   s     r*   rÕ   zinstall.select_schemeV  s   € Ü�t˜TÕ"r;   c                óØ   — |D ]e  }t        | |«      }|€Œt        j                  dv rt        j                  j	                  |«      }t        || j                  «      }t        | ||«       Œg y )N)r‡   r   )rK   r    rG   r½   Ú
expanduserr   r´   Úsetattr)r„   rL   ÚattrrÑ   s       r*   Ú_expand_attrszinstall._expand_attrsY  s`   € Øò 	)ˆDÜ˜$ Ó%ˆCØ‰Ü—7‘7˜oÑ-ÜŸ'™'×,Ñ,¨SÓ1�CÜ   d×&6Ñ&6Ó7�Ü˜˜d CÕ(ñ	)r;   c                ó*   — | j                  g d¢«       y)zNCalls `os.path.expanduser` on install_base, install_platbase and
        root.)rp   rq   rr   N©rà   rƒ   s    r*   rµ   zinstall.expand_basedirsb  s   € ð 	×ÑÒGÕHr;   c                ó*   — | j                  g d¢«       y)z+Calls `os.path.expanduser` on install dirs.)rs   rt   rv   ru   rw   rx   Nrâ   rƒ   s    r*   r·   zinstall.expand_dirsg  s   € à×Ñò 
õ 	r;   c                ó\   — |D ]'  }d|z   }t        | |t        t        | |«      «      «       Œ) y)z!Call `convert_path` over `names`.r]   N)rÞ   r   rK   ©r„   ÚnamesrG   rß   s       r*   rº   zinstall.convert_pathsr  s5   € àò 	CˆDØ Ñ$ˆDÜ�D˜$¤¬W°T¸4Ó-@Ó AÕBñ	Cr;   c                óþ  — | j                   €| j                  j                   | _         | j                   �¸t        j                  d«       t	        | j                   t
        «      r | j                   j                  d«      | _         t        | j                   «      dk(  r| j                   d   x}}n3t        | j                   «      dk(  r| j                   \  }}nt        d«      ‚t        |«      }nd}d}|| _
        || _        y)	z4Set `path_file` and `extra_dirs` using `extra_path`.NzIDistribution option extra_path is deprecated. See issue27919 for details.ú,r   r   r   zY'extra_path' option must be a list, tuple, or comma-separated string with 1 or 2 elementsrˆ   )r|   r§   r   ÚwarningÚ
isinstanceÚstrr¦   Úlenr   r   Ú	path_filer¿   )r„   rí   r¿   s      r*   r»   zinstall.handle_extra_pathx  sÜ   € à�?‰?Ð"Ø"×/Ñ/×:Ñ:ˆDŒOà�?‰?Ð&Ü�K‰Kð.ôô ˜$Ÿ/™/¬3Ô/Ø"&§/¡/×"7Ñ"7¸Ó"<�”ä�4—?‘?Ó# qÒ(Ø)-¯©¸Ñ);Ð;�	™JÜ�T—_‘_Ó%¨Ò*Ø(,¯©Ñ%�	™:ä*ðBóð ô & jÓ1‰JàˆIØˆJð #ˆŒØ$ˆ�r;   c                ór   — |D ]2  }d|z   }t        | |t        | j                  t        | |«      «      «       Œ4 y)z:Change the install directories pointed by name using root.r]   N)rÞ   r   rr   rK   rå   s       r*   rÀ   zinstall.change_roots›  s;   € àò 	MˆDØ Ñ$ˆDÜ�D˜$¤¨D¯I©I´w¸tÀTÓ7JÓ KÕLñ	Mr;   c                óx  — | j                   syt        t        j                  j	                  d«      «      }| j
                  j                  «       D ]h  }t        |«      j                  |«      sŒt        j                  j                  |«      rŒ>| j                  d|› d�«       t        j                  |d«       Œj y)zCreate directories under ~.Nú~zos.makedirs('z	', 0o700)iÀ  )ri   r   r    r½   rÝ   r´   Úvaluesrë   Ú
startswithÚisdirÚdebug_printÚmakedirs)r„   ro   r½   s      r*   r¸   zinstall.create_home_path¡  s‰   € à�yŠyØÜœBŸG™G×.Ñ.¨sÓ3Ó4ˆØ×$Ñ$×+Ñ+Ó-ò 	)ˆDÜ�4‹y×#Ñ# DÕ)´"·'±'·-±-ÀÕ2EØ× Ñ  =°°°iÐ!@ÔAÜ—‘˜D %Õ(ñ	)r;   c                óF  — | j                   sZ| j                  d«       | j                  j                  d«      j                  }| j
                  r|t        «       k7  rt        d«      ‚| j                  «       D ]  }| j                  |«       Œ | j                  r| j                  «        | j                  r†| j                  «       }| j                  r9t        | j                  «      }t        t        |«      «      D ]  }||   |d ||<   Œ | j!                  t"        | j                  |fd| j                  › d�«       t%        t&        j(                  j*                  t,        j(                  «      }t%        t&        j(                  j.                  |«      }t&        j(                  j/                  t&        j(                  j+                  | j0                  «      «      }| j
                  r?| j                  r| j2                  s&||vr!t5        j6                  d| j0                  «       yyyy)zRuns the command.rŸ   z"Can't install when cross-compilingNz$writing list of installed files to 'rj   zƒmodules installed to '%s', which is not in Python's module search path (sys.path) -- you'll have to change the search path yourself)r~   Úrun_commandr§   Úget_command_objÚ	plat_namer   r   r   Úget_sub_commandsrí   Úcreate_path_filer‚   Úget_outputsrr   rì   ÚrangeÚexecuter   Úmapr    r½   rÖ   r9   Únormcaserv   r}   r   rË   )r„   Ú
build_platÚcmd_nameÚoutputsÚroot_lenÚcounterÚsys_pathrv   s           r*   Úrunzinstall.run­  s»  € ð �ŠØ×Ñ˜WÔ%à×*Ñ*×:Ñ:¸7ÓC×MÑMˆJð �}Š} ¬|«~Ò!=Ü,Ð-QÓRÐRð ×-Ñ-Ó/ò 	'ˆHØ×Ñ˜XÕ&ð	'ð �>Š>Ø×!Ñ!Ô#ð �;Š;Ø×&Ñ&Ó(ˆGØ�yŠyÜ˜tŸy™y›>�Ü$¤S¨£\Ó2ò C�GØ'.¨wÑ'7¸¸	Ð'B�G˜GÒ$ðCà�L‰LÜØ—‘˜gÐ&Ø6°t·{±{°mÀ1ÐEôô ”r—w‘w×'Ñ'¬¯©Ó2ˆÜ”r—w‘w×'Ñ'¨Ó2ˆÜ—g‘g×&Ñ&¤r§w¡w×'7Ñ'7¸×8HÑ8HÓ'IÓJˆà�MŠMØ—^’^¨×(>Ò(>Ø 8Ñ+ä�I‰IðEð × Ñ õð ,ð )?ð r;   c                ó  — t         j                  j                  | j                  | j                  dz   «      }| j
                  r(| j                  t        || j                  gfd|› �«       y| j                  d|› d�«       y)zCreates the .pth fileú.pthz	creating zpath file 'z' not createdN)
r    r½   r¾   r¼   rí   r}   rþ   r   r¿   r¡   )r„   Úfilenames     r*   rû   zinstall.create_path_fileß  sk   € ä—7‘7—<‘< × 4Ñ 4°d·n±nÀvÑ6MÓNˆØ×!Ò!Ø�L‰LÜ˜X¨¯©Ð'8Ð9¸YÀxÀjÐ;Qõð �I‰I˜ H :¨]Ð;Õ<r;   c                óh  — g }| j                  «       D ]>  }| j                  |«      }|j                  «       D ]  }||vsŒ|j                  |«       Œ Œ@ | j                  rR| j
                  rF|j                  t        j                  j                  | j                  | j                  dz   «      «       |S )z.Assembles the outputs of all the sub-commands.r	  )
rú   Úget_finalized_commandrü   Úappendrí   r}   r    r½   r¾   r¼   )r„   r  r  Úcmdr
  s        r*   rü   zinstall.get_outputsë  s›   € àˆØ×-Ñ-Ó/ò 	-ˆHØ×,Ñ,¨XÓ6ˆCð  ŸO™OÓ-ò -�Ø 7Ò*Ø—N‘N 8Õ,ñ-ð		-ð �>Š>˜d×4Ò4Ø�N‰Nœ2Ÿ7™7Ÿ<™<¨×(<Ñ(<¸d¿n¹nÈvÑ>UÓVÔWàˆr;   c                ó”   — g }| j                  «       D ]2  }| j                  |«      }|j                  |j                  «       «       Œ4 |S )z*Returns the inputs of all the sub-commands)rú   r  ÚextendÚ
get_inputs)r„   Úinputsr  r  s       r*   r  zinstall.get_inputsû  sK   € ð ˆØ×-Ñ-Ó/ò 	,ˆHØ×,Ñ,¨XÓ6ˆCØ�M‰M˜#Ÿ.™.Ó*Õ+ð	,ð ˆr;   c                ón   — | j                   j                  «       xs | j                   j                  «       S )zSReturns true if the current distribution has any Python
        modules to install.)r§   Úhas_pure_modulesr¹   rƒ   s    r*   Úhas_libzinstall.has_lib  s/   € ð ×Ñ×.Ñ.Ó0ÒW°D×4EÑ4E×4UÑ4UÓ4Wð	
r;   c                ó6   — | j                   j                  «       S )zLReturns true if the current distribution has any headers to
        install.)r§   Úhas_headersrƒ   s    r*   r  zinstall.has_headers  ó   € ð × Ñ ×,Ñ,Ó.Ð.r;   c                ó6   — | j                   j                  «       S )zMReturns true if the current distribution has any scripts to.
        install.)r§   Úhas_scriptsrƒ   s    r*   r  zinstall.has_scripts  r  r;   c                ó6   — | j                   j                  «       S )zJReturns true if the current distribution has any data to.
        install.)r§   Úhas_data_filesrƒ   s    r*   Úhas_datazinstall.has_data  s   € ð × Ñ ×/Ñ/Ó1Ð1r;   rv   ru   rw   rx   Úinstall_egg_infoc                 ó   — y)NTr:   rƒ   s    r*   ú<lambda>zinstall.<lambda>$  s   � r;   )ÚreturnÚNone)!Ú__name__Ú
__module__Ú__qualname__ÚdescriptionrÌ   rh   Ú__annotations__r±   r  r   rk   r…   rÄ   r¢   r£   r¤   rÕ   rà   rµ   r·   rº   r»   rÀ   r¸   r  rû   rü   r  r  r  r  r  Úsub_commandsr:   r;   r*   r`   r`   ®   s
  … Ø;€Kò8€Lòt ,N€OÐ(ÓMáØ×ÑØØØ,¨Y¨K°qÐ9ð
ô 	ð
 	×Ñ˜vÔ&à.:¸IÐ-F€LÐ*ÓFóEóZr
ón1ó(//óbó,#ò)óIó
	óCó!%óFMó)ò0òd=òò ò
ò/ò
/ò
2ð 
˜Ð Ø	˜KÐ(Ø	˜KÐ(Ø	˜Ð"Ø	Ñ.Ð/ð�Lr;   r`   )2Ú__doc__Ú
__future__r   r²   r#   r.   r    r9   r&   Údistutils._logr   Úsiter   r   Útypingr   Úcorer	   rË   r
   Úerrorsr   r   Ú	file_utilr   r   Úutilr   r   r   r   rˆ   r   rT   r±   ÚWINDOWS_SCHEMEr0   rC   Úschemesr^   r+   r3   r<   rH   rD   rA   r@   r?   rE   r`   r:   r;   r*   ú<module>r4     sa  ðñ/õ #ã Û Û Û 	Û 
Û Ý ß %Ý å Ý ß AÝ "Ý 'ß FÓ FÝ %à€ð *Ø)Ø+ØØñ€ð Wð+ð3àØñð 7Ø?ØFØØñð à)Ø)Ø/ØØñð *Ø)Ø/Ø#Øññ3 €ñF àØðàOØñ"€O�IÑð  Øð3à#Øñ%€O�LÑ!ð × Ñ �r—z‘zÔ "ð C€ò
òò ò<ò
Tòò!òòBô
w	ˆgõ w	r;   