+
    <jO                     
   ^ RI t ^ RIt^ RIHtHtHtHtHtHtH	t	H
t
 ^ RIHt ^ RIHtHt ^ RIHt ^ RIHtHtHtHt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)H*t*H+t+ ]'       d   ^RI,H-t- ] P\                  ! ]/4      t0]	R%,          t1]
! ]R4      t2R R lt3R R lt4R R lt5R R lt6 ! R R])4      t7 ! R R]74      t8 ! R R]74      t9 ! R  R])4      t: ! R! R"])4      t; ! R# R$])4      t<R# )&    N)TYPE_CHECKINGAny	FrozenSetIterableOptionalTupleUnioncast)InvalidRequirement)NormalizedNamecanonicalize_nameVersion)	HashErrorInstallationSubprocessErrorInvalidInstalledPackageMetadataInconsistentMetadataInvalidBaseDistribution)Linklinks_equivalent)Wheel)install_req_from_editableinstall_req_from_line)InstallRequirement)direct_url_from_link)normalize_version_info)	CandidateRequirementformat_name)FactoryAlreadyInstalledCandidateEditableCandidateLinkCandidatez<Python from Requires-Python>c                F    V ^8  d   QhR\         R\        \        ,          /# )   	candidatereturn)r   r   BaseCandidate)formats   "c/opt/headortail/venv/lib/python3.14/site-packages/pip/_internal/resolution/resolvelib/candidates.py__annotate__r-   ,   s     	 	 	x/F 	    c                N    \         \        \        3p\        W4      '       d   V # R# )z%The runtime version of BaseCandidate.N)r#   r$   r%   
isinstance)r(   base_candidate_classess   & r,   as_base_candidater2   ,   s+     	"
 )44r.   c                <    V ^8  d   QhR\         R\        R\        /# r'   linktemplater)   r   r   )r+   s   "r,   r-   r-   8   s$      
,r.   c                    VP                   '       d   Q R 4       hVP                  '       d   \        VP                  4      pMV P                  p\	        VVP
                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  R7	      pVP                  Vn        Wn        VP                  Vn        V# )ztemplate is editableuser_supplied
comes_from
use_pep517isolated
constraintglobal_optionshash_optionsconfig_settings)editablereqstrurlr   r:   r;   r<   r=   r>   r?   r@   rA   original_linkr5   extras)r5   r6   lineireqs   &&  r,   make_install_req_from_linkrJ   8   s        8"88 |||8<< xx ,,&&&&""&&..** 00
D "//DI//DKKr.   c                <    V ^8  d   QhR\         R\        R\        /# r4   r7   )r+   s   "r,   r-   r-   Q   s$      
,r.   c                 L   VP                   '       g   Q R 4       h\        V P                  VP                  VP                  VP
                  VP                  VP                  VP                  VP                  VP                  VP                  R7
      pVP                  Vn        V# )ztemplate not editable)	r:   r;   r<   r=   r>   permit_editable_wheelsr?   r@   rA   )rB   r   rE   r:   r;   r<   r=   r>   rM   r?   r@   rA   rG   )r5   r6   rI   s   && r,   make_install_req_from_editablerN   Q   s     555$,,&&&&""&&'>>..** 00D //DKKr.   c                <    V ^8  d   QhR\         R\        R\        /# )r'   distr6   r)   r   r   )r+   s   "r,   r-   r-   e   s$      
&8r.   c                    VP                   '       d   \        VP                   4      pMSVP                  '       d'   V P                   R VP                  P                   2pMV P                   RV P
                   2p\        VVP                  VP                  VP                  VP                  VP                  VP                  VP                  VP                  R7	      pWn        V# )z @ z==r9   )rC   rD   r5   canonical_namerE   versionr   r:   r;   r<   r=   r>   r?   r@   rA   satisfied_by)rP   r6   rH   rI   s   &&  r,   _make_install_req_from_distrV   e   s     |||8<< 	%%&c(--*;*;)<=%%&b7 ,,&&&&""&&..** 00
D Kr.   c                   n  a  ] tR t^}t o RtRtR$V 3R lR lltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	V 3R lR lt
]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R  lR! ltV 3R" ltR#tV tR# )%"_InstallRequirementBackedCandidatea  A candidate backed by an ``InstallRequirement``.

This represents a package request with the target not being already
in the environment, and needs to be fetched and installed. The backing
``InstallRequirement`` is responsible for most of the leg work; this
class exposes appropriate information to the resolver.

:param link: The link passed to the ``InstallRequirement``. The backing
    ``InstallRequirement`` will use this link to fetch the distribution.
:param source_link: The link this candidate "originates" from. This is
    different from ``link`` when the link is found in the wheel cache.
    ``link`` would point to the wheel cache, while this points to the
    found remote link (e.g. from pypi.org).
FNc                `   < V ^8  d   QhRS[ RS[ RS[RRRS[S[,          RS[S[,          RR	/# )
r'   r5   source_linkrI   factoryr"   namerT   r)   Nr   r   r   r   r   )r+   __classdict__s   "r,   r-   /_InstallRequirementBackedCandidate.__annotate__   s[     ) )) ) !	)
 ) ~&) '") 
)r.   c                    Wn         W n        W@n        W0n        WPn        W`n        V P                  4       V n        R V n        R # N)	_link_source_link_factory_ireq_name_version_preparerP   _hash)selfr5   rZ   rI   r[   r\   rT   s   &&&&&&&r,   __init__+_InstallRequirementBackedCandidate.__init__   s7     
'

MMO	$(
r.   c                    < V ^8  d   QhRS[ /# r'   r)   rD   )r+   r^   s   "r,   r-   r_      s     - - -r.   c                8    V P                    R V P                   2# ) r\   rT   rj   s   &r,   __str__*_InstallRequirementBackedCandidate.__str__   s    ))Adll^,,r.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r_      s     A A# Ar.   c                b    V P                   P                   R \        V P                  4      : R2# ())	__class____name__rD   rb   rs   s   &r,   __repr__+_InstallRequirementBackedCandidate.__repr__   s)    ..))*!C

O+>a@@r.   c                    < V ^8  d   QhRS[ /# rn   int)r+   r^   s   "r,   r-   r_      s      # r.   c                    V P                   e   V P                   # \        V P                  V P                  34      V n         V P                   # ra   )ri   hashr{   rb   rs   s   &r,   __hash__+_InstallRequirementBackedCandidate.__hash__   s9    ::!::4>>4::67
zzr.   c                &   < V ^8  d   QhRS[ RS[/# r'   otherr)   r   bool)r+   r^   s   "r,   r-   r_            C D r.   c                |    \        WP                  4      '       d!   \        V P                  VP                  4      # R # F)r0   r{   r   rb   rj   r   s   &&r,   __eq__)_InstallRequirementBackedCandidate.__eq__   s)    e^^,,#DJJ<<r.   c                0   < V ^8  d   QhRS[ S[,          /# rn   r   r   )r+   r^   s   "r,   r-   r_      s     ! !Xd^ !r.   c                    V P                   # ra   )rc   rs   s   &r,   rZ   ._InstallRequirementBackedCandidate.source_link          r.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r_      s      n r.   c                l    V P                   f   V P                  P                  V n         V P                   # z:The normalised name of the project the candidate refers to)rf   rP   rS   rs   s   &r,   project_name/_InstallRequirementBackedCandidate.project_name   s)     ::11DJzzr.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r_           ! !c !r.   c                    V P                   # ra   r   rs   s   &r,   r\   '_InstallRequirementBackedCandidate.name   r   r.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r_             r.   c                l    V P                   f   V P                  P                  V n         V P                   # ra   rg   rP   rT   rs   s   &r,   rT   *_InstallRequirementBackedCandidate.version   '    ==  II--DM}}r.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r_      s     
 
# 
r.   c                    V P                    R V P                   RV P                  P                  '       d   V P                  P                  MV P                   R2# )rq   z (from rz   )r\   rT   rb   is_file	file_pathrs   s   &r,   format_for_error3_InstallRequirementBackedCandidate.format_for_error   sM    yyk4<<. )-1ZZ-?-?-?TZZ))TZZPPQS	
r.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r_      s     : :'7 :r.   c                    \        R 4      h)zOverride in subclass)NotImplementedErrorrs   s   &r,   _prepare_distribution8_InstallRequirementBackedCandidate._prepare_distribution   s    !"899r.   c                $   < V ^8  d   QhRS[ RR/# )r'   rP   r)   Nr   )r+   r^   s   "r,   r-   r_      s     6 60@ 6T 6r.   c                F   V P                   eH   V P                   VP                  8w  d-   \        V P                  RV P                   VP                  4      hV P                  eZ   V P                  VP
                  8w  d?   \        V P                  R\        V P                  4      \        VP
                  4      4      h \        VP                  \        VP                  4       4      4      4       R#   \         d%   p\        T P                  \        T4      4      hRp?ii ; i)z:Check for consistency of project name and version of dist.Nr\   rT   )rf   rS   r   re   rg   rT   rD   listiter_dependenciesiter_provided_extrasr   r   )rj   rP   es   && r,   _check_metadata_consistency>_InstallRequirementBackedCandidate._check_metadata_consistency   s    ::!djjD4G4G&G&



##	  ==$$,,)F&

DMM"DLL!	 	6''T-F-F-H(IJK! 	6!$**c!f55	6s   >1C1 1D <DD c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r_      s      * r.   c                     V P                  4       pT P                  T4       T#   \         d   pT P                  Tn        h R p?i\         d   pRTn        h R p?ii ; i)NzSee above for output.)r   r   re   rC   r   contextr   )rj   rP   r   excs   &   r,   rh   +_InstallRequirementBackedCandidate._prepare   s_    	--/D 	((.  	 JJAE* 	1CK	s&   % AAAAAAc                F   < V ^8  d   QhRS[ RS[S[S[,          ,          /# r'   with_requiresr)   r   r   r   r    )r+   r^   s   "r,   r-   r_      s)     U Ut U+AV8W Ur.   c              #  <  "   V P                   P                  V P                  P                  4      x  V'       d   V P                  P	                  4       MRpV F:  pV P                   P                  \        V4      V P                  4       R j  xL
  K<  	  R #  L
5iN )rd    make_requires_python_requirementrP   requires_pythonr   make_requirements_from_specrD   re   )rj   r   requiresrs   &&  r,   r   4_InstallRequirementBackedCandidate.iter_dependencies   sk      mm<<TYY=V=VWW4A499..0rA}}@@QTTT Ts   BBBBc                0   < V ^8  d   QhRS[ S[,          /# rn   r   r   )r+   r^   s   "r,   r-   r_     s      2D)E r.   c                    V P                   # ra   )re   rs   s   &r,   get_install_requirement:_InstallRequirementBackedCandidate.get_install_requirement  s    zzr.   c                &   < V ^8  d   Qh/ S[ ;R&   # )r'   rP   r   )r+   r^   s   "r,   r-   r_   }   s       ! r.   )rd   ri   re   rb   rf   rc   rg   rP   NN)r|   
__module____qualname____firstlineno____doc__is_installedrk   rt   r}   r   r   propertyrZ   r   r\   rT   r   r   r   rh   r   r   __annotate_func____static_attributes____classdictcell__r^   s   @r,   rX   rX   }   s       L) )$- -A A  
 ! !   ! !  

 
: :6 60 "U U M  r.   rX   c                   X   a a ] tR tRt oRtRV3R lV 3R llltV3R lR ltRtVtV ;t	# )	r%   i  Fc                Z   < V ^8  d   QhRS[ RS[RRRS[S[,          RS[S[,          RR/# 	r'   r5   r6   r[   r"   r\   rT   r)   Nr]   )r+   r^   s   "r,   r-   LinkCandidate.__annotate__
  sQ     /
 /
/
 %/
 	/

 ~&/
 '"/
 
/
r.   c           	       < TpVP                  Wd4      pVe-   \        P                  RVP                  4       VP                  p\	        W4      pVP                  V8X  g   Q hVP                  P
                  '       d   VP                  P                  '       gz   \        VP                  P                  4      p	\        V	P                  4      p
WJ8X  g   Q V: RV
: R24       hVe-   \        V	P                  4      pW[8X  g   Q V: RV: RV 24       hVe   VP                  P
                  '       g   Q hVP                  P                  '       g   Q hVP                  '       d!   VP                  VP                  J d   Whn        VP                   e   VP                   Vn        M\%        WgP                  R7      Vn        \&        SV `Q  VVVVVVR7       R # )NzUsing cached wheel link: %sz != z
 for wheelz for wheel )link_is_in_wheel_cacher5   rZ   rI   r[   r\   rT   )get_wheel_cache_entryloggerdebugr5   rJ   is_wheelr   r   filenamer   r\   r   rT   
persistentrF   cached_wheel_source_linkorigindownload_infor   superrk   )rj   r5   r6   r[   r\   rT   rZ   cache_entryrI   wheel
wheel_namewheel_versionr{   s   &&&&&&      r,   rk   LinkCandidate.__init__
  s    33KF"LL68H8HI##D)$9yyD   99dii&7&7&7$)),,-E*5::6J%N$j^:'NN%" ' 6,H[]$5[GH, "99%%%%%99$$$$$%%%(--8;Q;Q*Q0;-!!-%0%7%7" &:8N8N&" 	# 	 	
r.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r   ;  s     U U'7 Ur.   c                h    V P                   P                  pVP                  V P                  R R7      # )T)parallel_builds)rd   preparerprepare_linked_requirementre   )rj   r   s   & r,   r   #LinkCandidate._prepare_distribution;  s+    ==))224::t2TTr.   r   r   
r|   r   r   r   is_editablerk   r   r   r   __classcell__r{   r^   s   @@r,   r%   r%     s'     K/
 /
bU U Ur.   c                   X   a a ] tR tRt oRtRV3R lV 3R llltV3R lR ltRtVtV ;t	# )	r$   i@  Tc                Z   < V ^8  d   QhRS[ RS[RRRS[S[,          RS[S[,          RR/# r   r]   )r+   r^   s   "r,   r-   EditableCandidate.__annotate__C  sQ     
 

 %
 	

 ~&
 '"
 

r.   c           	     D   < \         SV `  VV\        W4      VVVR 7       R# )r   N)r   rk   rN   )rj   r5   r6   r[   r\   rT   r{   s   &&&&&&r,   rk   EditableCandidate.__init__C  s.     	/? 	 	
r.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r   T  s     O O'7 Or.   c                `    V P                   P                  P                  V P                  4      # ra   )rd   r   prepare_editable_requirementre   rs   s   &r,   r   'EditableCandidate._prepare_distributionT  s!    }}%%BB4::NNr.   r   r   r   r   s   @@r,   r$   r$   @  s&     K
 
"O O Or.   c                   (  a  ] tR tRt o RtRtV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	V 3R lR lt
]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       t]V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )r#   iX  TNc                .   < V ^8  d   QhRS[ RS[RRRR/# )r'   rP   r6   r[   r"   r)   NrQ   )r+   r^   s   "r,   r-   &AlreadyInstalledCandidate.__annotate__\  s9     P PP %P 	P
 
Pr.   c                    Wn         \        W4      V n        W0n        R V n        RpVP
                  P                  V P                  V4       R # )Nzalready satisfied)rP   rV   re   rd   rg   r   prepare_installed_requirement)rj   rP   r6   r[   skip_reasons   &&&& r,   rk   "AlreadyInstalledCandidate.__init__\  sB     	0@
 *66tzz;Or.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r  n  s       r.   c                ,    \        V P                  4      # ra   )rD   rP   rs   s   &r,   rt   !AlreadyInstalledCandidate.__str__n  s    499~r.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r  q  s     ; ;# ;r.   c                P    V P                   P                   R V P                  : R2# rx   )r{   r|   rP   rs   s   &r,   r}   "AlreadyInstalledCandidate.__repr__q  s$    ..))*!DII=::r.   c                &   < V ^8  d   QhRS[ RS[/# r   )objectr   )r+   r^   s   "r,   r-   r  t  s     I IF It Ir.   c                    \        V\        4      '       g   \        # V P                  VP                  8H  ;'       d    V P                  VP                  8H  # ra   )r0   r#   NotImplementedr\   rT   r   s   &&r,   r    AlreadyInstalledCandidate.__eq__t  s>    %!:;;!!yyEJJ&HH4<<5==+HHr.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r  y  s     / /# /r.   c                D    \        V P                  V P                  34      # ra   )r   r\   rT   rs   s   &r,   r   "AlreadyInstalledCandidate.__hash__y  s    TYY-..r.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r  }  s     ( (n (r.   c                .    V P                   P                  # ra   )rP   rS   rs   s   &r,   r   &AlreadyInstalledCandidate.project_name|  s    yy'''r.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r    r   r.   c                    V P                   # ra   r   rs   s   &r,   r\   AlreadyInstalledCandidate.name  r   r.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r    r   r.   c                l    V P                   f   V P                  P                  V n         V P                   # ra   r   rs   s   &r,   rT   !AlreadyInstalledCandidate.version  r   r.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r    s     " "T "r.   c                .    V P                   P                  # ra   )rP   rB   rs   s   &r,   r   %AlreadyInstalledCandidate.is_editable  s    yy!!!r.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r    s     9 9# 9r.   c                :    V P                    R V P                   R2# )rq   z (Installed)rr   rs   s   &r,   r   *AlreadyInstalledCandidate.format_for_error  s    ))Adll^<88r.   c                F   < V ^8  d   QhRS[ RS[S[S[,          ,          /# r   r   )r+   r^   s   "r,   r-   r    s)     U Ut U+AV8W Ur.   c              #  .  "   V'       g   R #  V P                   P                  4        F:  pV P                  P                  \	        V4      V P
                  4       R j  xL
  K<  	  R #  L
  \         d   p\        T P                   TR7      R hR p?ii ; i5i)N)rP   invalid_exc)rP   r   rd   r   rD   re   r   r   )rj   r   r   r   s   &&  r,   r   +AlreadyInstalledCandidate.iter_dependencies  sr     	UYY002==DDSVTZZXXX 3X! 	U)tyycJPTT	Us;   BAA* A(A* &B(A* *B5BBBc                0   < V ^8  d   QhRS[ S[,          /# rn   r   )r+   r^   s   "r,   r-   r          2D)E r.   c                    R # ra   r   rs   s   &r,   r   1AlreadyInstalledCandidate.get_install_requirement      r.   )rd   re   rg   rP   )r|   r   r   r   r   rZ   rk   rt   r}   r   r   r   r   r\   rT   r   r   r   r   r   r   r   s   @r,   r#   r#   X  s     LKP P$ ; ;I I
/ / ( ( ! !  
 " "9 9U U r.   c                   d  a  ] tR tRt o RtRR/V 3R lR lltV 3R lR ltV 3R	 lR
 ltV 3R lR ltV 3R lR lt	]
V 3R lR l4       t]
V 3R lR l4       t]
V 3R lR l4       tV 3R lR lt]
V 3R lR l4       t]
V 3R lR l4       t]
V 3R lR l4       tV 3R lR ltV 3R lR  ltR!tV tR# )"ExtrasCandidatei  a  A candidate that has 'extras', indicating additional dependencies.

Requirements can be for a project with dependencies, something like
foo[extra].  The extras don't affect the project/version being installed
directly, but indicate that we need additional dependencies. We model that
by having an artificial ExtrasCandidate that wraps the "base" candidate.

The ExtrasCandidate differs from the base in the following ways:

1. It has a unique name, of the form foo[extra]. This causes the resolver
   to treat it as a separate node in the dependency graph.
2. When we're getting the candidate's dependencies,
   a) We specify that we want the extra dependencies as well.
   b) We add a dependency on the base candidate.
      See below for why this is needed.
3. We return None for the underlying InstallRequirement, as the base
   candidate will provide it, and we don't want to end up with duplicates.

The dependency on the base candidate is needed so that the resolver can't
decide that it should recommend foo[extra1] version 1.0 and foo[extra2]
version 2.0. Having those candidates depend on foo=1.0 and foo=2.0
respectively forces the resolver to recognise that this is a conflict.
r;   Nc                P   < V ^8  d   QhRS[ RS[S[,          RS[S[,          RR/# )r'   baserG   r;   r)   N)r*   r   rD   r   r   )r+   r^   s   "r,   r-   ExtrasCandidate.__annotate__  sC     U UU #U
 /0U 
Ur.   c                   Wn         \        R V 4       4      V n        Ve	   W0n        R# V P                   P                  V n        R# )a  
:param comes_from: the InstallRequirement that led to this candidate if it
    differs from the base's InstallRequirement. This will often be the
    case in the sense that this candidate's requirement has the extras
    while the base's does not. Unlike the InstallRequirement backed
    candidates, this requirement is used solely for reporting purposes,
    it does not do any leg work.
c              3   8   "   T F  p\        V4      x  K  	  R # 5ira   )r   ).0r   s   & r,   	<genexpr>+ExtrasCandidate.__init__.<locals>.<genexpr>  s     Ef 1! 4 4f   N)r7  	frozensetrG   re   _comes_from)rj   r7  rG   r;   s   &&&$r,   rk   ExtrasCandidate.__init__  s5     	EfEE)3)?:TYY__r.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r8    s     E E Er.   c                    \        V P                  4      P                  R ^4      w  rRP                  VRP	                  V P
                  4      V4      # )rq   z	{}[{}] {},)rD   r7  splitr+   joinrG   )rj   r\   rests   &  r,   rt   ExtrasCandidate.__str__  s@    ^))#q1
!!$(=tDDr.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r8    s     X X# Xr.   c                l    V P                   P                   R V P                  : RV P                  : R2# )z(base=z	, extras=rz   )r{   r|   r7  rG   rs   s   &r,   r}   ExtrasCandidate.__repr__  s/    ..))*&Yt{{oUVWWr.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r8    s     . .# .r.   c                D    \        V P                  V P                  34      # ra   )r   r7  rG   rs   s   &r,   r   ExtrasCandidate.__hash__  s    TYY,--r.   c                &   < V ^8  d   QhRS[ RS[/# r   r   )r+   r^   s   "r,   r-   r8    r   r.   c                    \        WP                  4      '       d;   V P                  VP                  8H  ;'       d    V P                  VP                  8H  # R # r   )r0   r{   r7  rG   r   s   &&r,   r   ExtrasCandidate.__eq__  s<    e^^,,99

*JJt{{ell/JJr.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r8    s     & &n &r.   c                .    V P                   P                  # ra   )r7  r   rs   s   &r,   r   ExtrasCandidate.project_name      yy%%%r.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r8    s     @ @c @r.   c                V    \        V P                  P                  V P                  4      # r   )r!   r7  r   rG   rs   s   &r,   r\   ExtrasCandidate.name  s     499114;;??r.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r8    s     ! ! !r.   c                .    V P                   P                  # ra   )r7  rT   rs   s   &r,   rT   ExtrasCandidate.version  s    yy   r.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r8    s     
 
# 
r.   c                    R P                  V P                  P                  4       RP                  \	        V P
                  4      4      4      # )z{} [{}]z, )r+   r7  r   rF  sortedrG   rs   s   &r,   r    ExtrasCandidate.format_for_error  s9    II&&($))F4;;4G*H
 	
r.   c                    < V ^8  d   QhRS[ /# rn   r%  )r+   r^   s   "r,   r-   r8    s     & &d &r.   c                .    V P                   P                  # ra   )r7  r   rs   s   &r,   r   ExtrasCandidate.is_installed  rU  r.   c                    < V ^8  d   QhRS[ /# rn   r%  )r+   r^   s   "r,   r-   r8    s     % %T %r.   c                .    V P                   P                  # ra   )r7  r   rs   s   &r,   r   ExtrasCandidate.is_editable      yy$$$r.   c                0   < V ^8  d   QhRS[ S[,          /# rn   r   )r+   r^   s   "r,   r-   r8    s     % %Xd^ %r.   c                .    V P                   P                  # ra   )r7  rZ   rs   s   &r,   rZ   ExtrasCandidate.source_link  rf  r.   c                F   < V ^8  d   QhRS[ RS[S[S[,          ,          /# r   r   )r+   r^   s   "r,   r-   r8    s%      t +AV8W r.   c              #    "   V P                   P                  pVP                  V P                   4      x  V'       g   R # V P                  P	                  V P                   P
                  P                  4       4      pV P                  P                  V P                   P
                  P                  4       4      p\        V4       F9  p\        P                  RV P                   P                  V P                  V4       K;  	  V P                   P
                  P                  V4       F1  pVP                  \        V4      V P                   V4       R j  xL
  K3  	  R #  L
5i)Nz%%s %s does not provide the extra '%s')r7  rd   make_requirement_from_candidaterG   intersectionrP   r   
differencer^  r   warningr\   rT   r   r   rD   r@  )rj   r   r[   valid_extrasinvalid_extrasextrar   s   &&     r,   r   !ExtrasCandidate.iter_dependencies  s     ))$$ 55dii@@ {{//		0S0S0UV//		0S0S0UVN+ENN7			 , 11,?A::A     @s   EE EE c                0   < V ^8  d   QhRS[ S[,          /# rn   r   )r+   r^   s   "r,   r-   r8    s      2D)E r.   c                    R # ra   r   rs   s   &r,   r   'ExtrasCandidate.get_install_requirement  s     r.   )r@  r7  rG   )r|   r   r   r   r   rk   rt   r}   r   r   r   r   r\   rT   r   r   r   rZ   r   r   r   r   r   s   @r,   r5  r5    s     0U
 48U U&E EX X. . 
 & & @ @ ! !
 

 & & % % % % 8 r.   r5  c                      a  ] tR tRt o RtRtV 3R lR ltV 3R lR ltV 3R lR	 lt]	V 3R
 lR l4       t
]	V 3R lR l4       t]	V 3R lR l4       tV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )RequiresPythonCandidatei  FNc                H   < V ^8  d   QhRS[ S[S[R3,          ,          RR/# )r'   py_version_info.r)   N)r   r   r   )r+   r^   s   "r,   r-   $RequiresPythonCandidate.__annotate__  s,     H HsCx(A Hd Hr.   c                    Ve   \        V4      pM\        P                  R,          p\        RP	                  R V 4       4      4      V n        R # )N:N   N.c              3   8   "   T F  p\        V4      x  K  	  R # 5ira   ro   )r;  cs   & r,   r<  3RequiresPythonCandidate.__init__.<locals>.<genexpr>$  s     (FAQr>  )r   sysversion_infor   rF  rg   )rj   rz  r  s   && r,   rk    RequiresPythonCandidate.__init__  s=    &1/BL++B/L(F(F FGr.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r{  *  s     ) ) )r.   c                     R V P                    2# zPython rg   rs   s   &r,   rt   RequiresPythonCandidate.__str__*  s    ((r.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r{  -  s     ? ?# ?r.   c                P    V P                   P                   R V P                  : R2# rx   )r{   r|   rg   rs   s   &r,   r}    RequiresPythonCandidate.__repr__-  s%    ..))*!DMM+<A>>r.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r{  1  s     * *n *r.   c                    \         # ra   REQUIRES_PYTHON_IDENTIFIERrs   s   &r,   r   $RequiresPythonCandidate.project_name0      ))r.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r{  5  s     * *c *r.   c                    \         # ra   r  rs   s   &r,   r\   RequiresPythonCandidate.name4  r  r.   c                    < V ^8  d   QhRS[ /# rn   r   )r+   r^   s   "r,   r-   r{  9  s       r.   c                    V P                   # ra   r  rs   s   &r,   rT   RequiresPythonCandidate.version8  s    }}r.   c                    < V ^8  d   QhRS[ /# rn   ro   )r+   r^   s   "r,   r-   r{  <  s     ( (# (r.   c                     R V P                    2# r  )rT   rs   s   &r,   r   (RequiresPythonCandidate.format_for_error<  s    ''r.   c                F   < V ^8  d   QhRS[ RS[S[S[,          ,          /# r   r   )r+   r^   s   "r,   r-   r{  ?  s%      t +AV8W r.   c                    R# r   r   )rj   r   s   &&r,   r   )RequiresPythonCandidate.iter_dependencies?  s    	r.   c                0   < V ^8  d   QhRS[ S[,          /# rn   r   )r+   r^   s   "r,   r-   r{  B  r0  r.   c                    R # ra   r   rs   s   &r,   r   /RequiresPythonCandidate.get_install_requirementB  r3  r.   r  )r|   r   r   r   r   rZ   rk   rt   r}   r   r   r\   rT   r   r   r   r   r   r   s   @r,   rx  rx    s     LKH H) )? ? * * * *  ( (  r.   rx  )r#   r$   r%   )=loggingr  typingr   r   r   r   r   r   r	   r
   "pip._vendor.packaging.requirementsr   pip._vendor.packaging.utilsr   r   pip._vendor.packaging.versionr   pip._internal.exceptionsr   r   r   r   r   pip._internal.metadatar   pip._internal.models.linkr   r   pip._internal.models.wheelr   pip._internal.req.constructorsr   r   pip._internal.req.req_installr   &pip._internal.utils.direct_url_helpersr   pip._internal.utils.miscr   r7  r   r    r!   r[   r"   	getLoggerr|   r   r*   r  r2   rJ   rN   rV   rX   r%   r$   r#   r5  rx  r   r.   r,   <module>r     s     
 X X X A I 1  4 < , = G ; 5 5 			8	$ ".2QR 	2(0G GT6U6 6UrO: O0D	 DNyi yx(i (r.   