
    K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dS )    )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<   dS )Resultzdict[KT, CT]mappingzDirectedGraph[KT | None]graphzdict[KT, Criterion[RT, CT]]criteriaN)__name__
__module____qualname____annotations__     a/srv/django_bis/venv311/lib/python3.11/site-packages/pip/_vendor/resolvelib/resolvers/abstract.pyr   r      s6         ''''------r   r   )r   r   r   c                  &    e Zd ZdZeZddZddZdS )AbstractResolverz3The thing that performs the actual resolution work.providerAbstractProvider[RT, CT, KT]reporterBaseReporter[RT, CT, KT]returnNonec                "    || _         || _        d S )N)r    r"   )selfr    r"   s      r   __init__zAbstractResolver.__init__   s    
 ! r   requirementsIterable[RT]kwargsr   Result[RT, CT, KT]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'   r)   r+   s      r   resolvezAbstractResolver.resolve#   s
     "!r   N)r    r!   r"   r#   r$   r%   )r)   r*   r+   r   r$   r,   )r   r   r   __doc__	Exceptionbase_exceptionr(   r/   r   r   r   r   r      sG        ==N! ! ! !" " " " " "r   r   )
__future__r   collectionstypingr   r   r   r   r   structsr
   r   r   r   	providersr   	reportersr   	criterionr   r   
namedtupler   r   r   r   <module>r;      sH   " " " " " "     D D D D D D D D D D D D D D / / / / / / / / / / / / P,,,,,,(((((($$$$$$. . . . .WRRZ0 . . . . $[#H.N.N.NOOF" " " " "wr2rz* " " " " "r   