Ë
    Ç[;j9e  ã            	       ó¨  — d dl Z  e j                  eeeeeee¬«       d dlZd dlZd dlmZ d dlmZ ddl	m
Z
 ddlmZ ddlmZ d	d
lmZmZmZmZmZ d	dlmZmZmZmZ d	dlmZ d Zd Zd ZdZda d„ Z!g d¢Z"e"g d¢z   Z# G d„ d«      Z$d„ Z% G d„ d«      Z& G d„ de&«      Z' G d„ de&«      Z( G d„ de«      Z)ede)fd„«       Z* G d„ d«      Z+ G d„ d «      Z,y)!é    N)Úmake_lexiconÚlexiconÚprint_functionÚerrorÚwarningÚosÚplatform)Ú	normalize)Úcontextmanageré   )ÚUtils)ÚScanner)ÚUnrecognizedInputé   )r   r   Úhold_errorsÚrelease_errorsÚCompileError)Úany_string_prefixÚft_string_prefixesr   ÚIDENT)r   c                  ó.   — t         s
t        «       a t         S ©N)r   r   © ó    úaG:\00. PROJECTS\API\Inventory\templateJSON\kerjaOCR\Lib\site-packages\Cython/Compiler/Scanning.pyÚget_lexiconr       s   € åÜ“.ˆÜ€Nr   )ÚglobalÚnonlocalÚdefÚclassÚprintÚdelÚpassÚbreakÚcontinueÚreturnÚraiseÚimportÚexecÚtryÚexceptÚfinallyÚwhileÚifÚelifÚelseÚforÚinÚassertÚandÚorÚnotÚisÚlambdaÚfromÚyieldÚwith)	ÚincludeÚctypedefÚcdefÚcpdefÚcimportÚDEFÚIFÚELIFÚELSEc                   ó2   — e Zd Zdd„Zd„ Zd„ Zd„ Zd„ Zd„ Zy)	ÚCompileTimeScopeNc                 ó    — i | _         || _        y r   )ÚentriesÚouter)ÚselfrI   s     r   Ú__init__zCompileTimeScope.__init__;   s   € ØˆŒØˆ�
r   c                 ó"   — || j                   |<   y r   ©rH   )rJ   ÚnameÚvalues      r   ÚdeclarezCompileTimeScope.declare?   s   € Ø"ˆ�‰�TÒr   c                 ó:   — | j                   j                  |«       y r   )rH   Úupdate©rJ   Úothers     r   rR   zCompileTimeScope.updateB   s   € Ø�‰×Ñ˜EÕ"r   c                 ó    — | j                   |   S r   rM   ©rJ   rN   s     r   Úlookup_herezCompileTimeScope.lookup_hereE   s   € Ø�|‰|˜DÑ!Ð!r   c                 ó   — || j                   v S r   rM   rV   s     r   Ú__contains__zCompileTimeScope.__contains__H   s   € Ø�t—|‘|Ð#Ð#r   c                 ó„   — 	 | j                  |«      S # t        $ r# | j                  }|r|j                  |«      cY S ‚ w xY wr   )rW   ÚKeyErrorrI   Úlookup)rJ   rN   rI   s      r   r\   zCompileTimeScope.lookupK   sE   € ð	Ø×#Ñ# DÓ)Ð)øÜò 	Ø—J‘JˆEÙØ—|‘| DÓ)Ò)àð	ús   ‚ “(?½?r   )	Ú__name__Ú
__module__Ú__qualname__rK   rP   rR   rW   rY   r\   r   r   r   rF   rF   9   s    „ óò#ò#ò"ò$ór   rF   c                  óª  — t        «       } d}t        |t        j                  «       «      D ]  \  }}| j	                  ||«       Œ dd l}d}|D ]  }| j	                  |t        ||«      «       Œ  ddlm} | j	                  d|«       | j	                  dt        «       | j	                  dt        «       | j	                  dt        «       t        | «      }|S )	N)ÚUNAME_SYSNAMEÚUNAME_NODENAMEÚUNAME_RELEASEÚUNAME_VERSIONÚUNAME_MACHINEr   )*ÚFalseÚTrueÚabsÚallÚanyÚasciiÚbinÚboolÚ	bytearrayÚbytesÚchrÚcomplexÚdictÚdivmodÚ	enumerateÚfilterÚfloatÚformatÚ	frozensetÚhashÚhexÚintÚlenÚlistÚmapÚmaxÚminÚnextÚoctÚordÚpowÚrangeÚreprÚreversedÚroundÚsetÚsliceÚsortedÚstrÚsumÚtupleÚzip)Úreducer�   ÚunicodeÚlongÚxrange)rF   r�   r	   ÚunamerP   ÚbuiltinsÚgetattrÚ	functoolsr�   rŒ   r{   r…   )ÚbenvÚnamesrN   rO   r•   r�   Údenvs          r   Úinitial_compile_time_envr›   V   s°   € ÜÓ€DØb€EÜ˜5¤(§.¡.Ó"2Ö3‰ˆˆeØ�‰�T˜5Õ!ð 4ãð
€Eó ˆØ�‰�Tœ7 8¨TÓ2Õ3ð õ !Ø‡L�L�˜6Ô"Ø‡L�L�œCÔ Ø‡L�L�œÔØ‡L�L�œ5Ô!ä˜DÓ!€DØ€Kr   c                   ó`   — e Zd ZdZdZdZdZdZdZd„ Z	d„ Z
d„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zy)ÚSourceDescriptorz<
    A SourceDescriptor should be considered immutable.
    NFÚpyxÚ c                 ó   — J ‚r   r   ©rJ   s    r   Ú__str__zSourceDescriptor.__str__„   s   € Øˆur   c                 óp   — t         j                  j                  |«      \  }}|dv xr |dd  xs d| _        y )N)z.pyxz.pxdz.pyr   rž   )r   ÚpathÚsplitextÚ
_file_type)rJ   ÚfilenamerN   Úexts       r   Úset_file_type_from_namez(SourceDescriptor.set_file_type_from_name‡   s7   € Ü—G‘G×$Ñ$ XÓ.‰	ˆˆcØÐ!8Ð8ÒD¸SÀÀ¸WÒMÈˆ�r   c                 ó   — | j                   dv S )N)rž   Úpxd©r¦   r¡   s    r   Úis_cython_filezSourceDescriptor.is_cython_file‹   s   € Ø�‰ .Ð0Ð0r   c                 ó    — | j                   dk(  S )NÚpyr¬   r¡   s    r   Úis_python_filezSourceDescriptor.is_python_fileŽ   s   € Ø�‰ $Ñ&Ð&r   c                 ó|   — | j                   €%| j                  «       j                  dd«      | _         | j                   S )NÚ\Ú/)Ú_escaped_descriptionÚget_descriptionÚreplacer¡   s    r   Úget_escaped_descriptionz(SourceDescriptor.get_escaped_description‘   s:   € Ø×$Ñ$Ð,ð )-×(<Ñ(<Ó(>×(FÑ(FÀtÈSÓ(QˆDÔ%Ø×(Ñ(Ð(r   c                 óT   — 	 | j                   |j                   kD  S # t        $ r Y yw xY w©NF©Ú	_cmp_nameÚAttributeErrorrS   s     r   Ú__gt__zSourceDescriptor.__gt__˜   ó,   € ð	Ø—>‘> E§O¡OÑ3Ð3øÜò 	Ùð	úó   ‚ ›	'¦'c                 óT   — 	 | j                   |j                   k  S # t        $ r Y yw xY wr¹   rº   rS   s     r   Ú__lt__zSourceDescriptor.__lt__Ÿ   r¾   r¿   c                 óT   — 	 | j                   |j                   k  S # t        $ r Y yw xY wr¹   rº   rS   s     r   Ú__le__zSourceDescriptor.__le__¦   s,   € ð	Ø—>‘> U§_¡_Ñ4Ð4øÜò 	Ùð	úr¿   c                 ó   — | S r   r   r¡   s    r   Ú__copy__zSourceDescriptor.__copy__­   ó   € Øˆr   c                 ó   — | S r   r   )rJ   Úmemos     r   Ú__deepcopy__zSourceDescriptor.__deepcopy__°   rÆ   r   )r]   r^   r_   Ú__doc__r§   Úin_utility_coder¦   r´   r»   r¢   r©   r­   r°   r·   r½   rÁ   rÃ   rÅ   rÉ   r   r   r   r�   r�   y   sV   „ ñð €HØ€Oà€JàÐØ€IòòNò1ò'ò)òòòòór   r�   c                   óL   — e Zd ZdZdd„Zdd„Zdd„Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zy)ÚFileSourceDescriptora7  
    Represents a code source. A code source is a more generic abstraction
    for a "filename" (as sometimes the code doesn't come from a file).
    Instances of code sources are passed to Scanner.__init__ as the
    optional name argument and will be passed back when asking for
    the position()-tuple.
    Nc                 óÚ  — t        j                  |«      }|| _        |xs || _        	 t        j
                  j                  | j                  «      | _        t        j
                  j                  d«      t        j                  z   }|j                  |«      r|t        |«      d  n|| _        | j                  |«       || _        i | _        y # t        $ r | j                  | _        Y Œ’w xY w)NÚ.)r   Údecode_filenamer§   Úpath_descriptionr   r¤   ÚrelpathÚ_short_path_descriptionÚ
ValueErrorÚabspathÚsepÚ
startswithr|   Ú	file_pathr©   r»   Ú_lines)rJ   r§   rÑ   Úworkdirs       r   rK   zFileSourceDescriptor.__init__¼   sÃ   € Ü×(Ñ(¨Ó2ˆØ ˆŒØ 0Ò <°HˆÔð	AÜ+-¯7©7¯?©?¸4×;PÑ;PÓ+QˆDÔ(ô
 —'‘'—/‘/ #Ó&¬¯©Ñ/ˆØ4<×4GÑ4GÈÔ4P˜¤# g£, -Ñ0ÐV^ˆŒØ×$Ñ$ XÔ.Ø!ˆŒØˆ�øô ò 	Aà+/×+@Ñ+@ˆDÖ(ð	Aús   ©.C ÃC*Ã)C*c                 ó:  — ||f}| j                   j                  |«      }|�|S | j                  ||¬«      5 }|j                  «       D �cg c]  }|j	                  «       ‘Œ }}d d d «       || j                   v r|nd | j                   |<   |S c c}w # 1 sw Y   Œ/xY w)N)ÚencodingÚerror_handling)rÙ   ÚgetÚget_file_objectÚ	readlinesÚrstrip)rJ   rÜ   rÝ   ÚkeyÚlinesÚfÚlines          r   Ú	get_lineszFileSourceDescriptor.get_linesÌ   s˜   € ð ˜Ð(ˆØ—‘—‘ Ó$ˆØÐØˆLà×!Ñ!¨8ÀNÐ!ÔSÐWXØ/0¯{©{¬}Ó=©} t�T—[‘[•]¨}ˆEÐ=÷ Tð %(¨4¯;©;Ñ$6™5¸Dˆ�‰�CÑØˆùò	 >÷ TÐSús   ·BÁ
BÁ!BÂBÂBc                 óD   — t        j                  | j                  ||«      S r   )r   Úopen_source_filer§   )rJ   rÜ   rÝ   s      r   rß   z$FileSourceDescriptor.get_file_objectÛ   s   € Ü×%Ñ% d§m¡m°X¸~ÓNÐNr   c                 ó   — | j                   S r   )rÓ   r¡   s    r   rµ   z$FileSourceDescriptor.get_descriptionÞ   s   € Ø×+Ñ+Ð+r   c                 óà   — | j                   }t        j                  t        j                  «       t        j
                  j                  z   «      }|j                  |«      r|t        |«      d  S |S r   )	r§   r   rÐ   r   Úgetcwdr¤   rÖ   r×   r|   )rJ   r¤   Úcwds      r   Úget_error_descriptionz*FileSourceDescriptor.get_error_descriptioná   sO   € Ø�}‰}ˆÜ×#Ñ#¤B§I¡I£K´"·'±'·+±+Ñ$=Ó>ˆØ�?‰?˜3ÔØœ˜C›˜	�?Ð"Øˆr   c                 ó   — | j                   S r   )rØ   r¡   s    r   Úget_filenametable_entryz,FileSourceDescriptor.get_filenametable_entryè   s   € Ø�~‰~Ðr   c                 óX   — t        |t        «      xr | j                  |j                  k(  S r   )Ú
isinstancerÍ   r§   rS   s     r   Ú__eq__zFileSourceDescriptor.__eq__ë   s"   € Ü˜%Ô!5Ó6ÒZ¸4¿=¹=ÈEÏNÉNÑ;ZÐZr   c                 ó,   — t        | j                  «      S r   )ry   r§   r¡   s    r   Ú__hash__zFileSourceDescriptor.__hash__î   s   € Ü�D—M‘MÓ"Ð"r   c                 ó    — d| j                   z  S )Nz<FileSourceDescriptor:%s>)r§   r¡   s    r   Ú__repr__zFileSourceDescriptor.__repr__ñ   s   € Ø*¨T¯]©]Ñ:Ð:r   r   ©NN)r]   r^   r_   rÊ   rK   ræ   rß   rµ   rí   rï   rò   rô   rö   r   r   r   rÍ   rÍ   ´   s6   „ ñóó óOò,òòò[ò#ó;r   rÍ   c                   ó@   — e Zd ZdZd„ Zd
d„Zd„ ZeZd„ Zd„ Z	d„ Z
d	„ Zy)ÚStringSourceDescriptorzu
    Instances of this class can be used instead of a filenames if the
    code originates from a string object.
    c                 óŒ   — || _         |j                  «       D �cg c]  }|j                  «       ‘Œ c}| _        || _        y c c}w r   )rN   Ú
splitlinesrá   Ú	codelinesr»   )rJ   rN   Úcoderå   s       r   rK   zStringSourceDescriptor.__init__ú   s;   € ØˆŒ	à48·O±OÔ4EÓFÑ4E¨D˜$Ÿ+™+�-Ð4EÑFˆŒØˆ�ùò Gs   šANc                 óš   — |s| j                   S | j                   D �cg c]#  }|j                  ||«      j                  |«      ‘Œ% c}S c c}w r   )rü   ÚencodeÚdecode)rJ   rÜ   rÝ   rå   s       r   ræ   z StringSourceDescriptor.get_lines   sP   € ÙØ—>‘>Ð!ð !%§¢ó0Ù .˜ð —K‘K ¨.Ó9×@Ñ@ÀÕJØ .ñ0ð 0ùò 0s   �(Ac                 ó   — | j                   S r   ©rN   r¡   s    r   rµ   z&StringSourceDescriptor.get_description  s   € Ø�y‰yÐr   c                  ó   — y)Nz<stringsource>r   r¡   s    r   rï   z.StringSourceDescriptor.get_filenametable_entry  s   € Ør   c                 ó   — t        | «      S r   )Úidr¡   s    r   rô   zStringSourceDescriptor.__hash__  s   € Ü�$‹xˆr   c                 óX   — t        |t        «      xr | j                  |j                  k(  S r   )rñ   rù   rN   rS   s     r   rò   zStringSourceDescriptor.__eq__  s"   € Ü˜%Ô!7Ó8ÒT¸T¿Y¹YÈ%Ï*É*Ñ=TÐTr   c                 ó    — d| j                   z  S )Nz<StringSourceDescriptor:%s>r  r¡   s    r   rö   zStringSourceDescriptor.__repr__  s   € Ø,¨t¯y©yÑ8Ð8r   r÷   )r]   r^   r_   rÊ   rK   ræ   rµ   rí   rï   rô   rò   rö   r   r   r   rù   rù   õ   s3   „ ñòó0òð ,Ðò òòUó9r   rù   c                   ó"  — e Zd Z	 	 d,d„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ ZdddddœZdefd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zdefd„Zd„ Zd„ Zd„ Zd „ Zd-d!„Zd"„ Zd.d#„Z d.d$„Z!d.d%„Z"d&„ Z#d'„ Z$d/d(e%jL                  fd)„Z'd*„ Z(d+„ Z)y)0ÚPyrexScannerNc	                 ó–  — t        j                  | t        «       |||«       |j                  «       rd| _        t
        }	nd| _        t        }	|	D �
ci c]  }
|
|
“Œ c}
| _        d| _        |rr|j                  | _	        |j                  | _
        |j                  | _        |j                  | _        |j                  | _        |j                  rŒ| j                  «        n{|| _	        |j                  | _
        t        «       | _        d| _        d| _        t!        |j"                  dd «      r/| j                  j%                  |j"                  j                  «       || _        || _        t*        | _        dg| _        d| _        d| _        g | _        d| _        d | _        | j;                  d«       d| _        | j?                  «        y c c}
w )	NTFr   r   Úcompile_time_envÚ ÚINDENTrŸ   ) r   rK   r   r°   Úin_python_fileÚpy_reserved_wordsÚpyx_reserved_wordsÚkeywordsÚasync_enabledÚcontextÚincluded_filesr  Úcompile_time_evalÚcompile_time_exprÚenter_asyncr›   r–   ÚoptionsrR   Úparse_commentsÚsource_encodingÚtrace_scannerÚtraceÚindentation_stackÚindentation_charÚbracket_nesting_levelÚft_string_state_stackÚin_ft_string_expr_prescanÚput_back_on_failureÚbeginÚsyr�   )rJ   Úfiler§   Úparent_scannerÚscoper  r  r  Úinitial_posr  Úkeywords              r   rK   zPyrexScanner.__init__'  s‹  € ä×Ñ˜œ{›}¨d°H¸kÔJà×"Ñ"Ô$Ø"&ˆDÔÜ(‰Hà"'ˆDÔÜ)ˆHÙ9AÓB¹¨g˜ 'Ñ)¸ÑBˆŒàˆÔáØ)×1Ñ1ˆDŒLØ"0×"?Ñ"?ˆDÔØ$2×$CÑ$CˆDÔ!Ø%3×%EÑ%EˆDÔ"Ø%3×%EÑ%EˆDÔ"à×+Ò+Ø× Ñ Õ"à"ˆDŒLØ"'×"6Ñ"6ˆDÔÜ$<Ó$>ˆDÔ!Ø%&ˆDÔ"Ø%&ˆDÔ"Ü�w—‘Ð(:¸DÔAØ×%Ñ%×,Ñ,¨W¯_©_×-MÑ-MÔNØ,ˆÔØ.ˆÔÜ"ˆŒ
Ø"# ˆÔØ $ˆÔØ%&ˆÔ"à%'ˆÔ"Ø)*ˆÔ&à#'ˆÔ à�
‰
�8ÔØˆŒØ�	‰	�ùòG Cs   Á
Gc                 óh   — |j                  «       st        d|«      }| j                  t        |«       y )NÚNFKC)Úisasciir
   Úproducer   ©rJ   Útexts     r   Únormalize_identzPyrexScanner.normalize_identV  s%   € Ø�|‰|Œ~Ü˜V TÓ*ˆDØ�‰”U˜DÕ!r   c                 óB   — | j                   r| j                  d|«       y y )NÚcommentline)r  r-  r.  s     r   r2  zPyrexScanner.commentline[  s   € Ø×ÒØ�L‰L˜¨Õ-ð r   c                 óH   — | j                  ||j                  dd«      «       y )NÚ_rŸ   )r-  r¶   )rJ   r/  Úsymbols      r   Ústrip_underscoreszPyrexScanner.strip_underscores_  s   € Ø�‰�V˜TŸ\™\¨#¨rÓ2Õ3r   c                 ó    — | j                   d   S ©Néÿÿÿÿ)r  r¡   s    r   Úcurrent_levelzPyrexScanner.current_levelb  s   € Ø×%Ñ% bÑ)Ð)r   c                 ó0   — | xj                   dz  c_         |S ©Nr   ©r  r.  s     r   Úopen_bracket_actionz PyrexScanner.open_bracket_actione  ó   € Ø×"Ò" aÑ'Õ"Øˆr   c                 ó0   — | xj                   dz  c_         |S r<  r=  r.  s     r   Úclose_bracket_actionz!PyrexScanner.close_bracket_actioni  r?  r   c                 ó$   — | j                  |«      S r   )r>  r.  s     r   Úopen_brace_actionzPyrexScanner.open_brace_actionm  s   € Ø×'Ñ'¨Ó-Ð-r   c                 óØ  — |dk(  sJ ‚| j                   rÁ| j                   d   j                  «       | j                  k(  r—| j                   d   j                  «       s5| xj                  dz  c_        | j                  dk(  r| j	                  d«       | j                  | j                   d   j                  «       | j                   d   j                  «        | xj                  dz  c_        |S )NÚ}r9  r   r   ÚEND_FT_STRING_EXPR)r   r  Úin_format_specifierr!  r-  r#  Úscanner_stateÚpop_bracket_stater.  s     r   Úclose_brace_actionzPyrexScanner.close_brace_actionp  sÆ   € Ø�sŠ{Ðˆ{Ø×&Ò&Ø×*Ñ*¨2Ñ.×DÑDÓFÈ$×JdÑJdÒdØ×-Ñ-¨bÑ1×EÑEÔGØ×.Ò.°!Ñ3Õ.Ø×1Ñ1°QÒ6Ø—L‘LÐ!5Ô6Ø�J‰J�t×1Ñ1°"Ñ5×CÑCÔDØ×&Ñ& rÑ*×<Ñ<Ô>Ø×"Ò" aÑ'Õ"Øˆr   c                 óf  — | j                   r¤| j                   d   j                  «       | j                  k(  rz| xj                  dz  c_        | j                  dk(  r| j                  d«       | j	                  | j                   d   j
                  «       | j                   d   j                  «        |S )Nr9  r   r   rF  )r   r  r!  r-  r#  rH  Úset_in_format_specifierr.  s     r   Úcolon_actionzPyrexScanner.colon_action}  s’   € Ø×&Ò&Ø×*Ñ*¨2Ñ.×DÑDÓFÈ$×JdÑJdÒdØ×*Ò*¨aÑ/Õ*Ø×-Ñ-°Ò2Ø—‘Ð1Ô2Ø�J‰J�t×1Ñ1°"Ñ5×CÑCÔDØ×&Ñ& rÑ*×BÑBÔDØˆr   c                 ój   — | j                   dk(  r$| j                  d«       | j                  dd«       y y )Nr   r  ÚNEWLINErŸ   )r  r#  r-  r.  s     r   Únewline_actionzPyrexScanner.newline_action‡  s/   € Ø×%Ñ%¨Ò*Ø�J‰J�xÔ Ø�L‰L˜ BÕ'ð +r   Ú	SQ_STRINGÚ	DQ_STRINGÚ
TSQ_STRINGÚ
TDQ_STRING)Ú'Ú"z'''z"""r/  c                 ó¢   — |r|d   t         v r|dd  }|r|d   t         v rŒ| j                  | j                  |   «       | j                  d«       y )Nr   r   ÚBEGIN_STRING)r   r#  Ústring_statesr-  r.  s     r   Úbegin_string_actionz PyrexScanner.begin_string_action“  sP   € Ù�t˜A‘wÔ"3Ñ3Ø˜˜�8ˆDñ �t˜A‘wÔ"3Ò3à�
‰
�4×%Ñ% dÑ+Ô,Ø�‰�^Õ$r   c                 ód   — | j                  | j                  rdnd«       | j                  d«       y )NÚFT_STRING_EXPR_PRESCANrŸ   Ú
END_STRING)r#  r!  r-  r.  s     r   Úend_string_actionzPyrexScanner.end_string_action™  s&   € Ø�
‰
¨t×/MÒ/MÑ+ÐSUÔVØ�‰�\Õ"r   c                 óB  — d|v xs d|v }|r5|d   t         v s|d   t        v r|dd  }|r|d   t         v rŒ|d   t        v rŒ| j                  |   › d|rdnd› �}| j                  j	                  t        |«      «       | j                  |«       | j                  d«       y )NÚrÚRr   r   Ú_FTrŸ   ÚBEGIN_FT_STRING)r   r   rY  r   ÚappendÚFTStringStater#  r-  )rJ   r/  Úis_rawÚft_string_states       r   Úbegin_ft_string_actionz#PyrexScanner.begin_ft_string_action�  s¯   € Ø˜�Ò+  t ˆÙ˜˜Q™Ô#4Ñ4¸¸Q¹ÔCUÑ8UØ˜˜�8ˆDñ ˜˜Q™Ô#4Ò4¸¸Q¹ÔCUÒ8Uà!×/Ñ/°Ñ5Ð6°cÁ¹#ÈRÐ9PÐQˆØ×"Ñ"×)Ñ)Ü˜/Ó*ô	
ð 	�
‰
�?Ô#Ø�‰Ð&Õ'r   c                 ó˜   — | j                   j                  «        | j                  | j                  rdnd«       | j	                  d«       y )Nr\  rŸ   ÚEND_FT_STRING)r   Úpopr#  r!  r-  r.  s     r   Úend_ft_string_actionz!PyrexScanner.end_ft_string_action¨  s8   € Ø×"Ñ"×&Ñ&Ô(Ø�
‰
¨t×/MÒ/MÑ+ÐSUÔVØ�‰�_Õ%r   c                 óð   — | xj                   dz  c_         |sN| j                  d   j                  | j                   «       | j                  d«       | xj                  dz  c_        | j                  d«       y )Nr   r9  r\  Ú{)r  r   Úpush_bracket_stater#  r!  r-  )rJ   Ústarted_ft_string_exprs     r   Ú#_handle_open_single_ft_string_bracez0PyrexScanner._handle_open_single_ft_string_brace­  s_   € Ø×"Ò" aÑ'Õ"Ù%Ø×&Ñ& rÑ*×=Ñ=¸d×>XÑ>XÔYØ�J‰JÐ/Ô0Ø×*Ò*¨aÑ/Õ*Ø�‰�SÕr   c                 óZ  — t        |«      }d}| j                  d   j                  «       r| j                  |«       |dz  }d}| j                  d   j                  «       rJ ‚|dz  }t	        |«      D ]  }| j                  dd«       Œ ||dz  z  }|r|dk(  sJ ‚| j                  |«       y y )NFr9  r   Tr   ÚCHARSrn  )r|   r   rG  rq  r…   r-  )rJ   r/  Úlen_textrp  Údouble_bracesr4  s         r   Úopen_ft_string_brace_actionz(PyrexScanner.open_ft_string_brace_actionµ  sº   € Ü�t“9ˆØ!&ÐØ×%Ñ% bÑ)×=Ñ=Ô?Ø×4Ñ4Ð5KÔLØ˜‰MˆHØ%)Ð"Ø×-Ñ-¨bÑ1×EÑEÔGÐGÐGà  A™ˆÜ�}Ö%ˆAØ�L‰L˜ #Õ&ð &à�] 1‘_Ñ%ˆáØ˜q’=Ð �=Ø×4Ñ4Ð5KÕLð r   c                 ó  — | j                   d   j                  «       }|�| j                  |k  r5| j                  d| j                  «       d¬«       | j	                  dd«       y | j	                  | j                  d«      d«       y )Nr9  z/f-string or t-string: single '}' is not allowedF)ÚposÚfatalrE  )r   r  r   Úget_current_scan_posr-  rJ  )rJ   Úft_string_bracket_levels     r   Ú$_handle_close_single_ft_string_bracez1PyrexScanner._handle_close_single_ft_string_braceÇ  s~   € Ø"&×"<Ñ"<¸RÑ"@×"VÑ"VÓ"XÐØ"Ð*¨d×.HÑ.HÐKbÒ.bð �J‰JàAØ×-Ñ-Ó/Øð	 ô ð
 �L‰L˜˜cÕ"à�L‰L˜×0Ñ0°Ó5°sÕ;r   c                 óF  — t        |«      }|rR| j                  d   j                  «       r5| j                  «        |dz  }|r| j                  d   j                  «       rŒ5|dz  }t	        |«      D ]  }| j                  dd«       Œ ||dz  z  }|r| j                  «        y y )Nr9  r   r   rs  rE  )r|   r   rG  r|  r…   r-  )rJ   r/  rt  ru  r4  s        r   Úclose_ft_string_brace_actionz)PyrexScanner.close_ft_string_brace_actionÕ  sž   € Ü�t“9ˆÙ˜4×5Ñ5°bÑ9×MÑMÔOØ×5Ñ5Ô7Ø˜‰MˆHñ ˜4×5Ñ5°bÑ9×MÑMÕOð ! A™ˆÜ�}Ö%ˆAØ�L‰L˜ #Õ&ð &à�M !‘OÑ#ˆáØ×5Ñ5Õ7ð r   c                 óH   — | j                  |«       | j                  d«       y )NzUnclosed string literal)r^  Úerror_at_scanposr.  s     r   Úunclosed_string_actionz#PyrexScanner.unclosed_string_actionã  s   € Ø×Ñ˜tÔ$Ø×ÑÐ7Õ8r   c                 ó†  — | j                  d«       |rb|d   }| j                  dk(  r|| _        n | j                  |k7  r| j                  d«       |j                  |d«      dk7  r| j                  d«       | j	                  «       }t        |«      }||k(  ry ||kD  r.| j                  j                  |«       | j                  dd«       y || j	                  «       k  r@| j                  j                  «        | j                  dd«       || j	                  «       k  rŒ@|| j	                  «       k7  r| j                  d«       y y )NrŸ   r   r  zMixed use of tabs and spacesr  ÚDEDENTzInconsistent indentation)
r#  r  r€  r¶   r:  r|   r  rd  r-  rk  )rJ   r/  Úcr:  Ú	new_levels        r   Úindentation_actionzPyrexScanner.indentation_actionç  s)  € Ø�
‰
�2Œñ
 Ø�Q‘ˆAà×$Ñ$¨Ò,Ø()�Õ%ð ×(Ñ(¨AÒ-Ø×)Ñ)Ð*HÔIØ�|‰|˜A˜rÓ" bÒ(Ø×%Ñ%Ð&DÔEà+/×+=Ñ+=Ó+?ˆÜ'*¨4£yˆ	à˜Ò%ØØ˜Ò&à×"Ñ"×)Ñ)¨)Ô4Ø�L‰L˜ 2Õ&à˜d×0Ñ0Ó2Ò2à×&Ñ&×*Ñ*Ô,Ø—‘˜X rÔ*ð ˜d×0Ñ0Ó2Ó2ð
 ˜D×.Ñ.Ó0Ò0Ø×%Ñ%Ð&@ÕAð 1r   c                 óâ   — t        | j                  «      dkD  rE| j                  dd«       | j                  j                  «        t        | j                  «      dkD  rŒE| j                  dd«       y )Nr   rƒ  rŸ   ÚEOF)r|   r  r-  rk  r.  s     r   Ú
eof_actionzPyrexScanner.eof_action  sZ   € Ü�$×(Ñ(Ó)¨AÒ-Ø�L‰L˜ 2Ô&Ø×"Ñ"×&Ñ&Ô(ô �$×(Ñ(Ó)¨AÓ-ð 	�‰�U˜BÕr   c                 ól  — 	 | j                  «       \  }}|t        k(  r±|| j                  v rˆ|dk(  r9t
        | j                  j                  v r| j                  j                  dd «       nJ|dk(  r6| j                  j                  dk\  r| j                  j                  dd «       n| j                  |   }| j                  j                  |«      }| j                  �,| j                  j                  ||| j                  «       f«       || _        || _        y # t        $ r | j                  d«       Y y w xY w)NzUnrecognized characterr!   r)   é   )Úreadr   r€  r   r  r   r  Úfuture_directivesrk  Úlanguage_levelÚintern_ustringr"  rd  Úpositionr$  Úsystringr!   )rJ   r$  r‘  r4  rå   ÚcolÚts          r   r�   zPyrexScanner.next  s  € ð	ØŸ9™9›;‰LˆB�ð ”Š;Ø˜4Ÿ=™=Ñ(Ø˜wÒ&¬>¸T¿\¹\×=[Ñ=[Ñ+[Ø—M‘M×%Ñ% g¨tÕ4Ø Ò'¨D¯L©L×,GÑ,GÈ1Ò,LØ—M‘M×%Ñ% f¨dÕ3àŸ™ xÑ0�BØ—|‘|×2Ñ2°8Ó<ˆHØ×#Ñ#Ð/Ø×$Ñ$×+Ñ+¨R°¸4¿=¹=»?Ð,KÔLØˆŒØ ˆŒØøô! !ò 	Ø×!Ñ!Ð":Ô;Ùð	ús   ‚D ÄD3Ä2D3c                 ó<  — | j                   | j                  f}| j                  «       }| j                  «        | j                   | j                  f}| j	                  | j                   | j                  | j                  «       «       |\  | _         | _        || _        |S r   )r$  r‘  r�  r�   ÚunreadÚlast_token_position_tuple)rJ   ÚsavedÚ	saved_posr�   s       r   ÚpeekzPyrexScanner.peek,  ss   € Ø—‘˜Ÿ™Ð&ˆØ—M‘M“Oˆ	Ø�	‰	ŒØ�w‰w˜Ÿ™Ð%ˆØ�‰�D—G‘G˜TŸ]™]¨D¯M©M«OÔ<Ø!&ÑˆŒ�”Ø)2ˆÔ&Øˆr   c                 ó�   — | j                  | j                  | j                  | j                  «       || _        || _        || _        y r   )r•  r$  r‘  r–  )rJ   r$  r‘  rx  s       r   Úput_backzPyrexScanner.put_back6  s6   € Ø�‰�D—G‘G˜TŸ]™]¨D×,JÑ,JÔKØˆŒØ ˆŒØ),ˆÕ&r   c                 ó~   — |€| j                  «       }| j                  dk(  rt        |d«       t        ||«      }|r|‚y )Nr  z!Possible inconsistent indentation)r�  r$  r   )rJ   Úmessagerx  ry  Úerrs        r   r   zPyrexScanner.error=  s>   € Øˆ;Ø—-‘-“/ˆCØ�7‰7�hÒÜ�#Ð:Ô;Ü�C˜Ó!ˆÙ˜�)ˆ5r   c                 óJ   — | j                  «       }| j                  ||d«       y ©NT)rz  r   )rJ   r�  rx  s      r   r€  zPyrexScanner.error_at_scanposE  s"   € ð ×'Ñ'Ó)ˆØ�
‰
�7˜C Õ&r   c                 óh   — | j                   |k(  r| j                  «        y | j                  ||«       y r   )r$  r�   Úexpected©rJ   Úwhatr�  s      r   ÚexpectzPyrexScanner.expectK  s$   € Ø�7‰7�dŠ?Ø�I‰I�Kà�M‰M˜$ Õ(r   c                 óŽ   — | j                   t        k(  r | j                  |k(  r| j                  «        y | j	                  ||«       y r   )r$  r   r‘  r�   r¢  r£  s      r   Úexpect_keywordzPyrexScanner.expect_keywordQ  s0   € Ø�7‰7”eÒ §¡°Ò 5Ø�I‰I�Kà�M‰M˜$ Õ(r   c                 ó´   — |r| j                  |«       y | j                  t        k(  r| j                  }n| j                  }| j                  d|›d|›d�«       y )Nz
Expected 'z
', found 'rU  )r   r$  r   r‘  )rJ   r¤  r�  Úfounds       r   r¢  zPyrexScanner.expectedW  s@   € ÙØ�J‰J�wÕà�w‰wœ%ÒØŸ™‘àŸ™�Ø�JŠJ²dºEÐBÕCr   c                 ó(   — | j                  dd«       y )Nr  z)Expected an increase in indentation level©r¥  r¡   s    r   Úexpect_indentzPyrexScanner.expect_indenta  s   € Ø�‰�HÐIÕJr   c                 ó(   — | j                  dd«       y )Nrƒ  z(Expected a decrease in indentation levelr«  r¡   s    r   Úexpect_dedentzPyrexScanner.expect_dedentd  s   € Ø�‰�HÐHÕIr   Úignore_semicolonc                 óÊ   — d }|r/| j                   dk(  r | j                  «       }| j                  «        | j                   dk7  r| j                  d|«       |�t	        |d«       y y )NÚ;rˆ  rO  zuseless trailing semicolon)r$  r�  r�   r¥  r   )rJ   r�  r¯  Úuseless_trailing_semicolons       r   Úexpect_newlinezPyrexScanner.expect_newlineg  s[   € à%)Ð"Ù §¡¨3¢Ø)-¯©«Ð&Ø�I‰IŒKØ�7‰7�eÒØ�K‰K˜	 7Ô+Ø%Ð1ÜÐ.Ð0LÕMð 2r   c                 óŠ   — | xj                   dz  c_         | j                   dk(  rd| j                  d<   d| j                  d<   y y )Nr   ÚasyncÚawait)r  r  r¡   s    r   r  zPyrexScanner.enter_asyncr  sB   € Ø×Ò˜aÑÕØ×Ñ Ò"Ø%,ˆD�M‰M˜'Ñ"Ø%,ˆD�M‰M˜'Ò"ð #r   c                 ó(  — | j                   dkD  sJ ‚| xj                   dz  c_         | j                   s`| j                  d= | j                  d= | j                  dv r7t        | j                  j                  | j                  «      c| _        | _        y y y )Nr   r   r¶  rµ  )rµ  r¶  )r  r  r$  r   r  r�  r‘  r¡   s    r   Ú
exit_asynczPyrexScanner.exit_asyncx  s‚   € Ø×!Ñ! AÒ%Ð%Ð%Ø×Ò˜aÑÕØ×!Ò!Ø—‘˜gÐ&Ø—‘˜gÐ&Ø�w‰wÐ,Ñ,Ü).°·±×0KÑ0KÈDÏGÉGÓ0TÐ&�”˜�ð -ð "r   )NNNNTNr   r   )zExpected a newlineF)*r]   r^   r_   rK   r0  r2  r6  r:  r>  rA  rC  rJ  rM  rP  rY  rŒ   rZ  r^  rh  rl  rq  rv  r|  r~  r�  r†  r‰  r�   r™  r›  r   r€  r¥  r§  r¢  r¬  r®  ÚcythonÚbintr³  r  r¸  r   r   r   r	  r	    sò   „ ð 7;Øbfó-ò^"ò
.ò4ò*òòò.òòò(ð ØØØñ	€Mð%¨ó %ò#ò	(ò&ò
òMò$<ò8ò9ð"B só "BòH ò5ò6ò-óò'ó)ó)óDòKòJñ	NÈVÏ[É[ó 	Nò-óUr   r	  Úscannerc              #   óØ  K  — t        «       }	 | j                  }g | _        | j                  | j                  | j	                  «       f}	 |–— |rH| j                  rYt        | j                  d d «      D ]  } | j                  |Ž  Œ  | j                  |Ž  n|�|j                  | j                  «       || _        	 t        d¬«       y # t
        $ r
}Y d }~ŒŠd }~ww xY w# |rO| j                  r;t        | j                  d d «      D ]  } | j                  |Ž  Œ  | j                  |Ž  || _        w |�|j                  | j                  «       || _        w xY w# t        d¬«       w xY w­w)Nr9  T)Úignore)
r   r"  r$  r‘  r�  r   r‡   r›  Úextendr   )r»  Úerrorsr"  Úinitial_stateÚer›  s         r   Útentatively_scanrÂ  �  sc  è ø€ ä‹]€Fð$Ø%×9Ñ9ÐØ&(ˆÔ#Ø Ÿ™ W×%5Ñ%5°w×7GÑ7GÓ7IÐJˆð	>ØŠLñ Ø×.Ò.Ü$,¨W×-HÑ-HÈÈ"Ð-MÖ$N˜Ø(˜×(Ñ(¨(Ò3ð %Oð %�G×$Ñ$ mÒ4Ø$Ð0ð $×*Ñ*¨7×+FÑ+FÔGØ*=ˆGÕ'ä˜dÖ#øô ò 	Üûð	ûñ Ø×.Ò.Ü$,¨W×-HÑ-HÈÈ"Ð-MÖ$N˜Ø(˜×(Ñ(¨(Ò3ð %Oð %�G×$Ñ$ mÑ4ð
 +>ˆGÕ'ð	 %Ð0ð $×*Ñ*¨7×+FÑ+FÔGØ*=ˆGÕ'ûä˜dÖ#üsN   ‚E*Ž:E Á	C	 ÁA.E Â<E*Ã		CÃC ÃCÃC ÃA7EÅE ÅE'Å'E*c                   ó6   — e Zd Zd„ Zd„ Zd„ Zd„ Zdefd„Zd„ Z	y)	re  c                 ó    — || _         g | _        y r   )rH  Úbracket_states)rJ   rH  s     r   rK   zFTStringState.__init__�  s   € Ø*ˆÔØ ˆÕr   c                 óN   — | j                   sy | j                   d   j                  S r8  )rÅ  r  r¡   s    r   r  z#FTStringState.bracket_nesting_level¡  s%   € Ø×"Ò"ØØ×"Ñ" 2Ñ&×<Ñ<Ð<r   c                 óN   — | j                   sy| j                   d   j                  S )NFr9  ©rÅ  rG  r¡   s    r   rG  z!FTStringState.in_format_specifier¦  s%   € Ø×"Ò"ØØ×"Ñ" 2Ñ&×:Ñ:Ð:r   c                 ó,   — d| j                   d   _        y )NTr9  rÈ  r¡   s    r   rL  z%FTStringState.set_in_format_specifier«  s   € Ø6:ˆ×Ñ˜BÑÕ3r   r  c                 óL   — | j                   j                  t        |«      «       y r   )rÅ  rd  ÚFTStringBracketState©rJ   r  s     r   ro  z FTStringState.push_bracket_state®  s   € Ø×Ñ×"Ñ"Ô#7Ð8MÓ#NÕOr   c                 ó8   — | j                   j                  «        y r   )rÅ  rk  r¡   s    r   rI  zFTStringState.pop_bracket_state±  s   € Ø×Ñ×ÑÕ!r   N)
r]   r^   r_   rK   r  rG  rL  r{   ro  rI  r   r   r   re  re  œ  s)   „ ò!ò=ò
;ò
;ðP¸ó Pó"r   re  c                   ó2   — e Zd ZU dZeed<   eed<   defd„Zy)rË  ©r  rG  r  rG  c                 ó    — || _         d| _        y r¹   rÏ  rÌ  s     r   rK   zFTStringBracketState.__init__»  s   € Ø%:ˆÔ"Ø#(ˆÕ r   N)r]   r^   r_   Ú	__slots__r{   Ú__annotations__rm   rK   r   r   r   rË  rË  µ  s"   … ð A€IØÓØÓð)¨cô )r   rË  )-r¹  rP   Úobjectr   r	   Úunicodedatar
   Ú
contextlibr   rŸ   r   ÚPlex.Scannersr   ÚPlex.Errorsr   ÚErrorsr   r   r   r   r   ÚLexiconr   r   r   r   ÚFuturer   Údebug_scannerr  Úscanner_debug_flagsÚscanner_dump_filer   r   r  r  rF   r›   r�   rÍ   rù   r	  rÂ  re  rË  r   r   r   Ú<module>rÞ     sÿ   ðó Ø €‡�˜F¨FØ$¨F¸FØ 6õ+ó 
Û Ý !Ý %å Ý #Ý +ß MÕ Mß OÓ OÝ "à€Ø€ØÐ ØÐ à
€òòÐ ð 'ò *ñ Ð ÷ñ ò:÷F8ñ 8ôv>;Ð+ô >;ôB$9Ð-ô $9ôRaU�7ô aUðF ð$˜lò $ó ð$÷4"ñ "÷2)ò )r   