
    UhD                     8   d dl Z d dlZd dlZd dlmZmZmZ d dl	m
Z
mZmZmZmZmZmZmZmZmZ ddlmZmZ ddlmZmZmZ  G d de      Z eej:                  ej<                  z         Z ed	      jA                         Z! ed
      jA                         Z" ed      jA                         Z# ed      jA                         Z$ ed      jA                         Z% ed      jA                         Z& ed      jA                         Z' ed      Z(e ee(      ez   z  Z) e
e ee)      z         Z* e*d      Z+e*Z,  ed      d      Z-e'e-z   Z.e, ee%e,z         z   Z/ e! ee/      z   e"z   d      Z0 eejb                  e jd                  e jf                  z        Z4 eejb                  e jd                  e jf                  z        Z5e4e5z  Z6  e
e6 ee%e6z         z   dd      d      Z7 ee#e7z   e$z   e7z        Z8e8js                  d          ee8      d      Z:e:js                  d          e e             d      Z ejr                  d        e&Z;e;ez   Z<e: ee<      z   Z=e. ee<      z   Z>e+ ee0      z   e>e=z  z   Z?ee?z   ez   Z@e@j                  d        G d d      ZBy)     N)ListOptionalSet)
CombineLiteralr   ParseExceptionRegexWord
ZeroOrMoreoriginalTextFor	stringEndstringStart   )MARKER_EXPRMarker)LegacySpecifier	SpecifierSpecifierSetc                       e Zd ZdZy)InvalidRequirementzJ
    An invalid requirement was found, users should refer to PEP 508.
    N)__name__
__module____qualname____doc__     \/var/www/html/IOPaint/env/lib/python3.12/site-packages/pip/_vendor/packaging/requirements.pyr   r      s    r   r   [](),;@z-_.namez[^ ]+urlextrasF)
joinStringadjacent	_raw_specc                 "    |j                   xs dS )N )r*   slts      r   <lambda>r1   @   s    Q[[->B r   	specifierc                     |d   S )Nr   r   r-   s      r   r1   r1   C   s
    AaD r   markerc                 F    t        | |j                  |j                         S )N)r   _original_start_original_endr-   s      r   r1   r1   G   s    F1Q..AB r   zx[]c                   8    e Zd ZdZdeddfdZdefdZdefdZy)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.
    requirement_stringreturnNc                    	 t         j                  |      }|j                  | _        |j                  rt        j                  j                  |j                        }|j                  dk(  r7t        j                  j                  |      |j                  k7  rSt        d      |j                  r$|j                  r|j                  s$|j                  st        d|j                         |j                  | _        nd | _        t        |j                  r|j                  j!                         ng       | _        t#        |j$                        | _        |j&                  r|j&                  | _        y d | _        y # t        $ r:}t        d||j                  |j                  dz    d|j
                         d }~ww xY w)NzParse error at "   z": filezInvalid URL givenzInvalid URL: )REQUIREMENTparseStringr   r   locmsgr%   r&   urllibparseurlparsescheme
urlunparsenetlocsetr'   asListr   r2   r4   )selfr:   reqe
parsed_urls        r   __init__zRequirement.__init__d   sV   	))*<=C 	77..sww7J  F*<<**:6#''A,-@AA ''J,=,=%%j.?.?(=	)BCC'*wwDHDH #3::CJJ$5$5$72 N'3CMM'B7:zzt)  	$"$6quuquuqy$I"LCPQPUPUwW 	s   E: :	F=5F88F=c                 
   | j                   g}| j                  r9dj                  t        | j                              }|j	                  d| d       | j
                  r$|j	                  t        | j
                               | j                  r;|j	                  d| j                          | j                  r|j	                  d       | j                  r|j	                  d| j                          dj                  |      S )Nr"   r   r   z@  z; r,   )	r%   r'   joinsortedappendr2   strr&   r4   )rK   partsformatted_extrass      r   __str__zRequirement.__str__}   s     II;;;"xxt{{(;<LL1-.a01>>LLT^^,-88LL2dhhZ){{S!;;LL2dkk]+,wwu~r   c                     d|  dS )Nz<Requirement('z')>r   )rK   s    r   __repr__zRequirement.__repr__   s    vS))r   )r   r   r   r   rU   rO   rX   rZ   r   r   r   r9   r9   W   s5    L3 L4 L2 (*# *r   r9   )Crestringurllib.parserC   typingr   r   	TOptionalr   pip._vendor.pyparsingr   r   Lr   r	   r
   r   r   r   r   markersr   r   
specifiersr   r   r   
ValueErrorr   ascii_lettersdigitsALPHANUMsuppressLBRACKETRBRACKETLPARENRPARENCOMMA	SEMICOLONATPUNCTUATIONIDENTIFIER_END
IDENTIFIERNAMEEXTRAURIURLEXTRAS_LISTEXTRAS
_regex_strVERBOSE
IGNORECASEVERSION_PEP440VERSION_LEGACYVERSION_ONEVERSION_MANY_VERSION_SPECsetParseActionVERSION_SPECMARKER_SEPARATORMARKERVERSION_AND_MARKERURL_AND_MARKERNAMED_REQUIREMENTr?   r@   r9   r   r   r   <module>r      s  
 
   3 3   ) @ @  $$v}}45S6??S6??	
3		
3		#cFOO	sV__5kZ4x?@X
> ::;
&eHoe3hj//
5(Xk*
*X
5x	@y++RZZ"---GH112::3MN~-w*U[011cE &</&8LHI   > ?-}-k:   0 1,okm,X6   B  	K	'!HV$44 x''8F++~@R/RS --	9    ;* ;*r   