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 liquid loop expressions.    N)Iterator)LiquidSyntaxError)GROUP_IDENTINDEX)GROUP_IDENTQUOTED)GROUP_QUOTED)IDENTIFIER_PATTERN)IDENTINDEX_PATTERN)IDENTSTRING_PATTERN)STRING_PATTERN)Token)TOKEN_COLON)
TOKEN_COLS)TOKEN_COMMA)TOKEN_CONTINUE)	TOKEN_DOT)TOKEN_FLOAT)TOKEN_IDENTIFIER)TOKEN_IDENTINDEX)TOKEN_IDENTSTRING)TOKEN_ILLEGAL)TOKEN_IN)TOKEN_INTEGER)TOKEN_LBRACKET)TOKEN_LIMIT)TOKEN_LPAREN)TOKEN_NEWLINE)TOKEN_OFFSET)
TOKEN_PIPE)TOKEN_RANGE)TOKEN_RBRACKET)TOKEN_REVERSED)TOKEN_RPAREN)
TOKEN_SKIP)TOKEN_STRINGz\.\.z-?\d+\.(?!\.)\d*z-?\d+\bz\.z\(z\)z\[]:,z\|z\nz[ \t\r]+.|c                 c   s&    | ]\}}d | d| dV  qdS )z(?P<>)N ).0namepatternr+   r+   S/var/www/Matress/matenv/lib/python3.10/site-packages/liquid/expressions/loop/lex.py	<genexpr>H   s   $ r0      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 a loop expression.N
r1   zunexpected )r3   )keywords	OUTPUT_REfinditer	lastgroupgroupcountr   r   r   r   r   r#   r   r   r"   r   r   )r2   r3   	_keywordsmatchkindvaluenewlinesr+   r+   r/   tokenizeM   s4   
rA   )r1   )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	frozensetr6   compilejoinDOTALLr7   strintrA   r+   r+   r+   r/   <module>   s     