
    )h              	          d dl mZ d dlZd dlmZmZmZmZmZm	Z	 ddl
mZmZmZmZ er%ddlmZ ddlmZ dd	lmZ  G d
 de	eeeef         Zn ej,                  dg d      Z G d deeeef         Zy)    )annotationsN)TYPE_CHECKINGAnyGenericIterableMapping
NamedTuple   )CTKTRTDirectedGraph)AbstractProvider)BaseReporter   )	Criterionc                  ,    e Zd ZU ded<   ded<   ded<   y)ResultzMapping[KT, CT]mappingzDirectedGraph[KT | None]graphzMapping[KT, Criterion[RT, CT]]criteriaN)__name__
__module____qualname____annotations__     \/var/www/html/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/abstract.pyr   r      s      ''00r   r   )r   r   r   c                  0    e Zd ZdZeZ	 	 	 	 	 	 ddZddZy)AbstractResolverz3The thing that performs the actual resolution work.c                     || _         || _        y )N)providerreporter)selfr"   r#   s      r   __init__zAbstractResolver.__init__   s    
 ! r   c                    t         )a  Take a collection of constraints, spit out the resolution result.

        This returns a representation of the final resolution state, with one
        guarenteed attribute ``mapping`` that contains resolved candidates as
        values. The keys are their respective identifiers.

        :param requirements: A collection of constraints.
        :param kwargs: Additional keyword arguments that subclasses may accept.

        :raises: ``self.base_exception`` or its subclass.
        )NotImplementedError)r$   requirementskwargss      r   resolvezAbstractResolver.resolve#   s
     "!r   N)r"   zAbstractProvider[RT, CT, KT]r#   zBaseReporter[RT, CT, KT]returnNone)r(   zIterable[RT]r)   r   r+   zResult[RT, CT, KT])r   r   r   __doc__	Exceptionbase_exceptionr%   r*   r   r   r   r    r       s0    =N!.! +! 
	!"r   r    )
__future__r   collectionstypingr   r   r   r   r   r	   structsr   r   r   r   	providersr   	reportersr   	criterionr   r   
namedtupler    r   r   r   <module>r8      sj    "  M M / /,($1WRRZ0 1 $[##H.NOF"wr2rz* "r   