§
    üxIf¬  ã                   óÒ  — 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dS )3é    N)Ú	dataclass)ÚDictÚIteratorÚNoReturnÚOptionalÚTupleÚUnioné   )Ú	Specifierc                   ó.   — e Zd ZU eed<   eed<   eed<   dS )ÚTokenÚnameÚtextÚpositionN)Ú__name__Ú
__module__Ú__qualname__ÚstrÚ__annotations__Úint© ó    úH/var/www/piapp/venv/lib/python3.11/site-packages/packaging/_tokenizer.pyr   r   	   s+   € € € € € € à
€I€I�IØ
€I€I�IØ€M€M�M€M€Mr   r   c                   óP   ‡ — 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                ór   •— || _         || _        || _        t          ¦   «                              ¦   «          d S )N)r   r   r   ÚsuperÚ__init__)Úselfr   r   r   Ú	__class__s       €r   r"   zParserSyntaxError.__init__   s6   ø€ ð ˆŒ	ØˆŒØˆŒå‰Œ×ÒÑÔÐÐÐr   c                 óª   — d| j         d         z  d| j         d         | j         d         z
  z  z   dz   }d                     | j        | j        |g¦  «        S )Nú r   ú~r
   ú^z
    )r   Újoinr   r   )r#   Úmarkers     r   Ú__str__zParserSyntaxError.__str__    sO   € Ø�t”y ”|Ñ# c¨T¬Y°q¬\¸D¼IÀa¼LÑ-HÑ&IÑIÈCÑOˆØ�}Š}˜dœl¨D¬K¸Ð@ÑAÔAÐAr   )
r   r   r   Ú__doc__r   r   r   r"   r+   Ú__classcell__)r$   s   @r   r   r      s•   ø€ € € € € ØAÐAðàðð ð	ð
 �C˜�HŒoðð 
ðð ð ð ð ð ðB˜ð Bð Bð Bð Bð Bð Bð 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dS )Ú	Tokenizerz„Context-sensitive token parsing.

    Provides methods to examine the input stream to check whether the next token
    matches.
    r   ÚrulesrE   r   Nc                óv   — || _         d„ |                     ¦   «         D ¦   «         | _        d | _        d| _        d S )Nc                 ó>   — i | ]\  }}|t          j        |¦  «        “ŒS r   )ÚreÚcompile)Ú.0r   Úpatterns      r   ú
<dictcomp>z&Tokenizer.__init__.<locals>.<dictcomp>f   s5   € ð 2
ð 2
ð 2
Ù*7¨$°ˆD•"”*˜WÑ%Ô%ð2
ð 2
ð 2
r   r   )r   ÚitemsrI   Ú
next_tokenr   )r#   r   rI   s      r   r"   zTokenizer.__init___   sG   € ð ˆŒð2
ð 2
Ø;@¿;º;¹=¼=ð2
ñ 2
ô 2
ˆŒ
ð ,0ˆŒØˆŒˆˆr   r   c                 ó\   — |                       |¦  «        r|                      ¦   «          dS dS )z8Move beyond provided token name, if at current position.N)ÚcheckÚread)r#   r   s     r   ÚconsumezTokenizer.consumel   s1   € à�:Š:�dÑÔð 	Ø�IŠI‰KŒKˆKˆKˆKð	ð 	r   F)ÚpeekrW   c                ó  — | j         �J d|›d| j         ›�¦   «         ‚|| j        v sJ d|›�¦   «         ‚| j        |         }|                     | j        | j        ¦  «        }|€dS |s!t          ||d         | j        ¦  «        | _         dS )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.
        NzCannot check for z, already have zUnknown token name: Fr   T)rR   rI   Úmatchr   r   r   )r#   r   rW   Ú
expressionrY   s        r   rT   zTokenizer.checkq   s©   € ð ŒOÐ#Ð#ØI˜tÐIÐI°d´oÐIÐIñ $Ô#Ð#à�t”zÐ!Ð!Ð!Ð#B¸$Ð#BÐ#BÑ!Ô!Ð!à”Z Ô%ˆ
à× Ò  ¤¨d¬mÑ<Ô<ˆØˆ=Ø�5Øð 	CÝ# D¨%°¬(°D´MÑBÔBˆDŒOØˆtr   Úexpectedc                ó„   — |                       |¦  «        s|                      d|› �¦  «        ‚|                      ¦   «         S )zsExpect a certain token name next, failing with a syntax error otherwise.

        The token is *not* read.
        z	Expected )rT   Úraise_syntax_errorrU   )r#   r   r[   s      r   ÚexpectzTokenizer.expect†   sD   € ð
 �zŠz˜$ÑÔð 	BØ×)Ò)Ð*@°hÐ*@Ð*@ÑAÔAÐAØ�yŠy‰{Œ{Ðr   c                 ón   — | j         }|€J ‚| xj        t          |j        ¦  «        z  c_        d| _         |S )z%Consume the next token and return it.N)rR   r   Úlenr   )r#   Útokens     r   rU   zTokenizer.read�   s9   € à”ˆØÐ Ð Ð àˆŒ�˜UœZ™œÑ(ˆŒØˆŒàˆr   )Ú
span_startÚspan_endr   rb   rc   c                ó\   — |€| j         n||€| j         n|f}t          || j        |¬¦  «        ‚)z.Raise ParserSyntaxError at the given position.N)r   r   )r   r   r   )r#   r   rb   rc   r   s        r   r]   zTokenizer.raise_syntax_error™   sK   € ð (Ð/ˆDŒMˆM°ZØ%Ð-ˆDŒMˆM°8ð
ˆõ  ØØ”;Øð
ñ 
ô 
ð 	
r   Ú
open_tokenÚclose_tokenÚaroundc             #   ó  K  — |                       |¦  «        r| j        }|                      ¦   «          nd }d V — |€d S |                       |¦  «        s |                      d|› d|› d|› �|¬¦  «         |                      ¦   «          d S )NzExpected matching z for z, after )rb   )rT   r   rU   r]   )r#   re   rf   rg   Úopen_positions        r   Úenclosing_tokenszTokenizer.enclosing_tokens«   s­   è è € ð �:Š:�jÑ!Ô!ð 	!Ø œMˆMØ�IŠI‰KŒKˆKˆKà ˆMàˆˆˆàÐ ØˆFà�zŠz˜+Ñ&Ô&ð 	Ø×#Ò#ØS [ÐSÐS°zÐSÐSÈ6ÐSÐSØ(ð $ñ ô ð ð
 	�	Š	‰Œˆˆˆr   )r   r   r   r,   r   r"   rV   ÚboolrT   r   r^   rU   r   r   r   r]   Ú
contextlibÚcontextmanagerr   rj   r   r   r   rH   rH   X   sˆ  € € € € € ðð ðàðð 8ð	ð
 
ðð ð ð ð˜Cð  Dð ð ð ð ð
 05ð ð ð ˜#ð ¨ð ¸ð ð ð ð ð*˜3ð ¨Sð °Uð ð ð ð ð�eð ð ð ð ð %)Ø"&ð
ð 
ð 
àð
ð ˜S”Mð	
ð
 ˜3”-ð
ð 
ð
ð 
ð 
ð 
ð$ ÔðØðØ,/ðØ<?ðà	�$Œðð ð ñ Ôðð ð r   rH   )rl   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>rv      sz  ðØ Ð Ð Ð Ð Ø 	€	€	€	Ø !Ð !Ð !Ð !Ð !Ð !Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ Cà !Ð !Ð !Ð !Ð !Ð !ð ðð ð ð ð ñ ô ñ „ððBð Bð Bð Bð B˜	ñ Bô Bð Bð*0;Ø˜ð0;à˜ð0;ð �Eð0;ð �Uð	0;ð
 �ð0;ð ˆTð0;ð �Z�R”Zð	ð 	Œ
ñ	ô 	ð0;ð" 	Ð
%ð#0;ð$ ˆoð%0;ð& 	ˆ)ð'0;ð( 
ˆ:ð)0;ð* �
�”
ð	ð 	Œ
ñô ð+0;ðJ ��”ØÔ%¨	Ô(DÑDØ
Œ
�R”]Ñ"ñô ðK0;ðR 	ˆ%ðS0;ðT 
ˆ:ðU0;ðV Ð3ðW0;ðX ˜GðY0;ðZ "DØ
Øð_0;ð 0;ð 0;€Ð7ð 0ð 0ñ 0ðfhð hð hð hð hñ hô hð hð hð hr   