File: //usr/lib/python3.6/site-packages/jinja2/__pycache__/ext.cpython-36.opt-1.pyc
3
sݨ\�_ � @ st d Z ddlZddlmZ ddlmZmZmZmZm Z m
Z
mZmZm
Z
mZmZmZ ddlmZ ddlmZ ddlmZmZ ddlmZmZmZ dd lmZmZmZ d(Z G d
d� de!�Z"G dd� dee"e#��Z$edd� �Z%dd� Z&dd� Z'G dd� de$�Z(G dd� de$�Z)G dd� de$�Z*G dd� de$�Z+G dd � d e$�Z,e d!fd"d#�Z-G d$d%� d%e#�Z.d&d'� Z/e(Z0e)Z1e*Z2e+Z3e,Z4dS ))a
jinja2.ext
~~~~~~~~~~
Jinja extensions allow to add custom tags similar to the way django custom
tags work. By default two example extensions exist: an i18n and a cache
extension.
:copyright: (c) 2017 by the Jinja Team.
:license: BSD.
� N)�nodes)�BLOCK_START_STRING�BLOCK_END_STRING�VARIABLE_START_STRING�VARIABLE_END_STRING�COMMENT_START_STRING�COMMENT_END_STRING�LINE_STATEMENT_PREFIX�LINE_COMMENT_PREFIX�TRIM_BLOCKS�NEWLINE_SEQUENCE�KEEP_TRAILING_NEWLINE�
LSTRIP_BLOCKS)�Environment)�concat)�TemplateAssertionError�TemplateSyntaxError)�contextfunction�
import_string�Markup)�with_metaclass�string_types� iteritems�_�gettext�ngettextc @ s e Zd ZdZdd� ZdS )�ExtensionRegistryz)Gives the extension an unique identifier.c C s&