| Current Path : /snap/certbot/5603/lib/python3.12/site-packages/packaging/__pycache__/ |
| Current File : //snap/certbot/5603/lib/python3.12/site-packages/packaging/__pycache__/requirements.cpython-312.pyc |
�
�j � � � d dl mZ d dlmZ ddlmZ ddlmZ ddl m
Z
mZ ddlm
Z
ddlmZ d d
gZdd�Z G d� d e� Z G d
� d
� Zy)� )�annotations)�Iterator� )�parse_requirement)�ParserSyntaxError)�Marker�_normalize_extra_values)�SpecifierSet)�canonicalize_name�InvalidRequirement�Requirementc � � t S �N)�__all__� � ��/build/snapcraft-certbot-54d6d23c1eba5f776fc280588daee8b3/parts/certbot/install/lib/python3.12/site-packages/packaging/requirements.py�__dir__r s � ��Nr c � � e Zd ZdZy)r zJ
An invalid requirement was found, users should refer to PEP 508.
N)�__name__�
__module__�__qualname__�__doc__r r r r r s � �r c �P � e Zd ZdZdd�Zdd�Zd
d�Zdd�Zd
d�Zd
d�Z dd�Z
dd �Zy
)r
ao 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.
Instances are safe to serialize with :mod:`pickle`. They use a stable
format so the same pickle can be loaded in future packaging releases.
.. versionchanged:: 26.2
Added a stable pickle format. Pickles created with packaging 26.2+ can
be unpickled with future releases. Backward compatibility with pickles
from packaging < 26.2 is supported but may be removed in a future
release.
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 wr )�_parse_requirementr r �str�name�url�set�extrasr
� specifier�markerr �__new__r �_markers)�self�requirement_string�parsed�es r �__init__zRequirement.__init__5 s� � � 4�'�(:�;�F� ���� �%�z�z�1�T��� #�F�M�M�$7�R� 8���'3�F�4D�4D�'E���%)����=�=�$� �.�.��0�D�K�#:�6�=�=�#I�D�K�K� � %�� !� 4�$�S��V�,�!�3�� 4�s �C � C%�C � C%c # �` K � |�� | j r,dj t | j � � }d|� d��� | j rt | j � �� | j
r!d| j
� ��� | j rd�� | j rd| j � ��� y y �w)N�,�[�]z @ � z; )r! �join�sortedr"