Your IP : 3.148.105.127
�
S�Dg� � �� � d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl
mZ ddl
mZ dd l
mZ dd
lmZ ddlmZ ddlmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddl m!Z! ddl"m#Z# ddl$m%Z% dddddd d!d"d#�Z& e'e(d$� � rd$Z)nd%Z)d&gZ* e+d'� � e*�, d(� � n# e-$ r Y nw xY w e+d)� � d*Z.n
# e-$ r d+Z.Y nw xY wd,� Z/ d?d.�Z0d/� Z1d0� Z2 G d1� d2e3� � Z4 G d3� d4e3� � Z5 G d5� d6e6� � Z7 G d7� d8e%� � Z8 G d9� d:e%� � Z9 G d;� d<e:� � Z; G d=� d>e%� � Z<d-S )@z0Compiles nodes from the parser into Python code.� )�
namedtuple��update_wrapper)�chain)� iskeyword)�escape)�Markup� )�nodes)�imap)� iteritems)�izip)�NativeStringIO)�
range_type)�string_types)� text_type)�TemplateAssertionError)�Symbols)�VAR_LOAD_ALIAS)�VAR_LOAD_PARAMETER)�VAR_LOAD_RESOLVE)�VAR_LOAD_UNDEFINED)�EvalContext)� Optimizer)�concat)�NodeVisitorz==z!=�>z>=�<z<=�inznot in)�eq�ne�gt�gteq�lt�lteqr �notinr
�items�divisionz%from __future__ import generator_stop�generator_stopzdef f(): yield from x()TFc �. � � � fd�}t |� � � S )Nc � �� | j rH|j j s<| j � ||j � � }||k r| � ||� � S �| ||fi |��S �N)� optimized�eval_ctx�volatile� optimizer�visit)�self�node�frame�kwargs�new_node�fs ��o/builddir/build/BUILD/imunify360-venv-2.4.0/opt/imunify360/venv/lib/python3.11/site-packages/jinja2/compiler.py�new_funczoptimizeconst.<locals>.new_funcC sm �� ��>� 3�%�.�"9� 3��~�+�+�D�%�.�A�A�H��4����z�z�(�E�2�2�2��q��t�U�-�-�f�-�-�-� r )r7 r9 s ` r8 �
optimizeconstr; B s. �� �.� .� .� .� .� �(�A�&�&�&r: Nc �� � t | t j � � st d� � �|� ||||||� � }|� | � � |�|j � � � S dS )z+Generate the python source for a node tree.z Can't compile non template nodesN)�
isinstancer �Template� TypeError�code_generator_classr1 �stream�getvalue)r3 �environment�name�filenamerA �
defer_initr- � generators r8 �generaterH N s~ � � �d�E�N�+�+� <��:�;�;�;��0�0��T�8�V�Z��� �I� �O�O�D����
�~���(�(�*�*�*� �~r: c �� � | �| t u s | t u rdS t | � � t t t
t t t ft z v rdS t | � � t t t t fv r| D ]}t |� � s dS �dS t | � � t u r;t! | � � D ])\ }} t |� � s dS t | � � s dS �*dS dS )z)Does the node have a safe representation?NTF)�NotImplemented�Ellipsis�type�bool�int�float�complexr r r �tuple�list�set� frozenset�
has_safe_repr�dictr
)�value�item�keys r8 rU rU \ s� � ��}���/�/�5�H�3D�3D��t��E�{�{�t�S�%��*�f�E��T�T�T��t��E�{�{�u�d�C��3�3�3�� � �D� ��&�&�
��u�u�
��t�
�e���� � �#�E�*�*� � �J�C�� ��%�%�
��u�u� ��'�'�
��u�u�
��t��5r: c � � t |� � } | D ]}|� |� � �n# t $ r Y nw xY w|j S )z�Check if the names passed are accessed undeclared. The return value
is a set of all the undeclared names from the sequence of names found.
)�UndeclaredNameVisitorr1 �VisitorExit�
undeclared)r �names�visitorr3 s r8 �find_undeclaredr` q sh � � $�E�*�*�G�
�� � �D��M�M�$����� ���
�
�
���
������s �, �
9�9c � � e Zd Zd� ZdS )�MacroRefc �>