+
    VBif?                     <   ^ RI 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 ^RIH	t	 R t
R	 tR
 tR tR tR tR tRR ltR tR tR R ltR!R ltR"R ltR tR tR tR#R lt ^ RIHt ]! 4       tR t / t!R t"R R lt#R#   ] d     ! R R4      t L)i ; i)$    N)time)Errors)
DebugFlags)Options)CompileErrorInternalError
AbortError)Namingc                 8    \        V P                  4       4       V # N)printdump)ts   &=/usr/lib/python3.14/site-packages/Cython/Compiler/Pipeline.pydumptreer      s    	!&&(OH    c                 P    \         P                  ! 4       ^ 8w  d   \        R4      hV # )r   zpipeline break)r   get_errors_countr	   )nodes   &r   abort_on_errorsr      s$     A%)**Kr   c                    a  V 3R  lpV# )c                   < V P                   pV P                  pV^^ 3p\        P                  Rup\        n        SP	                  W#^ R7      pV\        n        SP                  W^ VR7      pWn        WVn        RVn        V# )   F)posneed_pxdpxdfull_module_name)	source_descr   r   cimport_from_pyxfind_moduleparsecompilation_sourcescopeis_pxd)compsrcr   r   initial_possaved_cimport_from_pyxr$   treecontexts   &      r   r"   "parse_stage_factory.<locals>.parse   s    ))"33"Aq);B;S;SUZ8 8##$4TU#V#9 }}[qM]}^")
r    )r*   r"   s   f r   parse_stage_factoryr-      s     Lr   c                    a aa V VV3R  lpV# )c                 N   < SP                  V SR SR7      pSVn        R Vn        V# )Tr   )r"   r$   r%   )r   r)   r*   module_namer$   s   & r   r"   &parse_pxd_stage_factory.<locals>.parse(   s2    }}[%T.9  ;
r   r,   )r*   r$   r0   r"   s   fff r   parse_pxd_stage_factoryr2   '   s     Lr   c                    a a V V3R  lpV# )c                 N   < V P                  SS4       V P                  Sn        S# r   )process_implementationr#   )module_nodeoptionsresults   &r   generate_pyx_code_stage@generate_pyx_code_stage_factory.<locals>.generate_pyx_code_stage1   s&    **7F;$/$B$B!r   r,   )r7   r8   r9   s   ff r   generate_pyx_code_stage_factoryr;   0   s     #"r   c                    a  V 3R  lpV# )c                 t   < SP                   P                  4        F  w  rV P                  WR R7       K  	  V # r   stage)utility_pxdsvaluesmerge_in)r6   statlistnoder$   r*   s   &  r   inject_utility_pxd_code_stageLinject_utility_pxd_code_stage_factory.<locals>.inject_utility_pxd_code_stage9   s9    #*#7#7#>#>#@L  E B $Ar   r,   )r*   rE   s   f r   %inject_utility_pxd_code_stage_factoryrG   7   s    
 )(r   c                    a  V 3R  lpV# )c                 z   < SP                   P                  4        F  w  pw  r#V P                  W#R R7       K  	  V # r>   )pxdsitemsrC   )r6   namerD   r$   r*   s   &   r   inject_pxd_code_stage<inject_pxd_code_stage_factory.<locals>.inject_pxd_code_stageB   s<    +2<<+=+=+?'D'<  E B ,@r   r,   )r*   rM   s   f r   inject_pxd_code_stage_factoryrO   @   s     ! r   c                    Vf   \        4       pV P                  P                  4        F  pW29   d   K  VP                  V4       VP                  '       d^   VP
                  '       dL   VP                  VP
                  4       VP
                  P                   F  pVP                  V4       K  	  K  VP                  '       g   K  \        VP                  W4       K  	  R # r   )
setentriesrB   addusedutility_code_definitionuse_utility_coderequires	as_moduleuse_utility_code_definitions)r$   targetseenentryrequired_utilitys   &&&  r   rY   rY   I   s    |u%%'=:::%777##E$A$AB$)$A$A$J$J ''(89 %K___(&G (r   c                 p   aaa / oSP                   oVVV3R  loV  F  pS! V4       K  	  \        SSR7      # )c           	         < S! V 4      pVfj   ^ SV &   \        S4      p^V P                  '       d,   \        V P                   Uu. uF  pS! V4      NK  	  up4      MR,           VR,          ,           ;pSV &   V# u upi )Ng:0yE>)lenrW   min)utilcoderankoriginal_orderdepcalculate_rankget_rankrankss   &   r   rg   5sorted_utility_codes_and_deps.<locals>.calculate_rank^   s    !<E(O ZN%&KSK\K\K\H4E4EF4ES^C(4EFGbd&"T)&* *D5?  Gs   A9
)key)getsorted)	utilcodesrc   rg   rh   ri   s   & @@@r   sorted_utility_codes_and_depsro   Z   s9    EyyH x   %X&&r   c                     V  Uu/ uF  qVbK  	  ppV  F<  pVP                   ;'       g    R Uu. uF  q2P                  W34      NK  	  upVn         K>  	  R # u upi u upi )Nr,   )rW   
setdefault)rn   rc   depsrf   s   &   r   normalize_depsrs   o   s]    .78i(XiD8BJBSBSBYBYWYBYZBY3__S6BYZ  9Zs
   AAc                    a a V V3R  lpV# )c                   < V P                  4        \        SP                  V P                  4       V P                  pVP                  p\        V4      VR &   \        V4       \        4       pV EF  pWC9   d   K  VP                  V4       VP                  '       d-   VP                   F  pWS9  g   K  VP                  V4       K  	  VP                  SP                  R7      ;p'       dL   V P                  VP                  4       VP                  RR7       V P                  VP                  S	R7       K  VP                  SP                  R7      ;p'       g   K  VP                   P                  V4       EK  	  V # ):NNN)cython_scopeutilityr?   )internalise_c_class_entries)prepare_utility_coderY   rv   r$   utility_code_listro   rs   rQ   rS   rW   appendget_treerC   with_compiler_directivesmerge_scopeget_shared_library_scopecimported_modules)
r6   module_scoperz   addedrc   rf   r)   shared_library_scoper*   rx   s
   &       r   inject_utility_code_stageDinject_utility_code_stage_factory.<locals>.inject_utility_code_stagev   sP   ((*$W%9%9;;L;LM"(((::<=NO!() *H IIh   #,,C')005 -  ((g6J6J(KKtK$$T%B%B%D%)ZZy % B''

Pk'l)1)J)JX_XlXl)J)mm%mm..556JK * r   r,   )r*   rx   r   s   ff r   !inject_utility_code_stage_factoryr   u   s    8 %$r   c                    VR9   g   Q h^RI Hp ^RIHpHpHpHp ^RIHpHp	H	p
 ^RIH
pHp ^RIHpHpHp ^RIHpHpHp ^R	IHpHp ^R
IHp ^RIHpHp ^RIHpHpHp ^RIHpHpHp ^RIHp ^RI H!p ^RI"H#p  ^RI$H%p!H&p"H'p# ^RI$H(p$H)p% ^RI$H*p& ^RI$H+p'H,p( ^RI$H-p) ^RI$H.p* ^RI/H0p+ ^RI1H2p,H3p- VR8X  d   T-p.V! V 4      p/MT,p.Rp/VR8X  d
   V! V 4      p0MRp0. V! V 4      NV! V 4      NV/NV! 4       NV! W Ph                  4      NV! V 4      NV! 4       NV! V 4      NV0NV! V 4      NV! V 4      NV! V 4      NV'! 4       NV!! 4       NV! V 4      NV! V 4      NV	! 4       NV
! V 4      NV! V 4      NV ! V 4      NV$! V 4      NV! V 4      NV! V 4      NV! V 4      NV! V 4      NV! V 4      NV+! V 4      NV.NV&! V 4      NV! V 4      NV! 4       NV! V 4      NV#! V 4      NV"! V 4      NV%! V 4      NV! V 4      NV! V 4      NV*! V 4      NV)! 4       NV(! V 4      NV! V 4      NV! 4       Np1V'       d%   V1 U2u. uF  p2V2Pj                  V9  g   K  V2NK  	  p1p2V1# u up2i )pyxpyr   	PrintTree)WithTransformNormalizeTree	PostParsePxdPostParse)ForwardDeclareTypesInjectGilHandlingAnalyseDeclarationsTransform)AnalyseExpressionsTransformFindInvalidUseOfFusedTypes)CreateClosureClassesMarkClosureVisitorDecoratorTransform)TrackNumpyAttributesInterpretCompilerDirectivesTransformBuiltinMethods)ExpandInplaceOperatorsParallelRangeTransform) CalculateQualifiedNamesTransform)MarkParallelAssignmentsMarkOverflowingArithmetic)AdjustDefByDirectivesAlignFunctionDefinitionsAutoCpdefFunctionDefinitions)RemoveUnreachableCodeGilCheckCoerceCppTemps)ControlFlowAnalysis)AutoTestDictTransform)EmbedSignature)FlattenInListTransformSwitchTransformIterationTransform)EarlyReplaceBuiltinCallsOptimizeBuiltinCalls)InlineDefNodeCalls)ConstantFoldingFinalOptimizePhase)DropRefcountingTransform)ConsolidateOverflowCheck)IntroduceBufferAuxiliaryVars)check_c_declarationscheck_c_declarations_pxdN)r   r   r   )6Visitorr   ParseTreeTransformsr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   TypeInferencer   r   r   r   r   r   r   r   FlowControlr   AnalysedTreeTransformsr   AutoDocTransformsr   Optimizer   r   r   r   r   r   r   r   r   r   Bufferr   
ModuleNoder   r   compiler_directives	__class__)3r*   modeexclude_classesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   _check_c_declarations_specific_post_parse_align_function_definitionsstagesss3   &&&                                                r   create_pipeliner      sN   ''''"ZZii\aaooSEQrrTT0=1UUH,=224J u} 8+G4 4#t|&>w&G#&*#
,
g,
',
 	,
 		,

 	$G-H-HI,
 	w',
 	,
 	g&,
 	$,
 	7#,
 	%W-,
 	g&,
 	,
 	 ,
 	7#,
  	G$!,
" 	#,
$ 	%W-%,
& 	g&',
( 	w),
* 	!)+,
, 	 (-,
. 	 (/,
0 	G$1,
2 	g&3,
6 	"'*7,
8 	%W-9,
: 	;,
< 	7#=,
> 	$G,?,
@ 	#$A,
B 	w'C,
D 	7#E,
F 	 G,
H 	W%I,
J 	W%K,
L 	)1M,
N 	!)O,
P 	!"Q,
R 	7#S,
T 	wU,
V 	
W,
FZ #JVq{{/'I!!VJM Ks   .IIc                 $   V'       d   R MRp. p. pVP                   '       d>   ^RIHp V! 4       p	VP                  V	4       VP                  V	P	                  4       4       VP
                  '       d8   ^RIHp
 ^RIH	p V
P                  VP                  4      V n        V! WV4      .pM. p\        \        P                  ! \!        V 4      .\#        WVR7      V\%        V 4      \'        V 4      \)        V 4      \*        .V\-        W4      .V4      4      # )r   r   )TreeAssertVisitor)DebugWriter)DebugTransformr   )evaluate_tree_assertions	TestUtilsr   r{   create_c_file_validator	gdb_debugDebuggerr   r   r   CythonDebugWriter
output_dirgdb_debug_outputwriterlist	itertoolschainr-   r   rO   r   rG   r   r;   )r*   r7   r8   r   r   r   test_supportctest_supportr   test_validatorr   r   debug_transforms   &&&&&        r   create_pyx_pipeliner      s    45DLM'''1*,N+^CCEF*7)4)F)F* &)'FCD		W	%&G)'2-g61':		
 		(	9:  r   c                 d    ^RI Hp \        WV4      .\        V R4      ,           V! 4       .,           # )r   )ExtractPxdCoder   )CodeGenerationr   r2   r   )r*   r$   r0   r   s   &&& r   create_pxd_pipeliner     s<    .
 	 <
GU+, 	/

 
r   c                     \        WVR R7      # )T)r   )r   )r*   r7   r8   s   &&&r   create_py_pipeliner   !  s    wDAAr   c           
      Z  aa ^RI HpHpHpHp ^RIHpHp ^RIH	o . p\        W P                  VVVVVV.R7      p	^RIHo  ! V3R lRS4      p
V	 F>  pVP                  V4       \        W4      '       g   K'  VP!                  R	V
! 4       4        M	  V3R lpVP                  V4       V# )
r   )r   r   r   r   )r   r   )StatListNoder   )VisitorTransformc                   B   <a  ] tR tRt o R t ZP
                  tRtV tR# )5create_pyx_as_pxd_pipeline.<locals>.SetInPxdTransformi3  c                Z    \        VR 4      '       d   RVn        V P                  V4       V# )in_pxdT)hasattrr   visitchildren)selfr   s   &&r   visit_StatNodeDcreate_pyx_as_pxd_pipeline.<locals>.SetInPxdTransform.visit_StatNode8  s)    tX&&"t$Kr   r,   N)	__name__
__module____qualname____firstlineno__r   recurse_to_children
visit_Node__static_attributes____classdictcell__)__classdict__r   s   @r   SetInPxdTransformr   3  s     
	 &99
r   r   c                   < V P                   P                  P                  4        F  pVP                  '       d   K  ^Vn        VP
                  VP                  8X  g   K;  VP                  R8w  g   KN  VP                   P                  \        P                  VP
                  4      Vn        K  	  S! V P                  . R7      V P                   3# )r   extern)stats)r$   rR   rB   in_cincludedefined_in_pxdrL   cname
visibilitymangler
   func_prefixr   )rootr\   r   s   & r   fake_pxd,create_pyx_as_pxd_pipeline.<locals>.fake_pxdE  s    ZZ''..0E$$$'($::,1A1AX1M"'++"4"4V5G5G"TEK 1 DHHB/;;r   r`   )r   r   r   r   r   r   r   r   Nodesr   r   r7   r   r   r{   
isinstanceinsert)r*   r8   r   r   r   r   r   r   pipelinepyx_pipeliner   r@   r  r   r   s   &&           @@r   create_pyx_as_pxd_pipeliner  $  s    H HA#H&w+C+=+:+A+88-.L *:, : e::OOB 1 34	 
< OOHOr   c                    V'       g   V'       g   Q hT;'       g    Tp\        V 4       F  w  rV\        Wd4      '       g   K   M	  V'       d
   X^,          pV RX V.,           WR ,           # )z
Insert a new transform into the pipeline after or before an instance of
the given class. e.g.

    pipeline = insert_into_pipeline(pipeline, transform,
                                    after=AnalyseDeclarationsTransform)
N)	enumerater  )r	  	transformbeforeafterclsir   s   &&&&   r   insert_into_pipeliner  P  sb     U?
//EC(#a $ 	QBQ<9+%44r   )localc                       ] tR tRtRtR# )_threadlocalik  r,   N)r   r   r   r   r   r,   r   r   r  r  k  s    r   r  c                  J     \         P                  #   \         d    / u # i ; ir   )threadlocalcython_pipeline_timingsAttributeErrorr,   r   r   get_timingsr  p  s'    222 	s    ""c                 x     \         V ,          #   \         d     Mi ; iR  pT ;Tn        Tn        T\         T &   T# )c                     V ! V4      # r   r,   phasedatas   &&r   run%_make_debug_phase_runner.<locals>.run      T{r   )_pipeline_entry_pointsKeyErrorr   r   )
phase_namer!  s   & r   _make_debug_phase_runnerr'  y  sJ    %j11  '10CL3#),:&Js    c                    ^RI Hp  \        P                  pR pRpTp  V  F  pVf   K	  V'       g   \        W4      '       d   K$  \        VR\        V4      P                  4      p	\        P                  '       d   \        RV,          4       \        V	4      p\        4       p
V! W4      p\        4       V
,
          p
 WI,          w  rV\        V
R,          4      ,           V^,           3WI&   \        P                  '       g   K  \        RV
,          4       K  	  Wg3#   \         d    / ;p\        n         EL i ; i  \         d    ^ ^ r Li ; i  \          d'   p\"        P$                  ! TRR	7       Tp Rp?Yg3# Rp?ii ; i  \&         d*   p\"        P(                  ! 4       ^ 8X  d   h Tp Rp?Yg3# Rp?i\*         d   pTp Rp?Yg3# Rp?ii ; i)
r   r   c                     V ! V4      # r   r,   r  s   &&r   r!  run_pipeline.<locals>.run  r#  r   Nr   zEntering pipeline phase %ri@B z    %.3f secondsF)	use_stack)r   r   r  r  r  r  getattrtyper   r   debug_verbose_pipeliner   r'  r   r%  intr   r   report_errorr   r   r	   )r	  source	printtreer   timingsr!  errorr   r  r&  r   old_tcounterrs   &&&           r   run_pipeliner8    s   ";55 ED"	!= Z%A%A$UJU8L8LM
4446>?2:>CF5'FQJ(#*#6LE (-s1w;/?'?&K#444,q01+ "B =W  ;8::+5;6   (#$a5(
  	u5E =	  ""$) =  =s   D E B	E >
D<7E E D98D9<E
E EE FE<5F <FF GF33G GG

Gr   )T)r,   )Fr,   )NN)$r   r    r   r   r   r   r   r	   r
   r   r   r-   r2   r;   rG   rO   rY   ro   rs   r   r   r   r   r   r  r  	threadingr  r  ImportErrorr  r  r$  r'  r8  r,   r   r   <module>r<     s         ; ; 

#)!H"'*[%HXt!F	
B*X50/ n  /=  s   +B BB