§
    XøÁixº  ã                   ó^  — d Z ddlZddl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	Zd
dhZddh                     e¦  «        Zddddddddd e¦   «         f
d„Z G d„ d¦  «        Z G d„ d¦  «        Z G d„ d¦  «        Z ej        d¦  «        Zd„ Z G d„ d¦  «        ZdS )zVprovides functionality for rendering a parsetree constructing into module
source code.é    N)Úast)Ú
exceptions)Úfilters)Ú	parsetree)Úutil)ÚPythonPrinteré
   Ú	UNDEFINEDÚSTOP_RENDERINGÚcontextÚloopTFc                 ó¾   — t          j        ¦   «         }t          |¦  «        }t          |t	          |||||||||	|
|¦  «        | ¦  «         |                     ¦   «         S )zYGenerate module source code given a parsetree node,
    uri, and optional source filename)r   ÚFastEncodingBufferr   Ú_GenerateRenderMethodÚ_CompileContextÚgetvalue)ÚnodeÚuriÚfilenameÚdefault_filtersÚbuffer_filtersÚimportsÚfuture_importsÚsource_encodingÚgenerate_magic_commentÚstrict_undefinedÚenable_loopÚreserved_namesÚbufÚprinters                 úV/var/www/html/jarvis.com/web/backend/venv/lib/python3.11/site-packages/mako/codegen.pyÚcompiler"      sw   € õ" Ô
!Ñ
#Ô
#€Cå˜CÑ Ô €GÝØÝØØØØØØØØ"ØØØñ	
ô 	
ð 	ñô ð ð" �<Š<‰>Œ>Ðó    c                   ó   — e Zd Zd„ ZdS )r   c                 ó    — || _         || _        || _        || _        || _        || _        || _        || _        |	| _        |
| _	        || _
        d S ©N)r   r   r   r   r   r   r   r   r   r   r   )Úselfr   r   r   r   r   r   r   r   r   r   r   s               r!   Ú__init__z_CompileContext.__init__H   s_   € ð ˆŒØ ˆŒØ.ˆÔØ,ˆÔØˆŒØ,ˆÔØ.ˆÔØ&<ˆÔ#Ø 0ˆÔØ&ˆÔØ,ˆÔÐÐr#   N)Ú__name__Ú
__module__Ú__qualname__r(   © r#   r!   r   r   G   s#   € € € € € ð-ð -ð -ð -ð -r#   r   c                   óÄ   — e Zd ZdZd„ Zd„ Zed„ ¦   «         Zd„ Zd„ Z	d„ Z
d„ Zd	„ Zdd„Zd„ Zd„ Z	 dd„Z	 	 d d„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )!r   zZA template visitor object which generates the
    full module source for a template.

    c                 ó8  — || _         || _        || _        d g| _        t	          |t
          j        t
          j        f¦  «        | _        | j        r¤d|j	        z  }| 
                    ¦   «         }t          |j        j        ¦  «        dk    }t          |j                             dd¦  «        ¦  «        }t          |j                             dd¦  «        ¦  «        }d }	d }
|j        r|j        s|dgz  }n¿|                      ¦   «         }	| j        j        }
d}|
�’|
j         
                    ¦   «         }|
j        j        s|dgz  }t          |
j                             dd¦  «        ¦  «        }| j        j        p't          |
j                             dd¦  «        ¦  «        | j        _        ndg}d	}d	x}}|€d
g}nd„ d
g|z   D ¦   «         }|                      |
p||||||¦  «         |	�|	D ]}t3          |||¦  «         Œ| j        s|                      ¦   «          d S d S )Nz	render_%sr   ÚbufferedÚFalseÚcachedú
**pageargsÚrender_bodyr   Fr   c                 ó   — g | ]}|‘ŒS r,   r,   ©Ú.0Úas     r!   ú
<listcomp>z2_GenerateRenderMethod.__init__.<locals>.<listcomp>Ž   s   € Ð2Ð2Ð2˜!�AÐ2Ð2Ð2r#   )r    Úcompilerr   Úidentifier_stackÚ
isinstancer   ÚDefTagÚBlockTagÚin_defÚfuncnameÚget_argument_expressionsÚlenÚfilter_argsÚargsÚevalÚ
attributesÚgetÚis_blockÚis_anonymousÚwrite_toplevelÚpagetagÚ	body_declÚkwargsr   Úwrite_render_callabler   Úwrite_metadata_struct)r'   r    r9   r   ÚnamerC   Úfilteredr/   r1   ÚdefsrJ   s              r!   r(   z_GenerateRenderMethod.__init__j   sU  € ØˆŒØ ˆŒØˆŒ	Ø!% ˆÔÝ  ­	Ô(8½)Ô:LÐ'MÑNÔNˆŒàŒ;ð 	(Ø ¤Ñ.ˆDØ×0Ò0Ñ2Ô2ˆDÝ˜4Ô+Ô0Ñ1Ô1°AÒ5ˆHÝ˜DœO×/Ò/°
¸GÑDÔDÑEÔEˆHÝ˜$œ/×-Ò-¨h¸Ñ@Ô@ÑAÔAˆFØˆDØˆGØŒ}ð ' TÔ%6ð 'Ø˜˜Ñ&�øà×&Ò&Ñ(Ô(ˆDØ”mÔ+ˆGØ ˆDØÐ"ØÔ(×AÒAÑCÔC�ØÔ(Ô/ð +Ø˜\˜NÑ*�DÝ˜gÔ0×4Ò4°X¸wÑGÔGÑHÔH�Ø,0¬MÔ,Eð -ÍØÔ&×*Ò*¨=¸'ÑBÔBñJô J�”Ô)Ð)ð %�~�Ø�Ø"'Ð'ˆH�xØˆ<Ø�;ˆDˆDà2Ð2 	˜{¨TÑ1Ð2Ñ2Ô2ˆDà×"Ò"ØˆO�t˜T 4¨°8¸Vñ	
ô 	
ð 	
ð ÐØð ?ð ?�Ý% g¨x¸Ñ>Ô>Ð>Ð>àŒ{ð 	)Ø×&Ò&Ñ(Ô(Ð(Ð(Ð(ð	)ð 	)r#   c                 ó"  — t          | j        j        ¦  «        | j        j        | j        j        <   | j        j        | j        j        | j        j        | j        j        dœ}| j                             ddt          j
        |¦  «        d¦  «         d S )N)r   r   r   Úline_mapz"""Ú__M_BEGIN_METADATAz__M_END_METADATA
""")Úmaxr    Ú
source_mapÚlinenor9   r   r   r   Ú
writelinesÚjsonÚdumps)r'   Ústructs     r!   rN   z+_GenerateRenderMethod.write_metadata_struct›   s’   € Ý7:ØŒLÔ#ñ8
ô 8
ˆŒÔ ¤Ô 3Ñ4ð œÔ.Ø”=Ô$Ø#œ}Ô<ØœÔ/ð	
ð 
ˆð 	Œ×ÒØØ ÝŒJ�vÑÔØ&ñ		
ô 	
ð 	
ð 	
ð 	
r#   c                 ó   — | j         d         S )Néÿÿÿÿ)r:   ©r'   s    r!   Úidentifiersz!_GenerateRenderMethod.identifiers¬   s   € àÔ$ RÔ(Ð(r#   c                 ó0	  ‡ ‡‡‡— g Ši Šg Šd‰ j         _         G ˆˆˆˆ fd„d¦  «        } |¦   «         }‰ j        j        D ]}|                     |¦  «         Œ‰‰ j         _        t          ¦   «         }‰D ])}|                     |                     ¦   «         ¦  «        }Œ*t          ‰ j         ¦  «        }||_
        ‰ j         j        r3‰ j         j        r'‰ j                             d‰ j         j        z  ¦  «         ‰ j         j        r:‰ j                             dd                     ‰ j         j        ¦  «        ›�¦  «         ‰ j                             d¦  «         ‰ j                             d¦  «         ‰ j                             d	¦  «         ‰ j                             d
¦  «         ‰ j                             d¦  «         ‰ j                             dt"          z  ¦  «         ‰ j                             dt%          j        ¦   «         z  ¦  «         ‰ j                             d‰ j         j        z  ¦  «         ‰ j                             d‰ j         j        z  ¦  «         ‰ j                             d‰ j         j        z  ¦  «         ‰ j                             d‰ j         j        z  ¦  «         ‰ j         j        rMd}‰ j         j        D ]$}||dz   z  }‰ j                             |¦  «         Œ%t/          j        |dddd¬¦  «        }nd}|                     ‰ j        ¦  «        }	|j        }
|
                     |	j        ¦  «        |_        |j
                             t8          ¦  «         |r|j
                             |j        ¦  «         |‰ j         _        ‰ j                             dd„ |	j                             ¦   «         D ¦   «         z  ¦  «         ‰ j                             d¦  «         tA          ‰¦  «        r‰  !                    ‰¦  «         tA          ‰¦  «        r1‰  "                    ‰¦  «         ‰  #                    ‰d         ¦  «         n$tA          ‰¦  «        r‰  "                    ‰¦  «         tI          |	j                             ¦   «         ¦  «        S )zxTraverse a template structure for module-level directives and
        generate the start of module-level code.

        Nc                   ó8   •— e Zd Zˆ fd„Zˆfd„Zˆfd„Zˆfd„ZdS )ú:_GenerateRenderMethod.write_toplevel.<locals>.FindTopLevelc                 ó2   •— ‰                      |¦  «         d S r&   )Úappend)Úsr   Úinherits     €r!   ÚvisitInheritTagzJ_GenerateRenderMethod.write_toplevel.<locals>.FindTopLevel.visitInheritTag¼   s   ø€ Ø—’˜tÑ$Ô$Ð$Ð$Ð$r#   c                 ó   •— |‰|j         <   d S r&   ©rO   )re   r   Ú
namespacess     €r!   ÚvisitNamespaceTagzL_GenerateRenderMethod.write_toplevel.<locals>.FindTopLevel.visitNamespaceTag¿   s   ø€ Ø(,�
˜4œ9Ñ%Ð%Ð%r#   c                 ó    •— |‰j         _        d S r&   )r9   rJ   )re   r   r'   s     €r!   ÚvisitPageTagzG_GenerateRenderMethod.write_toplevel.<locals>.FindTopLevel.visitPageTagÂ   s   ø€ Ø(,�”Ô%Ð%Ð%r#   c                 óD   •— |j         r‰                     |¦  «         d S d S r&   )Úismodulerd   )re   r   Úmodule_codes     €r!   Ú	visitCodezD_GenerateRenderMethod.write_toplevel.<locals>.FindTopLevel.visitCodeÅ   s1   ø€ Ø”=ð -Ø×&Ò& tÑ,Ô,Ð,Ð,Ð,ð-ð -r#   N)r)   r*   r+   rg   rk   rm   rq   )rf   rp   rj   r'   s   €€€€r!   ÚFindTopLevelrb   »   sy   ø€ € € € € ð%ð %ð %ð %ð %ð-ð -ð -ð -ð -ð-ð -ð -ð -ð -ð-ð -ð -ð -ð -ð -ð -r#   rr   z# -*- coding:%s -*-zfrom __future__ import ú, z(from mako import runtime, filters, cachezUNDEFINED = runtime.UNDEFINEDz'STOP_RENDERING = runtime.STOP_RENDERINGz__M_dict_builtin = dictz__M_locals_builtin = localsz_magic_number = %rz_modified_time = %rz_enable_loop = %rz_template_filename = %rz_template_uri = %rz_source_encoding = %rÚ ú
r   ztemplate defined imports)ÚsourcerW   Úposr   z_exports = %rc                 ó   — g | ]	}|j         ‘Œ
S r,   ri   )r6   Úns     r!   r8   z8_GenerateRenderMethod.write_toplevel.<locals>.<listcomp>  s   € ÐFÐFÐF˜!ˆqŒvÐFÐFÐFr#   é   r]   )%r9   rJ   r   ÚnodesÚaccept_visitorrj   ÚsetÚunionÚdeclared_identifiersÚ_IdentifiersÚdeclaredr   r   r    Ú	writeliner   ÚjoinÚMAGIC_NUMBERÚtimer   r   r   r   r   Ú
PythonCodeÚbranchÚtopleveldefsÚupdateÚTOPLEVEL_DECLAREDr_   ÚvaluesÚwrite_blanksrA   Úwrite_module_codeÚwrite_namespacesÚwrite_inheritÚlist)r'   rr   Úfry   Úmodule_identÚmodule_identifiersr   ÚimpÚimpcodeÚmain_identifiersÚmitrf   rp   rj   s   `          @@@r!   rI   z$_GenerateRenderMethod.write_toplevel°   sÅ  øøøø€ ð
 ˆØˆ
Øˆà $ˆŒÔð	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ð 	-ñ 	-ô 	-ð 	-ð ˆL‰NŒNˆØ””ð 	 ð 	 ˆAØ×Ò˜QÑÔÐÐà#-ˆŒÔ å‘u”uˆØð 	Hð 	HˆAØ'×-Ò-¨a×.DÒ.DÑ.FÔ.FÑGÔGˆLˆLå)¨$¬-Ñ8Ô8ÐØ&2ÐÔ#ð ŒMÔ0ð	à”Ô-ð	ð ŒL×"Ò"Ø%¨¬Ô(EÑEñô ð ð Œ=Ô'ð 	ØŒL×"Ò"Ð"à—9’9˜Tœ]Ô9Ñ:Ô:Ð:ð=ñô ð ð 	Œ×ÒÐIÑJÔJÐJØŒ×ÒÐ>Ñ?Ô?Ð?ØŒ×ÒÐHÑIÔIÐIØŒ×ÒÐ8Ñ9Ô9Ð9ØŒ×ÒÐ<Ñ=Ô=Ð=ØŒ×ÒÐ3µlÑBÑCÔCÐCØŒ×ÒÐ4µt´y±{´{ÑBÑCÔCÐCØŒ×ÒÐ2°T´]Ô5NÑNÑOÔOÐOØŒ×ÒØ%¨¬Ô(>Ñ>ñ	
ô 	
ð 	
ð 	Œ×ÒÐ3°d´mÔ6GÑGÑHÔHÐHØŒ×ÒØ# d¤mÔ&CÑCñ	
ô 	
ð 	
ð Œ=Ô ð 	ØˆCØ”}Ô,ð ,ð ,�Ø�s˜T‘zÑ!�Ø”×&Ò& sÑ+Ô+Ð+Ð+Ý”nØØØØØ3ðñ ô ˆGˆGð ˆGà-×4Ò4°T´YÑ?Ô?ÐØ Ô-ˆØ*-¯)ª)ØÔ)ñ+
ô +
ÐÔ'ð 	Ô#×*Ò*Õ+<Ñ=Ô=Ð=Øð 	MØÔ'×.Ò.¨wÔ/KÑLÔLÐLà$6ˆŒÔ!ØŒ×ÒØØFÐFÐ/Ô<×CÒCÑEÔEÐFÑFÔFñGñ	
ô 	
ð 	
ð 	Œ×!Ò! !Ñ$Ô$Ð$åˆ{ÑÔð 	0Ø×"Ò" ;Ñ/Ô/Ð/åˆw‰<Œ<ð 	.Ø×!Ò! *Ñ-Ô-Ð-Ø×Ò˜w rœ{Ñ+Ô+Ð+Ð+Ý�‰_Œ_ð 	.Ø×!Ò! *Ñ-Ô-Ð-åÐ$Ô1×8Ò8Ñ:Ô:Ñ;Ô;Ð;r#   c                 ó®  — | j         r&|j        }|r| j                             d|z  ¦  «         | j                             |j        ¦  «         | j                             d|›dd                     |¦  «        ›d�dd¦  «         |s|s|r| j                             d¦  «         | j         	                    | j
        j                             | j        ¦  «        ¦  «         | j         r| j        j        r)d	|v r%| j        d
         j                             d¦  «         | j         s~t#          | j        j        ¦  «        dk    st#          | j        j        ¦  «        dk    rD| j                             dd                     d„ | j        j        D ¦   «         ¦  «        z  ¦  «         |                      | j        d¬¦  «         | j        j        D ]}|                     | ¦  «         Œ|                      | j        |||¦  «         | j                             d¦  «         | j                             d¦  «         |r"|                      ||||| j        d¬¦  «         dS dS )znwrite a top-level render callable.

        this could be the main render() method or that of a top-level def.z@runtime._decorate_toplevel(%s)údef ú(ú,ú):ú/__M_caller = context.caller_stack._push_frame()útry:úcontext._push_buffer()r2   r]   Úpageargsr   z!__M_locals = __M_dict_builtin(%s)c                 ó   — g | ]	}|›d |›�‘Œ
S )ú=r,   ©r6   Úxs     r!   r8   z?_GenerateRenderMethod.write_render_callable.<locals>.<listcomp>B  s3   € ð ð ð àð $% 1 1 a aÐ(ðð ð r#   T)ÚtoplevelNrz   )r>   Ú	decoratorr    r‚   Ústart_sourcerW   rX   rƒ   r:   rd   r9   r_   r‡   r   rG   Úargument_declaredÚaddrA   Úlocally_assignedÚwrite_variable_declaresr{   r|   Úwrite_def_finishrŒ   Úwrite_cache_decorator)	r'   r   rO   rC   r/   rP   r1   r¦   ry   s	            r!   rM   z+_GenerateRenderMethod.write_render_callable  s¥  € ð Œ;ð 	ØœˆIØð Ø”×&Ò&Ø5¸	ÑAñô ð ð 	Œ×!Ò! $¤+Ñ.Ô.Ð.ØŒ×ÒÐØ!˜T˜T 3§8¢8¨D¡>¤> > >Ð2à=Øñ		
ô 	
ð 	
ð ð 	=�xð 	= 6ð 	=ØŒL×"Ò"Ð#;Ñ<Ô<Ð<àÔ×$Ò$ØŒMÔ%×,Ò,¨T¬YÑ7Ô7ñ	
ô 	
ð 	
ð ”ð 	H˜tœyÔ1ð 	H°|ÀtÐ7KÐ7KØÔ! "Ô%Ô7×;Ò;¸JÑGÔGÐGàŒ{ð 	Ý�Ô Ô1Ñ2Ô2°QÒ6Ð6Ý�4Ô#Ô5Ñ6Ô6¸Ò:Ð:àŒL×"Ò"Ø3Ø—(’(ðð à!%Ô!1Ô!Cðñ ô ñô ññô ð ð 	×$Ò$ TÔ%5ÀÐ$ÑEÔEÐEà””ð 	#ð 	#ˆAØ×Ò˜TÑ"Ô"Ð"Ð"à×Ò˜dœi¨°8¸VÑDÔDÐDØŒ×Ò˜tÑ$Ô$Ð$ØŒ×!Ò! !Ñ$Ô$Ð$Øð 	Ø×&Ò&Ø�d˜D (¨DÔ,<Àtð 'ñ ô ð ð ð ð	ð 	r#   c                 ó\   — |D ](}| j                              |j        |j        ¬¦  «         Œ)dS )zewrite module-level template code, i.e. that which
        is enclosed in <%! %> tags in the template.©Ústarting_linenoN)r    Úwrite_indented_blockÚtextrW   )r'   rp   ry   s      r!   r�   z'_GenerateRenderMethod.write_module_codeV  sC   € ð ð 	Pð 	PˆAØŒL×-Ò-¨a¬fÀaÄhÐ-ÑOÔOÐOÐOð	Pð 	Pr#   c                 ó\   — | j                              ddd|j        d         z  d¦  «         dS )z:write the module-level inheritance-determination callable.z%def _mako_inherit(template, context):ú"_mako_generate_namespaces(context)z8return runtime._inherit_from(context, %s, _template_uri)ÚfileN)r    rX   Úparsed_attributes©r'   r   s     r!   r�   z#_GenerateRenderMethod.write_inherit\  sD   € ð 	Œ×ÒØ3Ø0ØFØÔ% fÔ-ñ/àñ	
ô 	
ð 	
ð 	
ð 	
r#   c                 ó  ‡ ‡‡— ‰ j                              dddddddd¦  «         ‰ j                              d¦  «         |                     ¦   «         D �]n}d|j        v rd	‰ j        _        ‰ j                              |j        ¦  «         t          |j
        ¦  «        rÐ‰ j                              d
¦  «         g Š‰ j        j                             |¦  «        Šd	‰ _         G ˆˆˆ fd„d¦  «        } |¦   «         }|j
        D ]}|                     |¦  «         Œ‰ j                              dd                     ‰¦  «        z  ¦  «         ‰ j                              d¦  «         d‰ _        d}nd}d|j        v rC‰ j                              d|j        ›d|j                             dd¦  «        ›d|›d�¦  «         nrd|j        v rC‰ j                              d|j        ›d|›d|j                             dd¦  «        ›d�¦  «         n&‰ j                              d|j        ›d|›d�¦  «         t'          |j                             dd¦  «        ¦  «        r"‰ j                              d |j        z  ¦  «         ‰ j                              d!t)          |j        ¦  «        z  ¦  «         ‰ j                              d"¦  «         �Œpt          |¦  «        s‰ j                              d#¦  «         ‰ j                              d¦  «         dS )$z5write the module-level namespace-generating callable.z'def _mako_get_namespace(context, name):rž   z+return context.namespaces[(__name__, name)]úexcept KeyError:r´   Nz'def _mako_generate_namespaces(context):ÚimportTzdef make_namespace():c                   ó*   •— e Zd Zd„ Zd„ Zˆ ˆˆfd„ZdS )ú<_GenerateRenderMethod.write_namespaces.<locals>.NSDefVisitorc                 ó0   — |                       |¦  «         d S r&   ©ÚvisitDefOrBase©re   r   s     r!   ÚvisitDefTagzH_GenerateRenderMethod.write_namespaces.<locals>.NSDefVisitor.visitDefTag€  ó   € Ø×(Ò(¨Ñ.Ô.Ð.Ð.Ð.r#   c                 ó0   — |                       |¦  «         d S r&   r¾   rÀ   s     r!   ÚvisitBlockTagzJ_GenerateRenderMethod.write_namespaces.<locals>.NSDefVisitor.visitBlockTagƒ  rÂ   r#   c                 ó¨   •— |j         rt          j        	 di |j        ¤Ž‚‰                     |‰d¬¦  «         ‰                     |j        ¦  «         d S )Nú.Can't put anonymous blocks inside <%namespace>F©Únested)rÆ   )rH   r   ÚCompileExceptionÚexception_kwargsÚwrite_inline_defrd   r?   )re   r   Úexportr_   r'   s     €€€r!   r¿   zK_GenerateRenderMethod.write_namespaces.<locals>.NSDefVisitor.visitDefOrBase†  sq   ø€ ØÔ,ð Ý",Ô"=ð!/ð#ð #ð #'Ô"7ð#ð #ð ð
 ×-Ò-¨d°KÈÐ-ÑNÔNÐNØŸš d¤mÑ4Ô4Ð4Ð4Ð4r#   N©r)   r*   r+   rÁ   rÄ   r¿   )rÌ   r_   r'   s   €€€r!   ÚNSDefVisitorr¼     sV   ø€ € € € € ð/ð /ð /ð/ð /ð /ð5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5r#   rÎ   úreturn [%s]r›   Fzmake_namespace()ÚNonerµ   zns = runtime.TemplateNamespace(z3, context._clean_inheritance_tokens(), templateuri=z, callables=z,  calling_uri=_template_uri)Úmodulezns = runtime.ModuleNamespace(z1, context._clean_inheritance_tokens(), callables=z$, calling_uri=_template_uri, module=ú)zns = runtime.Namespace(z, calling_uri=_template_uri)Úinheritabler0   zcontext['self'].%s = nsz'context.namespaces[(__name__, %s)] = nsé   Úpass)r    rX   r‚   r‹   rE   r9   Úhas_ns_importsr§   rW   rA   r{   r_   r‡   r>   r|   rƒ   r¶   rO   rF   rD   ÚreprrŒ   )	r'   rj   r   rÎ   Úvisry   Úcallable_namerÌ   r_   s	   `      @@r!   rŽ   z&_GenerateRenderMethod.write_namespacesg  sm  øøø€ àŒ×ÒØ5ØØ9ØØ0Ø9ØØñ		
ô 		
ð 		
ð 	Œ×ÒÐHÑIÔIÐIà×%Ò%Ñ'Ô'ð J	)ñ J	)ˆDØ˜4œ?Ð*Ð*Ø/3�”Ô,ØŒL×%Ò% d¤kÑ2Ô2Ð2Ý�4”:‰Œð 'Ø”×&Ò&Ð'>Ñ?Ô?Ð?Ø�Ø"œmÔ7×>Ò>¸tÑDÔD�Ø"�”ð5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ð 5ñ 5ô 5ð 5ð" #�l‘n”n�Øœð *ð *�AØ×$Ò$ SÑ)Ô)Ð)Ð)Ø”×&Ò& }¸¿ºÀÑ8HÔ8HÑ'IÑJÔJÐJØ”×&Ò& tÑ,Ô,Ð,Ø#�”Ø 2��à &�à˜Ô/Ð/Ð/Ø”×&Ò&Ð&ð œ	˜	˜	ØÔ.×2Ò2°6¸6ÑBÔBÐBÐBØ%˜˜ðñ
ô 
ð 
ð 
ð ˜TÔ3Ð3Ð3Ø”×&Ò&Ð&ð œ	˜	˜	Ø%˜˜ØÔ.×2Ò2°8¸VÑDÔDÐDÐDðñ
ô 
ð 
ð 
ð ”×&Ò&Ð&ð ”y�y�y - - -ð1ñô ð õ �D”O×'Ò'¨°wÑ?Ô?Ñ@Ô@ð PØ”×&Ò&Ð'@ÀDÄIÑ'NÑOÔOÐOàŒL×"Ò"Ø9½DÀÄ¹O¼OÑKñô ð ð ŒL×%Ò% aÑ(Ô(Ð(Ñ(Ý�:‰Œð 	+ØŒL×"Ò" 6Ñ*Ô*Ð*ØŒ×Ò˜tÑ$Ô$Ð$Ð$Ð$r#   FNc                 ó´  — d„ |j         D ¦   «         }t          ¦   «         }|                     |j        ¦  «        }|                     d„ |j                             ¦   «         D ¦   «         ¦  «        }|                     |j        ¦  «        }|                     |j        ¦  «        }| j	        j
        rd|v }|                     d¦  «         nd}|�|                     |¦  «        }|r¨t          | j	        dd¦  «        r’| j                             d¦  «         d| j	        _        | j	        j                             ¦   «         D ]M\  }}d	|j        v r?| j                             d
|›dt)          j        d|j        d	         ¦  «        ›d�¦  «         ŒN|r| j                             d¦  «         |D �]‘}||v rŠ||         }	|	j        r7|	j        s|                      |	|¦  «         Œ4|                      |	|d¬¦  «         ŒM|	                     ¦   «         r|                      |	|¦  «         Œx|                      |	|d¬¦  «         Œ‘|| j	        j        v r!| j                             |›d|›d�¦  «         ŒÀt          | j	        dd¦  «        rf| j	        j        r5| j                             |›d|›d�d|z  d|›d|›d�dd|z  dd¦  «         �Œ| j                             |›d|›d|›d�¦  «         �Œ<| j	        j        r)| j                             d|›d|›d�dd|z  d¦  «         �Œq| j                             |›d|›d�¦  «         �Œ“| j                             d¦  «         dS )a  write variable declarations at the top of a function.

        the variable declarations are in the form of callable
        definitions for defs and/or name lookup within the
        function's context argument. the names declared are based
        on the names that are referenced in the function body,
        which don't otherwise have any explicit assignment
        operation. names that are assigned within the body are
        assumed to be locally-scoped variables and are not
        separately declared.

        for def callable definitions, if the def is a top-level
        callable then a 'stub' callable is generated which wraps
        the current Context into a closure. if the def is not
        top-level, it is fully rendered as a local closure.

        c                 ó   — i | ]
}|j         |“ŒS r,   ©r?   ©r6   Úcs     r!   ú
<dictcomp>zA_GenerateRenderMethod.write_variable_declares.<locals>.<dictcomp>Ø  s   € Ð?Ð?Ð?¨�q”z 1Ð?Ð?Ð?r#   c                 ó   — g | ]	}|j         ‘Œ
S r,   rÜ   rÝ   s     r!   r8   zA_GenerateRenderMethod.write_variable_declares.<locals>.<listcomp>â  s   € ÐBÐBÐB˜AˆQŒZÐBÐBÐBr#   r   FNrÖ   z_import_ns = {}Trº   z_mako_get_namespace(context, z)._populate(_import_ns, z\s*,\s*rÒ   z%loop = __M_loop = runtime.LoopStack()rÇ   z  = _mako_get_namespace(context, z = _import_ns.get(z, UNDEFINED)zif %s is UNDEFINED:rž   z = context[ú]r¹   z&raise NameError("'%s' is not defined")z, context.get(z, UNDEFINED))z = context.get(z__M_writer = context.writer())rQ   r}   r~   Ú
undeclaredÚclosuredefsr‹   Ú
differencer¨   Úlocally_declaredr9   r   ÚdiscardÚintersectionÚgetattrr    r‚   Úhas_importsrj   ÚitemsrE   ÚreÚsplitrG   rH   Úwrite_def_declrË   Úis_rootr   rX   )
r'   r_   r¥   ÚlimitÚcomp_identsÚto_writeÚhas_loopÚidentÚnsÚcomps
             r!   r«   z-_GenerateRenderMethod.write_variable_declaresÄ  s  € ð( @Ð?¨kÔ.>Ð?Ñ?Ô?ˆÝ‘5”5ˆð —>’> +Ô"8Ñ9Ô9ˆð —>’>ØBÐB Ô!8×!?Ò!?Ñ!AÔ!AÐBÑBÔBñ
ô 
ˆð ×&Ò& {Ô'DÑEÔEˆð ×&Ò& {Ô'CÑDÔDˆàŒ=Ô$ð 	Ø Ð)ˆHØ×Ò˜VÑ$Ô$Ð$Ð$àˆHð ÐØ×,Ò,¨UÑ3Ô3ˆHàð 	� ¤Ð/?ÀÑGÔGð 	ØŒL×"Ò"Ð#4Ñ5Ô5Ð5Ø(,ˆDŒMÔ%Ø!œ]Ô5×;Ò;Ñ=Ô=ð 	ð 	‘	��rØ˜rœ}Ð,Ð,Ø”L×*Ò*Ð*ð "˜E˜EÝœH Z°´¸xÔ1HÑIÔIÐIÐIð	ñô ð øð ð 	LØŒL×"Ò"Ð#JÑKÔKÐKàð 2	ñ 2	ˆEØ˜Ð#Ð#Ø" 5Ô)�Ø”=ð 	NØÔ,ð NØ×+Ò+¨D°+Ñ>Ô>Ð>Ð>à×-Ò-¨d°KÈÐ-ÑMÔMÐMÐMà—|’|‘~”~ð NØ×+Ò+¨D°+Ñ>Ô>Ð>Ð>à×-Ò-¨d°KÈÐ-ÑMÔMÐMÐMà˜$œ-Ô2Ð2Ð2Ø”×&Ò&Ø?D¸u¸uÀeÀeÀeÐLñô ð ð õ ˜4œ=Ð*:¸EÑBÔBð Ø”}Ô5ð Øœ×/Ò/à$˜u˜u e e eð-à1°EÑ9Ø"Ø27°%°%¸¸¸Ð?Ø.ØFÈÑNØ Ø ñ
ô 
ð 
ñ 
ð œ×.Ò.ð  %˜u˜u e e e¨U¨U¨Uð4ñô ð ñ ð ”}Ô5ð Øœ×/Ò/Ø"Ø27°%°%¸¸¸Ð?Ø.ØFÈÑNØ ñô ð ñ ð œ×.Ò.ØAFÀÀÈÈÈÐNñô ð ñ ð 	Œ×ÒÐ>Ñ?Ô?Ð?Ð?Ð?r#   c                 óH  — |j         }|                     ¦   «         }|                     d¬¦  «        }| j        sQt          | j        j        ¦  «        dk    st          | j        j        ¦  «        dk    r|                     dd¦  «         n|                     dd¦  «         | j         	                    d|›dd 
                    |¦  «        ›d	�¦  «         | j         	                    d
|›dd 
                    |¦  «        ›d�¦  «         | j         	                    d¦  «         dS )z>write a locally-available callable referencing a top-level defT©Úas_callr   zcontext._locals(__M_locals)r   r™   rš   r›   rœ   zreturn render_rÒ   N)r?   r@   r>   rA   r_   rª   r¨   Úinsertr    r‚   rƒ   )r'   r   r_   r?   Ú	namedeclsÚnameargss         r!   rí   z$_GenerateRenderMethod.write_def_declB  s%  € à”=ˆØ×1Ò1Ñ3Ô3ˆ	Ø×0Ò0¸Ð0Ñ>Ô>ˆàŒ{ð 	*Ý�Ô Ô1Ñ2Ô2°QÒ6Ð6Ý�4Ô#Ô5Ñ6Ô6¸Ò:Ð:à�OŠO˜AÐ<Ñ=Ô=Ð=Ð=à�OŠO˜A˜yÑ)Ô)Ð)ØŒ×ÒÐ°°°¸#¿(º(À9Ñ:MÔ:MÐ:MÐ:MÐNÑOÔOÐOØŒ×ÒÐØ&. h h°·²¸Ñ0BÔ0BÐ0BÐ0BÐCñ	
ô 	
ð 	
ð 	Œ×Ò˜tÑ$Ô$Ð$Ð$Ð$r#   c           	      óæ  — |                      ¦   «         }|j        }|r| j                             d|z  ¦  «         | j                             d|j        ›dd                     |¦  «        ›d�¦  «         t          |j        j        ¦  «        dk    }t          |j
                             dd¦  «        ¦  «        }t          |j
                             d	d¦  «        ¦  «        }| j                             d
d¦  «         |s|s|r| j                             d¦  «         |                     ||¬¦  «        }|                      |¦  «         | j                             |¦  «         |j        D ]}	|	                     | ¦  «         Œ| j                             ¦   «          |                      ||||¦  «         | j                             d¦  «         |r#|                      ||j        |d|dd¬¦  «         dS dS )z?write a locally-available def callable inside an enclosing def.z&@runtime._decorate_inline(context, %s)r™   rš   r›   rœ   r   r/   r0   r1   r�   rž   rŸ   rÇ   NFT)Úinliner¥   )r@   r¦   r    r‚   r?   rƒ   rA   rB   rC   rD   rE   rF   rX   r‡   r«   r:   rd   r{   r|   Úpopr¬   r­   )
r'   r   r_   rÈ   rú   r¦   rP   r/   r1   ry   s
             r!   rË   z&_GenerateRenderMethod.write_inline_defU  s,  € ð ×1Ò1Ñ3Ô3ˆ	à”Nˆ	Øð 	ØŒL×"Ò"Ø8¸9ÑDñô ð ð 	Œ×ÒÐØ!œ]˜]˜]¨C¯HªH°YÑ,?Ô,?Ð,?Ð,?Ð@ñ	
ô 	
ð 	
õ �tÔ'Ô,Ñ-Ô-°Ò1ˆÝ˜œ×+Ò+¨J¸Ñ@Ô@ÑAÔAˆÝ�d”o×)Ò)¨(°GÑ<Ô<Ñ=Ô=ˆØŒ×Òà=Øñ	
ô 	
ð 	
ð
 ð 	>�xð 	> 6ð 	>ØŒL×#Ò#Ð$<Ñ=Ô=Ð=à!×(Ò(¨°fÐ(Ñ=Ô=ˆà×$Ò$ [Ñ1Ô1Ð1àÔ×$Ò$ [Ñ1Ô1Ð1Ø”ð 	#ð 	#ˆAØ×Ò˜TÑ"Ô"Ð"Ð"ØÔ×!Ò!Ñ#Ô#Ð#à×Ò˜d H¨h¸Ñ?Ô?Ð?ØŒ×Ò˜tÑ$Ô$Ð$Øð 		Ø×&Ò&ØØ”ØØØØØð 'ñ ô ð ð ð ð		ð 		r#   Tc                 óŠ  — |s<|s:|s8| j                              d¦  «         |r| j                              ddd¦  «         |s|s|rþ|s|r| j                              dd¦  «         n| j                              dd¦  «         |r| j                              d¦  «         d}|r!|                      |j        j        |d¦  «        }| j                              d¦  «         |r#|s!|                      | j        j        |d¦  «        }|s|r| j                              d	|z  ¦  «         dS | j                              d
|z  d¦  «         dS dS )aJ  write the end section of a rendering function, either outermost or
        inline.

        this takes into account if the rendering function was filtered,
        buffered, etc.  and closes the corresponding try: block if any, and
        writes code to retrieve captured content, apply filters, send proper
        return value.ú	return ''úfinally:z!context.caller_stack._pop_frame()Nz__M_buf = context._pop_buffer()ú6__M_buf, __M_writer = context._pop_buffer_and_writer()ú__M_buf.getvalue()Fz	return %sú__M_writer(%s))r    r‚   rX   Úcreate_filter_callablerB   rC   r9   r   )r'   r   r/   rP   r1   Ú	callstackre   s          r!   r¬   z&_GenerateRenderMethod.write_def_finishƒ  sÉ  € ð ð 	 ð 	¨xð 	ØŒL×"Ò" ;Ñ/Ô/Ð/Øð Ø”×'Ò'ØÐ CÀTñô ð ð ð 	K�xð 	K 6ð 	KØð ˜6ð ð
 ”×'Ò'ØÐ Añô ð ð ð ”×'Ò'ØØLñô ð ð
 ð LØ”×&Ò&Ð'JÑKÔKÐKà$ˆAØð Ø×/Ò/ØÔ$Ô)¨1¨eñô �ð ŒL×"Ò" 4Ñ(Ô(Ð(Øð  ð Ø×/Ò/Ø”MÔ0°!°Uñô �ð ð K˜6ð KØ”×&Ò& {°Q¡Ñ7Ô7Ð7Ð7Ð7à”×'Ò'Ð(8¸1Ñ(<¸kÑJÔJÐJÐJÐJð?	Kð 	Kr#   c                 ó’  ‡ ‡— ‰ j                              d|›d|›�¦  «         ‰j                             dt	          |¦  «        ¦  «        }i }	‰ j        j        �0|	                     ˆ fd„‰ j        j        j        D ¦   «         ¦  «         |	                     ˆfd„‰j        D ¦   «         ¦  «         d|	v r%t          t          |	d         ¦  «        ¦  «        |	d<   ‰ j                              d|›d	d
 
                    |¦  «        ›d�¦  «         d„ |D ¦   «         }
‰                      ||‰                     ¦   «         ¬¦  «         |r•d|›d|›d	d
 
                    |
¦  «        ›dd 
                    d„ |	                     ¦   «         D ¦   «         ¦  «        ›d|›d�}‰                      ‰ j        j        |d¦  «        }‰ j                              d|z   d¦  «         dS ‰ j                              d|›d|›d	d
 
                    |
¦  «        ›dd 
                    d„ |	                     ¦   «         D ¦   «         ¦  «        ›d|›d�dd¦  «         dS )zhwrite a post-function decorator to replace a rendering
        callable with a cached version of itself.Ú__M_z = Ú	cache_keyNc              3   ó�   •K  — | ]@}|                      d ¦  «        r)|dk    ¯|dd…         ‰j        j        j        |         fV — ŒAdS ©Úcache_r	  é   N)Ú
startswithr9   rJ   r¶   )r6   Úpar'   s     €r!   ú	<genexpr>z>_GenerateRenderMethod.write_cache_decorator.<locals>.<genexpr>Ê  sj   øè è € ð ð àØ—=’= Ñ*Ô*ðð 02°[Ò/@Ð/@ð �A�B�B”˜œÔ.Ô@ÀÔDÐEà/@Ð/@Ð/@Ð/@ðð r#   c              3   ó|   •K  — | ]6}|                      d ¦  «        r|dk    ¯|dd…         ‰j        |         fV — Œ7dS r  )r  r¶   )r6   r  Únode_or_pagetags     €r!   r  z>_GenerateRenderMethod.write_cache_decorator.<locals>.<genexpr>Ï  se   øè è € ð 
ð 
àØ�}Š}˜XÑ&Ô&ð
ð ,.°Ò+<Ð+<ð ���ŒV�_Ô6°rÔ:Ð;à+<Ð+<Ð+<Ð+<ð
ð 
r#   Útimeoutr™   rš   r›   rœ   c                 ó^   — g | ]*}d |v r"d|                      d ¦  «        d         fdz  z  n|‘Œ+S )r¢   z%s=%sr   rz   )rì   r5   s     r!   r8   z?_GenerateRenderMethod.write_cache_decorator.<locals>.<listcomp>Ú  sM   € ð 
ð 
ð 
ØFG°#¸°(°(ˆG˜Ÿš ™œ QœÐ)¨AÑ-Ñ.Ð.Àð
ð 
ð 
r#   )r¥   rï   z.context.get('local').cache._ctx_get_or_create(z, lambda:__M_z),  context, rt   c                 ó$   — g | ]\  }}|›d |›d�‘ŒS ©r¢   rs   r,   ©r6   ÚkÚvs      r!   r8   z?_GenerateRenderMethod.write_cache_decorator.<locals>.<listcomp>í  ó)   € ÐKÐKÐK±°°1 a a a¨¨¨Ð+ÐKÐKÐKr#   z__M_defname=rÒ   Fzreturn z9__M_writer(context.get('local').cache._ctx_get_or_create(z), context, c                 ó$   — g | ]\  }}|›d |›d�‘ŒS r  r,   r  s      r!   r8   z?_GenerateRenderMethod.write_cache_decorator.<locals>.<listcomp>  r  r#   z))r   )r    r‚   r¶   rF   r×   r9   rJ   r‰   ÚintrD   rƒ   r«   Úundeclared_identifiersrê   r  r   rX   )r'   r  rO   rC   r/   r_   rý   r¥   ÚcachekeyÚ
cache_argsÚ	pass_argsre   s   ``          r!   r­   z+_GenerateRenderMethod.write_cache_decorator¶  sö  øø€ ð 	Œ×ÒÐ°°°°d°dÐ;Ñ<Ô<Ð<Ø"Ô4×8Ò8Ø�˜d™œñ
ô 
ˆð ˆ
ØŒ=Ô Ð,Ø×Òð ð ð ð àœ-Ô/ÔAðñ ô ñ ô ð ð
 	×Òð 
ð 
ð 
ð 
à%Ô7ð
ñ 
ô 
ñ 	
ô 	
ð 	
ð
 ˜
Ð"Ð"Ý$'­¨Z¸	Ô-BÑ(CÔ(CÑ$DÔ$DˆJ�yÑ!àŒ×ÒÐ°°°°c·h²h¸t±n´n°n°nÐEÑFÔFÐFð
ð 
ØKOð
ñ 
ô 
ˆ	ð 	×$Ò$ØØØ!×8Ò8Ñ:Ô:ð 	%ñ 	
ô 	
ð 	
ð
 ð $	ð $	ð �H�HØ�D�DØ—H’H˜YÑ'Ô'Ð'Ð'Ø—G’GØKÐK¸
×8HÒ8HÑ8JÔ8JÐKÑKÔKñô ð ð ð �D�Dðð ð ×+Ò+Ø”Ô,¨a°ñô ˆAð ŒL×#Ò# I°¡M°4Ñ8Ô8Ð8Ð8Ð8àŒL×#Ò#Ð#ð
 �H�HØ�D�DØ—H’H˜YÑ'Ô'Ð'Ð'Ø—G’GØKÐK¸
×8HÒ8HÑ8JÔ8JÐKÑKÔKñô ð ð ð �D�Dðð Øñô ð ð ð r#   c                 óh  — d„ }d|vrF|rD| j         j        r| j         j        j        j        |z   }| j         j        rd|vr| j         j        |z   }|D ]a}|dk    rŒ	t          j        d|¦  «        }|r*|                     dd¦  «        \  }} ||¦  «        }	|	|z   }n ||¦  «        }|€J ‚|›d|›d�}Œb|S )	z§write a filter-applying expression based on the filters
        present in the given filter names, adjusting for the global
        'default' filter aliases as needed.c                 óv   — t          j        d| ¦  «        rd| z   S t          j                             | | ¦  «        S )Nz
decode\..+zfilters.)rë   Úmatchr   ÚDEFAULT_ESCAPESrF   ri   s    r!   Úlocate_encodezC_GenerateRenderMethod.create_filter_callable.<locals>.locate_encode  s:   € ÝŒx˜ tÑ,Ô,ð ?Ø! DÑ(Ð(åÔ.×2Ò2°4¸Ñ>Ô>Ð>r#   ry   z(.+?)(\(.*\))rÔ   rz   Nrš   rÒ   )r9   rJ   rB   rC   r   rë   r#  Úgroup)
r'   rC   ÚtargetÚis_expressionr%  ÚeÚmró   Úfargsr‘   s
             r!   r  z,_GenerateRenderMethod.create_filter_callable	  s  € ð
	?ð 	?ð 	?ð �dˆ?ˆ?Øð @Ø”=Ô(ð IØœ=Ô0Ô<ÔAÀDÑH�DØ”=Ô0ð @°SÀ°_°_Øœ=Ô8¸4Ñ?�DØð 	,ð 	,ˆAà�CŠxˆxØÝ”Ð)¨1Ñ-Ô-ˆAØð %Ø Ÿwšw q¨!™}œ}‘��uØ!�M %Ñ(Ô(�Ø˜‘I��à!�M !Ñ$Ô$�Ø�}�}�}Ø!"   F F FÐ+ˆFˆFØˆr#   c                 óÐ  — | j                              |j        ¦  «         t          |j        ¦  «        sH| j        j        �#t          | j        j        j        j        ¦  «        st          | j        j	        ¦  «        rH|  
                    |j        j        d|j        z  d¦  «        }| j                              d|z  ¦  «         d S | j                              d|j        z  ¦  «         d S )Nz%sTr  )r    r§   rW   rA   Úescapesr9   rJ   rB   rC   r   r  Úescapes_coder²   r‚   )r'   r   re   s      r!   ÚvisitExpressionz%_GenerateRenderMethod.visitExpression)  sß   € ØŒ×!Ò! $¤+Ñ.Ô.Ð.å�”ÑÔð	Að ”Ô%Ð1Ý˜œÔ-Ô9Ô>Ñ?Ô?ð 2õ �4”=Ô0Ñ1Ô1ð 2ð
 ×+Ò+ØÔ!Ô&¨¨t¬yÑ(8¸$ñô ˆAð ŒL×"Ò"Ð#3°aÑ#7Ñ8Ô8Ð8Ð8Ð8àŒL×"Ò"Ð#3°d´iÑ#?Ñ@Ô@Ð@Ð@Ð@r#   c                 óÂ  ‡‡— ‰j         rs| j                             d ¦  «         ‰j        rP| j                             d¦  «         | j                             d¦  «         | j                             d ¦  «         d S d S | j                             ‰j        ¦  «         | j        j        r!‰j        dk    rt          ‰| j        ¦  «        }n‰j
        }| j                             |¦  «         ‰                     ¦   «         Šˆfd„}‰r>t          d„ ‰D ¦   «         ¦  «        rt          ˆfd„‰D ¦   «         ¦  «        s
 |¦   «         r| j                             d¦  «         d S d S )Nr  zloop = __M_loop._exit()Úforc                  ó†   •— ‰D ]<} t          | t          j        ¦  «        rŒt          | t          j        ¦  «        r dS  dS d S )NTF©r;   r   ÚCommentÚControlLine)rÞ   Úchildrens    €r!   Ú_search_for_control_linezH_GenerateRenderMethod.visitControlLine.<locals>._search_for_control_lineP  sW   ø€ Ø!ð !ð !�AÝ! !¥YÔ%6Ñ7Ô7ð $Ø Ý# A¥yÔ'<Ñ=Ô=ð $Ø#˜t˜tØ ˜5˜5ð!ð !r#   c              3   ób   K  — | ]*}t          |t          j        t          j        f¦  «        V — Œ+d S r&   r3  rÝ   s     r!   r  z9_GenerateRenderMethod.visitControlLine.<locals>.<genexpr>Z  sK   è è € ð ð àõ ˜q¥9Ô#4µiÔ6KÐ"LÑMÔMðð ð ð ð ð r#   c              3   óŽ   •K  — | ]?}t          |t          j        ¦  «        ¯‰                     |j        ¦  «        p|j        V — Œ@d S r&   )r;   r   r5  Ú
is_ternaryÚkeywordÚisend)r6   rÞ   r   s     €r!   r  z9_GenerateRenderMethod.visitControlLine.<locals>.<genexpr>^  s_   øè è € ð ð àÝ! !¥YÔ%:Ñ;Ô;ðØ—_’_ Q¤YÑ/Ô/Ð:°1´7ðð ð ð ð ð r#   rÕ   )r<  r    r‚   Úhas_loop_contextr§   rW   r9   r   r;  Úmangle_mako_loopr²   Úget_childrenÚall)r'   r   r²   r7  r6  s    `  @r!   ÚvisitControlLinez&_GenerateRenderMethod.visitControlLine:  s¼  øø€ ØŒ:ð *	/ØŒL×"Ò" 4Ñ(Ô(Ð(ØÔ$ð -Ø”×&Ò& zÑ2Ô2Ð2Ø”×&Ò&Ð'@ÑAÔAÐAØ”×&Ò& tÑ,Ô,Ð,Ð,Ð,ð-ð -ð
 ŒL×%Ò% d¤kÑ2Ô2Ð2ØŒ}Ô(ð !¨T¬\¸UÒ-BÐ-BÝ'¨¨d¬lÑ;Ô;��à”y�ØŒL×"Ò" 4Ñ(Ô(Ð(Ø×(Ò(Ñ*Ô*ˆHð!ð !ð !ð !ð !ð ð/åð ð à%ðñ ô ñ ô ð/õ ð ð ð ð à%ðñ ô ñ ô ð/ð ,Ð+Ñ-Ô-ð/ð ”×&Ò& vÑ.Ô.Ð.Ð.Ð.ð/ð /r#   c                 ó¢   — | j                              |j        ¦  «         | j                              dt	          |j        ¦  «        z  ¦  «         d S )Nr  )r    r§   rW   r‚   r×   Úcontentr·   s     r!   Ú	visitTextz_GenerateRenderMethod.visitTextg  sF   € ØŒ×!Ò! $¤+Ñ.Ô.Ð.ØŒ×ÒÐ/µ$°t´|Ñ2DÔ2DÑDÑEÔEÐEÐEÐEr#   c           
      ó>  — t          |j        j        ¦  «        dk    }|r| j                             dd¦  «         |j        D ]}|                     | ¦  «         Œ|rA| j                             ddd|                      |j        j        dd¦  «        z  d ¦  «         d S d S )	Nr   z#__M_writer = context._push_writer()rž   r  r  r  r  F)rA   rB   rC   r    rX   r{   r|   r  )r'   r   rP   ry   s       r!   ÚvisitTextTagz"_GenerateRenderMethod.visitTextTagk  sÕ   € Ý�tÔ'Ô,Ñ-Ô-°Ò1ˆØð 	ØŒL×#Ò#Ø5°vñô ð ð ”ð 	#ð 	#ˆAØ×Ò˜TÑ"Ô"Ð"Ð"Øð 		ØŒL×#Ò#ØØHØ Ø×-Ò-ØÔ$Ô)Ð+?Àñô ñð ñô ð ð ð ð		ð 		r#   c                 ó€  — |j         s²| j                             |j        |j        ¬¦  «         | j        s‡t          | j        j        ¦  «        dk    rl| j         	                    d¦  «         | j         	                    dd 
                    d„ |                     ¦   «         D ¦   «         ¦  «        z  ¦  «         d S d S d S d S )Nr¯   r   z0__M_locals_builtin_stored = __M_locals_builtin()z�__M_locals.update(__M_dict_builtin([(__M_key, __M_locals_builtin_stored[__M_key]) for __M_key in [%s] if __M_key in __M_locals_builtin_stored]))r›   c                 ó,   — g | ]}t          |¦  «        ‘ŒS r,   )r×   r£   s     r!   r8   z3_GenerateRenderMethod.visitCode.<locals>.<listcomp>�  s   € ÐMÐMÐM¨A¥ Q¡¤ÐMÐMÐMr#   )ro   r    r±   r²   rW   r>   rA   r_   rª   r‚   rƒ   r   r·   s     r!   rq   z_GenerateRenderMethod.visitCode~  sï   € ØŒ}ð 	ØŒL×-Ò-Ø”	¨4¬;ð .ñ ô ð ð ”;ð ¥3 tÔ'7Ô'HÑ#IÔ#IÈAÒ#MÐ#Mð
 ”×&Ò&ØFñô ð ð ”×&Ò&ðGð —h’hÐMÐM°×1JÒ1JÑ1LÔ1LÐMÑMÔMÑNÔNñOñô ð ð ð ð	ð 	ð
ð Ð#MÐ#Mr#   c                 ó(  — | j                              |j        ¦  «         |j                             d¦  «        }|r.| j                              d|j        d         ›d|›d�¦  «         d S | j                              d|j        d         z  ¦  «         d S )NrC   zruntime._include_file(context, rµ   z, _template_uri, rÒ   z1runtime._include_file(context, %s, _template_uri))r    r§   rW   rE   rF   r‚   r¶   )r'   r   rC   s      r!   ÚvisitIncludeTagz%_GenerateRenderMethod.visitIncludeTag“  s³   € ØŒ×!Ò! $¤+Ñ.Ô.Ð.ØŒ×"Ò" 6Ñ*Ô*ˆØð 		ØŒL×"Ò"Ð"àÔ)¨&Ô1Ð1Ð1°4°4°4ð9ñô ð ð ð ð
 ŒL×"Ò"ØCØÔ)¨&Ô1ñ3ñô ð ð ð r#   c                 ó   — d S r&   r,   r·   s     r!   rk   z'_GenerateRenderMethod.visitNamespaceTag¡  ó   € Øˆr#   c                 ó   — d S r&   r,   r·   s     r!   rÁ   z!_GenerateRenderMethod.visitDefTag¤  rL  r#   c                 ó~  — |j         r$| j                             d|j        z  ¦  «         d S |                     d¬¦  «        }|dgz  }| j                             d|j        z  ¦  «         | j                             d|j        ›dd                     |¦  «        ›d	�¦  «         | j                             d
¦  «         d S )Nz%s()Tr÷   r2   zOif 'parent' not in context._data or not hasattr(context._data['parent'], '%s'):zcontext['self'].rš   r›   rÒ   ru   )rH   r    r‚   r?   r@   rƒ   )r'   r   rû   s      r!   rÄ   z#_GenerateRenderMethod.visitBlockTag§  sÙ   € ØÔð 	)ØŒL×"Ò" 6¨D¬MÑ#9Ñ:Ô:Ð:Ð:Ð:à×4Ò4¸TÐ4ÑBÔBˆHØ˜˜Ñ&ˆHØŒL×"Ò"ð>Ø@DÄñNñô ð ð ŒL×"Ò"Ð"Ø,0¬M¨M¨M¸3¿8º8ÀHÑ;MÔ;MÐ;MÐ;MÐNñô ð ð ŒL×"Ò" 4Ñ(Ô(Ð(Ð(Ð(r#   c                 ó0   — |                       |¦  «         d S r&   ©ÚvisitCallTagr·   s     r!   ÚvisitCallNamespaceTagz+_GenerateRenderMethod.visitCallNamespaceTag¶  s   € ð 	×Ò˜$ÑÔÐÐÐr#   c                 óÒ  ‡ ‡‡‡	— ‰ j                              d¦  «         dgŠ	‰ j                             |d¬¦  «        Š‰                     |d¬¦  «        Š‰                     d¦  «         ‰ j                             ‰¦  «          G ˆˆˆ	ˆ fd„d¦  «        } |¦   «         }|j        D ]}|                     |¦  «         Œ‰ j         	                    ¦   «          |j
                             ¦   «         }‰ j                              d	d
                     |¦  «        z  ¦  «         d}|r‰ j                              dd¦  «         ‰                      ‰¦  «         ‰ j                             ‰¦  «         |j        D ]}|                     ‰ ¦  «         Œ‰ j         	                    ¦   «          ‰                      ||ddd¬¦  «         ‰ j                              d dd
                     ‰	¦  «        z  d ¦  «         ‰ j                              dd¦  «         ‰ j                              |j        ¦  «         ‰ j                              d‰                      g |j        d¦  «        z  ddd ¦  «         d S )Nzdef ccall(caller):ÚbodyTrÇ   FÚcallerc                   ó,   •— e Zd Zd„ Zd„ Zˆ ˆˆˆfd„ZdS )ú6_GenerateRenderMethod.visitCallTag.<locals>.DefVisitorc                 ó0   — |                       |¦  «         d S r&   r¾   rÀ   s     r!   rÁ   zB_GenerateRenderMethod.visitCallTag.<locals>.DefVisitor.visitDefTagÊ  ó   € Ø× Ò  Ñ&Ô&Ð&Ð&Ð&r#   c                 ó0   — |                       |¦  «         d S r&   r¾   rÀ   s     r!   rÄ   zD_GenerateRenderMethod.visitCallTag.<locals>.DefVisitor.visitBlockTagÍ  rY  r#   c                 ó´   •— ‰                      |‰d¬¦  «         |j        s‰                     |j        ¦  «         |j        ‰j        v r‰j        |j        = d S d S )NFrÇ   )rË   rH   rd   r?   rã   )re   r   Úbody_identifiersÚcallable_identifiersrÌ   r'   s     €€€€r!   r¿   zE_GenerateRenderMethod.visitCallTag.<locals>.DefVisitor.visitDefOrBaseÐ  sm   ø€ Ø×%Ò% dÐ,@ÈÐ%ÑOÔOÐOØÔ(ð 1Ø—M’M $¤-Ñ0Ô0Ð0ð ”=Ð$4Ô$@Ð@Ð@Ø(Ô4°T´]ÐCÐCÐCð AÐ@r#   NrÍ   )r\  r]  rÌ   r'   s   €€€€r!   Ú
DefVisitorrW  É  se   ø€ € € € € ð'ð 'ð 'ð'ð 'ð 'ðDð Dð Dð Dð Dð Dð Dð Dð Dð Dr#   r^  zdef body(%s):r›   rŸ   rž   )r  rÏ   zccontext.caller_stack.nextcaller = runtime.Namespace('caller', context, callables=ccall(__M_caller))r  r  z&context.caller_stack.nextcaller = None)r    r‚   r_   r‡   Úadd_declaredr:   rd   r{   r|   rþ   rK   r@   rƒ   rX   r«   r¬   r§   rW   r  Ú
expression)
r'   r   r^  rØ   ry   Úbodyargsr/   r\  r]  rÌ   s
   `      @@@r!   rQ  z"_GenerateRenderMethod.visitCallTag¼  sÁ  øøøø€ ØŒ×ÒÐ3Ñ4Ô4Ð4Ø�ˆØ#Ô/×6Ò6°tÀDÐ6ÑIÔIÐØ/×6Ò6°tÀEÐ6ÑJÔJÐð
 	×%Ò% hÑ/Ô/Ð/àÔ×$Ò$Ð%5Ñ6Ô6Ð6ð	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dð 	Dñ 	Dô 	Dð 	Dð  ˆj‰lŒlˆØ”ð 	"ð 	"ˆAØ×Ò˜SÑ!Ô!Ð!Ð!ØÔ×!Ò!Ñ#Ô#Ð#à”>×:Ò:Ñ<Ô<ˆØŒ×Ò˜°·²¸(Ñ1CÔ1CÑCÑDÔDÐDð ˆØð 	FØŒL×#Ò#Ð$<¸fÑEÔEÐEØ×$Ò$Ð%5Ñ6Ô6Ð6ØÔ×$Ò$Ð%5Ñ6Ô6Ð6à”ð 	#ð 	#ˆAØ×Ò˜TÑ"Ô"Ð"Ð"ØÔ×!Ò!Ñ#Ô#Ð#à×Ò˜d H¨e°UÀeÐÑLÔLÐLØŒ×Ò  m°s·x²xÀÑ7GÔ7GÑ&HÈ$ÑOÔOÐOàŒ×Òð+ð ñ	
ô 	
ð 	
ð 	Œ×!Ò! $¤+Ñ.Ô.Ð.ØŒ×ÒØØ×)Ò)¨"¨d¬o¸tÑDÔDñEàØ4Øñ	
ô 	
ð 	
ð 	
ð 	
r#   )FN)T)FF)r)   r*   r+   Ú__doc__r(   rN   Úpropertyr_   rI   rM   r�   r�   rŽ   r«   rí   rË   r¬   r­   r  r/  rA  rD  rF  rq   rJ  rk   rÁ   rÄ   rR  rQ  r,   r#   r!   r   r   c   së  € € € € € ðð ð
/)ð /)ð /)ðb
ð 
ð 
ð" ð)ð )ñ „Xð)ðk<ð k<ð k<ðZ7ð 7ð 7ðrPð Pð Pð	
ð 	
ð 	
ð[%ð [%ð [%ðz|@ð |@ð |@ð |@ð|%ð %ð %ð&,ð ,ð ,ð^ ;?ð1Kð 1Kð 1Kð 1Kðt ØðQð Qð Qð Qðfð ð ð@Að Að Að"+/ð +/ð +/ðZFð Fð Fðð ð ð&ð ð ð*ð ð ðð ð ðð ð ð)ð )ð )ð ð  ð  ðB
ð B
ð B
ð B
ð B
r#   r   c                   ó�   — e Zd ZdZdd„Zd„ Zed„ ¦   «         Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )r€   zCtracks the status of identifier names as template code is rendered.NFc                 ó  — |��t          |t          j        ¦  «        r,t          ¦   «         | _        t          j        ¦   «         | _        nêt          |j        ¦  «                             d„ |j	         
                    ¦   «         D ¦   «         ¦  «                             |j        ¦  «                             |j        ¦  «        | _        |r$| j                             |j        ¦  «        | _        t          j        di |j        ¤Ž| _        n+t          ¦   «         | _        t          j        ¦   «         | _        || _        t          ¦   «         | _        t          ¦   «         | _        t          ¦   «         | _        t          ¦   «         | _        t          j        ¦   «         | _	        || _        |�|                     | ¦  «         | j        j                             | j        ¦  «        }|r*t)          j        dd                     |¦  «        z  ¦  «        ‚d S )Nc                 ó   — g | ]	}|j         ‘Œ
S r,   ri   rÝ   s     r!   r8   z)_Identifiers.__init__.<locals>.<listcomp>  s   € ÐHÐHÐH q˜AœFÐHÐHÐHr#   z'Reserved words declared in template: %srs   r,   )r;   r   ÚNamespaceTagr}   r�   r   ÚSetLikeDictrˆ   r~   rã   r‹   rå   r¨   râ   r9   rª   r   r|   r   rç   r   ÚNameConflictErrorrƒ   )r'   r9   r   ÚparentrÈ   Úillegal_namess         r!   r(   z_Identifiers.__init__  sÔ  € ØÑõ ˜$¥	Ô 6Ñ7Ô7ð LÝ #¡¤�”Ý$(Ô$4Ñ$6Ô$6�Ô!Ð!õ
 ˜œÑ(Ô(ß’UÐHÐH¨FÔ,>×,EÒ,EÑ,GÔ,GÐHÑHÔHÑIÔIß’U˜6Ô2Ñ3Ô3ß’U˜6Ô3Ñ4Ô4ð	 ”ð ð KØ$(¤M×$7Ò$7¸Ô8IÑ$JÔ$J�D”Mõ %)Ô$4Ð$KÐ$K°vÔ7JÐ$KÐ$K�Ô!Ð!å™EœEˆDŒMÝ $Ô 0Ñ 2Ô 2ˆDÔà ˆŒõ ™%œ%ˆŒõ
 !$¡¤ˆÔõ
 !$¡¤ˆÔõ "%¡¤ˆÔõ  Ô+Ñ-Ô-ˆÔàˆŒ	àÐØ×Ò Ñ%Ô%Ð%àœÔ4×AÒAØÔ!ñ
ô 
ˆð ð 	ÝÔ.Ø9Ø—)’)˜MÑ*Ô*ñ+ñô ð ð	ð 	r#   c                 ó*   — t          | j        || fi |¤ŽS )zUcreate a new Identifiers for a new Node, with
        this Identifiers as the parent.)r€   r9   )r'   r   rL   s      r!   r‡   z_Identifiers.branchH  s    € õ ˜DœM¨4°Ð@Ð@¸Ð@Ð@Ð@r#   c                 ó~   — t          | j                             | j        ¦  «                             ¦   «         ¦  «        S r&   )r}   rˆ   r~   rã   r‹   r^   s    r!   rQ   z_Identifiers.defsN  s0   € å�4Ô$×*Ò*¨4Ô+;Ñ<Ô<×CÒCÑEÔEÑFÔFÐFr#   c                 ó&  — dt          | j        ¦  «        ›dt          | j        ¦  «        ›dt          | j        ¦  «        ›dd„ | j                             ¦   «         D ¦   «         ›dd„ | j                             ¦   «         D ¦   «         ›d| j        ›d	�S )
NzIdentifiers(declared=z, locally_declared=z, undeclared=z, topleveldefs=c                 ó   — g | ]	}|j         ‘Œ
S r,   ri   rÝ   s     r!   r8   z)_Identifiers.__repr__.<locals>.<listcomp>[  s   € Ð<Ð<Ð<˜A�”Ð<Ð<Ð<r#   z, closuredefs=c                 ó   — g | ]	}|j         ‘Œ
S r,   ri   rÝ   s     r!   r8   z)_Identifiers.__repr__.<locals>.<listcomp>\  s   € Ð;Ð;Ð;˜A�”Ð;Ð;Ð;r#   z, argumentdeclared=rÒ   )r�   r�   rå   râ   rˆ   r‹   rã   r¨   r^   s    r!   Ú__repr__z_Identifiers.__repr__R  s¢   € € õ �T”]Ñ#Ô#Ð#Ð#Ý�TÔ*Ñ+Ô+Ð+Ð+Ý�T”_Ñ%Ô%Ð%Ð%Ø<Ð< Ô!2×!9Ò!9Ñ!;Ô!;Ð<Ñ<Ô<Ð<Ð<Ø;Ð; Ô!1×!8Ò!8Ñ!:Ô!:Ð;Ñ;Ô;Ð;Ð;ØÔ&Ð&Ð&ð
ð	
r#   c                 ó  — |                      ¦   «         D ]C}|dk    r;|| j                             | j        ¦  «        vr| j                             |¦  «         ŒD|                     ¦   «         D ]}| j                             |¦  «         ŒdS )zlupdate the state of this Identifiers with the undeclared
        and declared identifiers of the given node.r   N)r  r�   r~   rå   râ   r©   r   ©r'   r   ró   s      r!   Úcheck_declaredz_Identifiers.check_declareda  s¨   € ð ×0Ò0Ñ2Ô2ð 	+ð 	+ˆEØ˜	Ò!Ð! e°4´=×3FÒ3FØÔ%ñ4ô 4ð 'ð 'ð ”×#Ò# EÑ*Ô*Ð*øØ×.Ò.Ñ0Ô0ð 	-ð 	-ˆEØÔ!×%Ò% eÑ,Ô,Ð,Ð,ð	-ð 	-r#   c                 ó„   — | j                              |¦  «         || j        v r| j                             |¦  «         d S d S r&   )r�   r©   râ   Úremove)r'   ró   s     r!   r_  z_Identifiers.add_declaredm  sI   € ØŒ×Ò˜%Ñ Ô Ð Ø�D”OÐ#Ð#ØŒO×"Ò" 5Ñ)Ô)Ð)Ð)Ð)ð $Ð#r#   c                 ó0   — |                       |¦  «         d S r&   ©rt  r·   s     r!   r/  z_Identifiers.visitExpressionr  ó   € Ø×Ò˜DÑ!Ô!Ð!Ð!Ð!r#   c                 ó0   — |                       |¦  «         d S r&   rx  r·   s     r!   rA  z_Identifiers.visitControlLineu  ry  r#   c                 ó¤   — |j         sH|                      |¦  «         | j                             |                     ¦   «         ¦  «        | _        d S d S r&   )ro   rt  rª   r~   r   r·   s     r!   rq   z_Identifiers.visitCodex  sZ   € ØŒ}ð 	Ø×Ò Ñ%Ô%Ð%Ø$(Ô$9×$?Ò$?Ø×)Ò)Ñ+Ô+ñ%ô %ˆDÔ!Ð!Ð!ð	ð 	r#   c                 óZ   — | j         |u r|j        D ]}|                     | ¦  «         Œd S d S r&   )r   r{   r|   ©r'   r   ry   s      r!   rk   z_Identifiers.visitNamespaceTag  sK   € ð Œ9˜ÐÐØ”Zð 'ð '�Ø× Ò  Ñ&Ô&Ð&Ð&ð Ðð'ð 'r#   c                 ó¼   — |                      |j        ¦  «        }|||j        <   |�1||ur/|j        s|j        r#t          j        d|j        z  fi |j        ¤Ž‚d S d S d S )Nz<%%def or %%block named '%s' already exists in this template.)rF   r?   rG   r   rÉ   rÊ   )r'   Ú
collectionr   Úexistings       r!   Ú_check_name_existsz_Identifiers._check_name_exists‡  s“   € Ø—>’> $¤-Ñ0Ô0ˆØ$(ˆ
�4”=Ñ!àÐ Ø Ð$Ð$Ø”ð %Ø"*Ô"3ð %õ Ô-ð+Ø-1¬]ñ;ðð ð Ô'ðð ð ð	 !Ð Ø$Ð$Ð$Ð$r#   c                 ó"  — |                      ¦   «         r#|j        s|                      | j        |¦  «         n$|| j        ur|                      | j        |¦  «         |                     ¦   «         D ]C}|dk    r;|| j                             | j	        ¦  «        vr| j
                             |¦  «         ŒD|| j        u rP|                     ¦   «         D ]}| j                             |¦  «         Œ|j        D ]}|                     | ¦  «         Œd S d S ©Nr   )rî   rH   r�  rˆ   r   rã   r  r�   r~   rå   râ   r©   r   r¨   r{   r|   ©r'   r   ró   ry   s       r!   rÁ   z_Identifiers.visitDefTag•  sA  € Ø�<Š<‰>Œ>ð 	< $Ô"3ð 	<Ø×#Ò# DÔ$5°tÑ<Ô<Ð<Ð<Ø˜œÐ"Ð"Ø×#Ò# DÔ$4°dÑ;Ô;Ð;à×0Ò0Ñ2Ô2ð 	+ð 	+ˆEØ˜	Ò!Ð! e°4´=×3FÒ3FØÔ%ñ4ô 4ð 'ð 'ð ”×#Ò# EÑ*Ô*Ð*øð �4”9ÐÐØ×2Ò2Ñ4Ô4ð 2ð 2�ØÔ&×*Ò*¨5Ñ1Ô1Ð1Ð1à”Zð 'ð '�Ø× Ò  Ñ&Ô&Ð&Ð&ð Ðð'ð 'r#   c                 óp  — || j         urž|j        s—t          | j         t          j        ¦  «        r-t          j        d|j        ›d| j         j        ›d�fi |j        ¤Ž‚t          | j         t          j	        t          j
        f¦  «        r t          j        d|j        ›d�fi |j        ¤Ž‚|                     ¦   «         D ]C}|dk    r;|| j                             | j        ¦  «        vr| j                             |¦  «         ŒD|j        s;|                      | j        |¦  «         | j                             |j        ¦  «         n$|| j         ur|                      | j        |¦  «         |                     ¦   «         D ]}| j                             |¦  «         Œ|j        D ]}|                     | ¦  «         Œd S )NzNamed block 'z' not allowed inside of def 'ú'z#' not allowed inside of <%call> tagr   )r   rH   r;   r   r<   r   rÉ   rO   rÊ   ÚCallTagÚCallNamespaceTagr  r�   r~   rå   râ   r©   r�  rˆ   r?   rã   r   r¨   r{   r|   r„  s       r!   rÄ   z_Identifiers.visitBlockTag©  s  € Ø�t”yÐ Ð ¨Ô):Ð Ý˜$œ)¥YÔ%5Ñ6Ô6ð Ý Ô1Ð1à”y�y�y $¤)¤. . .ð2ðð ð Ô+ðð ð õ
 Ø”	�IÔ-­yÔ/IÐJñô ð õ !Ô1Ð1à”y�y�yð#ðð ð Ô+ðð ð ð ×0Ò0Ñ2Ô2ð 	+ð 	+ˆEØ˜	Ò!Ð! e°4´=×3FÒ3FØÔ%ñ4ô 4ð 'ð 'ð ”×#Ò# EÑ*Ô*Ð*øàÔ ð 	<Ø×#Ò# DÔ$5°tÑ<Ô<Ð<ØŒO×Ò ¤Ñ.Ô.Ð.Ð.Ø˜œÐ"Ð"Ø×#Ò# DÔ$4°dÑ;Ô;Ð;Ø×.Ò.Ñ0Ô0ð 	.ð 	.ˆEØÔ"×&Ò& uÑ-Ô-Ð-Ð-Ø”ð 	#ð 	#ˆAØ×Ò˜TÑ"Ô"Ð"Ð"ð	#ð 	#r#   c                 ó¶   — |                      ¦   «         D ]C}|dk    r;|| j                             | j        ¦  «        vr| j                             |¦  «         ŒDd S rƒ  )r  r�   r~   rå   râ   r©   rs  s      r!   rF  z_Identifiers.visitTextTagÊ  sq   € Ø×0Ò0Ñ2Ô2ð 	+ð 	+ˆEØ˜	Ò!Ð! e°4´=×3FÒ3FØÔ%ñ4ô 4ð 'ð 'ð ”×#Ò# EÑ*Ô*Ð*øð		+ð 	+r#   c                 ó0   — |                       |¦  «         d S r&   rx  r·   s     r!   rJ  z_Identifiers.visitIncludeTagÑ  ry  r#   c                 ó’   — |                      ¦   «         D ]}| j                             |¦  «         Œ|                      |¦  «         d S r&   )r   r¨   r©   rt  rs  s      r!   rm   z_Identifiers.visitPageTagÔ  sQ   € Ø×.Ò.Ñ0Ô0ð 	.ð 	.ˆEØÔ"×&Ò& uÑ-Ô-Ð-Ð-Ø×Ò˜DÑ!Ô!Ð!Ð!Ð!r#   c                 ó0   — |                       |¦  «         d S r&   rP  r·   s     r!   rR  z"_Identifiers.visitCallNamespaceTagÙ  s   € Ø×Ò˜$ÑÔÐÐÐr#   c                 ó  — || j         u rª|                     ¦   «         D ]C}|dk    r;|| j                             | j        ¦  «        vr| j                             |¦  «         ŒD|                     ¦   «         D ]}| j                             |¦  «         Œ|j	        D ]}| 
                    | ¦  «         Œd S |                     ¦   «         D ]C}|dk    r;|| j                             | j        ¦  «        vr| j                             |¦  «         ŒDd S rƒ  )r   r  r�   r~   rå   râ   r©   r   r¨   r{   r|   r„  s       r!   rQ  z_Identifiers.visitCallTagÜ  sL  € Ø�4”9ÐÐØ×4Ò4Ñ6Ô6ð /ð /�Ø˜IÒ%Ð%¨%°t´}×7JÒ7JØÔ)ñ8ô 8ð +ð +ð ”O×'Ò'¨Ñ.Ô.Ð.øØ×2Ò2Ñ4Ô4ð 2ð 2�ØÔ&×*Ò*¨5Ñ1Ô1Ð1Ð1Ø”Zð 'ð '�Ø× Ò  Ñ&Ô&Ð&Ð&ð'ð 'ð ×4Ò4Ñ6Ô6ð /ð /�Ø˜IÒ%Ð%¨%°t´}×7JÒ7JØÔ)ñ8ô 8ð +ð +ð ”O×'Ò'¨Ñ.Ô.Ð.øð	/ð /r#   )NNF)r)   r*   r+   rb  r(   r‡   rc  rQ   rq  rt  r_  r/  rA  rq   rk   r�  rÁ   rÄ   rF  rJ  rm   rR  rQ  r,   r#   r!   r€   r€     sE  € € € € € àMÐMðAð Að Að AðFAð Að Að ðGð Gñ „XðGð
ð 
ð 
ð
-ð 
-ð 
-ð*ð *ð *ð
"ð "ð "ð"ð "ð "ðð ð ð'ð 'ð 'ðð ð ð'ð 'ð 'ð(#ð #ð #ðB+ð +ð +ð"ð "ð "ð"ð "ð "ð
 ð  ð  ð/ð /ð /ð /ð /r#   r€   zã^for\s+((?:\(?)\s*(?:\(?)\s*[A-Za-z_][A-Za-z_0-9]*(?:\s*,\s*(?:[A-Za-z_][A-Za-z_0-9]*),??)*\s*(?:\)?)(?:\s*,\s*(?:(?:\(?)\s*[A-Za-z_][A-Za-z_0-9]*(?:\s*,\s*(?:[A-Za-z_][A-Za-z_0-9]*),??)*\s*(?:\)?)),??)*\s*(?:\)?))\s+in\s+(.*):c                 ó†  — t          ¦   «         }|                      |¦  «         |j        r�d| j        d         _        t
                               | j        ¦  «        }|rE|                     d| 	                    d¦  «        z  d¦  «         d| 	                    d¦  «        z  }nt          d| j        z  ¦  «        ‚| j        }|S )	z—converts a for loop into a context manager wrapped around a for loop
    when access to the `loop` variable has been detected in the for loop body
    Tr]   zloop = __M_loop._enter(%s)rz   rž   zfor %s in loop:rÔ   zCouldn't apply loop context: %s)ÚLoopVariabler|   Údetectedr{   r=  Ú	_FOR_LOOPr#  r²   rX   r&  ÚSyntaxError)r   r    Úloop_variabler#  r²   s        r!   r>  r>  ú  s½   € õ !‘N”N€MØ×Ò˜Ñ&Ô&Ð&ØÔð Ø*.ˆŒ
�2ŒÔ'Ý—’ ¤	Ñ*Ô*ˆØð 	MØ×ÒØ,¨u¯{ª{¸1©~¬~Ñ=Øñô ð ð
 % u§{¢{°1¡~¤~Ñ5ˆDˆDåÐ?À$Ä)ÑKÑLÔLÐLàŒyˆØ€Kr#   c                   ó0   — e Zd ZdZd„ Zd„ Zd„ Zd„ Zd„ ZdS )r�  zQA node visitor which looks for the name 'loop' within undeclared
    identifiers.c                 ó   — d| _         d S )NF)r�  r^   s    r!   r(   zLoopVariable.__init__  s   € ØˆŒˆˆr#   c                 óœ   — d|                      ¦   «         v r	d| _        d S |                     ¦   «         D ]}|                     | ¦  «         Œd S )Nr   T)r  r�  r?  r|   r}  s      r!   Ú_loop_reference_detectedz%LoopVariable._loop_reference_detected  s`   € Ø�T×0Ò0Ñ2Ô2Ð2Ð2Ø ˆDŒMˆMˆMà×&Ò&Ñ(Ô(ð 'ð '�Ø× Ò  Ñ&Ô&Ð&Ð&ð'ð 'r#   c                 ó0   — |                       |¦  «         d S r&   ©r—  r·   s     r!   rA  zLoopVariable.visitControlLine   ó   € Ø×%Ò% dÑ+Ô+Ð+Ð+Ð+r#   c                 ó0   — |                       |¦  «         d S r&   r™  r·   s     r!   rq   zLoopVariable.visitCode#  rš  r#   c                 ó0   — |                       |¦  «         d S r&   r™  r·   s     r!   r/  zLoopVariable.visitExpression&  rš  r#   N)	r)   r*   r+   rb  r(   r—  rA  rq   r/  r,   r#   r!   r�  r�    si   € € € € € ðð ðð ð ð'ð 'ð 'ð,ð ,ð ,ð,ð ,ð ,ð,ð ,ð ,ð ,ð ,r#   r�  )rb  rY   rë   r…   Úmakor   r   r   r   r   Ú
mako.pygenr   r„   rŠ   r~   ÚRESERVED_NAMESÚ	frozensetr"   r   r   r€   r‘  r>  r�  r,   r#   r!   ú<module>r¡     sæ  ððð ð €€€Ø 	€	€	€	Ø €€€à Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $ð €ð
 !Ð"2Ð3Ð Ø˜VÐ$×*Ò*Ð+<Ñ=Ô=€ð ØØØØØØØØØ�9‘;”;ð%ð %ð %ð %ðP-ð -ð -ð -ð -ñ -ô -ð -ð8[
ð [
ð [
ð [
ð [
ñ [
ô [
ð [
ð|k/ð k/ð k/ð k/ð k/ñ k/ô k/ð k/ð\ ˆBŒJð&ñô €	ðð ð ð.,ð ,ð ,ð ,ð ,ñ ,ô ,ð ,ð ,ð ,r#   