Ë
    Çqj-  ã                   óø   — d Z ddlZddlZddlZddlmZ ddlmZmZm	Z	 ddl
mZ ddlmZ ddlmZ erddlmZ dd	lmZ  ej(                  e«      Zd
e	d   fd„Z G d„ de«      Zddded
dfd„Z G d„ dee«      Zy)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.
é    N)ÚValues)ÚTYPE_CHECKINGÚListÚOptional)Úcertifi)ÚCommand)ÚCommandContextMixIn)Ú
SSLContext©Ú
PipSessionÚreturnr
   c                  ó|  — t         j                  dk  rt        j                  d«       y 	 dd l} 	 ddlm} |j                  | j                  «      }|j                  t        j                  «       «       |S # t
        $ r t        j                  d«       Y y w xY w# t
        $ r t        j                  d«       Y y w xY w)N)é   é
   z7Disabling truststore because Python version isn't 3.10+r   z1Disabling truststore since ssl support is missing)Ú
truststorez5Disabling truststore because platform isn't supported)ÚsysÚversion_infoÚloggerÚdebugÚsslÚImportErrorÚwarningÚpip._vendorr   r
   ÚPROTOCOL_TLS_CLIENTÚload_verify_locationsr   Úwhere)r   r   Úctxs      ú`/var/www/html/kelly-backend/venv/lib/python3.12/site-packages/pip/_internal/cli/index_command.pyÚ_create_truststore_ssl_contextr      s¢   € Ü
×Ñ˜'Ò!Ü�‰ÐNÔOØðÛð
Ý*ð
 ×
Ñ
 × 7Ñ 7Ó
8€CØ×ÑœgŸm™m›oÔ.Ø€Jøô ò Ü�‰ÐJÔKÙðûô ò Ü�‰ÐNÔOÙðús"   «A6 °B Á6BÂBÂB;Â:B;c            	       ó„   ‡ — e Zd ZdZdˆ fd„Zededeee	      fd„«       Z
deddfd„Z	 	 ddedee   d	ee   ddfd
„Zˆ xZS )ÚSessionCommandMixinzE
    A class mixin for command classes needing _build_session().
    r   c                 ó0   •— t         ‰| �  «        d | _        y )N)ÚsuperÚ__init__Ú_session)ÚselfÚ	__class__s    €r   r$   zSessionCommandMixin.__init__7   s   ø€ Ü‰ÑÔØ.2ˆ�ó    Úoptionsc                 ó¬   — g }t        |dd«      s t        |dd«      }|r|j                  |«       t        |dd«      }|r|j                  |«       |xs dS )z7Return a list of index urls from user-provided options.Úno_indexFÚ	index_urlNÚextra_index_urls)ÚgetattrÚappendÚextend)Úclsr)   Ú
index_urlsÚurlÚurlss        r   Ú_get_index_urlsz#SessionCommandMixin._get_index_urls;   s_   € ð ˆ
Ü�w 
¨EÔ2Ü˜' ;°Ó5ˆCÙØ×!Ñ! #Ô&Ü�wÐ 2°DÓ9ˆÙØ×Ñ˜dÔ#àÒ!˜TÐ!r(   r   c                 ó˜   — | j                   €3| j                  | j                  |«      «      | _         | j                   €J ‚| j                   S )zGet a default-managed session.)r%   Úenter_contextÚ_build_session)r&   r)   s     r   Úget_default_sessionz'SessionCommandMixin.get_default_sessionI   sE   € à�=‰=Ð Ø ×.Ñ.¨t×/BÑ/BÀ7Ó/KÓLˆDŒMð —=‘=Ð,Ð,Ð,Ø�}‰}Ðr(   ÚretriesÚtimeoutc                 óþ  — ddl m} |j                  }|r!t        j                  j                  |«      sJ ‚d|j                  vrt        «       }nd } ||r t        j                  j                  |d«      nd |�|n|j                  |j                  | j                  |«      |¬«      }|j                  r|j                  |_        |j                  r|j                  |_        |j                  s|r|�|n|j                  |_        |j                   r6|j                   |j                   dœ|_        d|_        |j                   |_        |j(                   |j*                  _        |j.                  |j*                  _        |S )Nr   r   zlegacy-certszhttp-v2)Úcacher:   Útrusted_hostsr2   Ússl_context)ÚhttpÚhttpsF)Úpip._internal.network.sessionr   Ú	cache_dirÚosÚpathÚisabsÚdeprecated_features_enabledr   Újoinr:   r>   r5   ÚcertÚverifyÚclient_certr;   ÚproxyÚproxiesÚ	trust_envÚ	pip_proxyÚno_inputÚauthÚ	promptingÚkeyring_provider)r&   r)   r:   r;   r   rC   r?   Úsessions           r   r8   z"SessionCommandMixin._build_sessionS   s:  € õ 	=à×%Ñ%ˆ	Ù¤§¡§¡¨iÔ 8Ð8Ð8à ×!DÑ!DÑDÜ8Ó:‰KàˆKáÙ8A”"—'‘'—,‘,˜y¨)Ô4ÀtØ&Ð2‘G¸¿¹Ø!×/Ñ/Ø×+Ñ+¨GÓ4Ø#ô
ˆð �<Š<Ø$Ÿ\™\ˆGŒNð ×ÒØ"×.Ñ.ˆGŒLð �?Š?™gØ)0Ð)<™gÀ'Ç/Á/ˆGŒOð �=Š=àŸ™Ø Ÿ™ñˆGŒOð !&ˆGÔØ '§¡ˆGÔð &-×%5Ñ%5Ð!5ˆ�‰ÔØ(/×(@Ñ(@ˆ�‰Ô%àˆr(   )r   N)NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r$   Úclassmethodr   r   r   Ústrr5   r9   Úintr8   Ú__classcell__)r'   s   @r   r!   r!   2   s†   ø„ ñõ3ð ð" fð "°¸$¸s¹)Ñ1Dò "ó ð"ð¨6ð °ló ð "&Ø!%ñ	1àð1ð ˜#‘ð1ð ˜#‘ð	1ð
 
÷1r(   r!   rT   r   r)   c                 ó"   — ddl m}  || |«       y )Nr   )Úpip_self_version_check)Ú!pip._internal.self_outdated_checkr^   )rT   r)   Úchecks      r   Ú_pip_self_version_checkra   ‡   s   € ÝQá	ˆ'�7Õr(   c                   ó    — e Zd ZdZdeddfd„Zy)ÚIndexGroupCommandz–
    Abstract base class for commands with the index_group options.

    This also corresponds to the commands that permit the pip version check.
    r)   r   Nc                 ó`  — t        |d«      sJ ‚|j                  s|j                  ry	 | j                  |dt	        d|j
                  «      ¬«      }|5  t        ||«       ddd«       y# 1 sw Y   yxY w# t        $ r/ t        j                  d«       t        j                  dd¬	«       Y yw xY w)
z€
        Do the pip version check if not disabled.

        This overrides the default behavior of not doing the check.
        r+   Nr   é   )r:   r;   z6There was an error checking the latest version of pip.zSee below for errorT)Úexc_info)ÚhasattrÚdisable_pip_version_checkr+   r8   Úminr;   ra   Ú	Exceptionr   r   r   )r&   r)   rT   s      r   Úhandle_pip_version_checkz*IndexGroupCommand.handle_pip_version_check”   s›   € ô �w 
Ô+Ð+Ð+à×,Ò,°×0@Ò0@Øð	?à×)Ñ)ØØÜ˜A˜wŸ™Ó/ð *ó ˆGò
 Ü'¨°Ô9÷ —‘ûäò 	?Ü�N‰NÐSÔTÜ�L‰LÐ.¸ˆLÖ>ð	?ús/   ©*A5 ÁA)Á A5 Á)A2Á.A5 Á2A5 Á55B-Â,B-)rU   rV   rW   rX   r   rk   © r(   r   rc   rc   �   s   „ ñð?°ð ?¸4ô ?r(   rc   )rX   ÚloggingrD   r   Úoptparser   Útypingr   r   r   r   r   Úpip._internal.cli.base_commandr   Ú!pip._internal.cli.command_contextr	   r   r
   rB   r   Ú	getLoggerrU   r   r   r!   ra   rc   rl   r(   r   Ú<module>rs      sŒ   ðñó Û 	Û 
Ý ß 0Ñ 0å å 2Ý AáÝå8à	ˆ×	Ñ	˜8Ó	$€ð¨°Ñ(>ó ô,RÐ-ô Rðj \ð ¸Fð Àtó ô?˜Ð!4õ ?r(   