§
    ö{Âc  ã                   óÎ  — 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,i¥Zd-ed.<    G d/„ d0¦  «        ZdS )1é    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© ó    ú6/usr/lib/python3/dist-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ÚWSz[ \t]+Ú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e         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   ÚrulesrC   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>d   s5   € ð 2
ð 2
ð 2
Ù*7¨$°ˆD•"”*˜WÑ%Ô%ð2
ð 2
ð 2
r   r   )r   ÚitemsrG   Ú
next_tokenr   )r#   r   rG   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.consumej   s1   € à�:Š:�dÑÔð 	Ø�IŠI‰KŒKˆKˆKˆKð	ð 	r   F)ÚpeekrU   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)rP   rG   Úmatchr   r   r   )r#   r   rU   Ú
expressionrW   s        r   rR   zTokenizer.checko   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 )rR   Úraise_syntax_errorrS   )r#   r   rY   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)rP   r   Úlenr   )r#   Útokens     r   rS   zTokenizer.read�   s9   € à”ˆØÐ Ð Ð àˆŒ�˜UœZ™œÑ(ˆŒØˆŒàˆr   )Ú
span_startÚspan_endr   r`   ra   c                ó\   — |€| j         n||€| j         n|f}t          || j        |¬¦  «        ‚)z.Raise ParserSyntaxError at the given position.N)r   r   )r   r   r   )r#   r   r`   ra   r   s        r   r[   zTokenizer.raise_syntax_error—   sK   € ð (Ð/ˆDŒMˆM°ZØ%Ð-ˆDŒMˆM°8ð
ˆõ  ØØ”;Øð
ñ 
ô 
ð 	
r   Ú
open_tokenÚclose_tokenc              #   ó
  K  — |                       |¦  «        r| j        }|                      ¦   «          nd }|d uV — |€d S |                       |¦  «        s|                      d|› �|¬¦  «         |                      ¦   «          d S )NzExpected closing )r`   )rR   r   rS   r[   )r#   rc   rd   Úopen_positions       r   Úenclosing_tokenszTokenizer.enclosing_tokens©   s£   è è € à�:Š:�jÑ!Ô!ð 	!Ø œMˆMØ�IŠI‰KŒKˆKˆKà ˆMà 4Ð'Ð'Ð'Ð'àÐ ØˆFà�zŠz˜+Ñ&Ô&ð 	Ø×#Ò#Ø1 KÐ1Ð1Ø(ð $ñ ô ð ð
 	�	Š	‰Œˆˆˆr   )r   r   r   r,   r   r"   rT   ÚboolrR   r   r\   rS   r   r   r   r[   Ú
contextlibÚcontextmanagerr   rg   r   r   r   rF   rF   V   s}  € € € € € ðð ðàðð 8ð	ð
 
ðð ð ð ð˜Cð  Dð ð ð ð ð
 05ð ð ð ˜#ð ¨ð ¸ð ð ð ð ð*˜3ð ¨Sð °Uð ð ð ð ð�eð ð ð ð ð %)Ø"&ð
ð 
ð 
àð
ð ˜S”Mð	
ð
 ˜3”-ð
ð 
ð
ð 
ð 
ð 
ð$ Ôð¨3ð ¸Sð ÀXÈdÄ^ð ð ð ñ Ôðð ð r   rF   )ri   rJ   Údataclassesr   Útypingr   r   r   r   r   r	   Ú
specifiersr   r   Ú	Exceptionr   rK   ÚVERBOSEÚ_operator_regex_strÚ_version_regex_strÚ
IGNORECASErD   r   rF   r   r   r   ú<module>rs      sp  ðØ Ð Ð Ð Ð Ø 	€	€	€	Ø !Ð !Ð !Ð !Ð !Ð !Ø CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ CÐ Cà !Ð !Ð !Ð !Ð !Ð !ð ðð ð ð ð ñ ô ñ „ððBð Bð Bð Bð B˜	ñ Bô Bð Bð*.;Ø˜ð.;à˜ð.;ð �Eð.;ð �Uð	.;ð
 �ð.;ð ˆTð.;ð �Z�R”Zð	ð 	Œ
ñ	ô 	ð.;ð" 	Ð
%ð#.;ð$ ˆoð%.;ð& 	ˆ)ð'.;ð( 
ˆ:ð).;ð* �
�”
ð	ð 	Œ
ñô ð+.;ðJ ��”ØÔ%¨	Ô(DÑDØ
Œ
�R”]Ñ"ñô ðK.;ðR 	ˆ%ðS.;ðT 
ˆ:ðU.;ðV Ð3ðW.;ðX 	ˆ)ðY.;ðZ 
ˆ4ð[.;ð .;€Ð7ð .ð .ñ .ðbfð fð fð fð fñ fô fð fð fð fr   