§
    �’j  ã                  ój   — d dl mZ d dlmZmZmZmZ ddlmZm	Z	m
Z
  G d„ dee	ef         ¦  «        ZdS )é    )Úannotations)Ú
CollectionÚGenericÚIterableÚIteratoré   )ÚCTÚRTÚRequirementInformationc                  ó2   — e Zd ZdZdd
„Zdd„Zdd„Zdd„ZdS )Ú	CriterionaQ  Representation of possible resolution results of a package.

    This holds three attributes:

    * `information` is a collection of `RequirementInformation` pairs.
      Each pair is a requirement contributing to this criterion, and the
      candidate that provides the requirement.
    * `incompatibilities` is a collection of all known not-to-work candidates
      to exclude from consideration.
    * `candidates` is a collection containing all possible candidates deducted
      from the union of contributing requirements and known incompatibilities.
      It should never be empty, except when the criterion is an attribute of a
      raised `RequirementsConflicted` (in which case it is always empty).

    .. note::
        This class is intended to be externally immutable. **Do not** mutate
        any of its attribute containers.
    Ú
candidatesúIterable[CT]Úinformationú*Collection[RequirementInformation[RT, CT]]ÚincompatibilitiesúCollection[CT]ÚreturnÚNonec                ó0   — || _         || _        || _        d S ©N)r   r   r   )Úselfr   r   r   s       úXC:\Projects\DSCons\.venv\Lib\site-packages\pip\_vendor\resolvelib\resolvers\criterion.pyÚ__init__zCriterion.__init__   s!   € ð %ˆŒØ&ˆÔØ!2ˆÔÐÐó    Ústrc                óV   — d                      d„ | j        D ¦   «         ¦  «        }d|› d�S )Nz, c              3  ó.   K  — | ]\  }}d |›d|›d�V — ŒdS )ú(z, via=ú)N© )Ú.0ÚreqÚparents      r   ú	<genexpr>z%Criterion.__repr__.<locals>.<genexpr>'   sK   è è € ð !
ð !
Ù-8¨S°&Ð(�Ð(Ð(˜VÐ(Ð(Ð(ð!
ð !
ð !
ð !
ð !
ð !
r   z
Criterion(r    )Újoinr   )r   Úrequirementss     r   Ú__repr__zCriterion.__repr__&   sG   € Ø—y’yð !
ð !
Ø<@Ô<Lð!
ñ !
ô !
ñ 
ô 
ˆð ,˜LÐ+Ð+Ð+Ð+r   úIterator[RT]c                ó$   — d„ | j         D ¦   «         S )Nc              3  ó$   K  — | ]}|j         V — Œd S r   )Úrequirement©r"   Úis     r   r%   z-Criterion.iter_requirement.<locals>.<genexpr>-   s$   è è € Ð8Ð8 !�”Ð8Ð8Ð8Ð8Ð8Ð8r   ©r   ©r   s    r   Úiter_requirementzCriterion.iter_requirement,   s   € Ø8Ð8 tÔ'7Ð8Ñ8Ô8Ð8r   úIterator[CT | None]c                ó$   — d„ | j         D ¦   «         S )Nc              3  ó$   K  — | ]}|j         V — Œd S r   )r$   r-   s     r   r%   z(Criterion.iter_parent.<locals>.<genexpr>0   s$   è è € Ð3Ð3˜Q�”Ð3Ð3Ð3Ð3Ð3Ð3r   r/   r0   s    r   Úiter_parentzCriterion.iter_parent/   s   € Ø3Ð3 $Ô"2Ð3Ñ3Ô3Ð3r   N)r   r   r   r   r   r   r   r   )r   r   )r   r)   )r   r2   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r(   r1   r5   r!   r   r   r   r      sn   € € € € € ðð ð&3ð 3ð 3ð 3ð,ð ,ð ,ð ,ð9ð 9ð 9ð 9ð4ð 4ð 4ð 4ð 4ð 4r   r   N)Ú
__future__r   Útypingr   r   r   r   Ústructsr	   r
   r   r   r!   r   r   ú<module>r=      s•   ðØ "Ð "Ð "Ð "Ð "Ð "à :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :Ð :à 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4Ð 4ð(4ð (4ð (4ð (4ð (4�˜˜B˜”ñ (4ô (4ð (4ð (4ð (4r   