HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux srvntsweb01 6.8.0-55-generic #57-Ubuntu SMP PREEMPT_DYNAMIC Wed Feb 12 23:42:21 UTC 2025 x86_64
User: admntserv (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: //snap/certbot/5370/lib/python3.12/site-packages/packaging/__pycache__/requirements.cpython-312.pyc
�

���i6���ddlmZddlmZddlmZddlmZddl	m
Z
mZddlm
Z
ddlmZGd	�d
e�ZGd�d�Zy
)�)�annotations)�Iterator�)�parse_requirement)�ParserSyntaxError)�Marker�_normalize_extra_values)�SpecifierSet)�canonicalize_namec��eZdZdZy)�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��rr
c�@�eZdZdZd	d�Zd
d�Zdd�Zdd�Zdd�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
xsd|_t
|jxsg�|_t|j�|_	d|_
|j�Ctjt�|_
t|j�|j_yy#t$r}tt|��|�d}~wwxYw�N)�_parse_requirementrr
�str�name�url�set�extrasr
�	specifier�markerr�__new__r	�_markers)�self�requirement_string�parsed�es    r�__init__zRequirement.__init__"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�|��|jr,djt|j��}d|�d���|jrt	|j���|j
r!d|j
����|jrd��|jrd|j����yy�w)N�,�[�]z @ � z; )r�join�sortedrrrr )r#r�formatted_extrass   r�_iter_partszRequirement._iter_parts1s������
��;�;�"�x�x��t�{�{�(;�<���&�'�q�)�)��>�>��d�n�n�%�%��8�8�����z�"�"��{�{��	��;�;��t�{�{�m�$�$��s�B,B.c�V�dj|j|j��S)N�)r-r0r�r#s r�__str__zRequirement.__str__Cs ���w�w�t�'�'��	�	�2�3�3rc�<�d|jj�d|�d�S)N�<z('z')>)�	__class__rr3s r�__repr__zRequirement.__repr__Fs"���4�>�>�*�*�+�2�d�V�3�7�7rc	�n�tt|jt|j����Sr)�hash�tupler0rrr3s r�__hash__zRequirement.__hash__Is'���E�$�*�*�+<�T�Y�Y�+G�H�I�J�Jrc�\�t|t�stSt|j�t|j�k(xrj|j
|j
k(xrO|j|jk(xr4|j|jk(xr|j|jk(Sr)	�
isinstancer�NotImplementedrrrrrr )r#�others  r�__eq__zRequirement.__eq__Ls����%��-�!�!�
�d�i�i�(�,=�e�j�j�,I�I�
,����u�|�|�+�
,����%�/�/�1�
,����E�I�I�%�
,����u�|�|�+�	
rN)r$r�return�None)rrrBz
Iterator[str])rBr)rB�int)r@�objectrB�bool)
rrrrr'r0r4r8r<rArrrrrs'���
J�%�$4�8�K�

rrN)�
__future__r�typingr�_parserrr�
_tokenizerr�markersrr	�
specifiersr
�utilsr�
ValueErrorr
rrrr�<module>rOs4��#��<�)�4�$�$����A
�A
r