o
    .d                     @   sf  d Z ddlZddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 ddlm
Z
 dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm Z  ddlm!Z! ddlm"Z" dd lm#Z# dd!lm$Z$ dd"lm%Z% dd#lm&Z& dd$lm'Z' eefeefe&efe"d%fed&fed'fed(fee
fed)fe$d*fed+fe#d,fed-fed.fed/fed0fe%d1fed2ffZ(e)e'ee e!eegZ*e+d3,d4d5 e(D ej-Z.d<d7e/d8e0d9ee fd:d;Z1dS )=zTokenize include expressions.    N)Iterator)LiquidSyntaxError)GROUP_IDENTINDEX)GROUP_IDENTQUOTED)GROUP_QUOTED)IDENTIFIER_PATTERN)IDENTINDEX_PATTERN)IDENTSTRING_PATTERN)STRING_PATTERN)Token)TOKEN_BLANK)TOKEN_COLON)TOKEN_COMMA)	TOKEN_DOT)TOKEN_EMPTY)TOKEN_EQUALS)TOKEN_FALSE)TOKEN_FLOAT)TOKEN_IDENTIFIER)TOKEN_IDENTINDEX)TOKEN_IDENTSTRING)TOKEN_ILLEGAL)TOKEN_INTEGER)TOKEN_LBRACKET)TOKEN_LPAREN)TOKEN_NEWLINE)	TOKEN_NIL)
TOKEN_NULL)TOKEN_RANGE)TOKEN_RBRACKET)TOKEN_RPAREN)
TOKEN_SKIP)TOKEN_STRING)
TOKEN_TRUEz\.\.z-?\d+\.(?!\.)\d*z-?\d+\bz\.z\(z\)z\[],:=z\nz[ \t\r]+.|c                 c   s&    | ]\}}d | d| dV  qdS )z(?P<>)N ).0namepatternr,   r,   X/var/www/Matress/matenv/lib/python3.10/site-packages/liquid/expressions/arguments/lex.py	<genexpr>H   s   $ r1      sourcelinenumreturnc                 c   s    t }t| D ]d}|j}|dusJ | }|d}|tkr'||v r'|}n;|tkr1|t}n1|t	kr=t}|t
}n%|tkrG|t}n|tkrP|d7 }q|tkrUq|tkrbtd||d||7 }|||fV  qdS )z'Yield tokens from an output expression.N
r2   zunexpected )r4   )keywords	OUTPUT_REfinditer	lastgroupgroupcountr   r   r   r   r   r"   r   r   r!   r   r   )r3   r4   	_keywordsmatchkindvaluenewlinesr,   r,   r0   tokenizeM   s4   
rB   )r2   )2__doc__retypingr   liquid.exceptionsr   liquid.expressions.commonr   r   r   r   r   r	   r
   r   liquid.tokenr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r#   token_rules	frozensetr7   compilejoinDOTALLr8   strintrB   r,   r,   r,   r0   <module>   s     