+
    VBi|b              
       *   ^ RI t ] P                  ! ]]]]]]]R7       ^ RIt^ RIt^ RIHt ^ RIHt ^RI	H
t
 ^RIHt ^RIHt ^RIHtHtHtHtHt ^R	IHtHtHtHt ^R
IHt ^ t^ t^ tRtRs R t!. RNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNR NR!NR"NR#NR$NR%NR&NR'NR(NR)NR*Nt"]". R<O,           t# ! R+ R,4      t$R- t% ! R. R/4      t& ! R0 R1]&4      t' ! R2 R3]&4      t( ! R4 R5]4      t)]R6 R7 l4       t* ! R8 R94      t+ ! R: R;4      t,R# )=    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                  :    \         '       g   \        4       s \         # N)r   r        =/usr/lib/python3.14/site-packages/Cython/Compiler/Scanning.pyget_lexiconr       s    7.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withc                   H   a  ] tR t^9t o R	R ltR tR tR tR tR t	Rt
V tR# )
CompileTimeScopeNc                     / V n         Wn        R # r   entriesouter)selfr?   s   &&r   __init__CompileTimeScope.__init__;   s    
r   c                "    W P                   V&   R # r   r>   )r@   namevalues   &&&r   declareCompileTimeScope.declare?   s    "Tr   c                <    V P                   P                  V4       R # r   )r>   updater@   others   &&r   rJ   CompileTimeScope.updateB   s    E"r   c                (    V P                   V,          # r   rD   r@   rE   s   &&r   lookup_hereCompileTimeScope.lookup_hereE   s    ||D!!r   c                    WP                   9   # r   rD   rO   s   &&r   __contains__CompileTimeScope.__contains__H   s    ||##r   c                     V P                  V4      #   \         d*    T P                  pT'       d   TP                  T4      u # h i ; ir   )rP   KeyErrorr?   lookup)r@   rE   r?   s   && r   rW   CompileTimeScope.lookupK   sE    	##D)) 	JJE||D))	s    AAAr=   r   )__name__
__module____qualname____firstlineno__rA   rG   rJ   rP   rS   rW   __static_attributes____classdictcell____classdict__s   @r   r;   r;   9   s(     ##"$ r   r;   c                     \        4       p Rp\        V\        P                  ! 4       4       F  w  r#V P	                  W#4       K  	  ^ RIpRpV F  pV P	                  V\        WB4      4       K   	  ^ RIHp V P	                  RV4       V P	                  R\        4       V P	                  R\        4       V P	                  R\        4       \        V 4      pV# )	UNAME_SYSNAMEN)reducerc   unicodelongxrange)rb   UNAME_NODENAMEUNAME_RELEASEUNAME_VERSIONUNAME_MACHINE)*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)r;   r   r	   unamerG   builtinsgetattr	functoolsrc   r   r   r   )benvnamesrE   rF   r   rc   denvs          r   initial_compile_time_envr   V   s    DbE5(.."23T! 4
E T7823  !LL6"LLC LLLL5!D!DKr   c                   t   a  ] tR t^yt o RtRtRtRtRtRt	R t
R tR tR	 tR
 tR tR tR tR tR tRtV tR# )SourceDescriptorz4
A SourceDescriptor should be considered immutable.
NFpyx c                    Q hFr   r@   s   &r   __str__SourceDescriptor.__str__   s    ur   c                    \         P                  P                  V4      w  r#VR9   ;'       d    VR,          ;'       g    RV n        R# ).pyx   NNr   N)r   z.pxdz.py)r   pathsplitext
_file_type)r@   filenamerE   exts   &&  r   set_file_type_from_name(SourceDescriptor.set_file_type_from_name   s9    GG$$X.	!88DDSWMMr   c                     V P                   R9   # )r   )r   pxdr   r   s   &r   is_cython_fileSourceDescriptor.is_cython_file   s    .00r   c                     V P                   R 8H  # )pyr   r   s   &r   is_python_fileSourceDescriptor.is_python_file   s    $&&r   c                    V P                   f&   V P                  4       P                  RR4      V n         V P                   # )N\/)_escaped_descriptionget_descriptionreplacer   s   &r   get_escaped_description(SourceDescriptor.get_escaped_description   s:    $$, )-(<(<(>(F(FtS(QD%(((r   c                Z     V P                   VP                   8  #   \         d     R # i ; ir   	_cmp_nameAttributeErrorrK   s   &&r   __gt__SourceDescriptor.__gt__   ,    	>>EOO33 		    **c                Z     V P                   VP                   8  #   \         d     R # i ; ir   r   rK   s   &&r   __lt__SourceDescriptor.__lt__   r   r   c                Z     V P                   VP                   8*  #   \         d     R # i ; ir   r   rK   s   &&r   __le__SourceDescriptor.__le__   s,    	>>U__44 		r   c                    V # r   r   r   s   &r   __copy__SourceDescriptor.__copy__       r   c                    V # r   r   )r@   memos   &&r   __deepcopy__SourceDescriptor.__deepcopy__   r   r   )r   r   )rY   rZ   r[   r\   __doc__r   in_utility_coder   r   r   r   r   r   r   r   r   r   r   r   r   r]   r^   r_   s   @r   r   r   y   s^      HOJIN1') r   r   c                   f   a  ] tR t^t o RtRR ltRR ltRR ltR tR t	R t
R	 tR
 tR tRtV tR# )FileSourceDescriptora  
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                   \         P                  ! V4      pWn        T;'       g    TV n         \        P
                  P                  V P                  4      V n        \        P
                  P                  R 4      \        P                  ,           pVP                  V4      '       d   V\        V4      R MTV n        V P                  V4       Wn        / V n        R#   \         d    T P                  T n         Li ; i).N)r   decode_filenamer   path_descriptionr   r   relpath_short_path_description
ValueErrorabspathsep
startswithr   	file_pathr   r   _lines)r@   r   r   workdirs   &&& r   rA   FileSourceDescriptor.__init__   s    ((2  0 < <H	A+-77??4;P;P+QD(
 ''//#&/4<4G4G4P4P#g,-0V^$$X.!  	A+/+@+@D(	As   .C C<;C<c                ^   W3pV P                   P                  V4      pVe   V# V P                  WR7      ;_uu_ 4       pVP                  4        Uu. uF  qfP	                  4       NK  	  ppR R R 4       W0P                   9   d   TMR V P                   V&   V# u upi   + '       g   i     L8; i)N)encodingerror_handling)r   getget_file_object	readlinesrstrip)r@   r   r   keylinesflines   &&&    r   	get_linesFileSourceDescriptor.get_lines   s     ($L!!8!SSWX/0{{}=}t[[]}E= T %(;;$65DC	 > TSs   BB*BBB,	c                D    \         P                  ! V P                  W4      # r   )r   open_source_filer   )r@   r   r   s   &&&r   r   $FileSourceDescriptor.get_file_object   s    %%dmmXNNr   c                    V P                   # r   )r   r   s   &r   r   $FileSourceDescriptor.get_description   s    +++r   c                    V P                   p\        P                  ! \        P                  ! 4       \        P
                  P                  ,           4      pVP                  V4      '       d   V\        V4      R  # V# r   )	r   r   r   r   getcwdr   r   r   r   )r@   r   cwds   &  r   get_error_description*FileSourceDescriptor.get_error_description   sR    }}##BIIK"''++$=>??3C	?"r   c                    V P                   # r   )r   r   s   &r   get_filenametable_entry,FileSourceDescriptor.get_filenametable_entry   s    ~~r   c                d    \        V\        4      ;'       d    V P                  VP                  8H  # r   )
isinstancer   r   rK   s   &&r   __eq__FileSourceDescriptor.__eq__   s%    %!56ZZ4==ENN;ZZr   c                ,    \        V P                  4      # r   )r~   r   r   s   &r   __hash__FileSourceDescriptor.__hash__   s    DMM""r   c                (    R V P                   ,          # )z<FileSourceDescriptor:%s>)r   r   s   &r   __repr__FileSourceDescriptor.__repr__   s    *T]]::r   )r   r   r   r   r   r   r   NN)rY   rZ   r[   r\   r   rA   r   r   r   r   r  r  r	  r  r]   r^   r_   s   @r   r   r      s>      O,[#; ;r   r   c                   V   a  ] tR t^t o RtR tRR ltR t]tR t	R t
R tR	 tR
tV tR# )StringSourceDescriptorzi
Instances of this class can be used instead of a filenames if the
code originates from a string object.
c                    Wn         VP                  4        Uu. uF  q3P                  4       NK  	  upV n        Wn        R # u upi r   )rE   
splitlinesr   	codelinesr   )r@   rE   coder   s   &&& r   rA   StringSourceDescriptor.__init__   s5    	48OO4EF4ED++-4EF Gs   ANc                    V'       g   V P                   # V P                    Uu. uF#  pVP                  W4      P                  V4      NK%  	  up# u upi r   )r  encodedecode)r@   r   r   r   s   &&& r   r    StringSourceDescriptor.get_lines   sN    >>! !%0 . KK9@@J .0 0 0s   )Ac                    V P                   # r   rE   r   s   &r   r   &StringSourceDescriptor.get_description  s    yyr   c                    R # )z<stringsource>r   r   s   &r   r  .StringSourceDescriptor.get_filenametable_entry  s    r   c                    \        V 4      # r   )idr   s   &r   r	  StringSourceDescriptor.__hash__  s    $xr   c                d    \        V\        4      ;'       d    V P                  VP                  8H  # r   )r  r  rE   rK   s   &&r   r  StringSourceDescriptor.__eq__  s%    %!78TTTYY%**=TTr   c                (    R V P                   ,          # )z<StringSourceDescriptor:%s>r  r   s   &r   r  StringSourceDescriptor.__repr__  s    ,tyy88r   )r   r  rE   r  )rY   rZ   r[   r\   r   rA   r   r   r   r  r	  r  r  r]   r^   r_   s   @r   r  r     s;     0 , U9 9r   r  c                   B  a  ] tR tRt o R2R ltR tR tR tR tR t	R	 t
R
 tR tR tR tRRRRRRRR/tV 3R lR ltR tR tR tR tR tR tR tR tV 3R  lR! ltR" tR# tR$ tR% tR3R& ltR' tR4R( lt R4R) lt!R4R* lt"R+ t#R, t$R5V 3R- lR. llt%R/ t&R0 t'R1t(V t)R# )6PyrexScanneri  Nc	                   \         P                  ! V \        4       WV4       VP                  4       '       d   R V n        \
        p	MRV n        \        p	V	 U
u/ uF  qV
bK  	  up
V n        ^ V n        V'       dy   VP                  V n	        VP                  V n
        VP                  V n        VP                  V n        VP                  V n        VP                  '       d   V P                  4        MWPn	        VP                  V n
        \        4       V n        ^V n        ^ V n        \!        VP"                  RR4      '       d0   V P                  P%                  VP"                  P                  4       Wpn        W`n        \*        V n        ^ .V n        RV n        ^ V n        . V n        ^ V n        RV n        V P;                  R4       RV n        V P?                  4        R# u up
i )TFcompile_time_envN INDENTr   ) r   rA   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   optionsrJ   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   )r@   filer   parent_scannerscoper1  r8  r7  initial_posr/  keywords   &&&&&&&&&  r   rA   PyrexScanner.__init__'  s   {}dkJ""$$"&D(H"'D)H9ABg')B)11DL"0"?"?D$2$C$CD!%3%E%ED"%3%E%ED"+++  ""L"'"6"6D$<$>D!%&D"%&D"w(:DAA%%,,W__-M-MN,."
"# $%&"%'")*&#' 

8		G Cs   Gc                v    VP                  4       '       g   \        R V4      pV P                  \        V4       R# )NFKCN)isasciir
   producer   r@   texts   &&r   normalize_identPyrexScanner.normalize_identV  s'    ||~~VT*DUD!r   c                R    V P                   '       d   V P                  R V4       R# R# )commentlineN)r7  rL  rM  s   &&r   rR  PyrexScanner.commentline[  s!    LL- r   c                H    V P                  W!P                  R R4      4       R# )_r   N)rL  r   )r@   rN  symbols   &&&r   strip_underscoresPyrexScanner.strip_underscores_  s    V\\#r23r   c                (    V P                   R,          # )r   )r;  r   s   &r   current_levelPyrexScanner.current_levelb  s    %%b))r   c                8    V ;P                   ^,          un         V# r   r=  rM  s   &&r   open_bracket_action PyrexScanner.open_bracket_actione      ""a'"r   c                8    V ;P                   ^,          un         V# r^  r_  rM  s   &&r   close_bracket_action!PyrexScanner.close_bracket_actioni  rb  r   c                $    V P                  V4      # r   )r`  rM  s   &&r   open_brace_actionPyrexScanner.open_brace_actionm  s    ''--r   c                ,   VR 8X  g   Q hV P                   '       d   V P                   R,          P                  4       V P                  8X  d   V P                   R,          P                  4       '       g<   V ;P                  ^,          un        V P                  ^ 8X  d   V P	                  R4       V P                  V P                   R,          P                  4       V P                   R,          P                  4        V ;P                  ^,          un        V# )}END_FT_STRING_EXPRrZ  )r>  r=  in_format_specifierr?  rL  rA  scanner_statepop_bracket_staterM  s   &&r   close_brace_actionPyrexScanner.close_brace_actionp  s    s{{&&&**2.DDF$JdJdd--b1EEGG..!3.11Q6LL!56JJt11"5CCD&&r*<<>""a'"r   c                   V P                   '       d   V P                   R,          P                  4       V P                  8X  d   V ;P                  ^,          un        V P                  ^ 8X  d   V P                  R4       V P	                  V P                   R,          P
                  4       V P                   R,          P                  4        V# )r   rk  rZ  )r>  r=  r?  rL  rA  rm  set_in_format_specifierrM  s   &&r   colon_actionPyrexScanner.colon_action}  s    &&&**2.DDF$JdJdd**a/*--212JJt11"5CCD&&r*BBDr   c                r    V P                   ^ 8X  d&   V P                  R4       V P                  RR4       R# R# )r   r+  NEWLINEr   N)r=  rA  rL  rM  s   &&r   newline_actionPyrexScanner.newline_action  s/    %%*JJx LLB' +r   '	SQ_STRING"	DQ_STRINGz'''
TSQ_STRINGz"""
TDQ_STRINGc                    < V ^8  d   QhRS[ /#    rN  r   )r|   r`   s   "r   __annotate__PyrexScanner.__annotate__  s     % % %r   c                    V'       d   V^ ,          \         9   d   VR,          pK%  V P                  V P                  V,          4       V P                  R4       R# )r   r   BEGIN_STRINGN)r   rA  string_statesrL  rM  s   &&r   begin_string_action PyrexScanner.begin_string_action  s=    tAw"338D

4%%d+,^$r   c                r    T P                  V P                  '       d   R MR4       V P                  R4       R# )FT_STRING_EXPR_PRESCANr   
END_STRINGN)rA  r?  rL  rM  s   &&r   end_string_actionPyrexScanner.end_string_action  s)    

t/M/M/M+SUV\"r   c                h   R V9   ;'       g    RV9   pV'       d0   V^ ,          \         9   g   V^ ,          \        9   d   VR,          pK7  V P                  V,           RV'       d   RMR 2pV P                  P	                  \        V4      4       V P                  V4       V P                  R4       R# )rRr   _FTr   BEGIN_FT_STRINGN)r   r   r  r>  appendFTStringStaterA  rL  )r@   rN  is_rawft_string_states   &&  r   begin_ft_string_action#PyrexScanner.begin_ft_string_action  s    ++tQ#44QCU8U8D!//56c#R9PQ""))/*	
 	

?#&'r   c                    V P                   P                  4        T P                  V P                  '       d   R MR4       V P	                  R4       R# )r  r   END_FT_STRINGN)r>  poprA  r?  rL  rM  s   &&r   end_ft_string_action!PyrexScanner.end_ft_string_action  s;    ""&&(

t/M/M/M+SUV_%r   c                   V ;P                   ^,          un         V'       gW   V P                  R,          P                  V P                   4       V P                  R4       V ;P                  ^,          un        V P                  R4       R# )r   r  {NrZ  )r=  r>  push_bracket_staterA  r?  rL  )r@   started_ft_string_exprs   &&r   #_handle_open_single_ft_string_brace0PyrexScanner._handle_open_single_ft_string_brace  s_    ""a'"%&&r*==d>X>XYJJ/0**a/*Sr   c                   \        V4      pR pV P                  R,          P                  4       '       d   V P                  V4       V^,          pRpV P                  R,          P                  4       '       d   Q hV^,          p\	        V4       F  pV P                  RR4       K  	  W$^,          ,          pV'       d   V^8X  g   Q hV P                  V4       R# R# )FTCHARSr  NrZ  )r   r>  rl  r  r   rL  )r@   rN  len_textr  double_bracesrU  s   &&    r   open_ft_string_brace_action(PyrexScanner.open_ft_string_brace_action  s    t9!&%%b)==??445KLMH%)"--b1EEGGGG A}%ALL#& &1_%q= =445KL r   c                    V P                   R,          P                  4       pVe   V P                  V8  d7   V P                  RV P                  4       RR7       V P	                  RR4       R# V P	                  V P                  R4      R4       R# )r   Nz/f-string or t-string: single '}' is not allowedF)posfatalrj  rZ  )r>  r=  r   get_current_scan_posrL  ro  )r@   ft_string_bracket_levels   & r   $_handle_close_single_ft_string_brace1PyrexScanner._handle_close_single_ft_string_brace  s~    "&"<"<R"@"V"V"X"*d.H.HKb.b JJA--/	  
 LLc"LL005s;r   c                \   \        V4      pV'       dC   V P                  R,          P                  4       '       d   V P                  4        V^,          pKJ  V^,          p\	        V4       F  pV P                  RR4       K  	  W#^,          ,          pV'       d   V P                  4        R# R# )r   r  rj  NrZ  )r   r>  rl  r  r   rL  )r@   rN  r  r  rU  s   &&   r   close_ft_string_brace_action)PyrexScanner.close_ft_string_brace_action  s    t9455b9MMOO557MH A}%ALL#& &!O#557 r   c                J    V P                  V4       V P                  R 4       R# )zUnclosed string literalN)r  error_at_scanposrM  s   &&r   unclosed_string_action#PyrexScanner.unclosed_string_action  s    t$78r   c                    < V ^8  d   QhRS[ /# r  r  )r|   r`   s   "r   r  r    s     "B "Bs "Br   c                   V P                  R 4       V'       dl   V^ ,          pV P                  R8X  d   W n        M"V P                  V8w  d   V P                  R4       VP                  VR 4      R 8w  d   V P                  R4       V P	                  4       p\        V4      pWC8X  d   R# WC8  d0   V P                  P                  V4       V P                  RR 4       R# W@P	                  4       8  d/   V P                  P                  4        V P                  RR 4       KB  W@P	                  4       8w  d   V P                  R4       R# R# )r   r*  zMixed use of tabs and spacesNr+  DEDENTzInconsistent indentation)
rA  r<  r  r   r[  r   r;  r  rL  r  )r@   rN  cr[  	new_levels   &&   r   indentation_actionPyrexScanner.indentation_action  s
   

2
 QA$$,()% ((A-))*HI||Ar"b(%%&DE+/+=+=+?'*4y	%&"")))4LL2&0022&&**,Xr*..00%%&@A 1r   c                    \        V P                  4      ^8  d/   V P                  RR4       V P                  P                  4        KH  V P                  RR4       R# )r   r  r   EOFN)r   r;  rL  r  rM  s   &&r   
eof_actionPyrexScanner.eof_action  sC    $(()A-LL2&""&&(UBr   c                    V P                  4       w  rT\        8X  d   Y P                  9   d   TR8X  d=   \
        T P                  P                  9   d   T P                  P                  RR4       MRTR8X  d9   T P                  P                  ^8  d   T P                  P                  RR4       MT P                  T,          pT P                  P                  T4      pT P                  e,   T P                  P                  YT P                  4       34       Yn        Y n        R#   \         d    T P                  R 4        R# i ; i)zUnrecognized characterNr   r'   )readr   r  r   r/  r   r1  future_directivesr  language_levelintern_ustringr@  r  positionrB  systringr   )r@   rB  r  rU  r   colts   &      r   r   PyrexScanner.next  s    	99;LB ;==(w&>T\\=[=[+[MM%%gt4'DLL,G,G1,LMM%%fd3x0B||228<H##/$$++R4==?,KL ! ! 	!!":;	s   D& &EEc                :   V P                   V P                  3pV P                  4       pV P                  4        V P                   V P                  3pV P	                  V P                   V P                  V P                  4       4       Vw  V n         V n        W n        V# r   )rB  r  r  r   unreadlast_token_position_tuple)r@   saved	saved_posr   s   &   r   peekPyrexScanner.peek,  sq    &MMO			ww%DGGT]]DMMO<!&)2&r   c                    V P                  V P                  V P                  V P                  4       Wn        W n        W0n        R # r   )r  rB  r  r  )r@   rB  r  r  s   &&&&r   put_backPyrexScanner.put_back6  s0    DGGT]]D,J,JK ),&r   c                    Vf   V P                  4       pV P                  R8X  d   \        VR4       \        W!4      pV'       d   VhR # )Nr+  z!Possible inconsistent indentation)r  rB  r   )r@   messager  r  errs   &&&& r   r   PyrexScanner.error=  s<    ;--/C77h#:;C!)5r   c                J    V P                  4       pV P                  WR 4       R# )TN)r  r   )r@   r  r  s   && r   r  PyrexScanner.error_at_scanposE  s      '')

7&r   c                n    V P                   V8X  d   V P                  4        R # V P                  W4       R # r   )rB  r   expectedr@   whatr  s   &&&r   expectPyrexScanner.expectK  s"    77d?IIKMM$(r   c                    V P                   \        8X  d$   V P                  V8X  d   V P                  4        R # V P	                  W4       R # r   )rB  r   r  r   r  r  s   &&&r   expect_keywordPyrexScanner.expect_keywordQ  s.    77e 5IIKMM$(r   c                    V'       d   V P                  V4       R# V P                  \        8X  d   V P                  pMV P                  pV P                  R V: RV: R24       R# )z
Expected 'z
', found 'ry  N)r   rB  r   r  )r@   r  r  founds   &&& r   r  PyrexScanner.expectedW  s@    JJwww%JJdEBCr   c                *    V P                  R R4       R# )r+  z)Expected an increase in indentation levelNr  r   s   &r   expect_indentPyrexScanner.expect_indenta  s    HIJr   c                *    V P                  R R4       R# )r  z(Expected a decrease in indentation levelNr  r   s   &r   expect_dedentPyrexScanner.expect_dedentd  s    HHIr   c                4   < V ^8  d   QhRS[ P                  /# )r  ignore_semicolon)cythonbint)r|   r`   s   "r   r  r  g  s     	N 	NV[[ 	Nr   c                    R pV'       d2   V P                   R8X  d!   V P                  4       pV P                  4        V P                   R8w  d   V P                  RV4       Ve   \	        VR4       R # R # )N;r  rv  zuseless trailing semicolon)rB  r  r   r  r   )r@   r  r  useless_trailing_semicolons   &&& r   expect_newlinePyrexScanner.expect_newlineg  s[    %)"3)-&IIK77eKK	7+%1.0LM 2r   c                    V ;P                   ^,          un         V P                   ^8X  d!   RV P                  R&   RV P                  R&   R# R# )r   asyncawaitN)r0  r/  r   s   &r   r5  PyrexScanner.enter_asyncr  sB    a"%,DMM'"%,DMM'" #r   c                L   V P                   ^ 8  g   Q hV ;P                   ^,          un         V P                   '       gf   V P                  R V P                  R V P                  R9   d9   \        V P                  P                  V P                  4      uV n        V n        R# R# R# )r   r  r  N)r  r  )r0  r/  rB  r   r1  r  r  r   s   &r   
exit_asyncPyrexScanner.exit_asyncx  s    !!A%%%a!!!g&g&ww,,).0K0KDGG0T& - "r   )r0  r=  r)  r3  r4  r1  r>  r?  r,  r2  r<  r;  r/  r  r7  r@  r8  rB  r  r:  )NNNNTN)NTr   )zExpected a newlineF)*rY   rZ   r[   r\   rA   rO  rR  rW  r[  r`  rd  rg  ro  rs  rw  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r   r  r  r  r  r  r  r  r5  r  r]   r^   r_   s   @r   r'  r'    s     -^"
.4*.( 	{{||	M% %#	(&
M$<89"B "BH 56-'))DKJ	N 	N-U Ur   r'  c                $    V ^8  d   QhR\         /# )r  scanner)r'  )r|   s   "r   r  r    s     $ $l $r   c              #      "   \        4       p V P                  p. V n        V P                  V P                  V P	                  4       3p Vx  V'       dS   V P                  '       d@   \        V P                  R R 4       F  pV P                  ! V!   K  	  V P                  ! V!   MVe   VP                  V P                  4       W n         \        RR7       R #   \
         d   p R p?LR p?ii ; i  T'       dY   T P                  '       d@   \        T P                  R R 4       F  pT P                  ! T!   K  	  T P                  ! T!   Y n        i Te   TP                  T P                  4       Y n        i ; i  \        RR7       i ; i5i)NT)ignorerZ  )
r   r@  rB  r  r  r   r   r  extendr   )r  errorsr@  initial_stateer  s   &     r   tentatively_scanr	    s[    ]F$%99&(# W%5%5w7G7G7IJ	>L ...$,W-H-H"-M$N(((3 %O $$m4$0 $**7+F+FG*='d#  		 ...$,W-H-H"-M$N(((3 %O $$m4
 +>'	 %0 $**7+F+FG*='d#sZ   F:E= 	C E= 'A%E= FC0&C3 +C00C3 3E:A,E::E= =FFc                   P   a  ] tR tRt o R tR tR tR tV 3R lR ltR t	R	t
V tR
# )r  i  c                     Wn         . V n        R # r   )rm  bracket_states)r@   rm  s   &&r   rA   FTStringState.__init__  s    * r   c                d    V P                   '       g   R # V P                   R,          P                  # )NrZ  )r  r=  r   s   &r   r=  #FTStringState.bracket_nesting_level  s(    """""2&<<<r   c                d    V P                   '       g   R # V P                   R,          P                  # )FrZ  r  rl  r   s   &r   rl  !FTStringState.in_format_specifier  s(    """""2&:::r   c                6    R V P                   R,          n        R# )TNrZ  r  r   s   &r   rr  %FTStringState.set_in_format_specifier  s    6:B3r   c                    < V ^8  d   QhRS[ /# r  r=  r   )r|   r`   s   "r   r  FTStringState.__annotate__  s     P P Pr   c                N    V P                   P                  \        V4      4       R # r   )r  r  FTStringBracketStater@   r=  s   &&r   r   FTStringState.push_bracket_state  s    ""#78M#NOr   c                :    V P                   P                  4        R # r   )r  r  r   s   &r   rn  FTStringState.pop_bracket_state  s    !r   )r  rm  N)rY   rZ   r[   r\   rA   r=  rl  rr  r  rn  r]   r^   r_   s   @r   r  r    s/     !=
;
;P P" "r   r  c                   B   a  ] tR tRt o RtV 3R lR ltV 3R ltRtV tR# )r  i  c                    < V ^8  d   QhRS[ /# r  r  )r|   r`   s   "r   r  !FTStringBracketState.__annotate__  s     ) )c )r   c                     Wn         R V n        R# )FNr=  rl  r  s   &&r   rA   FTStringBracketState.__init__  s    %:"#( r   c                2   < V ^8  d   Qh/ S[ ;R&   S[;R&   # )r  r=  rl  )r   rr   )r|   r`   s   "r   r  r!    s      	 
  r   r#  N)	rY   rZ   r[   r\   	__slots__rA   __annotate_func__r]   r^   r_   s   @r   r  r    s      AI) )  r   r  )	includectypedefcdefcpdefcimportDEFIFELIFELSE)-r  rG   objectr   r	   unicodedatar
   
contextlibr   r   r   Plex.Scannersr   Plex.Errorsr   Errorsr   r   r   r   r   Lexiconr   r   r   r   Futurer   debug_scannerr9  scanner_debug_flagsscanner_dump_filer   r   r-  r.  r;   r   r   r   r  r'  r	  r  r  r   r   r   <module>r<     s    FF$FF6+ 
  ! %  # + M M O O "  
!(*138:@BI!#+-35:   ! #' )/ 17 9> 		 	 	  	 "'	 )-	 /7	
 
 
   ' *   :F8 8v>;+ >;B$9- $9RaU7 aUF $ $4" "2) )r   