+
    WBi;)                         ^ RI t^RIHt ^RIHt ]P                  '       d   ^ RItRt	Rt
RtRtRR R	 lltRR
 R llt ! R R4      t ! R R]4      t ! R R]4      tR# )    N)nodes)NodeVisitorparamresolvealias	undefinedc                    V ^8  d   QhR\         P                  \        P                  ,          R\         P                  R,          RR/# )   r   parent_symbolsSymbolsreturn)tIterabler   NodeOptional)formats   "6/usr/lib/python3.14/site-packages/jinja2/idtracking.py__annotate__r      s:      ::ejj!34::i3H    c                 h    \        VR 7      p\        V4      pV  F  pVP                  V4       K  	  V# )parent)r   FrameSymbolVisitorvisit)r   r   symvisitornodes   &&   r   find_symbolsr      s3     
(C %Gd Jr   c                j    V ^8  d   QhR\         P                  R\        P                  R,          RR/# )r
   r   r   r   r   )r   r   r   r   )r   s   "r   r   r      s1      
**&'jj&;r   c                 @    \        VR 7      pVP                  V 4       V# r   )r   analyze_node)r   r   r   s   && r   symbols_for_noder"      s!     
(CTJr   c                     a  ] tR t^!t o RV 3R lR lltV 3R lR ltRV 3R lR lltV 3R lR	 ltV 3R
 lR ltV 3R lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltRtV tR# )r   Nc                p   < V ^8  d   QhRS[ P                  R,          RS[ P                  S[,          RR/# )r
   r   r   levelr   N)r   r   int)r   __classdict__s   "r   r   Symbols.__annotate__"   s6     ( (jj+(;<::c?(	(r   c                    Vf   Vf   ^ pMVP                   ^,           pW n         Wn        / V n        / V n        \	        4       V n        R # N)r%   r   refsloadssetstores)selfr   r%   s   &&&r   __init__Symbols.__init__"   sB     =~q(
&(	)+
"%%r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r
   r   kwargsr   Nr   r   r   Any)r   r'   s   "r   r   r(   1   s*     & & &quu & &r   c                B    \        V 4      pVP                  ! V3/ VB  R # r*   )RootVisitorr   )r/   r   r4   r   s   &&, r   r!   Symbols.analyze_node1   s    d#d%f%r   c                   < V ^8  d   QhRS[ RS[P                  S[P                  S[ S[P                  S[ ,          3,          ,          RS[ /# )r
   nameloadr   )strr   r   Tuple)r   r'   s   "r   r   r(   5   sD       zz!''#qzz#2F*GH	r   c                j    R V P                    RV 2pW0P                  V&   Ve   W P                  V&   V# )l__)r%   r+   r,   )r/   r;   r<   idents   &&& r   _define_refSymbols._define_ref5   s<     TZZL$(		$ $JJur   c                ^   < V ^8  d   QhRS[ RS[P                  S[P                  ,          /# )r
   targetr   )r=   r   r   r6   )r   r'   s   "r   r   r(   >   s(       

155(9 r   c                    WP                   9   d   V P                   V,          # V P                  e   V P                  P                  V4      # R # r*   )r,   r   	find_load)r/   rF   s   &&r   rH   Symbols.find_load>   s=    ZZ::f%%;;";;((00r   c                J   < V ^8  d   QhRS[ RS[P                  S[ ,          /# r
   r;   r   )r=   r   r   )r   r'   s   "r   r   r(   G   s#      S QZZ_ r   c                    WP                   9   d   V P                   V,          # V P                  e   V P                  P                  V4      # R # r*   )r+   r   find_refr/   r;   s   &&r   rM   Symbols.find_refG   s<    9999T?";;";;''--r   c                &   < V ^8  d   QhRS[ RS[ /# rK   r=   )r   r'   s   "r   r   r(   P   s        r   c                P    V P                  V4      pVf   \        RV: R24      hV# )NzFTried to resolve a name to a reference that was unknown to the frame ())rM   AssertionError)r/   r;   rvs   && r   refSymbols.refP   s:    ]]4 : **.4  	r   c                   < V ^8  d   QhRR/# )r
   r   zte.Self )r   r'   s   "r   r   r(   Y   s      i r   c                H   \         P                  V P                  4      pVP                  P	                  V P                  4       V P
                  P                  4       Vn        V P                  P                  4       Vn        V P                  P                  4       Vn        V# r*   )	object__new__	__class____dict__updater+   copyr,   r.   )r/   rU   s   & r   r`   Symbols.copyY   sg    ^^DNN+
4==))).."::??$KK$$&		r   c                $   < V ^8  d   QhRS[ RR/# r
   r;   r   NrQ   )r   r'   s   "r   r   r(   a   s     D D# D$ Dr   c                "   V P                   P                  V4       WP                  9  dd   V P                  e;   V P                  P	                  V4      pVe   V P                  V\        V3R7       R # V P                  V\        R 3R7       R # R # N)r<   )r.   addr+   r   rM   rC   VAR_LOAD_ALIASVAR_LOAD_UNDEFINED)r/   r;   	outer_refs   && r   storeSymbols.storea   s     yy  {{& KK006	($$T0K$L T);T(BC !r   c                &   < V ^8  d   QhRS[ RS[ /# rK   rQ   )r   r'   s   "r   r   r(   s   s     G Gc Gc Gr   c                j    V P                   P                  V4       V P                  V\        R 3R7      # re   )r.   rf   rC   VAR_LOAD_PARAMETERrN   s   &&r   declare_parameterSymbols.declare_parameters   s.    ,>+EFFr   c                $   < V ^8  d   QhRS[ RR/# rc   rQ   )r   r'   s   "r   r   r(   w   s     B B B Br   c                b    V P                  V4      f   V P                  V\        V3R7       R # R # re   )rM   rC   VAR_LOAD_RESOLVErN   s   &&r   r<   Symbols.loadw   s/    ==&T)94(@A 'r   c                F   < V ^8  d   QhRS[ P                  R,          RR/# )r
   branch_symbolsr   r   N)r   Sequence)r   r'   s   "r   r   r(   {   s$     : :AJJy,A :d :r   c                   \        4       pV F  pVP                  VP                  4       K   	  VP                  V P                  4       V Fr  pV P                  P                  VP                  4       V P
                  P                  VP
                  4       V P                  P                  VP                  4       Kt  	  V Fx  pV P                  V4      pVf   Q R4       hV P                  e7   V P                  P                  V4      pVe   \        V3V P
                  V&   Kc  \        V3V P
                  V&   Kz  	  R # )Nzshould not happen)
r-   r_   r.   difference_updater+   r,   rM   r   rg   rs   )r/   rv   r.   branchr   r;   rF   outer_targets   &&      r   branch_updateSymbols.branch_update{   s     U$FMM&--( % 	  -!CIISXX&JJcii(KKszz* "
 D]]4(F%:'::%{{&#{{33D9+*8,)GDJJv&"2D!9DJJv r   c                J   < V ^8  d   QhRS[ P                  S[S[3,          /# r
   r   )r   Dictr=   )r   r'   s   "r   r   r(      s!      QVVCH- r   c                    / pT pVeF   \        VP                  4       F  pW19  g   K  V P                  V4      W&   K   	  VP                  pKI  V# r*   )sortedr.   rM   r   )r/   rU   r   r;   s   &   r   dump_storesSymbols.dump_stores   sJ    !$(t{{+>#}}T2BH , ;;D	r   c                D   < V ^8  d   QhRS[ P                  S[,          /# r   )r   Setr=   )r   r'   s   "r   r   r(      s      AEE#J r   c                    \        4       pT pVeS   V P                  P                  4        F&  w  pw  rEV\        8X  g   K  VP	                  V4       K(  	  VP
                  pKV  V# r*   )r-   r,   itemsrn   rf   r   )r/   rU   r   rF   instrrA   s   &     r   dump_param_targetsSymbols.dump_param_targets   sV    U$(&*jj&6&6&8"
..FF6N '9 ;;D	r   )r%   r,   r   r+   r.   )NNr*   )__name__
__module____qualname____firstlineno__r0   r!   rC   rH   rM   rV   r`   rj   ro   r<   r|   r   r   __static_attributes____classdictcell__r'   s   @r   r   r   !   s     ( (& &     D D$G GB B: :0  r   r   c                      a  ] tR t^t o V 3R lR ltV 3R lR lt]t]t]t]t	]t
]t]tV 3R lR ltV 3R lR ltV 3R	 lR
 ltRV 3R lR lltV 3R lR ltV 3R lR ltRtV tR# )r8   c                "   < V ^8  d   QhRRRR/# r
   symbolsr   r   NrY   )r   r'   s   "r   r   RootVisitor.__annotate__   s     7 7	 7d 7r   c                &    \        V4      V n        R # r*   )r   sym_visitorr/   r   s   &&r   r0   RootVisitor.__init__   s    -g6r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   r5   )r   r'   s   "r   r   r      s*     * *%** * *$ *r   c                j    VP                  4        F  pV P                  P                  V4       K   	  R # r*   iter_child_nodesr   r   r/   r   r4   childs   &&, r   _simple_visitRootVisitor._simple_visit   s)    **,E""5) -r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   r   AssignBlockr   r6   )r   r'   s   "r   r   r      ,     * *e&7&7 *155 *T *r   c                b    VP                    F  pV P                  P                  V4       K   	  R # r*   bodyr   r   r   s   &&, r   visit_AssignBlockRootVisitor.visit_AssignBlock   $    YYE""5) r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   r   	CallBlockr   r6   )r   r'   s   "r   r   r      s*     * *EOO *quu * *r   c                n    VP                  RR7       F  pV P                  P                  V4       K   	  R# )call)excludeN)r   r   r   s   &&, r   visit_CallBlockRootVisitor.visit_CallBlock   s.    **9*=E""5) >r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   r   OverlayScoper   r6   )r   r'   s   "r   r   r      s,     * *u'9'9 *QUU *t *r   c                b    VP                    F  pV P                  P                  V4       K   	  R # r*   r   r   s   &&, r   visit_OverlayScopeRootVisitor.visit_OverlayScope   r   r   c                X   < V ^8  d   QhRS[ P                  RS[RS[P                  RR/# )r
   r   
for_branchr4   r   N)r   Forr=   r   r6   )r   r'   s   "r   r   r      s5     - -II-+.-CD55-	-r   c                   VR 8X  d5   V P                   P                  VP                  RR7       VP                  pMVR8X  d   VP                  pMnVR8X  d]   V P                   P                  VP                  RR7       VP
                  e&   V P                   P                  VP
                  4       R# \        R4      hV'       d'   V F  pV P                   P                  V4       K   	  R# R# )r   T)store_as_paramelsetestNzUnknown for branch)r   r   rF   r   else_r   RuntimeError)r/   r   r   r4   rz   items   &&&,  r   	visit_ForRootVisitor.visit_For   s     ""4;;t"DYYF6!ZZF6!""4;;t"Dyy$  &&tyy1344  &&t,  r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   r   Withr   r6   )r   r'   s   "r   r   r      s*     * *uzz *QUU *t *r   c                    VP                    F  pV P                  P                  V4       K   	  VP                   F  pV P                  P                  V4       K   	  R # r*   )targetsr   r   r   )r/   r   r4   rF   r   s   &&,  r   
visit_WithRootVisitor.visit_With   sF    llF""6* #YYE""5) r   c                l   < V ^8  d   QhRS[ P                  RS[P                  RS[P                  RR/# )r
   r   argsr4   r   Nr5   )r   r'   s   "r   r   r      s<     V V%** VQUU Vaee VPT Vr   c                F    \        R \        V4      P                  : 24      h)zCannot find symbols for )NotImplementedErrortyper   )r/   r   r   r4   s   &&*,r   generic_visitRootVisitor.generic_visit   s     !$<T$Z=P=P<S"TUUr   )r   N)r   )r   r   r   r   r0   r   visit_Templatevisit_Blockvisit_Macrovisit_FilterBlockvisit_Scopevisit_Ifvisit_ScopedEvalContextModifierr   r   r   r   r   r   r   r   r   s   @r   r8   r8      s~     7 7* * #NKK%KH&3#* ** ** *- -(* *V Vr   r8   c                   H  a  ] tR t^t o RtV 3R lR ltR$V 3R lR lltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	V 3R lR lt
V 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR ltV 3R  lR! ltR"tV tR## )%r   zA visitor for `Frame.inspect`.c                "   < V ^8  d   QhRRRR/# r   rY   )r   r'   s   "r   r   FrameSymbolVisitor.__annotate__   s      	 d r   c                    Wn         R # r*   r   r   s   &&r   r0   FrameSymbolVisitor.__init__   s    r   c                X   < V ^8  d   QhRS[ P                  RS[RS[P                  RR/# )r
   r   r   r4   r   N)r   Nameboolr   r6   )r   r'   s   "r   r   r      s5     	) 	)JJ	)04	)HI	)		)r   c                f   V'       g   VP                   R8X  d(   V P                  P                  VP                  4       R# VP                   R8X  d(   V P                  P	                  VP                  4       R# VP                   R8X  d(   V P                  P                  VP                  4       R# R# )z2All assignments to names go through this function.r   rj   r<   N)ctxr   ro   r;   rj   r<   )r/   r   r   r4   s   &&&,r   
visit_NameFrameSymbolVisitor.visit_Name   sq     TXX0LL**4995XX LLtyy)XXLLdii(  r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   )r   NSRefr   r6   )r   r'   s   "r   r   r      s*     % % %quu % %r   c                P    V P                   P                  VP                  4       R # r*   )r   r<   r;   r/   r   r4   s   &&,r   visit_NSRefFrameSymbolVisitor.visit_NSRef   s    $))$r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   )r   Ifr   r6   )r   r'   s   "r   r   r      s/     O OUXX O O4 Or   c                .  a aa S P                   ! VP                  3/ SB  S P                  oR  VVV 3R llpV! VP                  4      pV! VP                  4      pT! VP
                  ;'       g    R4      pS P                  P                  WEV.4       R# )c                f    V ^8  d   QhR\         P                  \        P                  ,          RR/# )r
   r   r   r   )r   r   r   r   )r   s   "r   r   1FrameSymbolVisitor.visit_If.<locals>.__annotate__   s'     	 	qzz%**5 	) 	r   c                 |   < SP                  4       ;Sn        pV  F  pSP                  ! V3/ SB  K  	  SSn        V# r*   )r`   r   r   )r   rU   subnoder4   original_symbolsr/   s   &  r   inner_visit0FrameSymbolVisitor.visit_If.<locals>.inner_visit   sA     0 5 5 77DL2 

7-f- ! ,DLIr   NrY   )r   r   r   r   elif_r   r|   )r/   r   r4   r   body_symbolselif_symbolselse_symbolsr   s   f&l    @r   r   FrameSymbolVisitor.visit_If   sw    

499''<<	 	 #499-"4::."4::#3#34""L#MNr   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   )r   Macror   r6   )r   r'   s   "r   r   r     s*     & & &quu & &r   c                P    V P                   P                  VP                  4       R # r*   )r   rj   r;   r   s   &&,r   r   FrameSymbolVisitor.visit_Macro  s    499%r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   )r   Importr   r6   )r   r'   s   "r   r   r     s*     ( ( ( (4 (r   c                v    V P                   ! V3/ VB  V P                  P                  VP                  4       R # r*   )r   r   rj   rF   r   s   &&,r   visit_ImportFrameSymbolVisitor.visit_Import  s+    4*6*4;;'r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   )r   
FromImportr   r6   )r   r'   s   "r   r   r     s,     ) )U%5%5 ) )4 )r   c                    V P                   ! V3/ VB  VP                   FX  p\        V\        4      '       d%   V P                  P                  V^,          4       K=  V P                  P                  V4       KZ  	  R# )   N)r   names
isinstancetupler   rj   )r/   r   r4   r;   s   &&, r   visit_FromImport#FrameSymbolVisitor.visit_FromImport  sX    4*6*JJD$&&""47+""4(	 r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   )r   Assignr   r6   )r   r'   s   "r   r   r     s*     * * * *4 *r   c                z    V P                   ! VP                  3/ VB  V P                   ! VP                  3/ VB  R# )z'Visit assignments in the correct order.N)r   r   rF   r   s   &&,r   visit_AssignFrameSymbolVisitor.visit_Assign  s,    

499''

4;;)&)r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   )r   r   r   r6   )r   r'   s   "r   r   r   #  s*     ( (eii (155 (T (r   c                @    V P                   ! VP                  3/ VB  R# )zaVisiting stops at for blocks.  However the block sequence
is visited as part of the outer scope.
N)r   iterr   s   &&,r   r   FrameSymbolVisitor.visit_For#  s     	

499''r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   r   )r   r'   s   "r   r   r   )  s*     ( (EOO (quu ( (r   c                @    V P                   ! VP                  3/ VB  R # r*   )r   r   r   s   &&,r   r   "FrameSymbolVisitor.visit_CallBlock)  s    

499''r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   )r   FilterBlockr   r6   )r   r'   s   "r   r   r   ,  s,     * *e&7&7 *155 *T *r   c                @    V P                   ! VP                  3/ VB  R # r*   )r   filterr   s   &&,r   r   $FrameSymbolVisitor.visit_FilterBlock,  s    

4;;)&)r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   r   )r   r'   s   "r   r   r   /  s*      uzz QUU t r   c                N    VP                    F  pV P                  V4       K  	  R # r*   )valuesr   )r/   r   r4   rF   s   &&, r   r   FrameSymbolVisitor.visit_With/  s    kkFJJv "r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   r   )r   r'   s   "r   r   r   3  r   r   c                @    V P                   ! VP                  3/ VB  R# )zStop visiting at block assigns.N)r   rF   r   s   &&,r   r   $FrameSymbolVisitor.visit_AssignBlock3  s    

4;;)&)r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   )r   Scoper   r6   )r   r'   s   "r   r   r   7  *     ' ' 'quu ' 'r   c                    R# )zStop visiting at scopes.NrY   r   s   &&,r   r   FrameSymbolVisitor.visit_Scope7      r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   )r   Blockr   r6   )r   r'   s   "r   r   r   :  r+  r   c                    R# )zStop visiting at blocks.NrY   r   s   &&,r   r   FrameSymbolVisitor.visit_Block:  r.  r   c                R   < V ^8  d   QhRS[ P                  RS[P                  RR/# r3   r   )r   r'   s   "r   r   r   =  s,     0 0u'9'9 0QUU 0t 0r   c                    R# )z!Do not visit into overlay scopes.NrY   r   s   &&,r   r   %FrameSymbolVisitor.visit_OverlayScope=  r.  r   r   N)F)r   r   r   r   __doc__r0   r   r   r   r   r  r  r  r   r   r   r   r   r   r   r   r   r   r   s   @r   r   r      s     ( 	) 	)% %O O$& &( () )* *
( (( (* * * *' '' '0 0r   r   r*   )typingr    r   r   r   TYPE_CHECKINGtyping_extensionstern   rs   rg   rh   r   r"   r   r8   r   rY   r   r   <module>r<     se       ???"    J JZ7V+ 7VtV0 V0r   