+
    UBi                        ^ RI Ht ^ RIHtHt ^RIHt ^RIH	t	 ^RI
HtHt ^RIHt ^RIHt  ! R R	]4      t ! R
 R4      tR# )    )annotations)AnyIterator)parse_requirement)ParserSyntaxError)Marker_normalize_extra_values)SpecifierSet)canonicalize_namec                      ] tR t^tRtRtR# )InvalidRequirementzB
An invalid requirement was found, users should refer to PEP 508.
 N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       ;/usr/lib/python3.14/site-packages/packaging/requirements.pyr   r      s    r   r   c                  b    ] tR t^tRtR R ltR R ltR R ltR R	 ltR
 R lt	R R lt
RtR# )RequirementzParse a requirement.

Parse a given requirement string into its parts, such as name, specifier,
URL, and extras. Raises InvalidRequirement on a badly-formed requirement
string.
c                    V ^8  d   QhRRRR/# )   requirement_stringstrreturnNoner   )formats   "r   __annotate__Requirement.__annotate__"   s     J J3 J4 Jr   c                	    \        V4      pTP                  T n        TP
                  ;'       g    R T n        \        TP                  ;'       g    . 4      T n        \        TP                  4      T n	        R T n
        TP                  eF   \        P                  ! \        4      T n
        \        TP                  4      T P                  n        R # R #   \         d   p\        \        T4      4      ThR p?ii ; iN)_parse_requirementr   r   r   nameurlsetextrasr
   	specifiermarkerr   __new__r	   _markers)selfr   parsedes   &&  r   __init__Requirement.__init__"   s    	4'(:;F  	%zz11T #FMM$7$7R 8'3F4D4D'E%)==$ ..0DK#:6==#IDKK  % ! 	4$SV,!3	4s   C C8C33C8c                    V ^8  d   QhRRRR/# )r   r%   r   r   zIterator[str]r   )r   s   "r   r    r!   1   s     % % % %r   c              #  	  "   Vx  V P                   '       d-   R P                  \        V P                   4      4      pRV R2x  V P                  '       d   \	        V P                  4      x  V P
                  '       d(   RV P
                   2x  V P                  '       d   Rx  V P                  '       d   RV P                   2x  R# R# 5i),[]z@  z; N)r(   joinsortedr)   r   r&   r*   )r-   r%   formatted_extrass   && r   _iter_partsRequirement._iter_parts1   s     
;;;"xxt{{(;<&'q))>>>dnn%%888txxj/!{{{	;;;t{{m$$ s   AC(C "C#C9Cc                   V ^8  d   QhRR/# r   r   r   r   )r   s   "r   r    r!   C   s     4 4 4r   c                	V    R P                  V P                  V P                  4      4      # ) )r8   r;   r%   r-   s   &r   __str__Requirement.__str__C   s     wwt''		233r   c                   V ^8  d   QhRR/# r>   r   )r   s   "r   r    r!   F   s     * *# *r   c                	    R V  R2# )z<Requirement('z')>r   rA   s   &r   __repr__Requirement.__repr__F   s    vS))r   c                   V ^8  d   QhRR/# )r   r   intr   )r   s   "r   r    r!   I   s     
 
# 
r   c                	    \        V P                  P                  .V P                  \	        V P
                  4      4      O54      # r#   )hash	__class__r   r;   r   r%   rA   s   &r   __hash__Requirement.__hash__I   s>    ''!!"3DII">?
 	
r   c                    V ^8  d   QhRRRR/# )r   otherr   r   boolr   )r   s   "r   r    r!   Q   s     

 

C 

D 

r   c                	   \        V\        4      '       g   \        # \        V P                  4      \        VP                  4      8H  ;'       d}    V P
                  VP
                  8H  ;'       d\    V P                  VP                  8H  ;'       d;    V P                  VP                  8H  ;'       d    V P                  VP                  8H  # r#   )	
isinstancer   NotImplementedr   r%   r(   r)   r&   r*   )r-   rP   s   &&r   __eq__Requirement.__eq__Q   s    %--!! dii(,=ejj,II , ,u||+, ,%//1, , EII%, , u||+	
r   )r(   r*   r%   r)   r&   N)r   r   r   r   r   r0   r;   rB   rF   rM   rU   r   r   r   r   r   r      s+    J%$4*


 

r   r   N)
__future__r   typingr   r   _parserr   r$   
_tokenizerr   markersr   r	   
specifiersr
   utilsr   
ValueErrorr   r   r   r   r   <module>r_      s4    #   < ) 4 $ $ F
 F
r   