Ë
    äØjj@  ã                   ó¾   — d dl mZ d dlmZmZ d dlmZ d dlmZ ddl	m
Z
mZmZmZ  G d„ de«      Z G d	„ d
e«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)é    )ÚSpecifierSet)ÚNormalizedNameÚcanonicalize_name)Úinstall_req_drop_extras)ÚInstallRequirementé   )Ú	CandidateÚCandidateLookupÚRequirementÚformat_namec                   óˆ   — e Zd Zdeddfd„Zdefd„Zdefd„Zede	fd„«       Z
edefd„«       Zdefd	„Zdefd
„Zdedefd„Zy)ÚExplicitRequirementÚ	candidateÚreturnNc                 ó   — || _         y ©N©r   ©Úselfr   s     úr/opt/eval-harness/bench_task/venv/lib/python3.12/site-packages/pip/_internal/resolution/resolvelib/requirements.pyÚ__init__zExplicitRequirement.__init__   s	   € Ø"ˆ�ó    c                 ó,   — t        | j                  «      S r   )Ústrr   ©r   s    r   Ú__str__zExplicitRequirement.__str__   s   € Ü�4—>‘>Ó"Ð"r   c                 óN   — | j                   j                  › d| j                  ›d�S ©Nú(ú))Ú	__class__Ú__name__r   r   s    r   Ú__repr__zExplicitRequirement.__repr__   s%   € Ø—.‘.×)Ñ)Ð*¨!¨D¯N©NÐ+=¸QÐ?Ð?r   c                 ó.   — | j                   j                  S r   )r   Úproject_namer   s    r   r%   z ExplicitRequirement.project_name   s   € ð �~‰~×*Ñ*Ð*r   c                 ó.   — | j                   j                  S r   )r   Únamer   s    r   r'   zExplicitRequirement.name   s   € ð �~‰~×"Ñ"Ð"r   c                 ó6   — | j                   j                  «       S r   )r   Úformat_for_errorr   s    r   r)   z$ExplicitRequirement.format_for_error   s   € Ø�~‰~×.Ñ.Ó0Ð0r   c                 ó   — | j                   d fS r   r   r   s    r   Úget_candidate_lookupz(ExplicitRequirement.get_candidate_lookup!   s   € Ø�~‰~˜tÐ#Ð#r   c                 ó    — || j                   k(  S r   r   r   s     r   Úis_satisfied_byz#ExplicitRequirement.is_satisfied_by$   s   € Ø˜DŸN™NÑ*Ð*r   )r"   Ú
__module__Ú__qualname__r	   r   r   r   r#   Úpropertyr   r%   r'   r)   r
   r+   Úboolr-   © r   r   r   r   
   s�   „ ð# )ð #°ó #ð#˜ó #ð@˜#ó @ð ð+˜nò +ó ð+ð ð#�cò #ó ð#ð1 #ó 1ð$ oó $ð+¨ð +°tô +r   r   c                   óˆ   — e Zd Zdeddfd„Zdefd„Zdefd„Zede	fd„«       Z
edefd„«       Zdefd	„Zdefd
„Zdedefd„Zy)ÚSpecifierRequirementÚireqr   Nc                 óŽ   — |j                   �J d«       ‚|| _        t        d„ | j                  j                  D «       «      | _        y )NúThis is a link, not a specifierc              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   ©r   ©Ú.0Úes     r   ú	<genexpr>z0SpecifierRequirement.__init__.<locals>.<genexpr>,   ó   è ø€ Ò Q¸!Ô!2°1×!5Ñ Qùó   ‚)ÚlinkÚ_ireqÚ	frozensetÚextrasÚ_extras©r   r5   s     r   r   zSpecifierRequirement.__init__)   s;   € Ø�y‰yÐ ÐCÐ"CÓCÐ ØˆŒ
Ü Ñ Q¸t¿z¹z×?PÑ?PÔ QÓQˆ�r   c                 ó@   — t        | j                  j                  «      S r   )r   rA   Úreqr   s    r   r   zSpecifierRequirement.__str__.   s   € Ü�4—:‘:—>‘>Ó"Ð"r   c                 ót   — | j                   j                  › dt        | j                  j                  «      ›d�S r   )r!   r"   r   rA   rG   r   s    r   r#   zSpecifierRequirement.__repr__1   s.   € Ø—.‘.×)Ñ)Ð*¨!¬C°·
±
·±Ó,?Ð+BÀ!ÐDÐDr   c                 óŽ   — | j                   j                  sJ d«       ‚t        | j                   j                  j                  «      S )Nú'Specifier-backed ireq is always PEP 508)rA   rG   r   r'   r   s    r   r%   z!SpecifierRequirement.project_name4   s1   € à�z‰z�~Š~ÐHÐHÓHˆ~Ü  §¡§¡×!4Ñ!4Ó5Ð5r   c                 óB   — t        | j                  | j                  «      S r   )r   r%   rD   r   s    r   r'   zSpecifierRequirement.name9   s   € ä˜4×,Ñ,¨d¯l©lÓ;Ð;r   c                 óô   — t        | «      j                  d«      D �cg c]  }|j                  «       ‘Œ }}t        |«      dk(  ryt        |«      dk(  r|d   S dj	                  |d d «      dz   |d   z   S c c}w )Nú,r   Ú r   z, éÿÿÿÿz and )r   ÚsplitÚstripÚlenÚjoin)r   ÚsÚpartss      r   r)   z%SpecifierRequirement.format_for_error=   st   € ô
 %(¨£I§O¡O°CÓ$8Ö9˜q�—‘•Ð9ˆÐ9Üˆu‹:˜Š?ØÜ�‹Z˜1Š_Ø˜‘8ˆOà�y‰y˜˜s ˜Ó$ wÑ.°°r±Ñ:Ð:ùò :s   �A5c                 ó   — d | j                   fS r   )rA   r   s    r   r+   z)SpecifierRequirement.get_candidate_lookupJ   s   € Ø�T—Z‘ZÐÐr   r   c                 ó*  — |j                   | j                   k(  s!J d|j                   › d| j                   › �«       ‚| j                  j                  sJ d«       ‚| j                  j                  j                  }|j	                  |j
                  d¬«      S )Nz6Internal issue: Candidate is not for this requirement z vs rJ   T©Úprereleases)r'   rA   rG   Ú	specifierÚcontainsÚversion)r   r   Úspecs      r   r-   z$SpecifierRequirement.is_satisfied_byM   s   € Ø�~‰~ §¡Ò*ð 	
ØDØ�~‰~Ð˜d 4§9¡9 +ð/ó	
Ð*ð �z‰z�~Š~ÐHÐHÓHˆ~Ø�z‰z�~‰~×'Ñ'ˆØ�}‰}˜Y×.Ñ.¸Dˆ}ÓAÐAr   )r"   r.   r/   r   r   r   r   r#   r0   r   r%   r'   r)   r
   r+   r	   r1   r-   r2   r   r   r4   r4   (   s—   „ ðRÐ/ð R°Dó Rð
#˜ó #ðE˜#ó Eð ð6˜nò 6ó ð6ð ð<�cò <ó ð<ð; #ó ;ð  oó  ð
B¨ð 
B°tô 
Br   r4   c                   ó    — e Zd ZdZdeddfd„Zy)Ú!SpecifierWithoutExtrasRequirementz‰
    Requirement backed by an install requirement on a base package.
    Trims extras from its install requirement if there are any.
    r5   r   Nc                 ó    — |j                   �J d«       ‚t        |«      | _        t        d„ | j                  j                  D «       «      | _        y )Nr7   c              3   ó2   K  — | ]  }t        |«      –— Œ y ­wr   r9   r:   s     r   r=   z=SpecifierWithoutExtrasRequirement.__init__.<locals>.<genexpr>c   r>   r?   )r@   r   rA   rB   rC   rD   rE   s     r   r   z*SpecifierWithoutExtrasRequirement.__init__`   s@   € Ø�y‰yÐ ÐCÐ"CÓCÐ Ü,¨TÓ2ˆŒ
Ü Ñ Q¸t¿z¹z×?PÑ?PÔ QÓQˆ�r   )r"   r.   r/   Ú__doc__r   r   r2   r   r   r_   r_   Z   s   „ ñð
RÐ/ð R°Dô Rr   r_   c                   ó�   — e Zd ZdZdededdfd„Zdefd„Zdefd„Z	e
defd	„«       Ze
defd
„«       Zdefd„Zdefd„Zdedefd„Zy)ÚRequiresPythonRequirementz4A requirement representing Requires-Python metadata.rZ   Úmatchr   Nc                 ó    — || _         || _        y r   )rZ   Ú
_candidate)r   rZ   re   s      r   r   z"RequiresPythonRequirement.__init__i   s   € Ø"ˆŒØˆ�r   c                 ó    — d| j                   › �S )NzPython )rZ   r   s    r   r   z!RequiresPythonRequirement.__str__m   s   € Ø˜Ÿ™Ð(Ð)Ð)r   c                 ó`   — | j                   j                  › dt        | j                  «      ›d�S r   )r!   r"   r   rZ   r   s    r   r#   z"RequiresPythonRequirement.__repr__p   s*   € Ø—.‘.×)Ñ)Ð*¨!¬C°·±Ó,?Ð+BÀ!ÐDÐDr   c                 ó.   — | j                   j                  S r   )rg   r%   r   s    r   r%   z&RequiresPythonRequirement.project_names   s   € à�‰×+Ñ+Ð+r   c                 ó.   — | j                   j                  S r   )rg   r'   r   s    r   r'   zRequiresPythonRequirement.namew   s   € à�‰×#Ñ#Ð#r   c                 ó   — t        | «      S r   ©r   r   s    r   r)   z*RequiresPythonRequirement.format_for_error{   ó   € Ü�4‹yÐr   c                 ó‚   — | j                   j                  | j                  j                  d¬«      r| j                  d fS y)NTrX   ©NN)rZ   r[   rg   r\   r   s    r   r+   z.RequiresPythonRequirement.get_candidate_lookup~   s5   € Ø�>‰>×"Ñ" 4§?¡?×#:Ñ#:ÈÐ"ÔMØ—?‘? DÐ(Ð(Ør   r   c                 ó¤   — |j                   | j                  j                   k(  sJ d«       ‚| j                  j                  |j                  d¬«      S )NzNot Python candidateTrX   )r'   rg   rZ   r[   r\   r   s     r   r-   z)RequiresPythonRequirement.is_satisfied_byƒ   sF   € Ø�~‰~ §¡×!5Ñ!5Ò5ÐMÐ7MÓMÐ5ð �~‰~×&Ñ& y×'8Ñ'8ÀdÐ&ÓKÐKr   )r"   r.   r/   rb   r   r	   r   r   r   r#   r0   r   r%   r'   r)   r
   r+   r1   r-   r2   r   r   rd   rd   f   s�   „ Ù>ð  ,ð  °yð  ÀTó  ð*˜ó *ðE˜#ó Eð ð,˜nò ,ó ð,ð ð$�cò $ó ð$ð #ó ð oó ð
L¨ð L°tô Lr   rd   c                   óŒ   — e Zd ZdZdeddfd„Zdefd„Zdefd„Ze	defd„«       Z
e	defd	„«       Zdefd
„Zdefd„Zdedefd„Zy)ÚUnsatisfiableRequirementz'A requirement that cannot be satisfied.r'   r   Nc                 ó   — || _         y r   ©Ú_name)r   r'   s     r   r   z!UnsatisfiableRequirement.__init__Ž   s	   € Øˆ�
r   c                 ó    — | j                   › d�S )Nz (unavailable)ru   r   s    r   r   z UnsatisfiableRequirement.__str__‘   s   € Ø—*‘*�˜^Ð,Ð,r   c                 ó`   — | j                   j                  › dt        | j                  «      ›d�S r   )r!   r"   r   rv   r   s    r   r#   z!UnsatisfiableRequirement.__repr__”   s)   € Ø—.‘.×)Ñ)Ð*¨!¬C°·
±
«OÐ+>¸aÐ@Ð@r   c                 ó   — | j                   S r   ru   r   s    r   r%   z%UnsatisfiableRequirement.project_name—   ó   € à�z‰zÐr   c                 ó   — | j                   S r   ru   r   s    r   r'   zUnsatisfiableRequirement.name›   rz   r   c                 ó   — t        | «      S r   rm   r   s    r   r)   z)UnsatisfiableRequirement.format_for_errorŸ   rn   r   c                  ó   — y)Nrp   r2   r   s    r   r+   z-UnsatisfiableRequirement.get_candidate_lookup¢   s   € Ør   r   c                  ó   — y)NFr2   r   s     r   r-   z(UnsatisfiableRequirement.is_satisfied_by¥   s   € Ør   )r"   r.   r/   rb   r   r   r   r   r#   r0   r%   r'   r)   r
   r+   r	   r1   r-   r2   r   r   rs   rs   ‹   s“   „ Ù1ð˜^ð °ó ð-˜ó -ðA˜#ó Að ð˜nò ó ðð ð�cò ó ðð #ó ð oó ð¨ð °tô r   rs   N)Ú pip._vendor.packaging.specifiersr   Úpip._vendor.packaging.utilsr   r   Úpip._internal.req.constructorsr   Úpip._internal.req.req_installr   Úbaser	   r
   r   r   r   r4   r_   rd   rs   r2   r   r   ú<module>r„      s\   ðÝ 9ß Iå BÝ <ç FÓ Fô+˜+ô +ô</B˜;ô /Bôd	RÐ(<ô 	Rô"L ô "LôJ˜{õ r   