Warning: session_start(): Session cannot be started after headers have already been sent in /home/tvrreohg/public_html/manga.php on line 13
§ Ìß]jìã óÚ—dZddlmZddlmZddlmZddlmZ ddl m Z ddl m Z dd l mZdd lmZdd lmZdd lmZdd lmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddlmZddl 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-$rYnwxYw e+d)¦«d*Z.n #e-$rd+Z.YnwxYwd,„Z/ d?d.„Z0d/„Z1d0„Z2Gd1„d2e3¦«Z4Gd3„d4e3¦«Z5Gd5„d6e6¦«Z7Gd7„d8e%¦«Z8Gd9„d:e%¦«Z9Gd;„de%¦«Zz>=ú.new_funcCsmø€à Œ>ð 3 %¤.Ô"9ð 3Ø”~×+Ò+¨D°%´.ÑAÔAˆHؘ4ÒÐØ—z’z (¨EÑ2Ô2Ð2؈q��t˜UÐ-Ð- fÐ-Ð-Ð-ór)r7r9s` r8Ú optimizeconstr;Bs.ø€ð.ð.ð.ð.ð.õ ˜( AÑ &Ô &Ð&r:Ncóì—t|tj¦«std¦«‚| ||||||¦«}| |¦«|€|j ¦«SdS)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ÚgeneraterHNs~€õ �d�EœNÑ +Ô +ð<ÝÐ:Ñ;Ô;Ð;Ø×0Ò0Ø�T˜8 V¨Z¸ñô€Ið‡O‚O�DÑÔÐØ €~ØÔ×(Ò(Ñ*Ô*Ð*ð€~r:cóÖ—|�|tus |turdSt|¦«ttt t ttftzvrdSt|¦«ttttfvr|D]}t|¦«sdSŒdSt|¦«tur;t!|¦«D])\}}t|¦«sdSt|¦«sdSŒ*dSdS)z)Does the node have a safe representation?NTF)ÚNotImplementedÚEllipsisÚtypeÚboolÚintÚfloatÚcomplexrr rÚtupleÚlistÚsetÚ frozensetÚ has_safe_reprÚdictr )ÚvalueÚitemÚkeys r8rUrU\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$rYnwxYw|jS)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Úvisitorr3s r8Úfind_undeclaredr`qsh€õ$ EÑ*Ô*€Gð Øð ð ˆDØ �MŠM˜$Ñ Ô Ð Ð ð øå ð ð ð Ø ˆð øøøà Ô Ðs ‘,¬ 9¸9có—eZdZd„ZdS)ÚMacroRefcó>—||_d|_d|_d|_dS)NF)r3Úaccesses_callerÚaccesses_kwargsÚaccesses_varargs©r2r3s r8Ú__init__zMacroRef.__init__s'€ØˆŒ Ø$ˆÔØ$ˆÔØ %ˆÔÐÐr:N)Ú__name__Ú __module__Ú __qualname__rh©r:r8rbrb~s#€€€€€ð&ð&ð&ð&ð&r:rbcó2—eZdZdZdd„Zd„Zd d„Zd„ZeZdS) ÚFramez&Holds compile time information for us.Ncóæ—||_t|r|jpd|¬¦«|_d|_d|_|o|j|_d|_|r|jpd|_||_|�|j|_dSdS)N©ÚlevelF) r.rÚsymbolsÚtoplevelÚ rootlevelÚrequire_output_checkÚbufferÚblockÚparent)r2r.rxrqs r8rhzFrame.__init__‰s�€Ø ˆŒ ݘvÐ8¨&¬.Ð@¸DÈÐNÑNÔNˆŒ ðˆŒ ð ˆŒð%+Ð$J¨vÔ/JˆÔ!𠈌 ðÐ, ¤ Ð4°ˆŒ ðˆŒ à Ð Ø œ-ˆDŒKˆKˆKð Ð r:có¾—t |j¦«}|j |j¦«|j ¦«|_|S)z!Create a copy of the current one.)ÚobjectÚ__new__Ú __class__Ú__dict__ÚupdaterrÚcopy©r2Úrvs r8rz Frame.copy¨sG€å �^Š^˜DœNÑ +Ô +ˆØ Œ ×Ò˜4œ=Ñ)Ô)Ð)Ø”\×&Ò&Ñ(Ô(ˆŒ ؈ r:Fcóv—|r#t|j|jjdz¬¦«St|j|¦«S)zReturn an inner frame.r rp)rnr.rrrq)r2Úisolateds r8Úinnerz Frame.inner¯s<€à ð Fݘœ¨d¬lÔ.@À1Ñ.DÐEÑEÔEÐ EÝ�T”] DÑ)Ô)Ð)r:có<—| ¦«}d|_|S)aReturn a soft frame. A soft frame may not be modified as standalone thing as it shares the resources with the frame it was created of, but it's not a rootlevel frame any longer. This is only used to implement if-statements. F)rrtr€s r8Úsoftz Frame.softµs€ð�YŠY‰[Œ[ˆØˆŒ ؈ r:)NN©F) rirjrkÚ__doc__rhrr„r†Ú__copy__rlr:r8rnrn†sa€€€€€Ø0Ð0ð(ð(ð(ð(ð>ððð*ð*ð*ð*ð ð ð ð€H€H€Hr:rncó—eZdZdZdS)r\z?Exception used by the `UndeclaredNameVisitor` to signal a stop.N©rirjrkrˆrlr:r8r\r\Ãs€€€€€ØIÐIÐIÐIr:r\có*—eZdZdZd„Zd„Zd„Zd„ZdS)ÚDependencyFinderVisitorz.A visitor that collects filter and test calls.cóR—t¦«|_t¦«|_dSr,)rSÚfiltersÚtests©r2s r8rhz DependencyFinderVisitor.__init__Ês€Ý‘u”uˆŒ Ý‘U”UˆŒ ˆ ˆ r:cón—| |¦«|j |j¦«dSr,)Ú generic_visitr�ÚaddrDrgs r8Ú visit_Filterz$DependencyFinderVisitor.visit_FilterÎs4€Ø ×Ò˜4Ñ Ô Ð Ø Œ ×Ò˜œÑ#Ô#Ð#Ð#Ð#r:cón—| |¦«|j |j¦«dSr,)r“r�r”rDrgs r8Ú visit_Testz"DependencyFinderVisitor.visit_TestÒs2€Ø ×Ò˜4Ñ Ô Ð Ø Œ �Š�t”yÑ!Ô!Ð!Ð!Ð!r:có—dS)zStop visiting at blocks.Nrlrgs r8Ú visit_Blockz#DependencyFinderVisitor.visit_BlockÖó€€€r:N)rirjrkrˆrhr•r—r™rlr:r8r�r�ÇsV€€€€€Ø8Ð8ðððð$ð$ð$ð"ð"ð"ð'ð'ð'ð'ð'r:r�có$—eZdZdZd„Zd„Zd„ZdS)r[z¡A visitor that checks if a name is accessed without being declared. This is different from the frame visitor as it will not stop at closure frames. cóT—t|¦«|_t¦«|_dSr,)rSr^r])r2r^s r8rhzUndeclaredNameVisitor.__init__às€Ý˜‘Z”ZˆŒ Ý™%œ%ˆŒˆˆr:cóô—|jdkrM|j|jvr?|j |j¦«|j|jkrt ¦«‚dS|j |j¦«dS)NÚload)ÚctxrDr^r]r”r\Údiscardrgs r8Ú visit_Namez UndeclaredNameVisitor.visit_Nameäsv€Ø Œ8�vÒ Ð  $¤)¨t¬zÐ"9Ð"9Ø ŒO× Ò  ¤ Ñ *Ô *Ð *ØŒ $¤*Ò,Ð,Ý!‘m”mÐ#ð-Ð,ð ŒJ× Ò ˜tœyÑ )Ô )Ð )Ð )Ð )r:có—dS)zStop visiting a blocks.Nrlrgs r8r™z!UndeclaredNameVisitor.visit_Blockìršr:N)rirjrkrˆrhr¡r™rlr:r8r[r[ÚsK€€€€€ððð  ð ð ð*ð*ð*ð&ð&ð&ð&ð&r:r[có—eZdZdZdS)Ú CompilerExitz¼Raised if the compiler encountered a situation where it just doesn't make sense to further process the code. Any block that raises such an exception is not further processed. Nr‹rlr:r8r¤r¤ðs€€€€€ððððr:r¤cóþ—eZdZ dmd„Zd„Zd„Zd„Zdnd„Zd „Zdod „Z dpd „Z d „Z dpd„Z d„Z d„Zdqd„Zdqd„Zdpd„Zd„Zd„Zdnd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd„Zd „Zd!„Zd"„Zd#„Z d$„Z!d%„Z"d&„Z#d'„Z$d(„Z%dpd)„Z&d*„Z'd+„Z(d,„Z)d-„Z*d.„Z+d/„Z,d0„Z-d1„Z.d2„Z/d3„Z0d4„Z1d5„Z2e3d6d7¦«Z4e5Z6dZ7d8„Z8d9„Z9d:„Z:d;„Z;d<„Z„Z>d?„Z?d@„Z@dA„ZAdB„ZBdC„ZCdD„ZDdE„ZEdF„ZFdrdG„ZGdrdH„ZHeGdI¦«ZIeGdJ¦«ZJeGdK¦«ZKeGdL¦«ZLeGdM¦«ZMeGdN¦«ZNeGdO¦«ZOeGdPd¬Q¦«ZPeGdRd¬Q¦«ZQeHdI¦«ZReHdJ¦«ZSeHdSd¬Q¦«ZT[G[HeUdT„¦«ZVeUdU„¦«ZWdV„ZXeUdW„¦«ZYeUdX„¦«ZZdY„Z[eUdZ„¦«Z\eUd[„¦«Z]eUd\„¦«Z^eUdnd]„¦«Z_d^„Z`d_„Zad`„Zbda„Zcdb„Zddc„Zedd„Zfde„Zgdf„Zhdg„Zidh„Zjdi„Zkdj„Zldk„Zmdl„ZndS)sÚ CodeGeneratorNFTcó¤—|€t¦«}||_||_||_||_d|_||_||_|rt|¦«|_ i|_ i|_ d|_ d|_ d|_i|_i|_g|_d|_d|_d|_d|_d|_d|_g|_g|_dg|_dS)NFrr TÚcontext)rrCrDrErAÚcreated_block_contextrFr-rr0Úimport_aliasesÚblocksÚextends_so_farÚhas_known_extendsÚ code_linenor�r�Ú debug_infoÚ_write_debug_infoÚ _new_linesÚ _last_lineÚ _first_writeÚ_last_identifierÚ _indentationÚ _assign_stackÚ_param_def_blockÚ_context_reference_stack)r2rCrDrErArFr-s r8rhzCodeGenerator.__init__øs€ð ˆ>Ý#Ñ%Ô%ˆFØ&ˆÔ؈Œ Ø ˆŒ ؈Œ Ø%*ˆÔ"Ø$ˆŒØ"ˆŒØ ð 4Ý& {Ñ3Ô3ˆDŒNð!ˆÔðˆŒ ð ˆÔð "'ˆÔðˆÔðˆŒ ØˆŒ ðˆŒØ!%ˆÔðˆŒðˆŒð!ˆÔð!"ˆÔðˆÔð ˆÔð!#ˆÔð*3¨ ˆÔ%Ð%Ð%r:có:—t|||j|j¦«‚)z*Fail with a :exc:`TemplateAssertionError`.)rrDrE)r2ÚmsgÚlinenos r8ÚfailzCodeGenerator.fail<s€å$ S¨&°$´)¸T¼]ÑKÔKÐKr:có6—|xjdz c_d|jzS)zGet a new unique identifier.r zt_%d)r´r‘s r8Útemporary_identifierz"CodeGenerator.temporary_identifier@s$€à ÐÔ Ñ"ÐÔØ˜Ô-Ñ-Ð-r:cór—| ¦«|_| d|jz¦«dS)z7Enable buffering for the frame from that point onwards.z%s = []N)r¾rvÚ writeline©r2r4s r8rvzCodeGenerator.bufferEs4€à×0Ò0Ñ2Ô2ˆŒ Ø �Š�y 5¤<Ñ/Ñ0Ô0Ð0Ð0Ð0r:có—|sí|jjr¶| d¦«| ¦«| d|jz¦«| ¦«| d¦«| ¦«| d|jz¦«| ¦«dS|jjr| d|jz¦«dS| d|jz¦«dS)z(Return the buffer contents of the frame.zif context.eval_ctx.autoescape:zreturn Markup(concat(%s))úelse:zreturn concat(%s)N)r.r/rÀÚindentrvÚoutdentÚ autoescape)r2r4Úforce_unescapeds r8Úreturn_buffer_contentsz$CodeGenerator.return_buffer_contentsJsõ€àð ØŒ~Ô&ð Ø—’Ð@ÑAÔAÐAØ— ’ ‘ ” � Ø—’Ð:¸U¼\ÑIÑJÔJÐJØ— ’ ‘”�Ø—’˜wÑ'Ô'Ð'Ø— ’ ‘ ” � Ø—’Ð2°U´\ÑAÑBÔBÐBØ— ’ ‘”�Ø�Ø”Ô*ð Ø—’Ð:¸U¼\ÑIÑJÔJÐJØ�Ø �ŠÐ*¨U¬\Ñ9Ñ:Ô:Ð:Ð:Ð:r:có&—|xjdz c_dS)zIndent by one.r N©rµr‘s r8rÄzCodeGenerator.indent\s€à ÐÔ˜QÑÐÔÐÐr:r có&—|xj|zc_dS)zOutdent by step.NrÊ)r2Ústeps r8rÅzCodeGenerator.outdent`s€à ÐÔ˜TÑ!ÐÔÐÐr:có€—|j€| d|¦«dS| d|jz|¦«dS)z%Yield or write into the frame buffer.Núyield ú %s.append()rvrÀ)r2r4r3s r8Ú start_writezCodeGenerator.start_writedsE€à Œ<Ð Ø �NŠN˜8 TÑ *Ô *Ð *Ð *Ð *à �NŠN˜<¨%¬,Ñ6¸Ñ =Ô =Ð =Ð =Ð =r:cóB—|j�| d¦«dSdS)z1End the writing process started by `start_write`.Nú))rvÚwriterÁs r8Ú end_writezCodeGenerator.end_writeks%€à Œ<Ð #Ø �JŠJ�s‰OŒOˆOˆOˆOð $Ð #r:có†—| ||¦«| |¦«| |¦«dS)z4Simple shortcut for start_write + write + end_write.N)rÐrÓrÔ)r2Úsr4r3s r8Ú simple_writezCodeGenerator.simple_writeps?€à ×Ò˜ Ñ%Ô%Ð%Ø � Š �1‰ Œ ˆ Ø �Š�uÑÔÐÐÐr:cóŠ— | d¦«|D]}| ||¦«ŒdS#t$rYdSwxYw)z•Visit a list of nodes as block in a frame. If the current frame is no buffer a dummy ``if 0: yield None`` is written automatically. ÚpassN)rÀr1r¤)r2r r4r3s r8Ú blockvisitzCodeGenerator.blockvisitvsk€ð Ø �NŠN˜6Ñ "Ô "Ð "Øð (ð (�Ø— ’ ˜4 Ñ'Ô'Ð'Ð'ð (ð (øåð ð ð Ø ˆDˆDð øøøs‚04´ AÁAcóŒ—|jr¢|jsk|j d|jz¦«|xj|jz c_|j�-|j |j|jf¦«d|_d|_|j d|jz¦«d|_|j |¦«dS)z&Write a string into the output stream.ú NFz r) r±r³rArÓr®r°r¯Úappendrµ)r2Úxs r8rÓzCodeGenerator.write�sÅ€à Œ?ð ØÔ$ð 2Ø” ×!Ò! $¨¬Ñ"8Ñ9Ô9Ð9ØÐ Ô  D¤OÑ3Ð Ô ØÔ)Ð5Ø”O×*Ò*¨DÔ,BÀDÔDTÐ+UÑVÔVÐVØ-1�DÔ*Ø %ˆDÔ Ø ŒK× Ò ˜f tÔ'8Ñ8Ñ 9Ô 9Ð 9؈DŒOØ Œ ×Ò˜!ÑÔÐÐÐr:rcó\—| ||¦«| |¦«dS)z!Combination of newline and write.N)ÚnewlinerÓ)r2rÞr3Úextras r8rÀzCodeGenerator.writeline�s)€à � Š �T˜5Ñ!Ô!Ð!Ø � Š �1‰ Œ ˆ ˆ ˆ r:cóœ—t|jd|z¦«|_|�*|j|jkr|j|_|j|_dSdSdS)z/Add one or more newlines before the next write.r N)Úmaxr±r»r²r°)r2r3rás r8ràzCodeGenerator.newline”sR€å˜dœo¨q°5©yÑ9Ô9ˆŒØ Ð  ¤ ¨t¬Ò >Ð >Ø%)¤[ˆDÔ "Ø"œkˆDŒOˆOˆOð Ð Ð >Ð >r:cóÚ—d}td„|jD¦«|pd¦«D]}t|¦«rd}nŒ|jD]-}| d¦«| ||¦«Œ.|sg|jD]-}| d¦«| ||¦«Œ.|�0t |¦«D] \}}| d|›d|›�¦«Œ!|jr0| d¦«| |j|¦«|�r |j�| d ¦«n| d ¦«|jD]O}| d |j z¦«| |j |¦«| d¦«ŒP|�0t |¦«D] \}}| |›d |›d�¦«Œ!|j�G| d ¦«| |j|¦«| d¦«dS| d¦«dS|j�2| d¦«| |j|¦«dSdS)a+Writes a function call to the stream for the current node. A leading comma is added automatically. The extra keyword arguments may not include python keywords otherwise a syntax error could occur. The extra keyword arguments should be given as python dict. Fc3ó$K—|] }|jV—Œ dSr,)rY©Ú.0rÞs r8ú z*CodeGenerator.signature..¥s$èè€Ð7Ð7 a˜AœEÐ7Ð7Ð7Ð7Ð7Ð7r:rlTú, Nú=z, *z , **dict({z, **{z%r: ú: z}, **rÒú}z, **) rr5Úis_python_keywordÚargsrÓr1r Údyn_argsÚ dyn_kwargsrYrW) r2r3r4Ú extra_kwargsÚkwarg_workaroundÚkwargÚargrYrWs r8Ú signaturezCodeGenerator.signature›s¯€ð!ÐÝÐ7Ð7¨4¬;Ð7Ñ7Ô7¸Ð9KÈÑLÔLð ð ˆEÝ  Ñ'Ô'ð Ø#'Ð Ø�ð ð”9ð #ð #ˆCØ �JŠJ�tÑ Ô Ð Ø �JŠJ�s˜EÑ "Ô "Ð "Ð "àð 9Øœð )ð )�Ø— ’ ˜4Ñ Ô Ð Ø— ’ ˜5 %Ñ(Ô(Ð(Ð(ØÐ'Ý"+¨LÑ"9Ô"9ð9ð9‘J�C˜Ø—J’J�J¨C¨C¨C°°Ð7Ñ8Ô8Ð8Ð8Ø Œ=ð -Ø �JŠJ�uÑ Ô Ð Ø �JŠJ�t”} eÑ ,Ô ,Ð ,à ñ /ØŒÐ*Ø— ’ ˜<Ñ(Ô(Ð(Ð(à— ’ ˜7Ñ#Ô#Ð#Øœð !ð !�Ø— ’ ˜6 E¤IÑ-Ñ.Ô.Ð.Ø— ’ ˜5œ;¨Ñ.Ô.Ð.Ø— ’ ˜4Ñ Ô Ð Ð ØÐ'Ý"+¨LÑ"9Ô"9ð:ð:‘J�C˜Ø—J’J¨S¨S¨S°%°%°%Ð8Ñ9Ô9Ð9Ð9ØŒÐ*Ø— ’ ˜7Ñ#Ô#Ð#Ø— ’ ˜4œ?¨EÑ2Ô2Ð2Ø— ’ ˜3‘”���à— ’ ˜3‘”���à Œ_Ð (Ø �JŠJ�vÑ Ô Ð Ø �JŠJ�t”¨Ñ .Ô .Ð .Ð .Ð .ð)Ð (r:c ó$—t¦«}|D]}| |¦«ŒdD]d}t||¦«}t||¦«D]A}||vr| ¦«||<| ||›d|›d|›d�¦«ŒBŒedS)zPull all the dependencies.)r�r�z = environment.ú[ú]N)r�r1Úgetattrr¾rÀ)r2r r_r3Ú dependencyÚmappingrDs r8Úpull_dependencieszCodeGenerator.pull_dependenciesÐsÌ€å)Ñ+Ô+ˆØð ð ˆDØ �MŠM˜$Ñ Ô Ð Ð Ø,ð ð ˆJݘd JÑ/Ô/ˆGÝ ¨Ñ4Ô4ð ð �ؘwÐ&Ð&Ø$(×$=Ò$=Ñ$?Ô$?�G˜D‘MØ—’Ø18¸´°°À À À ÈDÈDÈDÐQñôððð ð ð r:c óæ—g}t|jj¦«D]¥\}\}}|tkrŒ|tkr1| |›d| ¦«›d|›d�¦«ŒP|tkr| |›d|›�¦«Œv|tkr|  |¦«Œ—td¦«‚|r-| dd  |¦«z¦«dSdS)Nú = ú(rÒzunknown load instructionú %s = missing) r rrÚloadsrrrÀÚget_resolve_funcrrrÝÚNotImplementedErrorÚjoin)r2r4ÚundefsÚtargetÚactionÚparams r8Ú enter_framezCodeGenerator.enter_frameÞs€ØˆÝ'0°´Ô1DÑ'EÔ'Eð Fð FÑ #ˆF‘O�V˜UØÕ+Ò+Ð+ØØÕ+Ò+Ð+Ø—’°°°¸×8MÒ8MÑ8OÔ8OÐ8OÐ8OÐQVÐQVÐQVÐWÑXÔXÐXÐXØ�>Ò)Ð)Ø—’¨F¨F¨F°E°EÐ:Ñ;Ô;Ð;Ð;ØÕ-Ò-Ð-Ø— ’ ˜fÑ%Ô%Ð%Ð%å)Ð*DÑEÔEÐEØ ð @Ø �NŠN˜>¨E¯JªJ°vÑ,>Ô,>Ñ>Ñ ?Ô ?Ð ?Ð ?Ð ?ð @ð @r:cóØ—|seg}t|jj¦«D]\}}| |¦«Œ|r/| dd |¦«z¦«dSdSdS)Nrrþ)r rrrrÝrÀr)r2r4Úwith_python_scoperrÚ_s r8Ú leave_framezCodeGenerator.leave_frameîs�€Ø ð D؈FÝ& u¤}Ô':Ñ;Ô;ð &ð &‘ �˜Ø— ’ ˜fÑ%Ô%Ð%Ð%Øð DØ—’˜~°· ² ¸6Ñ0BÔ0BÑBÑCÔCÐCÐCÐCð  Dð Dð Dð Dr:có.—|jjrd|zSd|zS)Nz async def %szdef %s)rCÚis_async)r2rDs r8ÚfunczCodeGenerator.funcös%€Ø Ô Ô $ð )Ø! DÑ(Ð (ؘ$‰Ðr:c óT—| ¦«}|j |¦«t|¦«}d}t ¦«}g}t |j¦«D]g\}}|jdkr|}|jdvr| |j¦«|  |j  |j¦«¦«Œht|j d¦«} d| vr…|�O |j |t|j¦«z nX#t$r| d|j¦«Yn1wxYw|  |j d¦«¦«d|_d| vr8d|vr4|  |j d¦«¦«d|_d| vr8d|vr4|  |j d¦«¦«d|_d |_|j |¦«| | d ¦«›d d  |¦«›d �|¦«| ¦«| |¦«| |¦«| |¦«t |j¦«D�]\}}|j  |j¦«} | d| z¦«| ¦« |j |t|j¦«z } | d| z¦«| | |¦«n;#t$r.| | ›dd|jz›d|j›d�¦«YnwxYw| | ¦«|  ¦«�Œ | !¦«| "|j |¦«| #|d¬¦«| $|d¬¦«|  ¦«||fS)z/Dump the function def of a macro or call block.NÚcaller)r5Úvarargs)rr5rzhWhen defining macros or call blocks the special "caller" argument must be omitted or be given a default.Tr5rFÚmacrorÿréú):úif %s is missing:ú%s = ú = undefined(zparameter %r was not providedz, name=rÒ)rÇ©r )%r„rrÚ analyze_noderbrSÚ enumeraterîrDr”rÝÚrefr`ÚbodyÚdefaultsÚlenÚ IndexErrorr¼r»Údeclare_parameterrdrerfrurÀrrrÄrvr Úpush_parameter_definitionsr1Úmark_parameter_storedrÅÚpop_parameter_definitionsrÚrÈr ) r2r3r4Ú macro_refÚexplicit_callerÚskip_special_paramsrîÚidxrôr]rÚdefaults r8Ú macro_bodyzCodeGenerator.macro_bodyûs7€à— ’ ‘ ” ˆØ Œ ×"Ò" 4Ñ(Ô(Ð(ݘT‘N”Nˆ àˆÝ!™eœeÐØˆÝ! $¤)Ñ,Ô,ð 5ð 5‰HˆC�ØŒx˜8Ò#Ð#Ø"%�ØŒxÐ0Ð0Ð0Ø#×'Ò'¨¬Ñ1Ô1Ð1Ø �KŠK˜œ ×)Ò)¨#¬(Ñ3Ô3Ñ 4Ô 4Ð 4Ð 4å$ T¤YÐ0OÑPÔPˆ à �zÐ !Ð !ðÐ*ðØ”M /µC¸¼ ±N´NÑ"BÔCÐCÐCøÝ!ðððØ—I’Ið1ðœ ñ ôððððøøøð— ’ ˜EœM×;Ò;¸HÑEÔEÑFÔFÐFØ(,ˆIÔ %Ø �zÐ !Ð ! hÐ6IÐ&IÐ&IØ �KŠK˜œ ×7Ò7¸ÑAÔAÑ BÔ BÐ BØ(,ˆIÔ %Ø ˜ Ð "Ð " yÐ8KÐ'KÐ'KØ �KŠK˜œ ×7Ò7¸ ÑBÔBÑ CÔ CÐ CØ)-ˆIÔ &ð&+ˆÔ"Ø Œ ×"Ò" 4Ñ(Ô(Ð(Ø �Š D§I¢I¨gÑ$6Ô$6Ð$6Ð$6¸¿ º À$¹¼¸¸ÐHÈ$ÑOÔOÐOØ � Š ‰ Œ ˆ à � Š �EÑÔÐØ ×Ò˜ÑÔÐà ×'Ò'¨Ñ.Ô.Ð.Ý! $¤)Ñ,Ô,ð ñ ‰HˆC�Ø”-×#Ò# C¤HÑ-Ô-ˆCØ �NŠNÐ.°Ñ4Ñ 5Ô 5Ð 5Ø �KŠK‰MŒMˆMð +Øœ-¨­c°$´)©n¬nÑ(<Ô=�ð—’˜w¨™}Ñ-Ô-Ð-Ø— ’ ˜7 EÑ*Ô*Ð*Ð*øõð ð ð Ø—’à�s�sÐ;¸c¼hÑFÐFÐFÈÌÈÈðRñôðððð øøøð × &Ò & sÑ +Ô +Ð +Ø �LŠL‰NŒNˆN‰NØ ×&Ò&Ñ(Ô(Ð(à �Š˜œ  5Ñ)Ô)Ð)Ø ×#Ò# E¸4Ð#Ñ@Ô@Ð@Ø ×Ò˜°$ÐÑ7Ô7Ð7Ø � Š ‰Œˆà�iÐÐs$Ã("D Ä %D3Ä2D3Ë>"MÍ5NÎNc ó0—d d„|jjD¦«¦«}t|jdd¦«}t |jj¦«dkr|dz }| d|›d|›d |j›d|j›d|j›d � ¦«dS) zK—|]}t|j¦«V—ŒdSr,)ÚreprrDræs r8rèz*CodeGenerator.macro_def..Ms*èè€ÐHÐH¨q�d 1¤6™lœlÐHÐHÐHÐHÐHÐHr:rDNr ú,zMacro(environment, macro, z, (z), z, context.eval_ctx.autoescape)) rr3rîrùrrÓrerfrd)r2r%r4Ú arg_tuplerDs r8Ú macro_defzCodeGenerator.macro_defKs·€à—I’IÐHÐH°I´NÔ4GÐHÑHÔHÑHÔHˆ Ý�y”~ v¨tÑ4Ô4ˆÝ ˆyŒ~Ô"Ñ #Ô # qÒ (Ð (Ø ˜Ñ ˆIØ � Š ˆ ð��Ø� � ØÔ)Ð)Ð)ØÔ*Ð*Ð*ØÔ)Ð)Ð)ð ñ ô ð ð ð r:có\—d|jz}|j�|dt|j¦«zz }|S)z.Return a human readable position for the node.zline %dNú in )r»rDr-)r2r3r�s r8ÚpositionzCodeGenerator.position]s2€à ˜œÑ $ˆØ Œ9Ð Ø �&�4 ¤ ™?œ?Ñ*Ñ *ˆB؈ r:cóŽ—dd d„t|j ¦«¦«D¦«¦«zS)Nz{%s}réc3ó*K—|]\}}|›d|›�V—ŒdS©rëNrl)rçrDrs r8rèz3CodeGenerator.dump_local_context..esEèè€ð" ð" á��f𘘘f˜fÐ %ð" ð" ð" ð" ð" ð" r:)rr rrÚ dump_storesrÁs r8Údump_local_contextz CodeGenerator.dump_local_contextdsQ€Ø˜Ÿ š ð" ð" å )¨%¬-×*CÒ*CÑ*EÔ*EÑ FÔ Fð" ñ" ô" ñ ô ñ ð r:có®—| d¦«| d¦«| d¦«| d¦«dS)z·Writes a common preamble that is used by root and block functions. Primarily this sets up common local helpers and enforces a generator through a dead branch. z$resolve = context.resolve_or_missingz!undefined = environment.undefinedzcond_expr_undefined = Undefinedzif 0: yield NoneN©rÀr‘s r8Ú write_commonszCodeGenerator.write_commonsjsX€ð �ŠÐ=Ñ>Ô>Ð>Ø �ŠÐ:Ñ;Ô;Ð;ð �ŠÐ8Ñ9Ô9Ð9Ø �ŠÐ)Ñ*Ô*Ð*Ð*Ð*r:cóh—|j |j ¦«¦«dS)aQPushes all parameter targets from the given frame into a local stack that permits tracking of yet to be assigned parameters. In particular this enables the optimization from `visit_Name` to skip undefined expressions for parameters in macros as macros can reference otherwise unbound parameters. N)r·rÝrrÚdump_param_targetsrÁs r8r"z(CodeGenerator.push_parameter_definitionsvs/€ð Ô×$Ò$ U¤]×%EÒ%EÑ%GÔ%GÑHÔHÐHÐHÐHr:có8—|j ¦«dS)z+Pops the current parameter definitions set.N)r·Úpopr‘s r8r$z'CodeGenerator.pop_parameter_definitionss€à Ô×!Ò!Ñ#Ô#Ð#Ð#Ð#r:cóX—|jr"|jd |¦«dSdS)z€Marks a parameter in the current parameter definitions as stored. This will skip the enforced undefined checks. éÿÿÿÿN)r·r ©r2rs r8r#z#CodeGenerator.mark_parameter_storedƒs;€ð Ô ð 6Ø Ô ! "Ô %× -Ò -¨fÑ 5Ô 5Ð 5Ð 5Ð 5ð 6ð 6r:có:—|j |¦«dSr,)r¸rÝrBs r8Úpush_context_referencez$CodeGenerator.push_context_referenceŠs€Ø Ô%×,Ò,¨VÑ4Ô4Ð4Ð4Ð4r:có8—|j ¦«dSr,)r¸r?r‘s r8Úpop_context_referencez#CodeGenerator.pop_context_reference�s€Ø Ô%×)Ò)Ñ+Ô+Ð+Ð+Ð+r:có—|jdS)NrA©r¸r‘s r8Úget_context_refzCodeGenerator.get_context_ref�s€ØÔ,¨RÔ0Ð0r:có6—|jd}|dkrdSd|zS)NrAr¨Úresolvez %s.resolverHrBs r8rzCodeGenerator.get_resolve_func“s*€ØÔ.¨rÔ2ˆØ �YÒ Ð Ø�9ؘfÑ$Ð$r:có\—| ¦«›d| |¦«›d�S)Nz .derived(rÒ)rIr8rÁs r8Úderive_contextzCodeGenerator.derive_context™s8€à × Ò Ñ "Ô "Ð "Ð "Ø × #Ò # EÑ *Ô *Ð *Ð *ð ð r:có2—|jsdS||jdvS)z4Checks if a given target is an undeclared parameter.FrA)r·rBs r8Úparameter_is_undeclaredz%CodeGenerator.parameter_is_undeclaredŸs%€àÔ$ð Ø�5ؘÔ.¨rÔ2Ð2Ð2r:cóR—|j t¦«¦«dS)z+Pushes a new layer for assignment tracking.N)r¶rÝrSr‘s r8Úpush_assign_trackingz"CodeGenerator.push_assign_tracking¥s#€à Ô×!Ò!¥#¡%¤%Ñ(Ô(Ð(Ð(Ð(r:c ó.—|j ¦«}|jr|sdSd„|D¦«}t|¦«dkrRt t |¦«¦«}|j |¦«}| d|›d|›�¦«nŠ| d¦«t|¦«D]P\}}|r|  d¦«|j |¦«}|  |›d|›�¦«ŒQ|  d ¦«|rst|¦«dkr | d |d z¦«dS| d d  tt|¦«¦«z¦«dSdS) zoPops the topmost level for assignment tracking and updates the context variables if necessary. Ncó.—g|]}|dd…dk¯|‘ŒS)Nr r rlræs r8ú z5CodeGenerator.pop_assign_tracking..°s%€Ð8Ð8Ð8˜a¨1¨R¨a¨R¬5°Cª<¨<˜¨<¨<¨ˆ>Ý�˜T™ œ Ñ#Ô#ˆDØ”-×#Ò# DÑ)Ô)ˆCØ �NŠNˆN°d°d°d¸C¸CÐ@Ñ AÔ AÐ AÐ Aà �NŠNÐ2Ñ 3Ô 3Ð 3Ý& t™_œ_ð 3ð 3‘ ��TØð%Ø—J’J˜tÑ$Ô$Ð$Ø”m×'Ò'¨Ñ-Ô-�Ø— ’  t t t¨S¨SÐ1Ñ2Ô2Ð2Ð2Ø �JŠJ�tÑ Ô Ð Ø ð Ý�<Ñ Ô  AÒ%Ð%Ø—’Ð>ÀÈaÄÑPÑQÔQÐQÐQÐQà—’Ø8Ø—i’i¥¥T¨<Ñ 8Ô 8Ñ9Ô9ñ:ñôðððð  ð r:c óþ —|� Jd¦«‚t|j|j¦«}ddlm}| dd t¦«z¦«| dd |¦«z¦«|jjr| d¦«|j rdpd }|  tj ¦«du}|  tj¦«D]B}|j|jvr#| d |jz|j¦«||j|j<ŒC|  tj¦«D]Œ}|j|jvr||j} | ¦«x|j| <} d | vr8|  d d¦«\} } | d | ›d | ›d| ›�¦«Œq| d| ›d| ›�¦«Œ�| d|jz¦«| | d¦«›d|›d�d¬¦«| ¦«| ¦«t5|¦«}dt7|jd¦«vr2|j d¦«} | d| z¦«|j |¦«dx|_ |_!|o|j" |_#|r| d¦«| $|¦«| %|j¦«| &|j|¦«| '|d¬¦«| (¦«|rî|j"s)| ¦«| d¦«| ¦«tRr"|jjs| d¦«nc| d|jjrdpd z¦«| ¦«| d¦«| (¦«| (d|j" z¦«tU|j¦«D�]�\}}| | d |z¦«›d|›d�|d¦«| ¦«| ¦«t5|¦«}t7|jd!¦«}d|vr2|j d¦«} | d| z¦«d"|vr8|j d"¦«} | | ›d#|›d$|›d%�¦«|j |¦«||_+| $|¦«| %|j¦«| &|j|¦«| '|d¬¦«| (¦«�Œ�| d&d d'„|jD¦«¦«zd¬¦«| d(d) d*„|j,D¦«¦«z¦«dS)+Nzno root frame allowedr )Úexportedzfrom __future__ import %srézfrom jinja2.runtime import zHfrom jinja2.asyncsupport import auto_await, auto_aiter, AsyncLoopContextz, environment=environmentÚzblock %r defined twiceú.zfrom z import z as zimport z name = %rÚrootz(context, missing=missingr)rár2r‘z%s = TemplateReference(context)Tzparent_template = Nonerúif parent_template is not None:z4yield from parent_template.root_render_func(context)z9%sfor event in parent_template.root_render_func(context):zasync z yield eventÚblock_)r2Úsuperrdz = context.super(z, block_rÒz blocks = {%s}c3ó$K—|] }|›d|›�V—Œ dS)z: block_Nrlræs r8rèz/CodeGenerator.visit_Template..;s-èè€Ð'UÐ'UÀA¸!¸!¸!¸Q¸QÐ(?Ð'UÐ'UÐ'UÐ'UÐ'UÐ'Ur:zdebug_info = %rú&c3ó K—|] }d|zV—Œ dS)z%s=%sNrlræs r8rèz/CodeGenerator.visit_Template..As&èè€Ð(NÐ(N¸¨°1©Ð(NÐ(NÐ(NÐ(NÐ(NÐ(Nr:)-rrCrDÚruntimer^rÀrÚ code_featuresrrFÚfindr ÚExtendsÚfind_allÚBlockr«r¼r»Ú ImportedNameÚ importnamerªr¾ÚrsplitrrÄr;rnr`rrrr!rrsrtr­rur rürÚr rÅÚsupports_yield_fromr rwr¯)r2r3r4r.r^ÚenvenvÚ have_extendsrwÚimport_ÚimpÚaliasÚmoduleÚobjrrDÚ block_framer]s r8Úvisit_TemplatezCodeGenerator.visit_TemplateÈsš€Øˆ}ˆ}Ð5‰}Œ}ˆ}ݘtÔ/°´Ñ;Ô;ˆà%Ð%Ð%Ð%Ð%Ð%à �ŠÐ2°T·Y²Y½}Ñ5MÔ5MÑMÑNÔNÐNØ �ŠÐ4°t·y²yÀÑ7JÔ7JÑJÑKÔKÐKà Ô Ô $ð Ø �NŠNð/ñ ô ð ð”_Ð$ÐDÐ)DÐJȈð—y’y¥¤Ñ/Ô/°tÐ;ˆ ð—]’]¥5¤;Ñ/Ô/ð ,ð ,ˆEØŒz˜Tœ[Ð(Ð(Ø— ’ Ð2°U´ZÑ?ÀÄÑNÔNÐNØ&+ˆDŒK˜œ Ñ #Ð #ð—}’}¥UÔ%7Ñ8Ô8ð Eð EˆGØÔ!¨Ô)<Ð<Ð<ØÔ(�Ø37×3LÒ3LÑ3NÔ3NÐN�Ô# CÑ(¨5ؘ#�:�:Ø"%§*¢*¨S°!Ñ"4Ô"4‘K�F˜CØ—N’N�NÀÀÀÈÈÈÈUÈUÐ#SÑTÔTÐTÐTà—N’N�N¸¸¸¸U¸UÐ#CÑDÔDÐDøð �Š�{ T¤YÑ.Ñ/Ô/Ð/ð �ŠØ15·²¸6Ñ1BÔ1BÐ1BÐ1BÀFÀFÀFÐ KÐSTð ñ ô ð ð � Š ‰ Œ ˆ Ø ×ÒÑÔÐõ�h‘”ˆØ •_ T¤Y° Ñ:Ô:Ð :Ð :Ø”-×1Ò1°&Ñ9Ô9ˆCØ �NŠNÐ<¸sÑBÑ CÔ CÐ CØ Œ ×"Ò" 4Ñ(Ô(Ð(Ø+/Ð/ˆŒ˜œØ%1Ð%P¸$Ô:PÐ6PˆÔ"Ø ð 5Ø �NŠNÐ3Ñ 4Ô 4Ð 4Ø ×Ò˜ÑÔÐØ ×Ò˜tœyÑ)Ô)Ð)Ø �Š˜œ  5Ñ)Ô)Ð)Ø ×Ò˜°$ÐÑ7Ô7Ð7Ø � Š ‰Œˆð ð ;ØÔ)ð BØ— ’ ‘ ” � Ø—’Ð@ÑAÔAÐAØ �KŠK‰MŒMˆMÝ"ð ¨4Ô+;Ô+Dð Ø—’ÐUÑVÔVÐVÐVà—’ð1àÔ'Ô0Ð=°XÐCÀñEñôðð — ’ ‘ ” � Ø—’˜}Ñ-Ô-Ð-Ø— ’ ‘”�Ø �LŠL˜ $Ô"8Ð8Ñ9Ñ :Ô :Ð :õ% T¤[Ñ1Ô1ð ñ ‰KˆD�%Ø �NŠNà—9’9˜X¨™_Ñ-Ô-Ð-Ð-¨v¨v¨vð7àØñ  ô ð ð �KŠK‰MŒMˆMØ × Ò Ñ Ô Ð õ  ™/œ/ˆKÝ(¨¬Ð5FÑGÔGˆJؘÐ#Ð#Ø!Ô)×;Ò;¸FÑCÔC�Ø—’Ð@À3ÑFÑGÔGÐGؘ*Ð$Ð$Ø!Ô)×;Ò;¸GÑDÔD�Ø—’ÀSÀSÀSÈ$È$È$ÐPTÐPTÐPTÐUÑVÔVÐVØ Ô × ,Ò ,¨UÑ 3Ô 3Ð 3Ø $ˆKÔ Ø × Ò ˜[Ñ )Ô )Ð )Ø × "Ò " 5¤:Ñ .Ô .Ð .Ø �OŠO˜EœJ¨ Ñ 4Ô 4Ð 4Ø × Ò ˜[¸DÐ Ñ AÔ AÐ AØ �LŠL‰NŒNˆN‰Nà �ŠØ ˜dŸišiÐ'UÐ'UÈÌÐ'UÑ'UÔ'UÑUÔUÑ UØð ñ ô ð ð �ŠØ  §¢Ð(NÐ(N¸d¼oÐ(NÑ(NÔ(NÑ NÔ NÑ Nñ ô ð ð ð r:có†—d}|jrB|jrdS|jdkr.| d¦«| ¦«|dz }|jr| |¦«}n| ¦«}tr6|j j s*|j €#| d|j ›d|›d�|¦«nr|j j rdpd }| |›d |j ›d|›d �|¦«| ¦«|  d |¦«| ¦«| |¦«dS) z.Call a block and register it for the template.rNúif parent_template is None:r zyield from context.blocks[z][0](rÒú async forÚforz event in context.blocks[rÚevent)rsr­r¬rÀrÄÚscopedrMrIrqrCrrvrDr×rÅ)r2r3r4rqr¨Úloops r8r™zCodeGenerator.visit_BlockDso€àˆØ Œ>ð ðÔ%ð Ø�ØÔ" QÒ&Ð&Ø—’Ð<Ñ=Ô=Ð=Ø— ’ ‘ ” � ؘ‘ �à Œ;ð -Ø×)Ò)¨%Ñ0Ô0ˆGˆGà×*Ò*Ñ,Ô,ˆGõ ð àÔ$Ô-ð ð” Ð$à �NŠNˆNØ:>¼)¸)¸)ÀWÀWÀWÐMÈtñ ô ð ð ðÔ#Ô,Ð<°ÐEÀˆDØ �NŠNØ<@¸D¸DÀ$Ä)À)À)ÈWÈWÈWÐUØñ ô ð ð �KŠK‰MŒMˆMØ × Ò ˜g uÑ -Ô -Ð -Ø �LŠL‰NŒNˆNà � Š �UÑÔÐÐÐr:cóΗ|js| d|j¦«|jdkrq|js)| d¦«| ¦«| ddz¦«|jrt¦«‚| ¦«| d|¦«|  |j |¦«|  d|j z¦«| dtz¦«| ¦«| d ¦«| ¦«|jrd |_|xjd z c_d S) zCalls the extender.z,cannot use extend from a non top-level scoperrbúraise TemplateRuntimeError(%r)zextended multiple timesz+parent_template = environment.get_template(ú, %r)z6for name, parent_block in parent_template.blocks.%s():z8context.blocks.setdefault(name, []).append(parent_block)Tr N)rsr¼r»r¬r­rÀrÄr¤rÅr1ÚtemplaterÓrDÚdict_item_iterrt©r2r3r4s r8Ú visit_ExtendszCodeGenerator.visit_Extendsjs_€àŒ~ð SØ �IŠIÐDÀdÄkÑ RÔ RÐ Rð Ô  Ò "Ð "ð Ô)ð Ø—’Ð@ÑAÔAÐAØ— ’ ‘ ” � Ø �NŠNÐ;Ð>WÑWÑ XÔ XÐ XðÔ%ð Ý"‘n”nÐ$à— ’ ‘”�à �ŠÐDÀdÑKÔKÐKØ � Š �4”= %Ñ(Ô(Ð(Ø � Š �7˜TœYÑ&Ñ'Ô'Ð'Ø �ŠØ DÅ~Ñ Uñ ô ð ð � Š ‰ Œ ˆ Ø �ŠÐQÑRÔRÐRØ � Š ‰Œˆð Œ?ð *Ø%)ˆDÔ "ð ÐÔ˜qÑ ÐÔÐÐr:có\—|jr)| d¦«| ¦«d}t|jt j¦«rKt|jjt¦«rd}nVt|jjttf¦«rd}n-t|jt j t j f¦«rd}| d|z|¦«|  |j|¦«| d|jz¦«|jr�| ¦«| d¦«| ¦«| d¦«| ¦«| d ¦«| ¦«d }|jr?|jjrd pd }| |›d | |¦«›d�¦«nV|jjr| d¦«n4t*r| d¦«d}n| d¦«|s>| ¦«| d|¦«| ¦«|jr| ¦«dSdS)zHandles includes.ztry:Úget_or_select_templateÚ get_templateÚselect_templateztemplate = environment.%s(r„zexcept TemplateNotFound:rÙrÃFr}r~zR event in template.root_render_func(template.new_context(context.get_all(), True, z)):zGfor event in (await template._get_default_module_async())._body_stream:z6yield from template._get_default_module()._body_streamTz9for event in template._get_default_module()._body_stream:rN)Úignore_missingrÀrÄr=r…r ÚConstrWrrQrRÚTupleÚListr1rÓrDrÅÚ with_contextrCrr8rqr×)r2r3r4Ú func_nameÚskip_event_yieldr�s r8Ú visit_IncludezCodeGenerator.visit_Include—sœ€à Ô ð Ø �NŠN˜6Ñ "Ô "Ð "Ø �KŠK‰MŒMˆMà,ˆ Ý �d”m¥U¤[Ñ 1Ô 1ð *ݘ$œ-Ô-­|Ñ<Ô<ð .Ø*� � ݘDœMÔ/µ%½°Ñ?Ô?ð .Ø-� øÝ ˜œ ­¬ µU´ZÐ'@Ñ AÔ Að *Ø)ˆIà �ŠÐ3°iÑ?ÀÑFÔFÐFØ � Š �4”= %Ñ(Ô(Ð(Ø � Š �7˜TœYÑ&Ñ'Ô'Ð'Ø Ô ð Ø �LŠL‰NŒNˆNØ �NŠNÐ5Ñ 6Ô 6Ð 6Ø �KŠK‰MŒMˆMØ �NŠN˜6Ñ "Ô "Ð "Ø �LŠL‰NŒNˆNØ �NŠN˜7Ñ #Ô #Ð #Ø �KŠK‰MŒMˆMà ÐØ Ô ð ØÔ#Ô,Ð<°ÐEÀˆDØ �NŠNð ˜4˜4 ×!8Ò!8¸Ñ!?Ô!?Ð!?Ð!?ðAñ ô ð ð ð Ô Ô &ð Ø �NŠNð!ñ ô ð ð õ #ð Ø—’ÐWÑXÔXÐXØ#'Ð Ð à—’ØOñôðð ð Ø �KŠK‰MŒMˆMØ × Ò ˜g uÑ -Ô -Ð -Ø �LŠL‰NŒNˆNà Ô ð Ø �LŠL‰NŒNˆNˆNˆNð ð r:có—| d|j |j¦«z|¦«|jr| d|jz¦«|jjr| d¦«| d¦«| |j |¦«| d|j z¦«|j r>| d|jjrdpd›d |  |¦«›d �¦«n7|jjr| d ¦«n| d ¦«|jr9|j  d ¦«s!| d|jz¦«dSdSdS)zVisit regular imports.rúcontext.vars[%r] = úawait zenvironment.get_template(ú, %r).Ú make_moduleÚ_asyncr_ú(context.get_all(), True, rÒú_get_default_module_async()ú_get_default_module()r ú!context.exported_vars.discard(%r)N)rÀrrrrrsrÓrCrr1r…rDr‘r8Ú startswithr‡s r8Ú visit_ImportzCodeGenerator.visit_ImportÑs¦€à �Š�w ¤×!2Ò!2°4´;Ñ!?Ô!?Ñ?ÀÑFÔFÐFØ Œ>ð <Ø �JŠJÐ,¨t¬{Ñ:Ñ ;Ô ;Ð ;Ø Ô Ô $ð !Ø �JŠJ�xÑ Ô Ð Ø � Š Ð.Ñ/Ô/Ð/Ø � Š �4”= %Ñ(Ô(Ð(Ø � Š �8˜dœiÑ'Ñ(Ô(Ð(Ø Ô ð 0Ø �JŠJˆJðÔ$Ô-Ð:°(Ð@¸bÐ@Ð@Ø×+Ò+¨EÑ2Ô2Ð2Ð2ðñ ô ð ð ðÔ Ô &ð 0Ø �JŠJÐ4Ñ 5Ô 5Ð 5Ð 5à �JŠJÐ.Ñ /Ô /Ð /Ø Œ>ð N $¤+×"8Ò"8¸Ñ"=Ô"=ð NØ �NŠNÐ>ÀÄÑLÑ MÔ MÐ MÐ MÐ Mð Nð Nð Nð Nr:c 󔇗| |¦«| d|jjrdpdz¦«| |j‰¦«| d|jz¦«|jr>| d|jjrdpd›d| ‰¦«›d�¦«n7|jjr| d ¦«n| d ¦«g}g}|j D�]M}t|t¦«r|\}}n|}|  ‰j  |¦«›d |›d �¦«|  d ‰j  |¦«z¦«| ¦«|  ‰j  |¦«›dd| |¦«›dt#|¦«›�›d|›d�¦«| ¦«‰jr?| |¦«| d¦«s| |¦«�ŒO|r†t-|¦«dkr<|d}|  d|›d‰j  |¦«›�¦«n7|  dd ˆfd„|D¦«¦«z¦«|rst-|¦«dkr |  d|dz¦«dS|  dd t1t"|¦«¦«z¦«dSdS)zVisit named imports.z/included_template = %senvironment.get_template(r—r_r˜r™ršr›rÒrœr�z = getattr(included_template, z , missing)rrzthe template %r (imported on z%) does not export the requested name z$ % included_template.__name__, name=r r rrUrVzcontext.vars.update({%s})réc3óV•K—|]#}|›d‰j |¦«›�V—Œ$dSr6)rrr)rçrDr4s €r8rèz1CodeGenerator.visit_FromImport..(sPøèè€ð ð ØGK D D D¨%¬-×*;Ò*;¸DÑ*AÔ*AÐ*AÐBð ð ð ð ð ð r:ržz-context.exported_vars.difference_update((%s))N)ràrÓrCrr1r…rDr‘r8r^r=rQrÀrrrrÄr3r-rÅrsrÝrŸrrr )r2r3r4Ú var_namesÚdiscarded_namesrDrvs ` r8Úvisit_FromImportzCodeGenerator.visit_FromImportêsÌø€à � Š �TÑÔÐØ � Š Ø =ØÔÔ(Ð5¨XÐ;¸ñ =ñ ô ð ð � Š �4”= %Ñ(Ô(Ð(Ø � Š �8˜dœiÑ'Ñ(Ô(Ð(Ø Ô ð 0Ø �JŠJˆJðÔ$Ô-Ð:°(Ð@¸bÐ@Ð@Ø×+Ò+¨EÑ2Ô2Ð2Ð2ðñ ô ð ð ðÔ Ô &ð 0Ø �JŠJÐ4Ñ 5Ô 5Ð 5Ð 5à �JŠJÐ.Ñ /Ô /Ð /àˆ ØˆØ”Jð 2ñ 2ˆDݘ$¥Ñ&Ô&ð Ø"‘ ��e�eà�Ø �NŠNà"'¤-×"3Ò"3°EÑ":Ô":Ð":Ð":¸D¸D¸DðBñ ô ð ð �NŠNÐ.°´×1BÒ1BÀ5Ñ1IÔ1IÑIÑ JÔ JÐ JØ �KŠK‰MŒMˆMØ �NŠNð ”M×%Ò% eÑ,Ô,Ð,Ð,Ð,ð—}’} TÑ*Ô*Ð*Ð*­D°©J¬J¨Jð8ð8ð8ð�D�Dð ñ ô ð ð �LŠL‰NŒNˆNØŒ~ð 2Ø× Ò  Ñ'Ô'Ð'Ø×'Ò'¨Ñ,Ô,ð2Ø#×*Ò*¨5Ñ1Ô1Ð1ùà ð Ý�9‰~Œ~ Ò"Ð"Ø  ”|�Ø—’�Ø/3¨t¨t°U´]×5FÒ5FÀtÑ5LÔ5LÐ5LÐMñôððð—’Ø/Ø—i’ið ð ð ð ØOXð ñ ô ñôññôðð ð Ý�?Ñ#Ô# qÒ(Ð(Ø—’ÐBÀ_ÐUVÔEWÑWÑXÔXÐXÐXÐXà—’ð#Ø%)§Y¢Y­tµD¸/Ñ/JÔ/JÑ%KÔ%KñLñôðððð  ð r:cóØ—| ¦«}| ¦«}| ¦«}|jp%dt| d¬¦«d¦«v}d}|r|j d¦«}|j |d¬¦«|jr|j |d¬¦«|j�rä|  ¦«}|j |d¬¦«|  d |  |¦«z|j¦«|  ¦«|  |¦«|  |jjrd pd ¦«| |j|¦«| d ¦«| |jjrd pd¦«| d¦«|  ¦«|  d|j¦«| |j|¦«| d¦«|  ¦«|  d¦«| |j|¦«| d¦«| |d¬¦«|jra|  d|  d¦«z|¦«|  ¦«| |¦«|j|_|r|  d|z¦«| t.j¦«D]3} | jdkr&| jdkr| d| j¦«Œ4|jr,|  ¦«} |  d| z¦«|  |jjrd pd |¦«| |j|¦«|r>|jjr| d|z¦«n.| d|z¦«n| d ¦«|jr| d|z¦«|jr| d¦«na|jjr|s| d¦«| |j|¦«|jjr|s| d¦«|jr| d¦«|jr| d ¦«n| |rd!pd¦«|  ¦«|  |¦«| |j|¦«|jr|  d"| z¦«| ¦«| ||jo|j ¬¦«|jr…|  d#| z¦«|  ¦«|  |¦«| |j|¦«| |¦«| ¦«|jrþ|  |¦«| ¦«| !||¦«|jjr| d$¦«| d%¦«|jjr| d¦«| |j|¦«|jjr| d¦«| d&¦«| "|¦«dSdS)'Nr�)r)Úonly)r�r)Ú for_branchÚelseÚtestz %s(fiter):z async for zfor r2zauto_aiter(fiter)Úfiterú:úif rÎéTrz'%s(reciter, loop_render_func, depth=0):rÚstorez8Can't assign to special loop variable in for-loop targetz%s = 1z, %s in AsyncLoopContext(z, %s in LoopContext(z%s(Úreciterz auto_aiter(rÒz&, undefined, loop_render_func, depth):z , undefined):z%s = 0zif %s:r—zloop(z, loop))#r„Ú recursiver`Úiter_child_nodesrrr!rÚelse_rªr¾rÀrrÄr rCrr1rrÓrÅr rvrlr ÚNamerŸrDr¼r»rYrÚrrÈrÐrÔ) r2r3r4Ú loop_frameÚ test_frameÚ else_frameÚ extended_loopÚloop_refÚloop_filter_funcrDÚiteration_indicators r8Ú visit_ForzCodeGenerator.visit_For5s€Ø—[’[‘]”]ˆ Ø—[’[‘]”]ˆ Ø—[’[‘]”]ˆ ð œð ¨&µOØ × !Ò ! yÐ !Ñ 1Ô 1°9ñ5 ô5 ð+ ˆ ðˆØ ð DØ!Ô)×;Ò;¸FÑCÔCˆHàÔ×'Ò'¨¸Ð'Ñ@Ô@Ð@Ø Œ:ð EØ Ô × +Ò +¨D¸VÐ +Ñ DÔ DÐ Dà Œ9ñ AØ#×8Ò8Ñ:Ô:Ð Ø Ô × +Ò +¨D¸VÐ +Ñ DÔ DÐ DØ �NŠN˜<¨$¯)ª)Ð4DÑ*EÔ*EÑEÀtÄyÑ QÔ QÐ QØ �KŠK‰MŒMˆMØ × Ò ˜ZÑ (Ô (Ð (Ø �NŠN˜4Ô+Ô4ÐE¸ÐOÈÑ PÔ PÐ PØ �JŠJ�t”{ JÑ /Ô /Ð /Ø �JŠJ�vÑ Ô Ð Ø �JŠJ�tÔ'Ô0ÐHÐ5HÐSÈGÑ TÔ TÐ TØ �JŠJ�s‰OŒOˆOØ �KŠK‰MŒMˆMØ �NŠN˜5 $¤)Ñ ,Ô ,Ð ,Ø �JŠJ�t”y *Ñ -Ô -Ð -Ø �JŠJ�s‰OŒOˆOØ �KŠK‰MŒMˆMØ �NŠN˜8Ñ $Ô $Ð $Ø �JŠJ�t”{ JÑ /Ô /Ð /Ø �LŠL˜‰OŒOˆOØ × Ò ˜Z¸4Ð Ñ @Ô @Ð @ð Œ>ð 2Ø �NŠNØ9¸D¿IºIÀfѨHÑ4Ñ 5Ô 5Ð 5à—M’M¥%¤*Ñ-Ô-ð ð ˆDØŒx˜7Ò"Ð" t¤y°FÒ':Ð':Ø— ’ ØNØ”Kñôðøð Œ:ð ;Ø"&×";Ò";Ñ"=Ô"=Ð Ø �NŠN˜8Ð&9Ñ9Ñ :Ô :Ð :à �Š�tÔ'Ô0ÐA°\ÐKÀVÈTÑRÔRÐRØ � Š �4”;  Ñ+Ô+Ð+Ø ð ØÔÔ(ð >Ø— ’ Ð6¸ÑAÑBÔBÐBÐBà— ’ Ð1°HÑ<Ñ=Ô=Ð=Ð=à �JŠJ�vÑ Ô Ð à Œ9ð 1Ø �JŠJ�uÐ/Ñ/Ñ 0Ô 0Ð 0Ø Œ>ð Ø �JŠJ�yÑ !Ô !Ð !Ð !àÔÔ(ð *°ð *Ø— ’ ˜=Ñ)Ô)Ð)Ø �JŠJ�t”y %Ñ (Ô (Ð (ØÔÔ(ð °ð Ø— ’ ˜3‘”�Ø Œ9ð Ø �JŠJ�s‰OŒOˆOà Œ>ð AØ �JŠJÐ?Ñ @Ô @Ð @Ð @à �JŠJ�}Ð8¨Ð?¸CÑ @Ô @Ð @à � Š ‰ Œ ˆ Ø ×Ò˜Ñ$Ô$Ð$à �Š˜œ  :Ñ.Ô.Ð.Ø Œ:ð ;Ø �NŠN˜8Ð&9Ñ9Ñ :Ô :Ð :Ø � Š ‰ŒˆØ ×ÒØ ¨$¬.Ð*KÀĸ^ð ñ ô ð ð Œ:ð Ø �NŠN˜8Ð&9Ñ9Ñ :Ô :Ð :Ø �KŠK‰MŒMˆMØ × Ò ˜ZÑ (Ô (Ð (Ø �OŠO˜DœJ¨ Ñ 3Ô 3Ð 3Ø × Ò ˜ZÑ (Ô (Ð (Ø �LŠL‰NŒNˆNð Œ>ð "Ø × 'Ò '¨ Ñ 3Ô 3Ð 3Ø �LŠL‰NŒNˆNØ × Ò ˜U DÑ )Ô )Ð )ØÔÔ(ð %Ø— ’ ˜8Ñ$Ô$Ð$Ø �JŠJ�wÑ Ô Ð ØÔÔ(ð *Ø— ’ ˜=Ñ)Ô)Ð)Ø �JŠJ�t”y %Ñ (Ô (Ð (ØÔÔ(ð Ø— ’ ˜3‘”�Ø �JŠJ�yÑ !Ô !Ð !Ø �NŠN˜5Ñ !Ô !Ð !Ð !Ð !ð "ð "r:có(—| ¦«}| d|¦«| |j|¦«| d¦«| ¦«| |j|¦«| ¦«|j D]‹}| d|¦«| |j|¦«| d¦«| ¦«| |j|¦«| ¦«ŒŒ|j rZ| d¦«| ¦«| |j |¦«| ¦«dSdS)Nr­r¬zelif rÃ) r†rÀr1rªrÓrÄrÚrrÅÚelif_r³)r2r3r4Úif_framer¾s r8Úvisit_IfzCodeGenerator.visit_If»sN€Ø—:’:‘<”<ˆØ �Š�u˜dÑ#Ô#Ð#Ø � Š �4”9˜hÑ'Ô'Ð'Ø � Š �3‰ŒˆØ � Š ‰ Œ ˆ Ø �Š˜œ  8Ñ,Ô,Ð,Ø � Š ‰ŒˆØ”Zð ð ˆEØ �NŠN˜7 EÑ *Ô *Ð *Ø �JŠJ�u”z 8Ñ ,Ô ,Ð ,Ø �JŠJ�s‰OŒOˆOØ �KŠK‰MŒMˆMØ �OŠO˜EœJ¨Ñ 1Ô 1Ð 1Ø �LŠL‰NŒNˆNˆNØ Œ:ð Ø �NŠN˜7Ñ #Ô #Ð #Ø �KŠK‰MŒMˆMØ �OŠO˜DœJ¨Ñ 1Ô 1Ð 1Ø �LŠL‰NŒNˆNˆNˆNð  ð r:có¬—| ||¦«\}}| ¦«|jrT|j d¦«s| d|jz¦«| d|jz¦«| d|j |j¦«z¦«|  ||¦«dS)Nr rWr–r) r*ràrsrDrŸrÓrÀrrrr0)r2r3r4Ú macro_framer%s r8Ú visit_MacrozCodeGenerator.visit_MacroÐsÁ€Ø!%§¢°°uÑ!=Ô!=ш �YØ � Š ‰ŒˆØ Œ>ð >Ø”9×'Ò'¨Ñ,Ô,ð HØ— ’ Ð:¸T¼YÑFÑGÔGÐGØ �NŠNÐ0°4´9Ñ<Ñ =Ô =Ð =Ø � Š �7˜Uœ]×.Ò.¨t¬yÑ9Ô9Ñ9Ñ:Ô:Ð:Ø �Š�y +Ñ.Ô.Ð.Ð.Ð.r:có—| ||¦«\}}| d¦«| ||¦«| ||¦«| |j|d¬¦«| |¦«dS)Nz caller = T)Úforward_caller)r*rÀr0rÐÚ visit_CallÚcallrÔ)r2r3r4Ú call_framer%s r8Úvisit_CallBlockzCodeGenerator.visit_CallBlockÚsˆ€Ø $§¢°°eÑ <Ô <ш �IØ �Š�{Ñ#Ô#Ð#Ø �Š�y *Ñ-Ô-Ð-Ø ×Ò˜ Ñ%Ô%Ð%Ø �Š˜œ  5¸ˆÑ>Ô>Ð>Ø �Š�uÑÔÐÐÐr:có¢—| ¦«}|j |¦«| |¦«| |¦«| |j|¦«| ||¦«| |j |¦«|  |¦«|  |¦«dSr,) r„rrrr rvrÚrrÐr•ÚfilterrÔr )r2r3r4Ú filter_frames r8Úvisit_FilterBlockzCodeGenerator.visit_FilterBlockâs¼€Ø—{’{‘}”}ˆ ØÔ×)Ò)¨$Ñ/Ô/Ð/Ø ×Ò˜Ñ&Ô&Ð&Ø � Š �LÑ!Ô!Ð!Ø �Š˜œ  <Ñ0Ô0Ð0Ø ×Ò˜ Ñ%Ô%Ð%Ø ×Ò˜$œ+ |Ñ4Ô4Ð4Ø �Š�uÑÔÐØ ×Ò˜Ñ&Ô&Ð&Ð&Ð&r:cóÖ—| ¦«}|j |¦«| |¦«t |j|j¦«D]Z\}}| ¦«| ||¦«|  d¦«| ||¦«Œ[|  |j |¦«|  |¦«dS©Nrþ) r„rrrr rÚtargetsÚvaluesràr1rÓrÚrr )r2r3r4Ú with_framerÚexprs r8Ú visit_WithzCodeGenerator.visit_WithísՀؗ[’[‘]”]ˆ ØÔ×'Ò'¨Ñ-Ô-Ð-Ø ×Ò˜Ñ$Ô$Ð$Ý  ¤¨t¬{Ñ;Ô;ð $ð $‰LˆF�DØ �LŠL‰NŒNˆNØ �JŠJ�v˜zÑ *Ô *Ð *Ø �JŠJ�uÑ Ô Ð Ø �JŠJ�t˜UÑ #Ô #Ð #Ð #Ø �Š˜œ  :Ñ.Ô.Ð.Ø ×Ò˜Ñ$Ô$Ð$Ð$Ð$r:cóf—| |¦«| |j|¦«dSr,)ràr1r3r‡s r8Úvisit_ExprStmtzCodeGenerator.visit_ExprStmtùs0€Ø � Š �TÑÔÐØ � Š �4”9˜eÑ$Ô$Ð$Ð$Ð$r:Ú _FinalizeInfo)ÚconstÚsrccóh‡‡‡—‰j�‰jS‰jx}Šd}‰jjrid}‰jjŠˆˆfd„}t ‰dd¦«dur|dz }d}n:t ‰dd¦«dur|d z }d}nt ‰d d¦«dur |d z }ˆˆˆfd „}‰ ||¦«‰_‰jS) a‰Build the finalize function to be used on constants and at runtime. Cached so it's only created once for all output nodes. Returns a ``namedtuple`` with the following attributes: ``const`` A function to finalize constant data at compile time. ``src`` Source code to output around nodes to be evaluated at runtime. Nzenvironment.finalize(có,•—‰‰|¦«¦«Sr,rl)rWr)Ú env_finalizes €€r8Úfinalizez.CodeGenerator._make_finalize..finalizesø€Ø�w˜|˜|¨EÑ2Ô2Ñ3Ô3Ð3r:ÚcontextfunctionFTú context, Úevalcontextfunctionúcontext.eval_ctx, Úenvironmentfunctionú environment, có8•—‰‰‰j|¦«¦«Sr,)rC)rWr)rÜr2s €€€r8rÝz.CodeGenerator._make_finalize..finalize's"ø€Ø"˜7 < <°Ô0@À%Ñ#HÔ#HÑIÔIÐIr:)Ú _finalizeÚ_default_finalizerCrÝrùr×)r2rÝrÙr)rÜs` @@r8Ú_make_finalizezCodeGenerator._make_finalizes(øøø€ð Œ>Ð %Ø”>Ð !à!Ô3Ð3ˆ�7؈à Ô Ô $ð JØ)ˆCØÔ+Ô4ˆLð 4ð 4ð 4ð 4ð 4ð 4õ�|Ð%6¸Ñ>Ô>À$ÐFÐFØ�{Ñ"�Ø��ݘÐ'<¸eÑDÔDÈÐLÐLØÐ+Ñ+�Ø��ݘÐ'<¸eÑDÔDÈÐLÐLØ�Ñ&�ðJðJðJðJðJðJðJð×+Ò+¨H°cÑ:Ô:ˆŒØŒ~Ðr:có:—tt|¦«¦«S)z™Given a group of constant values converted from ``Output`` child nodes, produce a string to write to the template module source. )r-r)r2Úgroups r8Ú_output_const_reprz CodeGenerator._output_const_repr-s€õ •F˜5‘M”MÑ"Ô"Ð"r:cóè—| |j¦«}|jjrt|¦«}t |t j¦«rt|¦«S| |¦«S)aCTry to optimize a child of an ``Output`` node by trying to convert it to constant, finalized data at compile time. If :exc:`Impossible` is raised, the node is not constant and will be evaluated at runtime. Any other exception will also be evaluated at runtime for easier debugging. ) Úas_constr.rÆrr=r Ú TemplateDatarrØ)r2r3r4rÝrØs r8Ú_output_child_to_constz$CodeGenerator._output_child_to_const4sf€ð— ’ ˜eœnÑ-Ô-ˆà Œ>Ô $ð "ݘ5‘M”MˆEõ �d�EÔ.Ñ /Ô /ð $ݘUÑ#Ô#Ð #à�~Š~˜eÑ$Ô$Ð$r:cóþ—|jjr| d¦«n7|jjr| d¦«n| d¦«|j�| |j¦«dSdS)zXOutput extra source code before visiting a child of an ``Output`` node. z7(escape if context.eval_ctx.autoescape else to_string)(zescape(z to_string(N)r.r/rÓrÆrÙ©r2r3r4rÝs r8Ú_output_child_prezCodeGenerator._output_child_preGs…€ð Œ>Ô "ð %Ø �JŠJÐPÑ QÔ QÐ QÐ QØ Œ^Ô &ð %Ø �JŠJ�yÑ !Ô !Ð !Ð !à �JŠJ�|Ñ $Ô $Ð $à Œ<Ð #Ø �JŠJ�x”|Ñ $Ô $Ð $Ð $Ð $ð $Ð #r:cól—| d¦«|j�| d¦«dSdS)zWOutput extra source code after visiting a child of an ``Output`` node. rÒN)rÓrÙrðs r8Ú_output_child_postz CodeGenerator._output_child_postUs6€ð � Š �3‰Œˆà Œ<Ð #Ø �JŠJ�s‰OŒOˆOˆOˆOð $Ð #r:cóÞ—|jr2|jrdS| d¦«| ¦«| ¦«}g}|jD]Ï} |js-t|t j¦«st j ¦«‚|  |||¦«}n1#t j tf$r|  |¦«YŒ|wxYw|r7t|dt¦«r|d  |¦«Œ¹|  |g¦«ŒÐ|j�bt|¦«dkr| d|jz¦«n| d|jz¦«| ¦«|D]ø}t|t¦«rN| |¦«}|j€| d|z¦«ŒL| |dz¦«Œe|j€| d|¦«n| |¦«| |||¦«| ||¦«| |||¦«|j�| d¦«Œù|j�>| ¦«| t|¦«dkrdnd ¦«|jr| ¦«dSdS) Nr|rAr rÏz %s.extend((rÎr.rÒú)))rur­rÀrÄrçr rØr=ríÚ ImpossiblerîÚ ExceptionrÝrRrvrrêràrñr1rórÓrÅ) r2r3r4rÝrÚchildrØrXÚvals r8Ú visit_OutputzCodeGenerator.visit_Output^sø€à Ô %ð àÔ%ð Ø�à �NŠNÐ8Ñ 9Ô 9Ð 9Ø �KŠK‰MŒMˆMà×&Ò&Ñ(Ô(ˆØˆð ”Zð %ð %ˆEð ð”Nð-õ " %­Ô);Ñ<Ô<ð -õ Ô*Ñ,Ô,Ð,à×3Ò3°E¸5À(ÑKÔK��øÝÔ$¥iÐ0ð ð ð ð— ’ ˜EÑ"Ô"Ð"Ø�ð  øøøðð %�  4¨¤8­TÑ2Ô2ð %Ø�R”—’ Ñ&Ô&Ð&Ð&à— ’ ˜U˜GÑ$Ô$Ð$Ð$à Œ<Ð #Ý�4‰yŒy˜AŠ~ˆ~Ø—’˜|¨e¬lÑ:Ñ;Ô;Ð;Ð;à—’˜}¨u¬|Ñ;Ñ<Ô<Ð<à �KŠK‰MŒMˆMàð $ð $ˆDݘ$¥Ñ%Ô%ð $à×-Ò-¨dÑ3Ô3�à”<Ð'Ø—N’N 8¨c¡>Ñ2Ô2Ð2Ð2à—N’N 3¨¡9Ñ-Ô-Ð-Ð-à”<Ð'Ø—N’N 8¨TÑ2Ô2Ð2Ð2à—L’L Ñ&Ô&Ð&ð×&Ò& t¨U°HÑ=Ô=Ð=Ø— ’ ˜4 Ñ'Ô'Ð'Ø×'Ò'¨¨e°XÑ>Ô>Ð>à”<Ð+Ø—J’J˜s‘O”O�Oøà Œ<Ð #Ø �LŠL‰NŒNˆNØ �NŠN¥# d¡)¤)¨q¢. .˜3˜3°dÑ ;Ô ;Ð ;à Ô %ð Ø �LŠL‰NŒNˆNˆNˆNð ð sÁA B&Â&+CÃCcó—| ¦«| |¦«| |j|¦«| d¦«| |j|¦«| |¦«dSrÏ)rQràr1rrÓr3r\r‡s r8Ú visit_AssignzCodeGenerator.visit_Assign­s~€Ø ×!Ò!Ñ#Ô#Ð#Ø � Š �TÑÔÐØ � Š �4”; Ñ&Ô&Ð&Ø � Š �5ÑÔÐØ � Š �4”9˜eÑ$Ô$Ð$Ø × Ò  Ñ'Ô'Ð'Ð'Ð'r:cóª—| ¦«| ¦«}d|_|j |¦«| |¦«| |¦«| |j|¦«|  |¦«|  |j |¦«|  d¦«|j �| |j |¦«n|  d|jz¦«|  d¦«| |¦«| |¦«dS)NFz9 = (Markup if context.eval_ctx.autoescape else identity)(ú concat(%s)rÒ)rQr„rurrrr rvrÚrràr1rrÓrËr•r\r )r2r3r4rys r8Úvisit_AssignBlockzCodeGenerator.visit_AssignBlockµs3€Ø ×!Ò!Ñ#Ô#Ð#Ø—k’k‘m”mˆ ð,1ˆ Ô(ØÔ×(Ò(¨Ñ.Ô.Ð.Ø ×Ò˜Ñ%Ô%Ð%Ø � Š �KÑ Ô Ð Ø �Š˜œ  ;Ñ/Ô/Ð/Ø � Š �TÑÔÐØ � Š �4”; Ñ&Ô&Ð&Ø � Š ÐNÑOÔOÐOØ Œ;Ð "Ø × Ò ˜dœk¨;Ñ 7Ô 7Ð 7Ð 7à �JŠJ�| kÔ&8Ñ8Ñ 9Ô 9Ð 9Ø � Š �3‰ŒˆØ × Ò  Ñ'Ô'Ð'Ø ×Ò˜Ñ%Ô%Ð%Ð%Ð%r:c óЗ|jdkr3|jr,|jr%|jd |j¦«|j |j¦«}|jdkrh|j |¦«}|�&|dtkr|  |¦«r&|  d|j›d|›d|›d�¦«dS|  |¦«dS) Nr¯rAržrz(undefined(name=z) if z is missing else rÒ) rŸrsr¶r”rDrrrÚ find_loadrrOrÓ)r2r3r4rržs r8r¡zCodeGenerator.visit_NameÍsô€Ø Œ8�wÒ Ð  5¤>Ð ØÔ!ð 6ØÔ" 2Ô&×*Ò*¨4¬9Ñ5Ô5Ð5ØŒm×Ò ¤ Ñ*Ô*ˆð Œ8�vÒ Ð Ø”=×*Ò*¨3Ñ/Ô/ˆDàРؘ”GÕ1Ò1Ð1Ø×4Ò4°SÑ9Ô9ð2ð— ’ � à”y�y�y # # # s s sð,ñôðð�à � Š �3‰Œˆˆˆr:có4—|j |j¦«}| d|z¦«| ¦«| ddz¦«| ¦«| |›d|j›d�¦«dS)Nz!if not isinstance(%s, Namespace):rƒz/cannot assign attribute on non-namespace objectr÷rø)rrrrDrÀrÄrÅÚattr)r2r3r4rs r8Ú visit_NSRefzCodeGenerator.visit_NSRefås˜€ðŒm×Ò ¤ Ñ*Ô*ˆØ �ŠÐ:¸SÑ@ÑAÔAÐAØ � Š ‰ Œ ˆ Ø �ŠØ ,Ø?ñ @ñ ô ð ð � Š ‰ŒˆØ �Š 3 3 3¨¬ ¨ ¨ Ð2Ñ3Ô3Ð3Ð3Ð3r:cóð—| |j¦«}t|t¦«r$| t |¦«¦«dS| t |¦«¦«dSr,)rìr.r=rOrÓÚstrr-)r2r3r4rùs r8Ú visit_ConstzCodeGenerator.visit_Constósc€Ø�mŠm˜EœNÑ+Ô+ˆÝ �c�5Ñ !Ô !ð "Ø �JŠJ•s˜3‘x”xÑ Ô Ð Ð Ð à �JŠJ•t˜C‘y”yÑ !Ô !Ð !Ð !Ð !r:cóâ— | t| |j¦«¦«¦«dS#tj$r!| d|jz¦«YdSwxYw)Nz9(Markup if context.eval_ctx.autoescape else identity)(%r))rÓr-rìr.r röÚdatar‡s r8Úvisit_TemplateDataz CodeGenerator.visit_TemplateDataús‚€ð Ø �JŠJ•t˜DŸMšM¨%¬.Ñ9Ô9Ñ:Ô:Ñ ;Ô ;Ð ;Ð ;Ð ;øÝÔð ð ð Ø �JŠJØKÈdÌiÑWñ ô ð ð ð ð ð øøøs‚:>¾,A.Á-A.cóü—| d¦«d}t|j¦«D]2\}}|r| d¦«| ||¦«Œ3| |dkrdpd¦«dS)NrÿrArérz,)rÒ©rÓrr'r1©r2r3r4r(rXs r8Ú visit_TuplezCodeGenerator.visit_TuplesŠ€Ø � Š �3‰ŒˆØˆÝ" 4¤:Ñ.Ô.ð $ð $‰IˆC�Øð !Ø— ’ ˜4Ñ Ô Ð Ø �JŠJ�t˜UÑ #Ô #Ð #Ð #Ø � Š �3˜!’8Ð$ Ð+¨Ñ,Ô,Ð,Ð,Ð,r:cóè—| d¦«t|j¦«D]2\}}|r| d¦«| ||¦«Œ3| d¦«dS)Nr÷rérør r s r8Ú visit_ListzCodeGenerator.visit_List sr€Ø � Š �3‰ŒˆÝ" 4¤:Ñ.Ô.ð $ð $‰IˆC�Øð !Ø— ’ ˜4Ñ Ô Ð Ø �JŠJ�t˜UÑ #Ô #Ð #Ð #Ø � Š �3‰Œˆˆˆr:cóR—| d¦«t|j¦«D]g\}}|r| d¦«| |j|¦«| d¦«| |j|¦«Œh| d¦«dS)Nú{rérërì)rÓrr'r1rYrWr s r8Ú visit_DictzCodeGenerator.visit_Dictsœ€Ø � Š �3‰ŒˆÝ" 4¤:Ñ.Ô.ð *ð *‰IˆC�Øð !Ø— ’ ˜4Ñ Ô Ð Ø �JŠJ�t”x Ñ 'Ô 'Ð 'Ø �JŠJ�tÑ Ô Ð Ø �JŠJ�t”z 5Ñ )Ô )Ð )Ð )Ø � Š �3‰Œˆˆˆr:có,‡—tˆfd„¦«}|S)Ncóô•—|jjrr‰|jjvrd| d‰z¦«| |j|¦«| d¦«| |j|¦«nc| d¦«| |j|¦«| d‰z¦«| |j|¦«| d¦«dS)Nz$environment.call_binop(context, %r, rérÿú %s rÒ)rCÚ sandboxedÚintercepted_binopsrÓr1ÚleftÚright©r2r3r4Úoperators €r8r_z$CodeGenerator.binop..visitorsâø€ðÔ Ô*ð .à Ô 0Ô CÐCÐCà— ’ ÐAÀHÑLÑMÔMÐMØ— ’ ˜4œ9 eÑ,Ô,Ð,Ø— ’ ˜4Ñ Ô Ð Ø— ’ ˜4œ: uÑ-Ô-Ð-Ð-à— ’ ˜3‘”�Ø— ’ ˜4œ9 eÑ,Ô,Ð,Ø— ’ ˜6 HÑ,Ñ-Ô-Ð-Ø— ’ ˜4œ: uÑ-Ô-Ð-Ø �JŠJ�s‰OŒOˆOˆOˆOr:©r;©rÚ interceptabler_s` r8ÚbinopzCodeGenerator.binops-ø€Ý ð ð ð ð ñ Œð ð ˆr:có,‡—tˆfd„¦«}|S)Ncó4•—|jjrB‰|jjvr4| d‰z¦«| |j|¦«n3| d‰z¦«| |j|¦«| d¦«dS)Nz#environment.call_unop(context, %r, rÿrÒ)rCrÚintercepted_unopsrÓr1r3rs €r8r_z#CodeGenerator.uaop..visitor2s”ø€ðÔ Ô*ð -à Ô 0Ô BÐBÐBà— ’ Ð@À8ÑKÑLÔLÐLØ— ’ ˜4œ9 eÑ,Ô,Ð,Ð,à— ’ ˜3 ™>Ñ*Ô*Ð*Ø— ’ ˜4œ9 eÑ,Ô,Ð,Ø �JŠJ�s‰OŒOˆOˆOˆOr:rrs` r8ÚuaopzCodeGenerator.uaop1s-ø€Ý ð ð ð ð ñ Œð ðˆr:ú+ú-Ú*ú/z//z**ú%Úand)rÚorznot có —|jjrd}n|jjrd}nd}| d|z¦«|jD]-}| ||¦«| d¦«Œ.| d¦«dS)Nz;(context.eval_ctx.volatile and markup_join or unicode_join)Ú markup_joinÚ unicode_joinz%s((rérõ)r.r/rÆrÓr r1)r2r3r4r’rôs r8Ú visit_ConcatzCodeGenerator.visit_ConcatOs˜€à Œ>Ô "ð 'ØUˆIˆIØ Œ^Ô &ð 'Ø%ˆIˆIà&ˆIØ � Š �6˜IÑ%Ñ&Ô&Ð&Ø”:ð ð ˆCØ �JŠJ�s˜EÑ "Ô "Ð "Ø �JŠJ�tÑ Ô Ð Ð Ø � Š �4ÑÔÐÐÐr:cóЗ| d¦«| |j|¦«|jD]}| ||¦«Œ| d¦«dS)NrÿrÒ)rÓr1rÓÚops)r2r3r4Úops r8Ú visit_ComparezCodeGenerator.visit_Compare]sb€à � Š �3‰ŒˆØ � Š �4”9˜eÑ$Ô$Ð$Ø”(ð "ð "ˆBØ �JŠJ�r˜5Ñ !Ô !Ð !Ð !Ø � Š �3‰Œˆˆˆr:cóŒ—| dt|jz¦«| |j|¦«dS)Nr)rÓÚ operatorsr2r1rÓr‡s r8Ú visit_OperandzCodeGenerator.visit_Operandes<€Ø � Š �6�I d¤gÔ.Ñ.Ñ/Ô/Ð/Ø � Š �4”9˜eÑ$Ô$Ð$Ð$Ð$r:có(—|jjr| d¦«| d¦«| |j|¦«| d|jz¦«|jjr| d¦«dSdS)Nú(await auto_await(zenvironment.getattr(r„rõ)rCrrÓr1r3rr‡s r8Ú visit_GetattrzCodeGenerator.visit_Getattris•€à Ô Ô $ð -Ø �JŠJÐ+Ñ ,Ô ,Ð ,à � Š Ð)Ñ*Ô*Ð*Ø � Š �4”9˜eÑ$Ô$Ð$Ø � Š �7˜TœYÑ&Ñ'Ô'Ð'à Ô Ô $ð Ø �JŠJ�tÑ Ô Ð Ð Ð ð ð r:cóz—t|jtj¦«rb| |j|¦«| d¦«| |j|¦«| d¦«dS|jjr| d¦«| d¦«| |j|¦«| d¦«| |j|¦«| d¦«|jjr| d¦«dSdS)Nr÷rør8zenvironment.getitem(rérÒrõ) r=rôr ÚSlicer1r3rÓrCrr‡s r8Ú visit_GetitemzCodeGenerator.visit_Getitemus€õ �d”h¥¤ Ñ ,Ô ,ð !Ø �JŠJ�t”y %Ñ (Ô (Ð (Ø �JŠJ�s‰OŒOˆOØ �JŠJ�t”x Ñ 'Ô 'Ð 'Ø �JŠJ�s‰OŒOˆOˆOˆOàÔÔ(ð 1Ø— ’ Ð/Ñ0Ô0Ð0à �JŠJÐ-Ñ .Ô .Ð .Ø �JŠJ�t”y %Ñ (Ô (Ð (Ø �JŠJ�tÑ Ô Ð Ø �JŠJ�t”x Ñ 'Ô 'Ð 'Ø �JŠJ�s‰OŒOˆOàÔÔ(ð !Ø— ’ ˜4Ñ Ô Ð Ð Ð ð !ð !r:có*—|j�| |j|¦«| d¦«|j�| |j|¦«|j�2| d¦«| |j|¦«dSdS)Nr¬)Ústartr1rÓÚstoprÌr‡s r8Ú visit_SlicezCodeGenerator.visit_SliceŠsˆ€Ø Œ:Ð !Ø �JŠJ�t”z 5Ñ )Ô )Ð )Ø � Š �3‰ŒˆØ Œ9Ð Ø �JŠJ�t”y %Ñ (Ô (Ð (Ø Œ9Ð Ø �JŠJ�s‰OŒOˆOØ �JŠJ�t”y %Ñ (Ô (Ð (Ð (Ð (ð !Ð r:cóô—|jjr| d¦«| |j|jdz¦«|jj |j¦«}|€#| d|jz|j¦«t|dd¦«dur| d¦«nQt|dd¦«dur| d ¦«n(t|d d¦«dur| d ¦«|j �|  |j |¦«nz|j j r'| d |j ›d |j ›d�¦«nG|j jr| d|j z¦«n| d|j z¦«| ||¦«| d¦«|jjr| d¦«dSdS)Núawait auto_await(rÿzno filter named %rÚ contextfilterFTrßÚevalcontextfilterráÚenvironmentfilterrãz/(context.eval_ctx.autoescape and Markup(concat(z )) or concat(rõzMarkup(concat(%s))rþrÒ)rCrrÓr�rDÚgetr¼r»rùr3r1r.r/rvrÆrõ)r2r3r4rs r8r•zCodeGenerator.visit_Filter”sü€à Ô Ô $ð ,Ø �JŠJÐ*Ñ +Ô +Ð +Ø � Š �4”< ¤ Ô*¨SÑ0Ñ1Ô1Ð1ØÔÔ'×+Ò+¨D¬IÑ6Ô6ˆØ ˆ<Ø �IŠIÐ*¨T¬YÑ6¸¼ Ñ DÔ DÐ DÝ �4˜¨%Ñ 0Ô 0°DÐ 8Ð 8Ø �JŠJ�{Ñ #Ô #Ð #Ð #Ý �TÐ.°Ñ 6Ô 6¸$Ð >Ð >Ø �JŠJÐ+Ñ ,Ô ,Ð ,Ð ,Ý �TÐ.°Ñ 6Ô 6¸$Ð >Ð >Ø �JŠJ�Ñ 'Ô 'Ð 'ð Œ9Ð Ø �JŠJ�t”y %Ñ (Ô (Ð (Ð (Ø Œ^Ô $ð 4Ø �JŠJˆJà8=¼ ¸ ¸ ÀeÄlÀlÀlðTñ ô ð ð ðŒ^Ô &ð 4Ø �JŠJÐ+¨e¬lÑ:Ñ ;Ô ;Ð ;Ð ;à �JŠJ�| e¤lÑ2Ñ 3Ô 3Ð 3Ø �Š�t˜UÑ#Ô#Ð#Ø � Š �3‰ŒˆØ Ô Ô $ð Ø �JŠJ�s‰OŒOˆOˆOˆOð ð r:cóN—| |j|jdz¦«|j|jjvr#| d|jz|j¦«| |j|¦«| ||¦«| d¦«dS)Nrÿzno test named %rrÒ) rÓr�rDrCr¼r»r1r3rõr‡s r8r—zCodeGenerator.visit_Testµs�€à � Š �4”:˜dœiÔ(¨3Ñ.Ñ/Ô/Ð/Ø Œ9˜DÔ,Ô2Ð 2Ð 2Ø �IŠIÐ(¨4¬9Ñ4°d´kÑ BÔ BÐ BØ � Š �4”9˜eÑ$Ô$Ð$Ø �Š�t˜UÑ#Ô#Ð#Ø � Š �3‰Œˆˆˆr:cóB‡‡‡—ˆˆˆfd„}‰ d¦«‰ ‰j‰¦«‰ d¦«‰ ‰j‰¦«‰ d¦«|¦«‰ d¦«dS)Nc󨕗‰j�‰ ‰j‰¦«S‰ dd‰ ‰¦«zz¦«dS)Nzcond_expr_undefined(%r)zRthe inline if-expression on %s evaluated to false and no else section was defined.)Úexpr2r1rÓr3)r4r3r2s€€€r8Ú write_expr2z1CodeGenerator.visit_CondExpr..write_expr2Àscø€ØŒzÐ%Ø—z’z $¤*¨eÑ4Ô4Ð4Ø �JŠJØ)ð3à59·]²]À4Ñ5HÔ5HñIññ ô ð ð ð r:rÿz if z else rÒ)rÓr1Úexpr1rª)r2r3r4rKs``` r8Úvisit_CondExprzCodeGenerator.visit_CondExpr¾s§øøø€ð ð ð ð ð ð ð ð � Š �3‰ŒˆØ � Š �4”:˜uÑ%Ô%Ð%Ø � Š �6ÑÔÐØ � Š �4”9˜eÑ$Ô$Ð$Ø � Š �8ÑÔÐØˆ ‰ Œ ˆ Ø � Š �3‰Œˆˆˆr:cóš—|jjr| d¦«|jjr| d¦«n| d¦«| |j|¦«|rddipd}| |||¦«| d¦«|jjr| d¦«dSdS)NrBzenvironment.call(context, z context.call(rrÒ)rCrrÓrr1r3rõ)r2r3r4rÅrñs r8rÆzCodeGenerator.visit_CallÔsÓ€à Ô Ô $ð ,Ø �JŠJÐ*Ñ +Ô +Ð +Ø Ô Ô %ð (Ø �JŠJÐ3Ñ 4Ô 4Ð 4Ð 4à �JŠJ�Ñ 'Ô 'Ð 'Ø � Š �4”9˜eÑ$Ô$Ð$Ø%Ð>¨8°XÐ*>ÐFÀ$ˆ Ø �Š�t˜U LÑ1Ô1Ð1Ø � Š �3‰ŒˆØ Ô Ô $ð Ø �JŠJ�s‰OŒOˆOˆOˆOð ð r:cóv—| |jdz¦«| |j|¦«dS)Nrê)rÓrYr1rWr‡s r8Ú visit_KeywordzCodeGenerator.visit_Keywordãs6€Ø � Š �4”8˜c‘>Ñ"Ô"Ð"Ø � Š �4”:˜uÑ%Ô%Ð%Ð%Ð%r:có�—| d¦«| |j|¦«| d¦«dS)NzMarkup(rÒ©rÓr1rÓr‡s r8Úvisit_MarkSafezCodeGenerator.visit_MarkSafeés=€Ø � Š �9ÑÔÐØ � Š �4”9˜eÑ$Ô$Ð$Ø � Š �3‰Œˆˆˆr:có�—| d¦«| |j|¦«| d¦«dS)Nz5(context.eval_ctx.autoescape and Markup or identity)(rÒrRr‡s r8Úvisit_MarkSafeIfAutoescapez(CodeGenerator.visit_MarkSafeIfAutoescapeîs>€Ø � Š ÐJÑKÔKÐKØ � Š �4”9˜eÑ$Ô$Ð$Ø � Š �3‰Œˆˆˆr:có@—| d|jz¦«dS)Nz environment.©rÓrDr‡s r8Úvisit_EnvironmentAttributez(CodeGenerator.visit_EnvironmentAttributeós!€Ø � Š �> D¤IÑ-Ñ.Ô.Ð.Ð.Ð.r:cóP—| d|j›d|j›�¦«dS)Nzenvironment.extensions[z].)rÓÚ identifierrDr‡s r8Úvisit_ExtensionAttributez&CodeGenerator.visit_ExtensionAttributeös+€Ø � Š ˆ °d´o°o°oÀtÄyÀyÐQÑRÔRÐRÐRÐRr:cóP—| |j|j¦«dSr,)rÓrªror‡s r8Úvisit_ImportedNamez CodeGenerator.visit_ImportedNameùs$€Ø � Š �4Ô& t¤Ô7Ñ8Ô8Ð8Ð8Ð8r:có:—| |j¦«dSr,rWr‡s r8Úvisit_InternalNamez CodeGenerator.visit_InternalNameüs€Ø � Š �4”9ÑÔÐÐÐr:có0—| d¦«dS)Nr¨)rÓr‡s r8Úvisit_ContextReferencez$CodeGenerator.visit_ContextReferenceÿs€Ø � Š �9ÑÔÐÐÐr:cóV—| | |¦«¦«dSr,)rÓrMr‡s r8Úvisit_DerivedContextReferencez+CodeGenerator.visit_DerivedContextReferences(€Ø � Š �4×&Ò& uÑ-Ô-Ñ.Ô.Ð.Ð.Ð.r:có2—| d|¦«dS)NÚcontinuer:r‡s r8Úvisit_ContinuezCodeGenerator.visit_Continues€Ø �Š�z 4Ñ(Ô(Ð(Ð(Ð(r:có2—| d|¦«dS)NÚbreakr:r‡s r8Ú visit_BreakzCodeGenerator.visit_Breaks€Ø �Š�w Ñ%Ô%Ð%Ð%Ð%r:cóì—| ¦«}|j |¦«| |¦«| |j|¦«| |¦«dSr,)r„rrrr rÚrr )r2r3r4Ú scope_frames r8Ú visit_ScopezCodeGenerator.visit_Scope sj€Ø—k’k‘m”mˆ ØÔ×(Ò(¨Ñ.Ô.Ð.Ø ×Ò˜Ñ%Ô%Ð%Ø �Š˜œ  ;Ñ/Ô/Ð/Ø ×Ò˜Ñ%Ô%Ð%Ð%Ð%r:có*—| ¦«}| |›d| |¦«›�¦«| d|z¦«| |j|¦«| |¦«| d¬¦«}|j |¦«|  |¦«|  |j |¦«|  |¦«|  ¦«dS)Nrþz %s.vars = T)rƒ)r¾rÀrMr1r¨rDr„rrrr rÚrr rF)r2r3r4rŸrks r8Úvisit_OverlayScopez CodeGenerator.visit_OverlayScopes€Ø×'Ò'Ñ)Ô)ˆØ �Š C C C¨×)<Ò)<¸UÑ)CÔ)CÐ)CÐDÑEÔEÐEØ �Š�| cÑ)Ñ*Ô*Ð*Ø � Š �4”< Ñ'Ô'Ð'Ø ×#Ò# CÑ(Ô(Ð(à—k’k¨4�kÑ0Ô0ˆ ØÔ×(Ò(¨Ñ.Ô.Ð.Ø ×Ò˜Ñ%Ô%Ð%Ø �Š˜œ  ;Ñ/Ô/Ð/Ø ×Ò˜Ñ%Ô%Ð%Ø ×"Ò"Ñ$Ô$Ð$Ð$Ð$r:cóB—|jD]–}| d|jz¦«| |j|¦« |j |j¦«}t|j|j|¦«Œv#tj $rd|j_ YŒ“wxYwdS)Nzcontext.eval_ctx.%s = T) ÚoptionsrÀrYr1rWrìr.Úsetattrr rör/)r2r3r4Úkeywordrùs r8Úvisit_EvalContextModifierz'CodeGenerator.visit_EvalContextModifier s´€Ø”|ð :ð :ˆGØ �NŠNÐ3°g´kÑAÑ BÔ BÐ BØ �JŠJ�w”} eÑ ,Ô ,Ð ,ð :Ø”m×,Ò,¨U¬^Ñ<Ô<�õ˜œ¨¬ °SÑ9Ô9Ð9Ð9øõÔ#ð /ð /ð /Ø*.�”Ô'Ð'Ð'ð /øøøð  :ð :sÁA>Á>BÂBcó`—| ¦«}|j ¦«}| d|z¦«| ||¦«|jD]}| ||¦«Œ|j |¦«| d|z¦«dS)Nz%s = context.eval_ctx.save()zcontext.eval_ctx.revert(%s))r¾r.ÚsaverÀrsrr1Úrevert)r2r3r4Ú old_ctx_nameÚ saved_ctxrøs r8Úvisit_ScopedEvalContextModifierz-CodeGenerator.visit_ScopedEvalContextModifier+s°€Ø×0Ò0Ñ2Ô2ˆ Ø”N×'Ò'Ñ)Ô)ˆ Ø �ŠÐ5¸ ÑDÑEÔEÐEØ ×&Ò& t¨UÑ3Ô3Ð3Ø”Yð %ð %ˆEØ �JŠJ�u˜eÑ $Ô $Ð $Ð $Ø Œ×Ò˜iÑ(Ô(Ð(Ø �ŠÐ4°|ÑCÑDÔDÐDÐDÐDr:©NFTr‡)r r,)Nr)T)orirjrkrhr¼r¾rvrÈrÄrÅrÐrÔr×rÚrÓrÀràrõrür r rr*r0r3r8r;r"r$r#rDrFrIrrMrOrQr\rzr™rˆr”r r¥r¼rÀrÃrÉrÍrÔrÖrr×rrærårçrêrîrñrórúrürÿr¡rrr rrrr r$Ú visit_AddÚ visit_SubÚ visit_MulÚ visit_DivÚvisit_FloorDivÚ visit_PowÚ visit_ModÚ visit_AndÚvisit_OrÚ visit_PosÚ visit_NegÚ visit_Notr;r/r3r6r9r<r@r•r—rMrÆrPrSrUrXr[r]r_rarcrfrirlrnrsryrlr:r8r¦r¦÷s €€€€€àTXð@4ð@4ð@4ð@4ðHLðLðLð.ð.ð.ð 1ð1ð1ð ;ð;ð;ð;ð$ððð"ð"ð"ð"ð>ð>ð>ð>ðððð ðððð ð ð ð ð ð ððððð *ð*ð*ð*ð3/ð3/ð3/ð3/ðj ð ð ð@ð@ð@ð DðDðDðDðððð N ðN ðN ð` ð ð ð$ððð ð ð ð +ð +ð +ðIðIðIð$ð$ð$ð6ð6ð6ð5ð5ð5ð,ð,ð,ð1ð1ð1ð%ð%ð%ð  ð ð ð 3ð3ð3ð )ð)ð)ðððð>z ðz ðz ðz ðx$ð$ð$ðL+!ð+!ð+!ðZ8ð8ð8ðtNðNðNð2IðIðIðVD"ðD"ðD"ðLððð*/ð/ð/ðððð 'ð 'ð 'ð %ð %ð %ð%ð%ð%ð�J˜Ð0@ÑAÔA€Mð"ÐØ€Ið'ð'ð'ðR#ð#ð#ð%ð%ð%ð& %ð %ð %ððððMðMðMð^(ð(ð(ð&ð&ð&ð0ððð0 4ð 4ð 4ð"ð"ð"ðððð-ð-ð-ððððððððððð(ðððð ��c‘ ” €IØ��c‘ ” €IØ��c‘ ” €IØ��c‘ ” €IØ�U˜4‘[”[€NØ��d‘ ” €IØ��c‘ ” €IØ��e¨5Ð1Ñ1Ô1€I؈u�T¨Ð/Ñ/Ô/€HØ��S‘ ” €IØ��S‘ ” €IØ��V¨5Ð1Ñ1Ô1€IØ ˆtàð ð ñ„]ð ðððñ„]ðð%ð%ð%ðð ð ñ„]ð ðð!ð!ñ„]ð!ð()ð)ð)ðððñ„]ðð@ððñ„]ððððñ„]ðð*ð ð ð ñ„]ð ð&ð&ð&ð ððð ððð /ð/ð/ðSðSðSð9ð9ð9ððððððð/ð/ð/ð)ð)ð)ð&ð&ð&ð&ð&ð&ð %ð %ð %ð :ð :ð :ðEðEðEðEðEr:r¦rz)=rˆÚ collectionsrÚ functoolsrÚ itertoolsrrrrríÚ markupsaferr r_r Ú_compatr r rrrrrÚ exceptionsrÚ idtrackingrrrrrrr0rÚutilsrr_rr5ÚhasattrrVr†riÚexecrÝÚ SyntaxErrorrqr;rHrUr`rzrbrnÚ RuntimeErrorr\r�r[r÷r¤r¦rlr:r8úr“s7ðà6Ð6Ø"Ð"Ð"Ð"Ð"Ð"Ø$Ð$Ð$Ð$Ð$Ð$ØÐÐÐÐÐØ2Ð2Ð2Ð2Ð2Ð2àÐÐÐÐÐØÐÐÐÐÐàÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØÐÐÐÐÐØ#Ð#Ð#Ð#Ð#Ð#ØÐÐÐÐÐØ!Ð!Ð!Ð!Ð!Ð!ØÐÐÐÐÐØ.Ð.Ð.Ð.Ð.Ð.ØÐÐÐÐÐØ&Ð&Ð&Ð&Ð&Ð&Ø*Ð*Ð*Ð*Ð*Ð*Ø(Ð(Ð(Ð(Ð(Ð(Ø*Ð*Ð*Ð*Ð*Ð*ØÐÐÐÐÐØ Ð Ð Ð Ð Ð ØÐÐÐÐÐØ Ð Ð Ð Ð Ð ð Ø Ø Ø Ø Ø Ø Ø ð ð € ð €7ˆ4�ÑÔðØ €N€Nà€Nà� € ð Ø€DÐ 0Ñ1Ô1Ð1Ø×ÒÐ)Ñ*Ô*Ð*Ð*øØð ð ð Ø€Dð øøøðØ€DÐ "Ñ#Ô#Ð#ðÐÐøðð ð ð ØÐÐÐð øøøð 'ð 'ð 'ðQUð +ð +ð +ð +ðððð* ð ð ð&ð&ð&ð&ð&ˆvñ&ô&ð&ð:ð:ð:ð:ð:ˆFñ:ô:ð:ðzJðJðJðJðJ�,ñJôJðJð'ð'ð'ð'ð'˜kñ'ô'ð'ð&&ð&ð&ð&ð&˜Kñ&ô&ð&ð,ðððð�9ñôðð|Eð|Eð|Eð|Eð|E�Kñ|Eô|Eð|Eð|Eð|Es$Â3 CÃCÃCà C.Ã.C8Ã7C8