Ë
    ™2Úi¬  ã                   ó   — U d dl Z d dlZd dlmZ d dlmZmZmZmZm	Z	m
Z
 ddlmZ e G d„ d«      «       Z G d„ d	e«      Zi d
d“dd“dd“dd“dd“dd“d ej                   dej"                  «      “dd“dd“dd“dd“d  ej                   d!ej"                  «      “d" ej                   ej$                  ej&                  z   ej"                  ej(                  z  «      “d#d$“d%d&“d'd(“d)d*“d+d,d-d.œ¥Zd/ed0<    G d1„ d2«      Zy)3é    N)Ú	dataclass)ÚDictÚIteratorÚNoReturnÚOptionalÚTupleÚUnioné   )Ú	Specifierc                   ó,   — e Zd ZU eed<   eed<   eed<   y)ÚTokenÚnameÚtextÚpositionN)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__Úint© ó    úK/var/www/html/acx/venv/lib/python3.12/site-packages/packaging/_tokenizer.pyr   r   	   s   … à
ƒIØ
ƒIØ„Mr   r   c                   óJ   ‡ — e Zd ZdZdededeeef   ddfˆ fd„Zdefd„Zˆ xZ	S )	ÚParserSyntaxErrorz7The provided source text could not be parsed correctly.ÚmessageÚsourceÚspanÚreturnNc                óL   •— || _         || _        || _        t        ‰| �  «        y )N)r   r   r   ÚsuperÚ__init__)Úselfr   r   r   Ú	__class__s       €r   r"   zParserSyntaxError.__init__   s%   ø€ ð ˆŒ	ØˆŒØˆŒä‰ÑÕr   c                 óÂ   — d| j                   d   z  d| j                   d   | j                   d   z
  z  z   dz   }dj                  | j                  | j                  |g«      S )Nú r   ú~r
   ú^z
    )r   Újoinr   r   )r#   Úmarkers     r   Ú__str__zParserSyntaxError.__str__    sV   € Ø�t—y‘y ‘|Ñ# c¨T¯Y©Y°q©\¸D¿I¹IÀa¹LÑ-HÑ&IÑIÈCÑOˆØ�}‰}˜dŸl™l¨D¯K©K¸Ð@ÓAÐAr   )
r   r   r   Ú__doc__r   r   r   r"   r+   Ú__classcell__)r$   s   @r   r   r      sG   ø„ ÙAðàðð ð	ð
 �C˜�H‰oðð 
õðB˜÷ Br   r   Ú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)
                |extra
            )\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ÚENDú&Dict[str, Union[str, re.Pattern[str]]]ÚDEFAULT_RULESc            
       óÖ   — e Zd ZdZdeddddfd„Zdeddfd	„Zd
dœdededefd„Zdedede	fd„Z
de	fd„Zdddœdedee   dee   defd„Zej"                  dedededed   fd„«       Zy)Ú	Tokenizerz„Context-sensitive token parsing.

    Provides methods to examine the input stream to check whether the next token
    matches.
    r   ÚrulesrE   r   Nc                ó²   — || _         |j                  «       D ��ci c]  \  }}|t        j                  |«      “Œ c}}| _        d | _        d| _        y c c}}w )Nr   )r   ÚitemsÚreÚcompilerI   Ú
next_tokenr   )r#   r   rI   r   Úpatterns        r   r"   zTokenizer.__init___   sO   € ð ˆŒà;@¿;¹;»=÷2
Ù*7¨$°ˆD”"—*‘*˜WÓ%Ñ%ó2
ˆŒ
ð ,0ˆŒØˆ�ùó	2
s   › Ar   c                 óH   — | j                  |«      r| j                  «        yy)z8Move beyond provided token name, if at current position.N)ÚcheckÚread)r#   r   s     r   ÚconsumezTokenizer.consumel   s   € à�:‰:�dÔØ�I‰I�Kð r   F)ÚpeekrT   c                ó,  — | j                   �J d|›d| j                   ›�«       ‚|| j                  v s
J d|›�«       ‚| j                  |   }|j                  | j                  | j                  «      }|€y|st        ||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.
        zCannot check for z, already have zUnknown token name: Fr   T)rN   rI   Úmatchr   r   r   )r#   r   rT   Ú
expressionrV   s        r   rQ   zTokenizer.checkq   sŸ   € ð �O‰OÐ#ð	Jà˜t˜h o°d·o±oÐ5HÐIó	JØ#à�t—z‘zÑ!ÐBÐ%9¸$¸Ð#BÓBÐ!à—Z‘Z Ñ%ˆ
à× Ñ  §¡¨d¯m©mÓ<ˆØˆ=ØÙÜ# D¨%°©(°D·M±MÓBˆDŒOØr   Úexpectedc                ól   — | j                  |«      s| j                  d|› �«      ‚| j                  «       S )zsExpect a certain token name next, failing with a syntax error otherwise.

        The token is *not* read.
        z	Expected )rQ   Úraise_syntax_errorrR   )r#   r   rX   s      r   ÚexpectzTokenizer.expect†   s4   € ð
 �z‰z˜$ÔØ×)Ñ)¨I°h°ZÐ*@ÓAÐAØ�y‰y‹{Ðr   c                 ó„   — | j                   }|€J ‚| xj                  t        |j                  «      z  c_        d| _         |S )z%Consume the next token and return it.N)rN   r   Úlenr   )r#   Útokens     r   rR   zTokenizer.read�   s9   € à—‘ˆØÐ Ð Ð à�Šœ˜UŸZ™Z›Ñ(�ØˆŒàˆr   )Ú
span_startÚspan_endr   r_   r`   c                ór   — |€| j                   n||€| j                   n|f}t        || j                  |¬«      ‚)z.Raise ParserSyntaxError at the given position.)r   r   )r   r   r   )r#   r   r_   r`   r   s        r   rZ   zTokenizer.raise_syntax_error™   sC   € ð (Ð/ˆD�MŠM°ZØ%Ð-ˆD�MŠM°8ð
ˆô  ØØ—;‘;Øô
ð 	
r   Ú
open_tokenÚclose_tokenÚaroundc             #   óô   K  — | j                  |«      r| j                  }| j                  «        nd }d –— |€y | j                  |«      s| j                  d|› d|› d|› �|¬«       | j                  «        y ­w)NzExpected matching z for z, after )r_   )rQ   r   rR   rZ   )r#   rb   rc   rd   Úopen_positions        r   Úenclosing_tokenszTokenizer.enclosing_tokens«   sz   è ø€ ð �:‰:�jÔ!Ø ŸM™MˆMØ�I‰I�Kà ˆMãàÐ Øà�z‰z˜+Ô&Ø×#Ñ#Ø$ [ M°°z°lÀ(È6È(ÐSØ(ð $ô ð
 	�	‰	�ùs   ‚A6A8)r   r   r   r,   r   r"   rS   ÚboolrQ   r   r[   rR   r   r   r   rZ   Ú
contextlibÚcontextmanagerr   rg   r   r   r   rH   rH   X   sù   „ ñðàðð 8ð	ð
 
óð˜Cð  Dó ð
 05ò ˜#ð ¨ð ¸ó ð*˜3ð ¨Sð °Uó ð�eó ð %)Ø"&ò
àð
ð ˜S‘Mð	
ð
 ˜3‘-ð
ð 
ó
ð$ ×ÑðØðØ,/ðØ<?ðà	�$‰òó ñr   rH   )ri   rL   Údataclassesr   Útypingr   r   r   r   r   r	   Ú
specifiersr   r   Ú	Exceptionr   rM   ÚVERBOSEÚ_operator_regex_strÚ_version_regex_strÚ
IGNORECASErF   r   rH   r   r   r   ú<module>rs      s¢  ðÜ Û 	Ý !ß C× Cå !ð ÷ð ó ðôB˜	ô Bð*0;Ø˜ð0;à˜ð0;ð �Eð0;ð �Uð	0;ð
 �ð0;ð ˆTð0;ð �Z�R—Z‘Zð	ð 	�
‰
ó	ð0;ð" 	Ð
%ð#0;ð$ ˆoð%0;ð& 	ˆ)ð'0;ð( 
ˆ:ð)0;ð* �
�—
‘
ð	ð 	�
‰
óð+0;ðJ ��—‘Ø×%Ñ%¨	×(DÑ(DÑDØ
�
‰
�R—]‘]Ñ"óðK0;ðR 	ˆ%ðS0;ðT 
ˆ:ðU0;ðV Ð3ðW0;ðX ˜GðY0;ðZ "DØ
Øò_0;€Ð7ó 0÷fhò hr   