File: //snap/certbot/5370/lib/python3.12/site-packages/packaging/__pycache__/requirements.cpython-312.pyc
�
���i6 � � � d dl mZ d dlmZ ddlmZ ddlmZ ddl m
Z
mZ ddlm
Z
ddlmZ G d � d
e� Z G d� d� Zy
)� )�annotations)�Iterator� )�parse_requirement)�ParserSyntaxError)�Marker�_normalize_extra_values)�SpecifierSet)�canonicalize_namec � � e Zd ZdZy)�InvalidRequirementzJ
An invalid requirement was found, users should refer to PEP 508.
N)�__name__�
__module__�__qualname__�__doc__� � ��/build/snapcraft-certbot-817459ae66b3942307a8b35b87e7f45e/parts/certbot/install/lib/python3.12/site-packages/packaging/requirements.pyr
r
s � �r r
c �@ � e Zd ZdZd d�Zd
d�Zdd�Zdd�Zdd�Zd
d�Z y)�Requirementz�Parse 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 �� � t |� }|j | _ |j
xs d | _ t
|j xs g � | _ t |j � | _ d | _
|j �Ct j t � | _
t |j � | j _ y y # t $ r}t t |� � |�d }~ww xY w�N)�_parse_requirementr r
�str�name�url�set�extrasr
� specifier�markerr �__new__r �_markers)�self�requirement_string�parsed�es r �__init__zRequirement.__init__"