
    ,i              	          d dl mZ d dlZd dl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
NamedTuple   )CTKTRTDirectedGraph)AbstractProvider)BaseReporter   )	Criterionc                  ,    e Zd ZU ded<   ded<   ded<   y)Resultzdict[KT, CT]mappingzDirectedGraph[KT | None]graphzdict[KT, Criterion[RT, CT]]criteriaN)__name__
__module____qualname____annotations__     ]/var/www/mymood/env/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/abstract.pyr   r      s    ''--r   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   structsr
   r   r   r   	providersr   	reportersr   	criterionr   r   
namedtupler   r   r   r   <module>r7      sj    "  D D / /,($.WRRZ0 . $[##H.NOF"wr2rz* "r   