<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
U
    .e\                     @   s|  d dl mZmZmZ d dlZd dlZd dlmZmZm	Z	m
Z
 d dlmZmZmZmZmZ d dlmZ d dlmZ ddlmZmZ dd	lmZmZmZ G d
d deZeejej Z ed! Z"ed! Z#ed! Z$ed! Z%ed! Z&ed! Z'ed! Z(edZ)e ee)e  B Z*ee ee* Z+e+dZ,e+Z-eddZ.e(e. Z/e-ee&e-  Z0e"ee0 e# dZ1eej2ej3ej4B Z5eej2ej3ej4B Z6e5e6A Z7ee7ee&e7  ddddZ8ee$e8 e% e8B Z9e9:dd  e	e9dZ;e;:dd  e	e dZe:d d  e'Z<e<e Z=e;ee= Z>e/ee= Z?e,ee1 e?e>B  Z@ee@ e ZAeABd! G d"d# d#eCZDdS )$    )absolute_importdivisionprint_functionN)stringStart	stringEndoriginalTextForParseException)
ZeroOrMoreWordOptionalRegexCombine)Literal)parse   )MARKER_EXPRMarker)LegacySpecifier	SpecifierSpecifierSetc                   @   s   e Zd ZdZdS )InvalidRequirementzJ
    An invalid requirement was found, users should refer to PEP 508.
    N)__name__
__module____qualname____doc__ r   r   F/usr/lib/python3.8/site-packages/pip/_vendor/packaging/requirements.pyr      s   r   [](),;@z-_.namez[^ ]+urlextrasF)Z
joinStringZadjacent	_raw_specc                 C   s
   |j pdS )N )r'   sltr   r   r   <lambda>7       r-   	specifierc                 C   s   |d S )Nr   r   r)   r   r   r   r-   :   r.   markerc                 C   s   t | |j|j S )N)r   Z_original_startZ_original_endr)   r   r   r   r-   >   r.   zx[]c                   @   s(   e Zd ZdZdd Zdd Zdd ZdS )	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              
   C   s  zt |}W nD tk
rR } z&td||j|jd  |jW 5 d }~X Y nX |j| _|jrt		|j}|j
dkrt	||jkrtdn(|j
r|jr|j
s|jstd|j|j| _nd | _t|jr|j ng | _t|j| _|jr|jnd | _d S )NzParse error at "{0!r}": {1}   filezInvalid URL givenzInvalid URL: {0})REQUIREMENTparseStringr   r   formatZlocmsgr$   r%   urlparseZschemeZ
urlunparseZnetlocsetr&   ZasListr   r/   r0   )selfZrequirement_stringZreqeZ
parsed_urlr   r   r   __init__[   s4     


zRequirement.__init__c                 C   s   | j g}| jr*|ddt| j | jr@|t| j | jrh|d| j | j	rh|d | j	r|d| j	 d|S )Nz[{0}]r!   z@ {0} z; {0}r(   )
r$   r&   appendr6   joinsortedr/   strr%   r0   )r:   partsr   r   r   __str__v   s    
zRequirement.__str__c                 C   s   d t| S )Nz<Requirement({0!r})>)r6   rA   )r:   r   r   r   __repr__   s    zRequirement.__repr__N)r   r   r   r   r<   rC   rD   r   r   r   r   r1   N   s   r1   )EZ
__future__r   r   r   stringreZpip._vendor.pyparsingr   r   r   r   r	   r
   r   r   r   r   LZpip._vendor.six.moves.urllibr   r8   Zmarkersr   r   Z
specifiersr   r   r   
ValueErrorr   Zascii_lettersZdigitsZALPHANUMsuppressZLBRACKETZRBRACKETZLPARENZRPARENCOMMAZ	SEMICOLONATZPUNCTUATIONZIDENTIFIER_ENDZ
IDENTIFIERNAMEZEXTRAZURIZURLZEXTRAS_LISTZEXTRASZ
_regex_strVERBOSE
IGNORECASEZVERSION_PEP440ZVERSION_LEGACYZVERSION_ONEZVERSION_MANYZ_VERSION_SPECZsetParseActionZVERSION_SPECZMARKER_SEPARATORZMARKERZVERSION_AND_MARKERZURL_AND_MARKERZNAMED_REQUIREMENTr4   r5   objectr1   r   r   r   r   <module>   sh     
