shell bypass 403

Cubjrnet7 Shell


name : idtracking.cpython-39.opt-1.pyc
a

�`�#�@spddlmZddlmZdZdZdZdZddd	�Zdd
d�Z	Gdd
�d
e
�ZGdd�de�ZGdd�de�Z
dS)�)�	iteritems)�NodeVisitor�param�resolve�aliasZ	undefinedNcCs*t|d�}t|�}|D]}|�|�q|S�N)�parent)�Symbols�FrameSymbolVisitor�visit)�nodes�parent_symbols�sym�visitor�node�r�5/usr/lib/python3.9/site-packages/jinja2/idtracking.py�find_symbols
s

rcCst|d�}|�|�|Sr)r	�analyze_node)rr
rrrr�symbols_for_nodes

rc@sxeZdZddd�Zdd�Zddd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�ZdS)r	NcCsD|dur |durd}n
|jd}||_||_i|_i|_t�|_dS�N�r)�levelr�refs�loads�set�stores)�selfrrrrr�__init__s
zSymbols.__init__cKst|�}|j|fi|��dS�N)�RootVisitorr)rr�kwargsrrrrr%szSymbols.analyze_nodecCs.d|j|f}||j|<|dur*||j|<|S)Nzl_%d_%s)rrr)r�name�load�identrrr�_define_ref)s


zSymbols._define_refcCs.||jvr|j|S|jdur*|j�|�SdSr)rr�	find_load)r�targetrrrr&0s


zSymbols.find_loadcCs.||jvr|j|S|jdur*|j�|�SdSr)rr�find_ref�rr"rrrr(6s


zSymbols.find_refcCs"|�|�}|durtd|��|S)NzITried to resolve a name to a reference that was unknown to the frame (%r))r(�AssertionError)rr"�rvrrr�ref<s
��zSymbols.refcCsBt�|j�}|j�|j�|j��|_|j��|_|j��|_|Sr)	�object�__new__�	__class__�__dict__�updater�copyrr)rr+rrrr2EszSymbols.copycCs`|j�|�||jvr\|jdurJ|j�|�}|durJ|j|t|fd�dS|j|tdfd�dS�N)r#)r�addrrr(r%�VAR_LOAD_ALIAS�VAR_LOAD_UNDEFINED)rr"Z	outer_refrrr�storeMs

z
Symbols.storecCs|j�|�|j|tdfd�Sr3)rr4r%�VAR_LOAD_PARAMETERr)rrr�declare_parameter_szSymbols.declare_parametercCs(|�|�}|dur$|j|t|fd�dSr3)r(r%�VAR_LOAD_RESOLVE)rr"r'rrrr#cs
zSymbols.loadc	Cs�i}|D]0}|jD]$}||jvr"q|�|d�d||<qq|D].}|j�|j�|j�|j�|j�|j�q>t|�D]\\}}|t|�kr�qv|�|�}|jdur�|j�|�}|dur�t	|f|j|<qvt
|f|j|<qvdSr)r�getrr1rr�lenr(rr5r:)	rZbranch_symbolsr�branchr'rr"Zbranch_countZouter_targetrrr�
branch_updatehs(



zSymbols.branch_updatecCs>i}|}|dur:|jD]}||vr|�|�||<q|j}q|Sr)rr(r)rr+rr"rrr�dump_stores�s
zSymbols.dump_storescCsHt�}|}|durDt|j�D]\}\}}|tkr|�|�q|j}q
|Sr)rrrr8r4r)rr+rr'Zinstr�_rrr�dump_param_targets�szSymbols.dump_param_targets)NN)N)�__name__�
__module__�__qualname__rrr%r&r(r,r2r7r9r#r>r?rArrrrr	s

	
r	c@sjeZdZdd�Zdd�ZeZZZZZ	Z
Zdd�Zdd�Z
d	d
�Zddd
�Zdd�Zdd�ZdS)r cCst|�|_dSr)r
�sym_visitor�r�symbolsrrrr�szRootVisitor.__init__cKs|��D]}|j�|�qdSr�Ziter_child_nodesrEr�rrr!�childrrr�
_simple_visit�szRootVisitor._simple_visitcKs|jD]}|j�|�qdSr��bodyrErrIrrr�visit_AssignBlock�s
zRootVisitor.visit_AssignBlockcKs"|jdd�D]}|j�|�qdS)N)�call)ZexcluderHrIrrr�visit_CallBlock�szRootVisitor.visit_CallBlockcKs|jD]}|j�|�qdSrrLrIrrr�visit_OverlayScope�s
zRootVisitor.visit_OverlayScoperMcKs�|dkr"|jj|jdd�|j}nN|dkr2|j}n>|dkrh|jj|jdd�|jdurd|j�|j�dStd��|pvdD]}|j�|�qxdS)NrMT)�store_as_param�else�testzUnknown for branchr)rErr'rM�else_rT�RuntimeError)rrZ
for_branchr!r=�itemrrr�	visit_For�s
zRootVisitor.visit_ForcKs4|jD]}|j�|�q|jD]}|j�|�qdSr)�targetsrErrM)rrr!r'rJrrr�
visit_With�s

zRootVisitor.visit_WithcOstd|jj��dS)NzCannot find symbols for %r)�NotImplementedErrorr/rB)rr�argsr!rrr�
generic_visit�s
�zRootVisitor.generic_visitN)rM)rBrCrDrrKZvisit_Template�visit_Block�visit_Macro�visit_FilterBlock�visit_Scope�visit_IfZvisit_ScopedEvalContextModifierrNrPrQrXrZr]rrrrr �s&
�����
r c@s�eZdZdZdd�Zd$dd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�Zdd �Zd!d"�Zd#S)%r
zA visitor for `Frame.inspect`.cCs
||_dSr)rGrFrrrr�szFrameSymbolVisitor.__init__FcKsT|s|jdkr|j�|j�n2|jdkr8|j�|j�n|jdkrP|j�|j�dS)z2All assignments to names go through this function.rr7r#N)�ctxrGr9r"r7r#)rrrRr!rrr�
visit_Name�s

zFrameSymbolVisitor.visit_NamecKs|j�|j�dSr)rGr#r"�rrr!rrr�visit_NSRef�szFrameSymbolVisitor.visit_NSRefcsb�j|jfi����j����fdd�}||j�}||j�}||jpHd�}�j�|||g�dS)Ncs4����_}|D]}�j|fi���q��_|Sr)r2rGr)rr+Zsubnode�r!Zoriginal_symbolsrrr�inner_visit�s
z0FrameSymbolVisitor.visit_If.<locals>.inner_visitr)rrTrGrMZelif_rUr>)rrr!rhZbody_symbolsZelif_symbolsZelse_symbolsrrgrrb�s

zFrameSymbolVisitor.visit_IfcKs|j�|j�dSr)rGr7r"rerrrr_�szFrameSymbolVisitor.visit_MacrocKs$|j|fi|��|j�|j�dSr)r]rGr7r'rerrr�visit_Import�szFrameSymbolVisitor.visit_ImportcKsJ|j|fi|��|jD],}t|t�r8|j�|d�q|j�|�qdS)Nr)r]�names�
isinstance�tuplerGr7)rrr!r"rrr�visit_FromImport�s


z#FrameSymbolVisitor.visit_FromImportcKs,|j|jfi|��|j|jfi|��dS)z'Visit assignments in the correct order.N)rrr'rerrr�visit_AssignszFrameSymbolVisitor.visit_AssigncKs|j|jfi|��dS)zqVisiting stops at for blocks.  However the block sequence
        is visited as part of the outer scope.
        N)r�iterrerrrrXszFrameSymbolVisitor.visit_ForcKs|j|jfi|��dSr)rrOrerrrrP
sz"FrameSymbolVisitor.visit_CallBlockcKs|j|jfi|��dSr)r�filterrerrrr`sz$FrameSymbolVisitor.visit_FilterBlockcKs|jD]}|�|�qdSr)�valuesr)rrr!r'rrrrZs
zFrameSymbolVisitor.visit_WithcKs|j|jfi|��dS)zStop visiting at block assigns.N)rr'rerrrrNsz$FrameSymbolVisitor.visit_AssignBlockcKsdS)zStop visiting at scopes.NrrerrrraszFrameSymbolVisitor.visit_ScopecKsdS)zStop visiting at blocks.Nrrerrrr^szFrameSymbolVisitor.visit_BlockcKsdS)z!Do not visit into overlay scopes.NrrerrrrQ!sz%FrameSymbolVisitor.visit_OverlayScopeN)F)rBrCrD�__doc__rrdrfrbr_rirmrnrXrPr`rZrNrar^rQrrrrr
�s"
	r
)N)N)Z_compatrrrr8r:r5r6rrr-r	r r
rrrr�<module>s

8

© 2025 Cubjrnet7