ó
    ‰*£h¾  ã                  óü  • % S SK Jr  S SKrS SKrS SKJr  S SKJrJr  SSK	J
r
  \ " S S5      5       r " S	 S
\5      r0 SS_SS_SS_SS_SS_SS_S\R                  " S\R                  5      _SS_SS_SS_SS _S!\R                  " S"\R                  5      _S#\R                  " \
R                   \
R"                  -   \R                  \R$                  -  5      _S$S%_S&S'_S(S)_S*S+_S,S-S.S/.ErS0\S1'    " S2 S35      rg)4é    )ÚannotationsN)Ú	dataclass)ÚIteratorÚNoReturné   )Ú	Specifierc                  ó4   • \ rS rSr% S\S'   S\S'   S\S'   Srg)	ÚTokené   ÚstrÚnameÚtextÚintÚposition© N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__annotations__Ú__static_attributes__r   ó    ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/packaging/_tokenizer.pyr
   r
      s   ‡ à
ƒIØ
ƒIØ†Mr   r
   c                  óJ   ^ • \ rS rSrSr        SU 4S jjrSS jrSrU =r$ )ÚParserSyntaxErroré   z7The provided source text could not be parsed correctly.c               óF   >• X0l         Xl        X l        [        TU ]  5         g )N)ÚspanÚmessageÚsourceÚsuperÚ__init__)Úselfr   r    r   Ú	__class__s       €r   r"   ÚParserSyntaxError.__init__   s   ø€ ð Œ	ØŒØŒä‰ÑÕr   c                óÂ   • SU R                   S   -  SU R                   S   U R                   S   -
  -  -   S-   nSR                  U R                  U R                  U/5      $ )NÚ r   Ú~r   Ú^z
    )r   Újoinr   r    )r#   Úmarkers     r   Ú__str__Ú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   )r   r   r    r   r   ztuple[int, int]ÚreturnÚNone)r.   r   )	r   r   r   r   Ú__doc__r"   r,   r   Ú__classcell__)r$   s   @r   r   r      s=   ø† ÙAðàðð ð	ð
 ðð 
÷÷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)
                |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ÚENDú dict[str, str | re.Pattern[str]]ÚDEFAULT_RULESc                  ó¸   • \ rS rSrSr      SS jrSS jrSS.SS jjrSS jrSS	 jr	S
S
S.       SS jjr
\R                          SS j5       rSrg
)Ú	Tokenizeré[   zxContext-sensitive token parsing.

Provides methods to examine the input stream to check whether the next token
matches.
c               ó¶   • Xl         UR                  5        VVs0 s H  u  p4U[        R                  " U5      _M     snnU l        S U l        SU l        g s  snnf )Nr   )r    ÚitemsÚreÚcompileÚrulesÚ
next_tokenr   )r#   r    rR   r   Úpatterns        r   r"   ÚTokenizer.__init__b   sO   € ð Œà;@¿;¹;¼=ô2
Ú;H©-¨$ˆD”"—*’*˜WÓ%Ò%¹=ò2
ˆŒ
ð )-ˆŒØˆ�ùó	2
s   š#Ac                óR   • U R                  U5      (       a  U R                  5         gg)z8Move beyond provided token name, if at current position.N)ÚcheckÚread)r#   r   s     r   ÚconsumeÚTokenizer.consumeo   s   € à�:‰:�d×ÑØ�I‰I�Kð r   F)Úpeekc               ó@  • U R                   b   SU< SU R                   < 35       eXR                  ;   d   SU< 35       eU R                  U   nUR                  U R                  U R                  5      nUc  gU(       d  [        XS   U R                  5      U l         g)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)rS   rR   Úmatchr    r   r
   )r#   r   r[   Ú
expressionr]   s        r   rW   ÚTokenizer.checkt   s›   € ð �‰Ñ&ð 	
Ø ™x °t·±Ñ6IÐJó	
Ð&ð —z‘zÓ!ÐBÐ%9¸$¹Ð#BÓBÐ!à—Z‘Z Ñ%ˆ
à× Ñ  §¡¨d¯m©mÓ<ˆØ‰=ØÞÜ# D°©(°D·M±MÓBˆDŒOØr   c               óv   • U R                  U5      (       d  U R                  SU 35      eU R                  5       $ )zcExpect a certain token name next, failing with a syntax error otherwise.

The token is *not* read.
z	Expected )rW   Úraise_syntax_errorrX   )r#   r   Úexpecteds      r   ÚexpectÚTokenizer.expect‰   s7   € ð
 �z‰z˜$×ÑØ×)Ñ)¨I°h°ZÐ*@ÓAÐAØ�y‰y‹{Ðr   c                ó†   • U R                   nUc   eU =R                  [        UR                  5      -  sl        SU l         U$ )z%Consume the next token and return it.N)rS   r   Úlenr   )r#   Útokens     r   rX   ÚTokenizer.read’   s9   € à—‘ˆØÑ Ð Ð à�Šœ˜UŸZ™Z›Ñ(�ØˆŒàˆr   N)Ú
span_startÚspan_endc               óp   • Uc  U R                   OUUc  U R                   OU4n[        UU R                  US9e)z.Raise ParserSyntaxError at the given position.)r    r   )r   r   r    )r#   r   ri   rj   r   s        r   ra   ÚTokenizer.raise_syntax_errorœ   sC   € ð (Ñ/ˆD�MŠM°ZØ%Ñ-ˆD�MŠM°8ð
ˆô  ØØ—;‘;Øñ
ð 	
r   c             #  ó  #   • U R                  U5      (       a  U R                  nU R                  5         OS nS v •  Uc  g U R                  U5      (       d  U R                  SU SU SU 3US9  U R                  5         g 7f)NzExpected matching z for z, after )ri   )rW   r   rX   ra   )r#   Ú
open_tokenÚclose_tokenÚaroundÚopen_positions        r   Úenclosing_tokensÚTokenizer.enclosing_tokens®   s   é € ð �:‰:�j×!Ñ!Ø ŸM™MˆMØ�I‰I�Kà ˆMãàÑ Øà�z‰z˜+×&Ñ&Ø×#Ñ#Ø$ [ M°°z°lÀ(È6È(ÐSØ(ð $ñ ð
 	�	‰	�ùs   ‚A>B )rS   r   rR   r    )r    r   rR   rI   r.   r/   )r   r   r.   r/   )r   r   r[   Úboolr.   rt   )r   r   rb   r   r.   r
   )r.   r
   )r   r   ri   ú
int | Nonerj   ru   r.   r   )rn   r   ro   r   rp   r   r.   zIterator[None])r   r   r   r   r0   r"   rY   rW   rc   rX   ra   Ú
contextlibÚcontextmanagerrr   r   r   r   r   rL   rL   [   s®   † ñðàðð 0ð	ð
 
ôôð
 05÷ ô*ôð "&Ø#ñ
àð
ð ð	
ð
 ð
ð 
õ
ð$ ×ÑðØðØ,/ðØ<?ðà	óó ór   rL   )Ú
__future__r   rv   rP   Údataclassesr   Útypingr   r   Ú
specifiersr   r
   Ú	Exceptionr   rQ   ÚVERBOSEÚ_operator_regex_strÚ_version_regex_strÚ
IGNORECASErJ   r   rL   r   r   r   Ú<module>r�      sœ  ðÞ "ã Û 	Ý !ß %å !ð ÷ð ó ðôB˜	ô Bð*13Ø˜ð13à˜ð13ð �Eð13ð �Uð	13ð
 �ð13ð ˆTð13ð �R—Z’Zð	ð 	�
‰
ó	ð13ð" 	Ð
%ð#13ð$ ˆoð%13ð& 	ˆ)ð'13ð( 
ˆ:ð)13ð* �—
’
ð	ð 	�
‰
óð+13ðL �—’Ø×%Ñ%¨	×(DÑ(DÑDØ
�
‰
�R—]‘]Ñ"óðM13ðT 	ˆ%ðU13ðV 
ˆ:ðW13ðX Ð3ðY13ðZ ˜Gð[13ð\ "DØ
Øòa13€Ð/ó 1÷hhò hr   