
    Nvi                    .   S SK Jr  S SKrS SKrS SKJr  S SKJr  S SKJ	r	J
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  S SKJrJr  S SK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$  S SK%J&r&  S SK'J(r(  \RR                  " \*5      r+ " S S\5      r,g)    )annotationsN)Iterable)Values)AnyCallable)canonicalize_name)Version)
cmdoptions)IndexGroupCommand)ERRORSUCCESS)get_installed_distributionprint_dist_installation_info)CommandErrorDistributionNotFoundPipError)LinkCollector)PackageFinder)SelectionPreferences)TargetPython)
PipSession)write_outputc                  l    \ rS rSrSrSrSrSS jrSS jrSS jr	  S         SS	 jjr
SS
 jrSrg)IndexCommand   z5
Inspect information available from package indexes.
Tz&
        %prog versions <package>
    c                t   [         R                  " U R                  5        U R                  R                  [         R                  " 5       5        U R                  R                  [         R
                  " 5       5        [         R                  " [         R                  U R                  5      n[         R                  " [         R                  U R                  5      nU R                  R                  SU5        U R                  R                  SU5        U R                  R                  SU R                  5        g )Nr   )r
   add_target_python_optionscmd_opts
add_optionignore_requires_pythonjsonmake_option_groupindex_groupparserpackage_selection_groupinsert_option_group)self
index_optsselection_optss      X/var/www/html/land-ocr/venv/lib/python3.13/site-packages/pip/_internal/commands/index.pyadd_optionsIndexCommand.add_options(   s    ,,T]];  !B!B!DE  !2311""KK


 $55..KK

 	'':6''>:''4==9    c                    SU R                   0$ )Nversions)get_available_package_versions)r'   s    r*   handler_mapIndexCommand.handler_map<   s    ;;
 	
r-   c                   [         R                  " U5        U R                  5       nU(       a	  US   U;  a4  [        R	                  SSR                  [        U5      5      5        [        $ US   n X4   " XSS  5        [        $ ! [         a2  n[        R	                  UR                  S   5        [        s S nA$ S nAff = f)Nr   zNeed an action (%s) to perform.,    )r
   check_release_control_exclusiver1   loggererrorjoinsortedr   r   argsr   )r'   optionsr;   r1   actiones         r*   runIndexCommand.runA   s    227;&&( tAwk1LL1		&-. La	ab2
 	  	LL#L	s   1B 
C 'B;5C ;C Nc                    [         R                  " X!S9n[        SUR                  UR                  US9n[
        R                  " UUUUR                  S9$ )z;
Create a package finder appropriate to the index command.
)r<   F)allow_yankedrelease_controlformat_controlr    )link_collectorselection_prefstarget_pythonuploaded_prior_to)r   creater   rC   rD   r   rH   )r'   r<   sessionrG   r    rE   rF   s          r*   _build_package_finder"IndexCommand._build_package_finderY   s_     '--gG /#33"11#9	
 ##)+'%77	
 	
r-   c                \   [        U5      S:w  a  [        S5      e[        R                  " U5      nUS   nU R	                  U5       nU R                  UUUUR                  S9nS UR                  U5       5       nU R                  U[        U5      5      (       a	  S U 5       n[        U5      nU(       d  [        SU 35      e[        USS	9 Vs/ s H  n[        U5      PM     n	nU	S   n
S S S 5        [        U5      nUR                  (       aA  UW	W
S
.nUb  [        UR                   5      US'   [#        [        R$                  " U5      5        g [#        U SW
 S35        [#        SR'                  SR)                  W	5      5      5        [+        X5        g s  snf ! , (       d  f       N= f)Nr5   z(You need to specify exactly one argumentr   )r<   rJ   rG   r    c              3  8   #    U  H  oR                   v   M     g 7fN)version).0	candidates     r*   	<genexpr>>IndexCommand.get_available_package_versions.<locals>.<genexpr>   s      +3Ti!!3Ts   c              3  J   #    U  H  oR                   (       a  M  Uv   M     g 7frO   )is_prerelease)rQ   rP   s     r*   rS   rT      s      +3;P;PGG8s   #	#z#No matching distribution found for T)reverse)namer/   latestinstalled_versionz ()zAvailable versions: {}r4   )lenr   r
   make_target_python_build_sessionrK   r    find_all_candidatesshould_exclude_prereleaser   setr   r:   strr   r!   rP   r   dumpsformatr9   r   )r'   r<   r;   rG   queryrJ   finderr/   verformatted_versionsrY   diststructured_outputs                r*   r0   +IndexCommand.get_available_package_versionst   s   t9>IJJ"55g>Q  )W//+'.'E'E	 0 F+393M3Me3T+H --g7H7OPP+3 8}H*9%A  7=Xt6T!U6Ts#c(6T!U'*F1 *4 *%0<<. ! 9<T\\9J!"56$567 E7"VHA./188CU9VWX(6) "V/ *)s   B
FF&FF
F+ )returnNone)rm   z.dict[str, Callable[[Values, list[str]], None]])r<   r   r;   z	list[str]rm   int)NN)
r<   r   rJ   r   rG   zTargetPython | Noner    zbool | Nonerm   r   )r<   r   r;   z	list[Any]rm   rn   )__name__
__module____qualname____firstlineno____doc__ignore_require_venvusager+   r1   r?   rK   r0   __static_attributes__rl   r-   r*   r   r      sg     E:(

8 .2.2

 
 +	

 !,
 

627r-   r   )-
__future__r   r!   loggingcollections.abcr   optparser   typingr   r   pip._vendor.packaging.utilsr   pip._vendor.packaging.versionr	   pip._internal.clir
   pip._internal.cli.req_commandr   pip._internal.cli.status_codesr   r   pip._internal.commands.searchr   r   pip._internal.exceptionsr   r   r   pip._internal.index.collectorr   "pip._internal.index.package_finderr   $pip._internal.models.selection_prefsr   "pip._internal.models.target_pythonr   pip._internal.network.sessionr   pip._internal.utils.miscr   	getLoggerrp   r7   r   rl   r-   r*   <module>r      se    "   $    9 1 ( ; 9 R Q 7 < E ; 4 1			8	$H7$ H7r-   