Ë
    ��h5  ã                   óÖ   — d dl Z d dlmZ d dl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mZ d d
lmZ d dlmZ d dlmZ d dlmZ d dlmZ  ee«      Z G d„ de«      Zy)é    N)ÚValues)ÚPath)ÚList)Ú
WheelCache)Ú
cmdoptions)ÚRequirementCommandÚwith_cleanup)ÚSUCCESS)ÚPylockÚis_valid_pylock_file_name)Úget_build_tracker)Úcheck_legacy_setup_py_options)Ú	getLogger)Úget_pip_version)ÚTempDirectoryc                   ó@   — e Zd ZdZdZd	d„Zededee	   de
fd„«       Zy)
ÚLockCommandaÖ  
    EXPERIMENTAL - Lock packages and their dependencies from:

    - PyPI (and other indexes) using requirement specifiers.
    - VCS project urls.
    - Local project directories.
    - Local or remote source archives.

    pip also supports locking from "requirements files", which provide an easy
    way to specify a whole environment to be installed.

    The generated lock file is only guaranteed to be valid for the current
    python version and platform.
    zô
      %prog [options] [-e] <local project path> ...
      %prog [options] <requirement specifier> [package-index-options] ...
      %prog [options] -r <requirements file> [package-index-options] ...
      %prog [options] <archive url/path> ...ÚreturnNc                 óH  — | j                   j                  t        j                  ddddddd¬«      «       | j                   j                  t        j                  «       «       | j                   j                  t        j
                  «       «       | j                   j                  t        j                  «       «       | j                   j                  t        j                  «       «       | j                   j                  t        j                  «       «       | j                   j                  t        j                  «       «       | j                   j                  t        j                  «       «       | j                   j                  t        j                  «       «       | j                   j                  t        j                  «       «       | j                   j                  t        j                  «       «       | j                   j                  t        j                  «       «       | j                   j                  t        j                  «       «       | j                   j                  t        j                   «       «       | j                   j                  t        j"                  «       «       | j                   j                  t        j$                  «       «       | j                   j                  t        j&                  «       «       | j                   j                  t        j(                  «       «       t        j*                  t        j,                  | j.                  «      }| j.                  j1                  d|«       | j.                  j1                  d| j                   «       y )	Nz--outputz-oÚoutput_fileÚpathzpylock.tomlz7Lock file name (default=pylock.toml). Use - for stdout.)ÚdestÚmetavarÚtypeÚdefaultÚhelpr   )Úcmd_optsÚ
add_optionr   Ú	PipOptionÚrequirementsÚconstraintsÚno_depsÚpreÚeditableÚsrcÚignore_requires_pythonÚno_build_isolationÚ
use_pep517Úno_use_pep517Úcheck_build_depsÚconfig_settingsÚ	no_binaryÚonly_binaryÚprefer_binaryÚrequire_hashesÚprogress_barÚmake_option_groupÚindex_groupÚparserÚinsert_option_group)ÚselfÚ
index_optss     úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/pip/_internal/commands/lock.pyÚadd_optionszLockCommand.add_options1   sN  € Ø�‰× Ñ Ü× Ñ ØØØ"ØØØ%ØNôô
	
ð 	�‰× Ñ ¤×!8Ñ!8Ó!:Ô;Ø�‰× Ñ ¤×!7Ñ!7Ó!9Ô:Ø�‰× Ñ ¤×!3Ñ!3Ó!5Ô6Ø�‰× Ñ ¤§¡Ó!1Ô2à�‰× Ñ ¤×!4Ñ!4Ó!6Ô7à�‰× Ñ ¤§¡Ó!1Ô2à�‰× Ñ ¤×!BÑ!BÓ!DÔEØ�‰× Ñ ¤×!>Ñ!>Ó!@ÔAØ�‰× Ñ ¤×!6Ñ!6Ó!8Ô9Ø�‰× Ñ ¤×!9Ñ!9Ó!;Ô<Ø�‰× Ñ ¤×!<Ñ!<Ó!>Ô?à�‰× Ñ ¤×!;Ñ!;Ó!=Ô>à�‰× Ñ ¤×!5Ñ!5Ó!7Ô8Ø�‰× Ñ ¤×!7Ñ!7Ó!9Ô:Ø�‰× Ñ ¤×!9Ñ!9Ó!;Ô<Ø�‰× Ñ ¤×!:Ñ!:Ó!<Ô=Ø�‰× Ñ ¤×!8Ñ!8Ó!:Ô;ä×1Ñ1Ü×"Ñ"Ø�K‰Kó
ˆ
ð
 	�‰×'Ñ'¨¨:Ô6Ø�‰×'Ñ'¨¨4¯=©=Õ9ó    ÚoptionsÚargsc                 óx  — t         j                  dt        «       «       t         j                  d«       | j	                  |«      }| j                  |||j                  ¬«      }| j                  t        «       «      }t        |j                   dd¬«      }| j                  ||||«      }t        ||«       t        |j                  «      }|D ]	  }	d|	_        Œ | j!                  |||||d| j"                  ¬«      }
| j%                  |
|||dd|j                  d	|j&                  ¬
«	      }| j)                  |«       |j+                  |d¬«      }|j,                  dk(  rt/        j0                  «       }nBt/        |j,                  «      }t3        |«      st         j                  d|«       |j4                  }t7        j8                  |j:                  j=                  «       |¬«      j?                  «       }|j,                  dk(  r%t@        jB                  jE                  |«       tH        S jG                  |d¬«       tH        S )NzUsing %szspip lock is currently an experimental command. It may be removed/changed in a future release without prior warning.)r:   Úsessionr&   ÚinstallT)ÚdeleteÚkindÚglobally_managedF)Útemp_build_dirr:   Úbuild_trackerr=   ÚfinderÚuse_user_siteÚ	verbosityzto-satisfy-only)	ÚpreparerrD   r:   Úwheel_cacherE   Úignore_installedr&   Úupgrade_strategyr(   )Úcheck_supported_wheelsú-z!%s is not a valid lock file name.)Úbase_dirzutf-8)Úencoding)%ÚloggerÚverboser   ÚwarningÚget_default_sessionÚ_build_package_finderr&   Úenter_contextr   r   Úno_cleanÚget_requirementsr   r   Ú	cache_dirÚpermit_editable_wheelsÚmake_requirement_preparerrF   Úmake_resolverr(   Útrace_basic_infoÚresolver   r   Úcwdr   Úparentr   Úfrom_install_requirementsr    ÚvaluesÚas_tomlÚsysÚstdoutÚwriteÚ
write_textr
   )r5   r:   r;   r=   rD   rC   Ú	directoryÚreqsrH   ÚreqrG   ÚresolverÚrequirement_setrM   Úoutput_file_pathÚpylock_tomls                   r7   ÚrunzLockCommand.run\   s-  € ä�‰�z¤?Ó#4Ô5ä�‰ð%ô	
ð ×*Ñ*¨7Ó3ˆà×+Ñ+ØØØ#*×#AÑ#Að ,ó 
ˆð
 ×*Ñ*Ô+<Ó+>Ó?ˆä!Ø×'Ñ'Ð'ØØ!ô
ˆ	ð ×$Ñ$ T¨7°F¸GÓDˆÜ% g¨tÔ4ä  ×!2Ñ!2Ó3ˆð
 ò 	.ˆCØ)-ˆCÕ&ð	.ð ×1Ñ1Ø$ØØ'ØØØØ—n‘nð 2ó 
ˆð ×%Ñ%ØØØØ#ØØ!Ø#*×#AÑ#AØ.Ø×)Ñ)ð &ó 

ˆð 	×Ñ˜fÔ%à"×*Ñ*¨4ÈÐ*ÓMˆà×Ñ #Ò%Ü—x‘x“z‰Hä# G×$7Ñ$7Ó8ÐÜ,Ð-=Ô>Ü—‘Ø7Ø$ôð (×.Ñ.ˆHÜ×6Ñ6Ø×(Ñ(×/Ñ/Ó1¸Hô
ç
‰'‹)ð 	ð ×Ñ #Ò%Ü�J‰J×Ñ˜[Ô)ô ˆð ×'Ñ'¨¸gÐ'ÔFäˆr9   )r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__Úusager8   r	   r   r   ÚstrÚintrm   © r9   r7   r   r      sF   „ ñð0€Eó):ðV ðN˜6ð N¨¨c©ð N°sò Nó ñNr9   r   ) rb   Úoptparser   Úpathlibr   Útypingr   Úpip._internal.cacher   Úpip._internal.clir   Úpip._internal.cli.req_commandr   r	   Úpip._internal.cli.status_codesr
   Úpip._internal.models.pylockr   r   Ú,pip._internal.operations.build.build_trackerr   Úpip._internal.req.req_installr   Úpip._internal.utils.loggingr   Úpip._internal.utils.miscr   Úpip._internal.utils.temp_dirr   rn   rO   r   ru   r9   r7   ú<module>rƒ      sT   ðÛ 
Ý Ý Ý å *Ý (÷õ 3ß IÝ Jõõ 2õõ 7á	�8Ó	€ôPÐ$õ Pr9   