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__/_tokenizer.cpython-312.pyc
�

���i-�� �UddlmZddlZddlZddlmZddlmZmZm	Z	ddl
mZeGd�d��ZGd	�d
e
�Zidejd��d
ejd��dejd��dejd��dejd��dejd��dejdej ��dejd��dejd��dejd��dejd ��d!ejd"ej ��d#ejej"ej$zej ej&z��d$ejd%��d&ejd'��d(ejd)��d*ejd+��ejd,�ejd-�ejd.�d/��Zd0ed1<Gd2�d3�Zy)4�)�annotationsN)�	dataclass)�	Generator�Mapping�NoReturn�)�	Specifierc�,�eZdZUded<ded<ded<y)�Token�str�name�text�int�positionN)�__name__�
__module__�__qualname__�__annotations__����/build/snapcraft-certbot-817459ae66b3942307a8b35b87e7f45e/parts/certbot/install/lib/python3.12/site-packages/packaging/_tokenizer.pyrrs��

�I�

�I��Mrrc�<��eZdZdZ								d�fd�Zdd�Z�xZS)�ParserSyntaxErrorz7The provided source text could not be parsed correctly.c�L��||_||_||_t�|��y)N)�span�message�source�super�__init__)�selfrrr�	__class__s    �rrzParserSyntaxError.__init__s%�����	�������
���rc��d|jdzd|jd|jdz
zzdz}|j�d|j�d|��S)N� r�~r�^z
    )rrr)r �markers  r�__str__zParserSyntaxError.__str__"sW���t�y�y��|�#�c�T�Y�Y�q�\�D�I�I�a�L�-H�&I�I�C�O���,�,��v�d�k�k�]�&���A�Ar)rrrrrztuple[int, int]�return�None)r(r)rrr�__doc__rr'�
__classcell__)r!s@rrrs7���A�����	�
��
�
�Brr�LEFT_PARENTHESISz\(�RIGHT_PARENTHESISz\)�LEFT_BRACKETz\[�
RIGHT_BRACKETz\]�	SEMICOLON�;�COMMA�,�
QUOTED_STRINGzk
            (
                ('[^']*')
                |
                ("[^"]*")
            )
        �OPz(===|==|~=|!=|<=|>=|<|>)�BOOLOPz\b(or|and)\b�INz\bin\b�NOTz\bnot\b�VARIABLEa�
            \b(
                python_version
                |python_full_version
                |os[._]name
                |sys[._]platform
                |platform_(release|system)
                |platform[._](version|machine|python_implementation)
                |python_implementation
                |implementation_(name|version)
                |extras?
                |dependency_groups
            )\b
        �	SPECIFIER�ATz\@�URLz[^ \t]+�
IDENTIFIERz\b[a-zA-Z0-9][a-zA-Z0-9._-]*\b�VERSION_PREFIX_TRAILz\.\*z\+[a-z0-9]+(?:[-_\.][a-z0-9]+)*z[ \t]+�$)�VERSION_LOCAL_LABEL_TRAIL�WS�ENDzdict[str, re.Pattern[str]]�
DEFAULT_RULESc��eZdZdZ						d
d�Zdd�Zdd�dd�Zdd�Zdd�Zd	d	d
�							dd�Z	e
j								dd��Zy	)�	Tokenizerz�Context-sensitive token parsing.

    Provides methods to examine the input stream to check whether the next token
    matches.
    c�<�||_||_d|_d|_y)Nr)r�rules�
next_tokenr)r rrGs   rrzTokenizer.__init__bs �������
�(,�����
rc�H�|j|�r|j�yy)z8Move beyond provided token name, if at current position.N)�check�read)r r
s  r�consumezTokenizer.consumems���:�:�d���I�I�K�rF)�peekc�,�|j�Jd|�d|j����||jvs
Jd|����|j|}|j|j|j�}|�y|st||d|j�|_y)z�Check whether the next token has the provided name.

        By default, if the check succeeds, the token *must* be read before
        another check. If `peek` is set to `True`, the token is not loaded and
        would need to be checked again.
        zCannot check for z, already have zUnknown token name: FrT)rHrG�matchrrr)r r
rM�
expressionrOs     rrJzTokenizer.checkrs������&�	
���x��t���6I�J�	
�&��t�z�z�!�B�%9�$��#B�B�!��Z�Z��%�
�� � ����d�m�m�<���=���#�D�%��(�D�M�M�B�D�O�rc�l�|j|�s|jd|����|j�S)zsExpect a certain token name next, failing with a syntax error otherwise.

        The token is *not* read.
        z	Expected )rJ�raise_syntax_errorrK)r r
�expecteds   r�expectzTokenizer.expect�s4��
�z�z�$���)�)�I�h�Z�*@�A�A��y�y�{�rc��|j}|�J�|xjt|j�z
c_d|_|S)z%Consume the next token and return it.N)rHr�lenr)r �tokens  rrKzTokenizer.read�s9������� � � ��
�
��U�Z�Z��(�
�����rN)�
span_start�span_endc�r�|�|jn||�|jn|f}t||j|���)z.Raise ParserSyntaxError at the given position.)rr)rrr)r rrXrYrs     rrRzTokenizer.raise_syntax_error�sC��(�/�D�M�M�Z�%�-�D�M�M�8�
�� ���;�;��
�	
rc#��K�|j|�r|j}|j�nd}d��|�y|j|�s|jd|�d|�d|��|��|j�y�w)NzExpected matching z for z, after )rX)rJrrKrR)r �
open_token�close_token�around�
open_positions     r�enclosing_tokenszTokenizer.enclosing_tokens�sz�����:�:�j�!� �M�M�M��I�I�K� �M�
�� ���z�z�+�&��#�#�$�[�M��z�l�(�6�(�S�(�
$�
�
	
�	�	��s�A6A8)rrrGzMapping[str, re.Pattern[str]]r(r))r
rr(r))r
rrM�boolr(ra)r
rrSrr(r)r(r)rrrX�
int | NonerYrbr(r)r\rr]rr^rr(zGenerator[None, None, None])
rrrr*rrLrJrTrKrR�
contextlib�contextmanagerr`rrrrErE[s����	��	�-�		�

�	��
05��*��"&�#�
��
��	
�
�
�
�

�$������,/��<?��	$���rrE)�
__future__rrc�re�dataclassesr�typingrrr�
specifiersr	r�	Exceptionr�compile�VERBOSE�_operator_regex_str�_version_regex_str�
IGNORECASErCrrErrr�<module>rps`��"��	�!�/�/�!������B�	�B�*1-��
��
�
�5�)�1-������E�*�1-��J�B�J�J�u�%�1-��Z�R�Z�Z��&�	1-�
�����D�!�1-��Z�R�Z�Z��
�
1-��Z�R�Z�Z�	�	�
�
�	�1-�"	�*�"�*�*�0�
1�#1-�$
�j�b�j�j��)�%1-�&	�*�"�*�*�Y�
�'1-�(
�:�2�:�:�j�!�)1-�*�
��
�
�
	�	�
�
��+1-�L������%�%�	�(D�(D�D�
�
�
�R�]�]�"��M1-�T	�*�"�*�*�U�
�U1-�V
�:�2�:�:�j�!�W1-�X�*�"�*�*�>�?�Y1-�Z�J�B�J�J�w�/�[1-�\",����,N�!O�
�"�*�*�Y�
��2�:�:�d��a1-�
�)�1�hf�fr