Ë
    ��h¬*  ã            
       ó²  — 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lmZ ddl	m
Z
 ddlmZmZmZmZmZmZ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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* erddl+m,Z,  ejZ                  e.«      Z/de0de0deee0   ee0e0f   f   fd„Z1 G d„ d«      Z2de0fd„Z3dee0   fd„Z4 G d„ d«      Z5 G d„ de5«      Z6y)z:Build Environment used for isolation during sdist buildingé    N)ÚOrderedDict)ÚTracebackType)ÚTYPE_CHECKINGÚIterableÚListÚOptionalÚSetÚTupleÚTypeÚUnion)ÚVersion)Ú__file__)Úopen_spinner)Úget_platlibÚget_purelibÚ
get_scheme)Úget_default_environmentÚget_environment)ÚVERBOSE)Úget_requirement)Úcall_subprocess)ÚTempDirectoryÚtempdir_kinds)ÚPackageFinderÚaÚbÚreturnc                 ó   — | |k7  r| |fS | fS ©N© )r   r   s     úU/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_internal/build_env.pyÚ_dedupr"      s   € Ø˜!’VˆAˆqˆ6Ð% ! Ð%ó    c                   ó   — e Zd Zdeddfd„Zy)Ú_PrefixÚpathr   Nc                 ó¦   — || _         d| _        t        d|¬«      }|j                  | _        t        |j                  |j                  «      | _        y )NFÚ )Úprefix)	r&   Úsetupr   ÚscriptsÚbin_dirr"   ÚpurelibÚplatlibÚlib_dirs)Úselfr&   Úschemes      r!   Ú__init__z_Prefix.__init__#   s=   € ØˆŒ	ØˆŒ
Ü˜B tÔ,ˆØ—~‘~ˆŒÜ˜vŸ~™~¨v¯~©~Ó>ˆ�r#   )Ú__name__Ú
__module__Ú__qualname__Ústrr2   r    r#   r!   r%   r%   "   s   „ ð?˜Sð ? Tô ?r#   r%   c                  óÊ   — t        j                  t        «      j                  «       j                  } | j                  «       st        | «      S t        j                  | dz  «      S )z¸Get a file to pass to a Python executable, to run the currently-running pip.

    This is used to run a pip subprocess, for installing requirements into the build
    environment.
    z__pip-runner__.py)	ÚpathlibÚPathÚpip_locationÚresolveÚparentÚis_dirr6   ÚosÚfsdecode)Úsources    r!   Úget_runnable_piprA   +   sK   € ô �\‰\œ,Ó'×/Ñ/Ó1×8Ñ8€Fà�=‰=Œ?ô �6‹{Ðä�;‰;�vÐ 3Ñ3Ó4Ð4r#   c                  óØ   — t        t        d«      rt        j                  «       } nt        «       t	        «       g} | D �ch c]!  }t
        j                  j                  |«      ’Œ# c}S c c}w )zâGet system site packages

    Usually from site.getsitepackages,
    but fallback on `get_purelib()/get_platlib()` if unavailable
    (e.g. in a virtualenv created by virtualenv<20)

    Returns normalized set of strings.
    Úgetsitepackages)ÚhasattrÚsiterC   r   r   r>   r&   Únormcase)Úsystem_sitesr&   s     r!   Ú_get_system_sitepackagesrH   ;   sP   € ô ŒtÐ&Ô'Ü×+Ñ+Ó-‰ô $›¤{£}Ð5ˆØ/;Ö< tŒB�G‰G×Ñ˜TÕ"Ò<Ð<ùÒ<s   ¾&A'c                   óØ   — e Zd ZdZdd„Zdd„Zdeee      dee   dee	   ddfd	„Z
d
ee   deeeeef      ee   f   fd„Zdddee   dededdf
d„Zededddee   dededdfd„«       Zy)ÚBuildEnvironmentzACreates and manages an isolated environment to install build depsr   Nc                 ó–  ‡— t        t        j                  d¬«      Št        ˆfd„dD «       «      | _        g | _        g | _        t        t        | j                  j                  «       «      «      D ]L  }| j
                  j                  |j                  «       | j                  j                  |j                  «       ŒN t        «       }t        j                   j#                  ‰j                   d«      | _        t        j                   j'                  | j$                  «      st        j(                  | j$                  «       t+        t        j                   j#                  | j$                  d«      dd¬	«      5 }|j-                  t/        j0                  d
«      j3                  || j                  ¬«      «       d d d «       y # 1 sw Y   y xY w)NT)ÚkindÚglobally_managedc              3   óˆ   •K  — | ]9  }|t        t        j                  j                  ‰j                  |«      «      f–— Œ; y ­wr   )r%   r>   r&   Újoin)Ú.0ÚnameÚtemp_dirs     €r!   ú	<genexpr>z,BuildEnvironment.__init__.<locals>.<genexpr>U   s6   øè ø€ ò %
àð ”7œ2Ÿ7™7Ÿ<™<¨¯©°tÓ<Ó=Ô>ñ%
ùs   ƒ?A)ÚnormalÚoverlayrE   zsitecustomize.pyÚwzutf-8)ÚencodingaŸ  
                import os, site, sys

                # First, drop system-sites related paths.
                original_sys_path = sys.path[:]
                known_paths = set()
                for path in {system_sites!r}:
                    site.addsitedir(path, known_paths=known_paths)
                system_paths = set(
                    os.path.normcase(path)
                    for path in sys.path[len(original_sys_path):]
                )
                original_sys_path = [
                    path for path in original_sys_path
                    if os.path.normcase(path) not in system_paths
                ]
                sys.path = original_sys_path

                # Second, add lib directories.
                # ensuring .pth file are processed.
                for path in {lib_dirs!r}:
                    assert not path in sys.path
                    site.addsitedir(path)
                )rG   r/   )r   r   Ú	BUILD_ENVr   Ú	_prefixesÚ	_bin_dirsÚ	_lib_dirsÚreversedÚlistÚvaluesÚappendr,   Úextendr/   rH   r>   r&   rO   Ú	_site_dirÚexistsÚmkdirÚopenÚwriteÚtextwrapÚdedentÚformat)r0   r)   rG   ÚfprR   s       @r!   r2   zBuildEnvironment.__init__R   sE  ø€ Ü ¤m×&=Ñ&=ÐPTÔUˆä$ó %
à-ô%
ó 
ˆŒð
 %'ˆŒØ$&ˆŒÜœt D§N¡N×$9Ñ$9Ó$;Ó<Ó=ò 	3ˆFØ�N‰N×!Ñ! &§.¡.Ô1Ø�N‰N×!Ñ! &§/¡/Õ2ð	3ô 0Ó1ˆäŸ™Ÿ™ h§m¡m°VÓ<ˆŒÜ�w‰w�~‰~˜dŸn™nÔ-Ü�H‰H�T—^‘^Ô$ÜÜ�G‰G�L‰L˜Ÿ™Ð);Ó<¸cÈGô
ð 	àØ�H‰HÜ—‘ðó÷2 ‘& l¸T¿^¹^�&ÓLô5÷	÷ 	ñ 	ús   Å6A F?Æ?Gc                 óæ  — dD �ci c]#  }|t         j                  j                  |d «      “Œ% c}| _        | j                  d d  }| j                  d   }|r.|j                  |j                  t         j                  «      «       | j                  g}t         j                  j                  t         j                  j                  |«      dt         j                  j                  |«      dœ«       y c c}w )N)ÚPATHÚPYTHONNOUSERSITEÚ
PYTHONPATHrk   Ú1)r>   ÚenvironÚgetÚ	_save_envrZ   r`   ÚsplitÚpathsepra   ÚupdaterO   )r0   rQ   r&   Úold_pathÚ
pythonpaths        r!   Ú	__enter__zBuildEnvironment.__enter__ˆ   s¸   € ð Cö
àð ”"—*‘*—.‘.  tÓ,Ñ,ò
ˆŒð
 �~‰~™aÐ ˆØ—>‘> &Ñ)ˆÙØ�K‰K˜Ÿ™¤r§z¡zÓ2Ô3à—n‘nÐ%ˆ
ä
�
‰
×ÑäŸ
™
Ÿ™¨Ó-Ø$'Ü Ÿj™jŸo™o¨jÓ9ñõ	
ùò
s   …(C.Úexc_typeÚexc_valÚexc_tbc                 ó´   — | j                   j                  «       D ];  \  }}|€!t        j                  j	                  |d «       Œ)|t        j                  |<   Œ= y r   )rq   Úitemsr>   ro   Úpop)r0   rx   ry   rz   ÚvarnameÚ	old_values         r!   Ú__exit__zBuildEnvironment.__exit__�   sK   € ð #'§.¡.×"6Ñ"6Ó"8ò 	0ÑˆG�YØÐ Ü—
‘
—‘˜w¨Õ-à&/”—
‘
˜7Ò#ñ		0r#   Úreqsc                 ó|  — t        «       }t        «       }|�r"t        | d«      rt        | j                  «      n	t	        «       }|D ]ò  }t        |«      }|j                  �|j                  j                  ddi«      sŒ8|j                  |j                  «      }|s|j                  |«       Œgt        |j                  t        «      r|j                  › d|j                  › �}n|j                  › d|j                  › �}|j                  j                  |j                  d¬«      rŒà|j                  ||f«       Œô ||fS )zŽReturn 2 sets:
        - conflicting requirements: set of (installed, wanted) reqs tuples
        - missing requirements: set of reqs
        r[   Úextrar(   z==z===T)Úprereleases)ÚsetrD   r   r[   r   r   ÚmarkerÚevaluateÚget_distributionrQ   ÚaddÚ
isinstanceÚversionr   Ú	specifierÚcontains)	r0   r�   ÚmissingÚconflictingÚenvÚreq_strÚreqÚdistÚinstalled_req_strs	            r!   Úcheck_requirementsz#BuildEnvironment.check_requirements©   s  € ô “%ˆÜ“eˆÚô ˜4 Ô-ô   §¡Ô/ä,Ó.ð ð
  ò B�Ü% gÓ.�ð —:‘:Ð)°#·*±*×2EÑ2EÀwÐPRÀmÔ2TØØ×+Ñ+¨C¯H©HÓ5�ÙØ—K‘K Ô(ØÜ˜dŸl™l¬GÔ4Ø+.¯8©8¨*°B°t·|±|°nÐ(EÑ%à+.¯8©8¨*°C¸¿¹°~Ð(FÐ%Ø—}‘}×-Ñ-¨d¯l©lÈÐ-ÕMØ—O‘OÐ%6¸Ð$@ÕAðBð" ˜GÐ#Ð#r#   Úfinderr   ÚrequirementsÚprefix_as_stringrL   c                óŽ   — | j                   |   }|j                  rJ ‚d|_        |sy | j                  t        «       ||||¬«       y )NT)rL   )rY   r*   Ú_install_requirementsrA   )r0   r–   r—   r˜   rL   r)   s         r!   Úinstall_requirementsz%BuildEnvironment.install_requirementsË   sR   € ð —‘Ð 0Ñ1ˆØ—<’<ÐÐØˆŒÙØØ×"Ñ"ÜÓØØØØð 	#õ 	
r#   Úpip_runnabler)   c                ó"  — t         j                  | dddd|j                  ddddd	g}t        j	                  «       t
        j                  k  r|j                  d
«       n,t        j	                  «       t        k  r|j                  d«       dD ][  }t        |j                  |«      }|j                  d|j                  dd«      z   dj                  t        |xs dh«      «      f«       Œ] |j                  }|r4|j                  d|d   g«       |dd  D ]  }	|j                  d|	g«       Œ n|j                  d«       |j                   D ]  }
|j                  d|
g«       Œ |j"                  r|j                  d|j"                  g«       |j$                  D ]  }|j                  d|g«       Œ |j&                  r|j                  d|j&                  g«       |j(                  r|j                  d|j(                  g«       |j*                  r|j                  d«       |j,                  r|j                  d«       |j                  d«       |j                  |«       t/        d|› �«      5 }t1        |d|› �|¬ «       d d d «       y # 1 sw Y   y xY w)!NÚinstallz--ignore-installedz	--no-userz--prefixz--no-warn-script-locationz--disable-pip-version-checkz--no-compilez--targetr(   z-vvz-v)Ú	no_binaryÚonly_binaryz--Ú_ú-ú,z:none:z-ir   é   z--extra-index-urlz
--no-indexz--find-linksz--proxyz--trusted-hostz--certz--client-certz--prez--prefer-binaryzInstalling zpip subprocess to install )Úcommand_descÚspinner)ÚsysÚ
executabler&   ÚloggerÚgetEffectiveLevelÚloggingÚDEBUGr_   r   ÚgetattrÚformat_controlr`   ÚreplacerO   ÚsortedÚ
index_urlsÚ
find_linksÚproxyÚtrusted_hostsÚcustom_certÚclient_certÚallow_all_prereleasesÚprefer_binaryr   r   )rœ   r–   r—   r)   rL   Úargsr®   Úformatsr±   Úextra_indexÚlinkÚhostr¦   s                r!   rš   z&BuildEnvironment._install_requirementsà   sb  € ô �N‰NØØØ ØØØ�K‰KØ'Ø)ð ð Øð#
ˆô& ×#Ñ#Ó%¬¯©Ò6Ø�K‰K˜ÕÜ×%Ñ%Ó'¬7Ò2Ø�K‰K˜ÔØ:ò 	ˆNÜ˜f×3Ñ3°^ÓDˆGØ�K‰Kà˜>×1Ñ1°#°sÓ;Ñ;Ø—H‘HœV GÒ$9°¨zÓ:Ó;ðõð	ð ×&Ñ&ˆ
ÙØ�K‰K˜˜z¨!™}Ð-Ô.Ø)¨!¨"˜~ò @�Ø—‘Ð0°+Ð>Õ?ñ@ð �K‰K˜Ô%Ø×%Ñ%ò 	0ˆDØ�K‰K˜¨Ð.Õ/ð	0ð �<Š<Ø�K‰K˜ F§L¡LÐ1Ô2Ø×(Ñ(ò 	2ˆDØ�K‰KÐ)¨4Ð0Õ1ð	2à×ÒØ�K‰K˜ 6×#5Ñ#5Ð6Ô7Ø×ÒØ�K‰K˜¨&×*<Ñ*<Ð=Ô>Ø×'Ò'Ø�K‰K˜Ô Ø×ÒØ�K‰KÐ)Ô*Ø�‰�DÔØ�‰�LÔ!Ü˜K¨ vÐ.Ó/ð 	°7ÜØØ9¸$¸Ð@Øõ÷	÷ 	ñ 	ús   É*JÊJ©r   N)r3   r4   r5   Ú__doc__r2   rw   r   r   ÚBaseExceptionr   r€   r   r6   r
   r	   r•   r›   Ústaticmethodr%   rš   r    r#   r!   rJ   rJ   O   s  „ ÙKó4ól
ð*
0à˜4 Ñ.Ñ/ð
0ð ˜-Ñ(ð
0ð ˜Ñ'ð	
0ð
 
ó
0ð $Ø˜S‘Mð $à	ˆs�5˜˜c˜‘?Ñ# S¨¡XÐ-Ñ	.ó $ðD
àð
ð ˜s‘mð
ð ð	
ð ð
ð 
ó
ð* ðEØðEàðEð ˜s‘mðEð ð	Eð ðEð 
òEó ñEr#   rJ   c            
       óz   — e Zd ZdZdd„Zdd„Zdeee      dee   dee	   ddfd	„Z
dd
„Zdddee   dededdf
d„Zy)ÚNoOpBuildEnvironmentz0A no-op drop-in replacement for BuildEnvironmentr   Nc                  ó   — y r   r    ©r0   s    r!   r2   zNoOpBuildEnvironment.__init__,  ó   € Ør#   c                  ó   — y r   r    rÅ   s    r!   rw   zNoOpBuildEnvironment.__enter__/  rÆ   r#   rx   ry   rz   c                  ó   — y r   r    )r0   rx   ry   rz   s       r!   r€   zNoOpBuildEnvironment.__exit__2  s   € ð 	r#   c                  ó   — y r   r    rÅ   s    r!   ÚcleanupzNoOpBuildEnvironment.cleanup:  rÆ   r#   r–   r   r—   r˜   rL   c                ó   — t        «       ‚r   )ÚNotImplementedError)r0   r–   r—   r˜   rL   s        r!   r›   z)NoOpBuildEnvironment.install_requirements=  s   € ô "Ó#Ð#r#   r¾   )r3   r4   r5   r¿   r2   rw   r   r   rÀ   r   r€   rÊ   r   r6   r›   r    r#   r!   rÃ   rÃ   )  sŒ   „ Ù:óóðà˜4 Ñ.Ñ/ðð ˜-Ñ(ðð ˜Ñ'ð	ð
 
óóð$àð$ð ˜s‘mð$ð ð	$ð ð$ð 
ô$r#   rÃ   )7r¿   r«   r>   r8   rE   r§   rf   Úcollectionsr   Útypesr   Útypingr   r   r   r   r	   r
   r   r   Úpip._vendor.packaging.versionr   Úpipr   r:   Úpip._internal.cli.spinnersr   Úpip._internal.locationsr   r   r   Úpip._internal.metadatar   r   Úpip._internal.utils.loggingr   Úpip._internal.utils.packagingr   Úpip._internal.utils.subprocessr   Úpip._internal.utils.temp_dirr   r   Ú"pip._internal.index.package_finderr   Ú	getLoggerr3   r©   r6   r"   r%   rA   rH   rJ   rÃ   r    r#   r!   ú<module>rÛ      sÏ   ðÙ @ã Û 	Û Û Û 
Û Ý #Ý ß S× SÓ Så 1å (Ý 3ß HÑ Hß KÝ /Ý 9Ý :ß EáÝ@à	ˆ×	Ñ	˜8Ó	$€ð&ˆcð &�cð &˜e E¨#¡J°°c¸3°h±Ð$?Ñ@ó &÷?ñ ?ð5˜#ó 5ð = # c¡(ó =÷(Wñ Wôt$Ð+õ $r#   