+
    iT                       R t ^ RIHt ^ RIt^ RIt^ 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 ]'       d   ^ R	IHt ^ R
IHt ^ RIHt ]P0                  ! ]4      t]R R l4       t ! R R]4      tR R lt ! R R]]4      tR# )a&  
Contains command classes which may interact with an index / the network.

Unlike its sister module, req_command, this module still uses lazy imports
so commands which don't always hit the network (e.g. list w/o --outdated or
--uptodate) don't need waste time importing PipSession and friends.
)annotationsN)	lru_cache)Values)TYPE_CHECKING)certifi)Command)CommandContextMixIn)
SSLContext)NormalizedName
PipSessionc                   V ^8  d   QhRR/# )   returnzSSLContext | None )formats   "e/Users/ahmad/.openclaw/workspace/venv/lib/python3.14/site-packages/pip/_internal/cli/index_command.py__annotate__r   "   s      (9     c                    \         P                  R8  d   \        P                  R4       R#  ^ RIp  ^ RIHp TP                  T P                  4      pTP                  \        P                  ! 4       4       T#   \
         d    \        P                  R4        R# i ; i  \
         d    \        P                  R4        R# i ; i)   z7Disabling truststore because Python version isn't 3.10+Nz1Disabling truststore since ssl support is missing)
truststorez5Disabling truststore because platform isn't supported)r   
   )sysversion_infologgerdebugsslImportErrorwarningpip._vendorr   r	   PROTOCOL_TLS_CLIENTload_verify_locationsr   where)r   r   ctxs      r   _create_truststore_ssl_contextr%   !   s    
'!NO
*
 

 7 7
8Cgmmo.J  JK  NOs"   A: B! : BB! CCc                  d   a  ] tR t^8tRtR V 3R llt]R R l4       tR R ltRR R	 llt	R
t
V ;t# )SessionCommandMixinz=
A class mixin for command classes needing _build_session().
c                   V ^8  d   QhRR/# )r   r   Noner   )r   s   "r   r    SessionCommandMixin.__annotate__=   s     0 0$ 0r   c                	2   < \         SV `  4        R V n        R # )N)super__init___session)self	__class__s   &r   r-   SessionCommandMixin.__init__=   s    +/r   c                    V ^8  d   QhRRRR/# )r   optionsr   r   zlist[str] | Noner   )r   s   "r   r   r*   B   s     " "f "1A "r   c                    . p\        VRR4      '       g'   \        VRR4      pV'       d   VP                  V4       \        VRR4      pV'       d   VP                  V4       T;'       g    R# )z7Return a list of index urls from user-provided options.no_indexF	index_urlNextra_index_urls)getattrappendextend)clsr3   
index_urlsurlurlss   &&   r   _get_index_urls#SessionCommandMixin._get_index_urlsA   se     
w
E22';5C!!#&w 2D9d#!!T!r   c                    V ^8  d   QhRRRR/# )r   r3   r   r   r   r   )r   s   "r   r   r*   O   s      6 j r   c                    V P                   f6   V P                  V P                  V4      4      V n         V P                   f   Q hV P                   # )zGet a default-managed session.)r.   enter_context_build_session)r/   r3   s   &&r   get_default_session'SessionCommandMixin.get_default_sessionO   sE    ==  ..t/B/B7/KLDM ==,,,}}r   c               (    V ^8  d   QhRRRRRRRR/# )r   r3   r   retriesz
int | Nonetimeoutr   r   r   )r   s   "r   r   r*   Y   s2     2 22 2 	2
 
2r   c           	     	   ^ RI Hp VP                  pV'       d(   \        P                  P                  V4      '       g   Q hRVP                  9  d   \        4       pMRpT! V'       d!   \        P                  P                  VR4      MRVe   TMVP                  VP                  VP                  V P                  V4      VR7      pVP                  '       d   VP                  Vn        VP                  '       d   VP                  Vn        VP                   '       g	   V'       d   Ve   TMVP                   Vn        VP"                  '       d8   RVP"                  RVP"                  /Vn        RVn        VP"                  Vn        VP*                  '       * VP,                  n        VP0                  VP,                  n        V# )	    r   zlegacy-certsNzhttp-v2)cacherH   resume_retriestrusted_hostsr<   ssl_contexthttphttpsF)pip._internal.network.sessionr   	cache_dirospathisabsdeprecated_features_enabledr%   joinrH   rM   rN   r?   certverifyclient_certrI   proxyproxies	trust_env	pip_proxyno_inputauth	promptingkeyring_provider)r/   r3   rH   rI   r   rS   rO   sessions   &&&&    r   rD   "SessionCommandMixin._build_sessionY   sS    	=%%	i 8 888!D!DD8:KK8A"'',,y)4t&2G"11!//++G4#
 <<<$\\GN "..GL ???g)0)<g'//GO ===GO !&G 'G &-%5%5!5(/(@(@%r   )r.   )NN)__name__
__module____qualname____firstlineno____doc__r-   classmethodr?   rE   rD   __static_attributes____classcell__)r0   s   @r   r'   r'   8   s5    0 0 " "2 2r   r'   c               $    V ^8  d   QhRRRRRR/# )r   rd   r   r3   r   r   r)   r   )r   s   "r   r   r      s!      Z & T r   c                "    ^ RI Hp V! W4       R# )rK   )pip_self_version_checkN)!pip._internal.self_outdated_checkrp   )rd   r3   checks   && r   _pip_self_version_checkrs      s    Q	'r   c                  2    ] tR t^tRtR R ltR R ltRtR# )IndexGroupCommandz
Abstract base class for commands with the index_group options.

This also corresponds to the commands that permit the pip version check.
c               $    V ^8  d   QhRRRRRR/# )r   r3   r   package_namer
   r   boolr   )r   s   "r   r   IndexGroupCommand.__annotate__   s$      -;	r   c                    VP                   '       d,   VP                   P                  V4      pVRJ d   R# VRJ d   R# R# )z=
Determine if pre-releases should be excluded for a package.
TF)release_controlallows_prereleases)r/   r3   rw   allow_prereleasess   &&& r   should_exclude_prerelease+IndexGroupCommand.should_exclude_prerelease   sB     """ ' 7 7 J J< X D("e+ r   c                    V ^8  d   QhRRRR/# )r   r3   r   r   r)   r   )r   s   "r   r   ry      s     ? ? ?4 ?r   c                   \        VR4      '       g   Q hVP                  '       g   VP                  '       d   R#  V P                  V^ \	        ^VP
                  4      R7      pV;_uu_ 4        \        W!4       RRR4       R#   + '       g   i     R# ; i  \         d1    \        P                  R4       \        P                  RRR7        R# i ; i)zh
Do the pip version check if not disabled.

This overrides the default behavior of not doing the check.
r5   N)rH   rI   z6There was an error checking the latest version of pip.zSee below for errorT)exc_info)hasattrdisable_pip_version_checkr5   rD   minrI   rs   	Exceptionr   r   r   )r/   r3   rd   s   && r   handle_pip_version_check*IndexGroupCommand.handle_pip_version_check   s     w
++++,,,0@0@0@	?))Aw/ * G
 '9  	?NNSTLL.L>	?s/   2B .B:B B	B B 7CCr   N)rf   rg   rh   ri   rj   r~   r   rl   r   r   r   ru   ru      s    "? ?r   ru   )rj   
__future__r   loggingrT   r   	functoolsr   optparser   typingr   r    r   pip._internal.cli.base_commandr   !pip._internal.cli.command_contextr   r   r	   pip._vendor.packaging.utilsr
   rR   r   	getLoggerrf   r   r%   r'   rs   ru   r   r   r   <module>r      s~    #  	 
      2 A:8			8	$  ,S- Sl/?!4 /?r   