+
     h  c                  sf    ^ RI Ht ^ RIHtHtHtHt ^RIHtH	t	H
t
  ! R R]]	]3,          4      tR# )i    )annotations)
CollectionGenericIterableIterator)CTRTRequirementInformationc                  sJ    ] tR t^tRtR R ltR R ltR R ltR R	 ltR
t	R# )	Criteriona  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.
c               s(    V ^8  d   QhRRRRRRRR/# )	   
candidateszIterable[CT]informationz*Collection[RequirementInformation[RT, CT]]incompatibilitieszCollection[CT]returnZNone Zformat   "O/usr/lib/python3.14/site-packages/pip/_vendor/resolvelib/resolvers/criterion.py__annotate__Criterion.__annotate__   s3     3 3 3 @3 *	3
 
3    c                	s*    Wn         W n        W0n        R # N)r
   r   r   )selfr
   r   r   s   &&&&r   __init__ZCriterion.__init__   s     %&!2r   c                   V ^8  d   QhRR/# )r	   r   Zstrr   r   r   r   r   r   &   s     , ,# ,r   c                	sR    R P                  R V P                   4       4      pRV R2# )z, c              3  s<   "   T F  w  rR V: RV: R2x  K  	  R# 5i)Z(z, via=)Nr   ).0Zreqparents   &  r   	<genexpr>Z%Criterion.__repr__.<locals>.<genexpr>'   s%      !
<L[SawfVJa(<Ls   z
Criterion(r   )Zjoinr   )r   Zrequirements   & r   __repr__ZCriterion.__repr__&   s4    yy !
<@<L<L!
 
 L>++r   c               r   )r	   r   zIterator[RT]r   r   r   r   r   r   ,   s     9 9, 9r   c                	(    R  V P                    4       # )c              3  8   "   T F  qP                   x  K  	  R # 5ir   )Zrequirementr   Zir   r   r   Z-Criterion.iter_requirement.<locals>.<genexpr>-   s     8'7!'7   r   r      &r   iter_requirementZCriterion.iter_requirement,   s    8t'7'788r   c               r   )r	   r   zIterator[CT | None]r   r   r   r   r   r   /   s     4 40 4r   c                	r   )c              3  r    r   )r   r!   r   r   r   Z(Criterion.iter_parent.<locals>.<genexpr>0   s     3"2Q"2r"   r#   r$   r%   r   iter_parentZCriterion.iter_parent/   s    3$"2"233r   )r
   r   r   N)
Z__name__Z
__module__Z__qualname__Z__firstlineno__Z__doc__r   r   r&   r'   Z__static_attributes__r   r   r   r   r      s     &3,94 4r   r   N)Z
__future__r    Ztypingr   r   r   r   Zstructsr   r   r   r   r   r   r   <module>r(      s(    " : : 4 4(4B (4r   