
    m&phu                         S SK JrJrJrJr  SSKJr  SSKJ	r	  SSK
JrJr  SSKJr  SSKJr   " S S	\5      r " S
 S5      rg)    )AnyIteratorOptionalSet   )parse_requirement)ParserSyntaxError)Marker_normalize_extra_values)SpecifierSet)canonicalize_namec                       \ rS rSrSrSrg)InvalidRequirement   zB
An invalid requirement was found, users should refer to PEP 508.
 N)__name__
__module____qualname____firstlineno____doc____static_attributes__r       X/var/www/html/venv/lib/python3.13/site-packages/wheel/vendored/packaging/requirements.pyr   r      s    r   r   c                   ~    \ rS rSrSrS\SS4S jrS\S\\   4S jrS\4S	 jr	S\4S
 jr
S\4S jrS\S\4S jrSrg)Requirement   zParse 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.
requirement_stringreturnNc                     [        U5      nUR                  U l        UR
                  =(       d    S U l        [        UR                  =(       d    / 5      U l        [        UR                  5      U l	        S U l
        UR                  bD  [        R                  " [        5      U l
        [        UR                  5      U R                  l        g g ! [         a  n[        [        U5      5      UeS nAff = fN)_parse_requirementr	   r   strnameurlsetextrasr   	specifiermarkerr
   __new__r   _markers)selfr   parsedes       r   __init__Requirement.__init__!   s    	4'(:;F  	"(**"4 #FMM$7R 8'3F4D4D'E(,==$ ..0DK#:6==#IDKK  % ! 	4$SV,!3	4s   C 
C2C--C2r#   c              #     #    Uv   U R                   (       a,  SR                  [        U R                   5      5      nSU S3v   U R                  (       a  [	        U R                  5      v   U R
                  (       a&  SU R
                   3v   U R                  (       a  Sv   U R                  (       a  SU R                   3v   g g 7f)N,[]z@  z; )r&   joinsortedr'   r"   r$   r(   )r+   r#   formatted_extrass      r   _iter_partsRequirement._iter_parts0   s     
;;"xxt{{(;<&'q))>>dnn%%88txxj/!{{	;;t{{m$$ s   CCc                 V    SR                  U R                  U R                  5      5      $ )N )r5   r8   r#   r+   s    r   __str__Requirement.__str__B   s     wwt''		233r   c                     SU  S3$ )Nz<Requirement('z')>r   r<   s    r   __repr__Requirement.__repr__E   s    vS))r   c                     [        U R                  R                  /U R                  [	        U R
                  5      5      Q75      $ r    )hash	__class__r   r8   r   r#   r<   s    r   __hash__Requirement.__hash__H   s>    ''!!"3DII">?
 	
r   otherc                    [        U[        5      (       d  [        $ [        U R                  5      [        UR                  5      :H  =(       ay    U R
                  UR
                  :H  =(       aY    U R                  UR                  :H  =(       a9    U R                  UR                  :H  =(       a    U R                  UR                  :H  $ r    )	
isinstancer   NotImplementedr   r#   r&   r'   r$   r(   )r+   rG   s     r   __eq__Requirement.__eq__P   s    %--!! dii(,=ejj,II ,u||+,%//1, EII%, u||+	
r   )r&   r(   r#   r'   r$   )r   r   r   r   r   r"   r.   r   r8   r=   r@   intrE   r   boolrK   r   r   r   r   r   r      sk    J3 J4 J% % %$4 4*# *
# 


C 

D 

r   r   N)typingr   r   r   r   _parserr   r!   
_tokenizerr	   markersr
   r   
specifiersr   utilsr   
ValueErrorr   r   r   r   r   <module>rV      s4   
 0 / < ) 4 $ $ F
 F
r   