
    )h                        d dl mZ d dlmZmZmZ ddlmZmZm	Z	 erddl
mZ  G d de      Z G d	 d
eeeef         Z G d deeeef         Z G d de      Z G d deeeef         Z G d de      Zy)    )annotations)TYPE_CHECKING
CollectionGeneric   )CTRTRequirementInformation   )	Criterionc                      e Zd ZdZy)ResolverExceptionzA base class for all exceptions raised by this module.

    Exceptions derived by this class should all be handled in this module. Any
    bubbling pass the resolver should be treated as a bug.
    N)__name__
__module____qualname____doc__     ^/var/www/html/venv/lib/python3.12/site-packages/pip/_vendor/resolvelib/resolvers/exceptions.pyr   r      s    r   r   c                  (     e Zd Zd fdZddZ xZS )RequirementsConflictedc                2    t         |   |       || _        y N)super__init__	criterion)selfr   	__class__s     r   r   zRequirementsConflicted.__init__   s    #"r   c                    dj                  dj                  d | j                  j                         D                    S )NzRequirements conflict: {}, c              3  2   K   | ]  }t        |        y wr   repr.0rs     r   	<genexpr>z1RequirementsConflicted.__str__.<locals>.<genexpr>        I!d1gI   )formatjoinr   iter_requirementr   s    r   __str__zRequirementsConflicted.__str__   s4    *11IIIt~~'F'F'HII
 	
r   )r   Criterion[RT, CT]returnNoner0   strr   r   r   r   r.   __classcell__r   s   @r   r   r      s    #
r   r   c                  (     e Zd Zd fdZddZ xZS )InconsistentCandidatec                B    t         |   ||       || _        || _        y r   )r   r   	candidater   )r   r:   r   r   s      r   r   zInconsistentCandidate.__init__   s     I.""r   c                    dj                  | j                  dj                  d | j                  j	                         D                    S )Nz+Provided candidate {!r} does not satisfy {}r    c              3  2   K   | ]  }t        |        y wr   r"   r$   s     r   r'   z0InconsistentCandidate.__str__.<locals>.<genexpr>'   r(   r)   )r*   r:   r+   r   r,   r-   s    r   r.   zInconsistentCandidate.__str__$   s;    <CCNNIIIt~~'F'F'HII
 	
r   )r:   r   r   r/   r2   r4   r6   s   @r   r8   r8      s    #

r   r8   c                      e Zd Zy)ResolutionErrorN)r   r   r   r   r   r   r>   r>   +   s    r   r>   c                        e Zd Zd fdZ xZS )ResolutionImpossiblec                2    t         |   |       || _        y r   )r   r   causes)r   rB   r   s     r   r   zResolutionImpossible.__init__0   s     r   )rB   z*Collection[RequirementInformation[RT, CT]]r   r   r   r   r5   r6   s   @r   r@   r@   /   s     r   r@   c                        e Zd Zd fdZ xZS )ResolutionTooDeepc                2    t         |   |       || _        y r   )r   r   round_count)r   rG   r   s     r   r   zResolutionTooDeep.__init__7   s    %&r   )rG   intr0   r1   rC   r6   s   @r   rE   rE   6   s    ' 'r   rE   N)
__future__r   typingr   r   r   structsr   r	   r
   r   r   	Exceptionr   r   r8   r>   r@   rE   r   r   r   <module>rM      s    " 5 5 4 4$	 
.B 


-wr2v 

	' 	?GBFO ' 'r   