+
     h5  c                   s    ^ RI t ^ RIHt ^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHtHt ^ RIHt ^ R	IHtHt ^ R
IHt ^ RIHt ^ RIHt ^ RIHt ^ RIHt ]! ]4      t ! R R]4      tR# )i    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                   sV   a  ] tR t^t o RtRtV 3R lR lt]V 3R lR l4       tRt	V t
R# )	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> ...c                s   < V ^8  d   QhRR/# )   returnN Zformat__classdict__   "@/usr/lib/python3.14/site-packages/pip/_internal/commands/lock.py__annotate__LockCommand.__annotate__1   s     ): ):T ):    c                sp   V P                   P                  \        P                  ! R RRRRRRR7      4       V P                   P                  \        P                  ! 4       4       V P                   P                  \        P
                  ! 4       4       V P                   P                  \        P                  ! 4       4       V P                   P                  \        P                  ! 4       4       V P                   P                  \        P                  ! 4       4       V P                   P                  \        P                  ! 4       4       V P                   P                  \        P                  ! 4       4       V P                   P                  \        P                  ! 4       4       V P                   P                  \        P                  ! 4       4       V P                   P                  \        P                  ! 4       4       V P                   P                  \        P                  ! 4       4       V P                   P                  \        P                  ! 4       4       V P                   P                  \        P                   ! 4       4       V P                   P                  \        P"                  ! 4       4       V P                   P                  \        P$                  ! 4       4       V P                   P                  \        P&                  ! 4       4       V P                   P                  \        P(                  ! 4       4       \        P*                  ! \        P,                  V P.                  4      pV P.                  P1                  ^ V4       V P.                  P1                  ^ V P                   4       R# )z--outputz-ooutput_fileZpathzpylock.tomlz7Lock file name (default=pylock.toml). Use - for stdout.)ZdestZmetavarZtypeZdefaultZhelpN)Zcmd_optsZ
add_optionr   Z	PipOptionrequirementsZconstraintsZno_depsZpreZeditableZsrcignore_requires_pythonZno_build_isolation
use_pep517Zno_use_pep517Zcheck_build_depsZconfig_settingsZ	no_binaryZonly_binaryZprefer_binaryZrequire_hashesZprogress_barZmake_option_groupZindex_groupZparserZinsert_option_group)selfZ
index_optss   & r   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""KK


 	'':6''4==9r   c                s<   < V ^8  d   QhRS[ RS[S[,          RS[/# )r   optionsargsr   )r    r   ZstrZintr   r   r   r   r   ]   s+     N N6 Nc Ns Nr   c                s   \         P                  R \        4       4       \         P                  R4       V P	                  V4      pV P                  VVVP                  R7      pV P                  \        4       4      p\        VP                  '       * RRR7      pV P                  W!WC4      p\        W4       \        VP                  4      pV F
  p	RV	n        K  	  V P!                  VVVVVRV P"                  R7      p
V P%                  V
VVVRRVP                  RVP&                  R	7	      pV P)                  V4       VP+                  VRR
7      pVP,                  R8X  d   \.        P0                  ! 4       pMH\/        VP,                  4      p\3        V4      '       g   \         P                  RV4       VP4                  p\6        P8                  ! VP:                  P=                  4       VR7      P?                  4       pVP,                  R8X  d&   \@        PB                  PE                  V4       \H        # XPG                  VRR7       \H        # )zUsing %szspip lock is currently an experimental command. It may be removed/changed in a future release without prior warning.)r    sessionr   ZinstallT)ZdeleteZkindZglobally_managedF)Ztemp_build_dirr    build_trackerr"   finderuse_user_site	verbosityzto-satisfy-only)	preparerr$   r    wheel_cacher%   Zignore_installedr   Zupgrade_strategyr   )Zcheck_supported_wheelsZ-z!%s is not a valid lock file name.)base_dirzutf-8)Zencoding)%loggerZverboser   ZwarningZget_default_sessionZ_build_package_finderr   Zenter_contextr
   r   Zno_cleanZget_requirementsr   r   Z	cache_dirZpermit_editable_wheelsZmake_requirement_preparerr&   Zmake_resolverr   Ztrace_basic_infoZresolver   r   Zcwdr	   Zparentr   Zfrom_install_requirementsr   ZvaluesZas_tomlsysZstdoutZwriteZ
write_textr   )r   r    r!   r"   r$   r#   Z	directoryZreqsr(   Zreqr'   ZresolverZrequirement_setr)   Zoutput_file_pathZpylock_tomls   &&&             r   runZLockCommand.run\   s%   z?#45%	
 **73++#*#A#A , 

 **+<+>?!'''!
	 $$TFD%g4 !2!23
 C)-C&  11$'nn 2 
 %%#!#*#A#A.)) & 

 	f%"**4*M#%xxzH#G$7$78,-=>>7$ (..H66((//1H

') 	 #%JJ[)  ''g'Fr   r   N)__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__Zusager   r   r,   Z__static_attributes__Z__classdictcell__)r   s   @r   r   r      s2     0E): ):V N Nr   r   ) r+   Zoptparser    Zpathlibr   Ztypingr   Zpip._internal.cacher   Zpip._internal.clir   Zpip._internal.cli.req_commandr   r   Zpip._internal.cli.status_codesr   Zpip._internal.models.pylockr   r	   Z,pip._internal.operations.build.build_trackerr
   Zpip._internal.req.req_installr   Zpip._internal.utils.loggingr   Zpip._internal.utils.miscr   Zpip._internal.utils.temp_dirr   r-   r*   r   r   r   r   <module>r.      sT    
    * ( 3 I J 2 7	8	P$ Pr   