§
    �’j°  ã                  ó*  — d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZ d dlmZ d dlmZmZ d d	lmZ d d
lmZ eed         edz  f         Zd d„Z ed¬¦  «         G d„ d¦  «        ¦   «         Z G d„ d¦  «        Zd!d„Z G d„ d¦  «        ZdS )"é    )Úannotations)ÚIterable)Ú	dataclass)ÚOptional)ÚSpecifierSet)ÚNormalizedName)ÚVersion)ÚLinkÚlinks_equivalent)ÚInstallRequirement)ÚHashesÚ	CandidateNÚprojectr   Úextrasúfrozenset[NormalizedName]ÚreturnÚstrc                ó^   — |s| S d                      t          |¦  «        ¦  «        }| › d|› d�S )Nú,ú[ú])ÚjoinÚsorted)r   r   Úextras_exprs      úVC:\Projects\DSCons\.venv\Lib\site-packages\pip\_internal\resolution\resolvelib\base.pyÚformat_namer      s=   € Øð ØˆØ—(’(�6 &™>œ>Ñ*Ô*€KØÐ&Ð&˜Ð&Ð&Ð&Ð&ó    T)Úfrozenc                  óˆ   — e Zd ZU ded<   ded<   ded<   ded<   edd
„¦   «         Zedd„¦   «         Zdd„Zdd„Zdd„Z	dd„Z
dS )Ú
Constraintr   Ú	specifierr   Úhasheszdict[str, list[str]]Úhash_optionszfrozenset[Link]Úlinksr   c                ón   — t          t          ¦   «         t          ¦   «         i t          ¦   «         ¦  «        S ©N)r    r   r   Ú	frozenset)Úclss    r   ÚemptyzConstraint.empty    s"   € å�,™.œ.­&©(¬(°B½	¹¼ÑDÔDÐDr   Úireqr   c                óò   — |j         rt          |j         g¦  «        nt          ¦   «         }d„ |j                             ¦   «         D ¦   «         }t	          |j        |                     d¬¦  «        ||¦  «        S )Nc                ó4   — i | ]\  }}|t          |¦  «        “ŒS © ©Úlist©Ú.0ÚalgÚvs      r   ú
<dictcomp>z(Constraint.from_ireq.<locals>.<dictcomp>'   s$   € ÐMÐMÐM©¨¨a˜�T !™WœWÐMÐMÐMr   F©Útrust_internet)Úlinkr'   r#   Úitemsr    r!   r"   )r(   r*   r$   r#   s       r   Ú	from_ireqzConstraint.from_ireq$   ss   € à*.¬)ÐD•	˜4œ9˜+Ñ&Ô&Ð&½¹¼ˆØMÐM°4Ô3D×3JÒ3JÑ3LÔ3LÐMÑMÔMˆÝØŒNØ�KŠK uˆKÑ-Ô-ØØñ	
ô 
ð 	
r   Úboolc                óz   — t          | j        ¦  «        p't          | j        ¦  «        pt          | j        ¦  «        S r&   )r:   r!   r"   r$   ©Úselfs    r   Ú__bool__zConstraint.__bool__/   s0   € Ý�D”NÑ#Ô#ÐL¥t¨D¬KÑ'8Ô'8ÐL½DÀÄÑ<LÔ<LÐLr   Úotherc                ó:  ‡ ‡— t          ‰t          ¦  «        st          S ‰ j        ‰j        z  }‰ j        ‰                     d¬¦  «        z  }‰ j        s$d„ ‰j                             ¦   «         D ¦   «         }nk‰j        s$d„ ‰ j                             ¦   «         D ¦   «         }n@ˆˆ fd„‰ j                             ¦   «         ‰j                             ¦   «         z  D ¦   «         }‰ j        }‰j	        r| 
                    ‰j	        g¦  «        }t          ||||¦  «        S )NFr5   c                ó4   — i | ]\  }}|t          |¦  «        “ŒS r-   r.   r0   s      r   r4   z&Constraint.__and__.<locals>.<dictcomp>8   s$   € ÐRÐRÐR©V¨S°!˜C¥ a¡¤ÐRÐRÐRr   c                ó4   — i | ]\  }}|t          |¦  «        “ŒS r-   r.   r0   s      r   r4   z&Constraint.__and__.<locals>.<dictcomp>:   s$   € ÐQÐQÐQ©V¨S°!˜C¥ a¡¤ÐQÐQÐQr   c                óH   •‡— i | ]Š‰ˆˆfd „‰j         ‰         D ¦   «         “ŒS )c                ó2   •— g | ]}|‰j         ‰         v ¯|‘ŒS r-   ©r#   )r1   r3   r2   r=   s     €€r   ú
<listcomp>z1Constraint.__and__.<locals>.<dictcomp>.<listcomp>=   s,   ø€ ÐXÐXÐX˜A¸AÀÔARÐSVÔAWÐ<WÐ<W�aÐ<WÐ<WÐ<Wr   rE   )r1   r2   r?   r=   s    @€€r   r4   z&Constraint.__and__.<locals>.<dictcomp><   sL   øø€ ð ð ð àð ÐXÐXÐXÐXÐX Ô!3°CÔ!8ÐXÑXÔXðð ð r   )Ú
isinstancer   ÚNotImplementedr!   r"   r#   r8   Úkeysr$   r7   Úunionr    )r=   r?   r!   r"   r#   r$   s   ``    r   Ú__and__zConstraint.__and__2   s/  øø€ Ý˜%Õ!3Ñ4Ô4ð 	"Ý!Ð!Ø”N U¤_Ñ4ˆ	Ø”˜uŸ|š|¸5˜|ÑAÔAÑAˆØÔ ð 	ØRÐR°uÔ7I×7OÒ7OÑ7QÔ7QÐRÑRÔRˆLˆLØÔ#ð 	ØQÐQ°tÔ7H×7NÒ7NÑ7PÔ7PÐQÑQÔQˆLˆLðð ð ð ð àÔ,×1Ò1Ñ3Ô3°eÔ6H×6MÒ6MÑ6OÔ6OÑOðñ ô ˆLð ”
ˆØŒ:ð 	.Ø—K’K ¤ Ñ-Ô-ˆEÝ˜) V¨\¸5ÑAÔAÐAr   Ú	candidater   c                ó˜   ‡— | j         r"t          ˆfd„| j         D ¦   «         ¦  «        sdS | j                             ‰j        d¬¦  «        S )Nc              3  ó8   •K  — | ]}t          |‰¦  «        V — Œd S r&   )Ú_match_link)r1   r7   rL   s     €r   ú	<genexpr>z-Constraint.is_satisfied_by.<locals>.<genexpr>G   s-   øè è € Ð!VÐ!VÀ4¥+¨d°IÑ">Ô">Ð!VÐ!VÐ!VÐ!VÐ!VÐ!Vr   FT)Úprereleases)r$   Úallr!   ÚcontainsÚversion©r=   rL   s    `r   Úis_satisfied_byzConstraint.is_satisfied_byE   sX   ø€ àŒ:ð 	�cÐ!VÐ!VÐ!VÐ!VÈ4Ì:Ð!VÑ!VÔ!VÑVÔVð 	Ø�5ð Œ~×&Ò& yÔ'8ÀdÐ&ÑKÔKÐKr   r   c                ó’   — t          | j        ¦  «        }| j        r+|dd                     d„ | j        D ¦   «         ¦  «        › d�z  }|S )Nz (from z, c              3  ó4   K  — | ]}t          |¦  «        V — Œd S r&   )r   )r1   r7   s     r   rP   z.Constraint.format_for_error.<locals>.<genexpr>Q   s(   è è € Ð$FÐ$F°4¥S¨¡Y¤YÐ$FÐ$FÐ$FÐ$FÐ$FÐ$Fr   ú))r   r!   r$   r   )r=   Úss     r   Úformat_for_errorzConstraint.format_for_errorN   sT   € Ý�”ÑÔˆØŒ:ð 	JØÐI˜4Ÿ9š9Ð$FÐ$F¸4¼:Ð$FÑ$FÔ$FÑFÔFÐIÐIÐIÑIˆAØˆr   N)r   r    )r*   r   r   r    ©r   r:   )r?   r   r   r    ©rL   r   r   r:   ©r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__annotations__Úclassmethodr)   r9   r>   rK   rV   r[   r-   r   r   r    r       sá   € € € € € € àÐÐÑØ€N€N�NØ&Ð&Ð&Ñ&ØÐÐÑàðEð Eð Eñ „[ðEð ð
ð 
ð 
ñ „[ð
ðMð Mð Mð MðBð Bð Bð Bð&Lð Lð Lð Lðð ð ð ð ð r   r    c                  óV   — e Zd Zedd„¦   «         Zedd„¦   «         Zdd	„Zdd„Zdd„ZdS )ÚRequirementr   r   c                ó    — t          d¦  «        ‚)zòThe "project name" of a requirement.

        This is different from ``name`` if this requirement contains extras,
        in which case ``name`` would contain the ``[...]`` part, while this
        refers to the name of the project.
        úSubclass should override©ÚNotImplementedErrorr<   s    r   Úproject_namezRequirement.project_nameV   s   € õ "Ð"<Ñ=Ô=Ð=r   r   c                ó    — t          d¦  «        ‚)zÚThe name identifying this requirement in the resolver.

        This is different from ``project_name`` if this requirement contains
        extras, where ``project_name`` would not contain the ``[...]`` part.
        rg   rh   r<   s    r   ÚnamezRequirement.name`   s   € õ "Ð"<Ñ=Ô=Ð=r   rL   r   r:   c                ó   — dS ©NFr-   rU   s     r   rV   zRequirement.is_satisfied_byi   s   € Øˆur   ÚCandidateLookupc                ó    — t          d¦  «        ‚©Nrg   rh   r<   s    r   Úget_candidate_lookupz Requirement.get_candidate_lookupl   ó   € Ý!Ð"<Ñ=Ô=Ð=r   c                ó    — t          d¦  «        ‚rq   rh   r<   s    r   r[   zRequirement.format_for_erroro   rs   r   N©r   r   r^   r]   )r   ro   )	r_   r`   ra   Úpropertyrj   rl   rV   rr   r[   r-   r   r   re   re   U   sŽ   € € € € € Øð>ð >ð >ñ „Xð>ð ð>ð >ð >ñ „Xð>ðð ð ð ð>ð >ð >ð >ð>ð >ð >ð >ð >ð >r   re   r7   r
   rL   r:   c                ó>   — |j         rt          | |j         ¦  «        S dS rn   )Úsource_linkr   )r7   rL   s     r   rO   rO   s   s%   € ØÔð =Ý  iÔ&;Ñ<Ô<Ð<Øˆ5r   c                  ó¶   — e Zd Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd	„¦   «         Zedd
„¦   «         Zedd„¦   «         Z	dd„Z
dd„Zdd„ZdS )r   r   r   c                ó    — t          d¦  «        ‚)zðThe "project name" of the candidate.

        This is different from ``name`` if this candidate contains extras,
        in which case ``name`` would contain the ``[...]`` part, while this
        refers to the name of the project.
        úOverride in subclassrh   r<   s    r   rj   zCandidate.project_namez   s   € õ "Ð"8Ñ9Ô9Ð9r   r   c                ó    — t          d¦  «        ‚)zÖThe name identifying this candidate in the resolver.

        This is different from ``project_name`` if this candidate contains
        extras, where ``project_name`` would not contain the ``[...]`` part.
        r{   rh   r<   s    r   rl   zCandidate.name„   s   € õ "Ð"8Ñ9Ô9Ð9r   r	   c                ó    — t          d¦  «        ‚©Nr{   rh   r<   s    r   rT   zCandidate.version�   ó   € å!Ð"8Ñ9Ô9Ð9r   r:   c                ó    — t          d¦  «        ‚r~   rh   r<   s    r   Úis_installedzCandidate.is_installed‘   r   r   c                ó    — t          d¦  «        ‚r~   rh   r<   s    r   Úis_editablezCandidate.is_editable•   r   r   úLink | Nonec                ó    — t          d¦  «        ‚r~   rh   r<   s    r   rx   zCandidate.source_link™   r   r   Úwith_requiresúIterable[Requirement | None]c                ó    — t          d¦  «        ‚r~   rh   )r=   r†   s     r   Úiter_dependencieszCandidate.iter_dependencies�   ó   € Ý!Ð"8Ñ9Ô9Ð9r   úInstallRequirement | Nonec                ó    — t          d¦  «        ‚r~   rh   r<   s    r   Úget_install_requirementz!Candidate.get_install_requirement    rŠ   r   c                ó    — t          d¦  «        ‚rq   rh   r<   s    r   r[   zCandidate.format_for_error£   rs   r   Nru   r^   )r   r	   r\   )r   r„   )r†   r:   r   r‡   )r   r‹   )r_   r`   ra   rv   rj   rl   rT   r�   rƒ   rx   r‰   r�   r[   r-   r   r   r   r   y   s  € € € € € Øð:ð :ð :ñ „Xð:ð ð:ð :ð :ñ „Xð:ð ð:ð :ð :ñ „Xð:ð ð:ð :ð :ñ „Xð:ð ð:ð :ð :ñ „Xð:ð ð:ð :ð :ñ „Xð:ð:ð :ð :ð :ð:ð :ð :ð :ð>ð >ð >ð >ð >ð >r   )r   r   r   r   r   r   )r7   r
   rL   r   r   r:   )Ú
__future__r   Úcollections.abcr   Údataclassesr   Útypingr   Ú pip._vendor.packaging.specifiersr   Úpip._vendor.packaging.utilsr   Úpip._vendor.packaging.versionr	   Úpip._internal.models.linkr
   r   Úpip._internal.req.req_installr   Úpip._internal.utils.hashesr   Útuplero   r   r    re   rO   r   r-   r   r   ú<module>rš      sž  ðØ "Ð "Ð "Ð "Ð "Ð "à $Ð $Ð $Ð $Ð $Ð $Ø !Ð !Ð !Ð !Ð !Ð !Ø Ð Ð Ð Ð Ð à 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø 1Ð 1Ð 1Ð 1Ð 1Ð 1à <Ð <Ð <Ð <Ð <Ð <Ð <Ð <Ø <Ð <Ð <Ð <Ð <Ð <Ø -Ð -Ð -Ð -Ð -Ð -à˜ Ô-Ð/AÀDÑ/HÐHÔI€ð'ð 'ð 'ð 'ð €�$ÐÑÔð8ð 8ð 8ð 8ð 8ñ 8ô 8ñ Ôð8ðv>ð >ð >ð >ð >ñ >ô >ð >ð<ð ð ð ð+>ð +>ð +>ð +>ð +>ñ +>ô +>ð +>ð +>ð +>r   