Skip to content

Instantly share code, notes, and snippets.

@createvibe
Created October 9, 2016 23:20
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save createvibe/0f1a08d352dbeddfc022862c9d105b7e to your computer and use it in GitHub Desktop.
Save createvibe/0f1a08d352dbeddfc022862c9d105b7e to your computer and use it in GitHub Desktop.
TwigJS 0.9.5 Minified
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Twig=t():e.Twig=t()}(this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var o=r[n]={exports:{},id:n,loaded:!1};return e[n].call(o.exports,o,o.exports,t),o.loaded=!0,o.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){/**
* Twig.js 0.8.9
*
* @copyright 2011-2016 John Roepke and the Twig.js Contributors
* @license Available under the BSD 2-Clause License
* @link https://github.com/twigjs/twig.js
*/
var n={VERSION:"0.8.9"};r(1)(n),r(2)(n),r(3)(n),r(5)(n),r(6)(n),r(7)(n),r(17)(n),r(18)(n),r(22)(n),r(23)(n),r(24)(n),r(25)(n),r(26)(n),r(27)(n),e.exports=n.exports},function(e,t){e.exports=function(e){"use strict";function t(e,t){var r=Object.prototype.toString.call(t).slice(8,-1);return void 0!==t&&null!==t&&r===e}return e.trace=!1,e.debug=!1,e.cache=!0,e.placeholders={parent:"{{|PARENT|}}"},e.indexOf=function(e,t){if(Array.prototype.hasOwnProperty("indexOf"))return e.indexOf(t);if(void 0===e||null===e)throw new TypeError;var r=Object(e),n=r.length>>>0;if(0===n)return-1;var o=0;if(arguments.length>0&&(o=Number(arguments[1]),o!==o?o=0:0!==o&&o!==1/0&&o!==-(1/0)&&(o=(o>0||-1)*Math.floor(Math.abs(o)))),o>=n)return-1;for(var i=o>=0?o:Math.max(n-Math.abs(o),0);i<n;i++)if(i in r&&r[i]===t)return i;return e==t?0:-1},e.forEach=function(e,t,r){if(Array.prototype.forEach)return e.forEach(t,r);var n,o;if(null==e)throw new TypeError(" this is null or not defined");var i=Object(e),s=i.length>>>0;if("[object Function]"!={}.toString.call(t))throw new TypeError(t+" is not a function");for(r&&(n=r),o=0;o<s;){var p;o in i&&(p=i[o],t.call(n,p,o,i)),o++}},e.merge=function(t,r,n){return e.forEach(Object.keys(r),function(e){(!n||e in t)&&(t[e]=r[e])}),t},e.Error=function(e){this.message=e,this.name="TwigException",this.type="TwigException"},e.Error.prototype.toString=function(){var e=this.name+": "+this.message;return e},e.log={trace:function(){e.trace&&console&&console.log(Array.prototype.slice.call(arguments))},debug:function(){e.debug&&console&&console.log(Array.prototype.slice.call(arguments))}},"undefined"!=typeof console?"undefined"!=typeof console.error?e.log.error=function(){console.error.apply(console,arguments)}:"undefined"!=typeof console.log&&(e.log.error=function(){console.log.apply(console,arguments)}):e.log.error=function(){},e.ChildContext=function(e){var t=function(){};return t.prototype=e,new t},e.token={},e.token.type={output:"output",logic:"logic",comment:"comment",raw:"raw",output_whitespace_pre:"output_whitespace_pre",output_whitespace_post:"output_whitespace_post",output_whitespace_both:"output_whitespace_both",logic_whitespace_pre:"logic_whitespace_pre",logic_whitespace_post:"logic_whitespace_post",logic_whitespace_both:"logic_whitespace_both"},e.token.definitions=[{type:e.token.type.raw,open:"{% raw %}",close:"{% endraw %}"},{type:e.token.type.raw,open:"{% verbatim %}",close:"{% endverbatim %}"},{type:e.token.type.output_whitespace_pre,open:"{{-",close:"}}"},{type:e.token.type.output_whitespace_post,open:"{{",close:"-}}"},{type:e.token.type.output_whitespace_both,open:"{{-",close:"-}}"},{type:e.token.type.logic_whitespace_pre,open:"{%-",close:"%}"},{type:e.token.type.logic_whitespace_post,open:"{%",close:"-%}"},{type:e.token.type.logic_whitespace_both,open:"{%-",close:"-%}"},{type:e.token.type.output,open:"{{",close:"}}"},{type:e.token.type.logic,open:"{%",close:"%}"},{type:e.token.type.comment,open:"{#",close:"#}"}],e.token.strings=['"',"'"],e.token.findStart=function(t){var r,n,o,i,s={position:null,close_position:null,def:null};for(r=0;r<e.token.definitions.length;r++)n=e.token.definitions[r],o=t.indexOf(n.open),i=t.indexOf(n.close),e.log.trace("Twig.token.findStart: ","Searching for ",n.open," found at ",o),o>=0&&n.open.length!==n.close.length&&i<0||(o>=0&&(null===s.position||o<s.position)?(s.position=o,s.def=n,s.close_position=i):o>=0&&null!==s.position&&o===s.position&&(n.open.length>s.def.open.length?(s.position=o,s.def=n,s.close_position=i):n.open.length===s.def.open.length&&(n.close.length>s.def.close.length?i>=0&&i<s.close_position&&(s.position=o,s.def=n,s.close_position=i):i>=0&&i<s.close_position&&(s.position=o,s.def=n,s.close_position=i))));return delete s.close_position,s},e.token.findEnd=function(t,r,n){for(var o,i,s=null,p=!1,a=0,l=null,c=null,u=null,f=null,h=null,y=null;!p;){if(l=null,c=null,u=t.indexOf(r.close,a),!(u>=0))throw new e.Error("Unable to find closing bracket '"+r.close+"' opened near template position "+n);if(s=u,p=!0,r.type===e.token.type.comment)break;if(r.type===e.token.type.raw)break;for(i=e.token.strings.length,o=0;o<i;o+=1)h=t.indexOf(e.token.strings[o],a),h>0&&h<u&&(null===l||h<l)&&(l=h,c=e.token.strings[o]);if(null!==l)for(f=l+1,s=null,p=!1;;){if(y=t.indexOf(c,f),y<0)throw"Unclosed string in template";if("\\"!==t.substr(y-1,1)){a=y+1;break}f=y+1}}return s},e.tokenize=function(t){for(var r=[],n=0,o=null,i=null;t.length>0;)if(o=e.token.findStart(t),e.log.trace("Twig.tokenize: ","Found token: ",o),null!==o.position){if(o.position>0&&r.push({type:e.token.type.raw,value:t.substring(0,o.position)}),t=t.substr(o.position+o.def.open.length),n+=o.position+o.def.open.length,i=e.token.findEnd(t,o.def,n),e.log.trace("Twig.tokenize: ","Token ends at ",i),r.push({type:o.def.type,value:t.substring(0,i).trim()}),"\n"===t.substr(i+o.def.close.length,1))switch(o.def.type){case"logic_whitespace_pre":case"logic_whitespace_post":case"logic_whitespace_both":case"logic":i+=1}t=t.substr(i+o.def.close.length),n+=i+o.def.close.length}else r.push({type:e.token.type.raw,value:t}),t="";return r},e.compile=function(t){try{for(var r=[],n=[],o=[],i=null,s=null,p=null,a=null,l=null,c=null,u=null,f=null,h=null,y=null,d=null,g=null,m=function(t){e.expression.compile.apply(this,[t]),n.length>0?o.push(t):r.push(t)},x=function(t){if(s=e.logic.compile.apply(this,[t]),y=s.type,d=e.logic.handler[y].open,g=e.logic.handler[y].next,e.log.trace("Twig.compile: ","Compiled logic token to ",s," next is: ",g," open is : ",d),void 0!==d&&!d){if(a=n.pop(),u=e.logic.handler[a.type],e.indexOf(u.next,y)<0)throw new Error(y+" not expected after a "+a.type);a.output=a.output||[],a.output=a.output.concat(o),o=[],h={type:e.token.type.logic,token:a},n.length>0?o.push(h):r.push(h)}void 0!==g&&g.length>0?(e.log.trace("Twig.compile: ","Pushing ",s," to logic stack."),n.length>0&&(a=n.pop(),a.output=a.output||[],a.output=a.output.concat(o),n.push(a),o=[]),n.push(s)):void 0!==d&&d&&(h={type:e.token.type.logic,token:s},n.length>0?o.push(h):r.push(h))};t.length>0;){switch(i=t.shift(),l=r[r.length-1],c=o[o.length-1],f=t[0],e.log.trace("Compiling token ",i),i.type){case e.token.type.raw:n.length>0?o.push(i):r.push(i);break;case e.token.type.logic:x.call(this,i);break;case e.token.type.comment:break;case e.token.type.output:m.call(this,i);break;case e.token.type.logic_whitespace_pre:case e.token.type.logic_whitespace_post:case e.token.type.logic_whitespace_both:case e.token.type.output_whitespace_pre:case e.token.type.output_whitespace_post:case e.token.type.output_whitespace_both:switch(i.type!==e.token.type.output_whitespace_post&&i.type!==e.token.type.logic_whitespace_post&&(l&&l.type===e.token.type.raw&&(r.pop(),null===l.value.match(/^\s*$/)&&(l.value=l.value.trim(),r.push(l))),c&&c.type===e.token.type.raw&&(o.pop(),null===c.value.match(/^\s*$/)&&(c.value=c.value.trim(),o.push(c)))),i.type){case e.token.type.output_whitespace_pre:case e.token.type.output_whitespace_post:case e.token.type.output_whitespace_both:m.call(this,i);break;case e.token.type.logic_whitespace_pre:case e.token.type.logic_whitespace_post:case e.token.type.logic_whitespace_both:x.call(this,i)}i.type!==e.token.type.output_whitespace_pre&&i.type!==e.token.type.logic_whitespace_pre&&f&&f.type===e.token.type.raw&&(t.shift(),null===f.value.match(/^\s*$/)&&(f.value=f.value.trim(),t.unshift(f)))}e.log.trace("Twig.compile: "," Output: ",r," Logic Stack: ",n," Pending Output: ",o)}if(n.length>0)throw p=n.pop(),new Error("Unable to find an end tag for "+p.type+", expecting one of "+p.next);return r}catch(v){if(e.log.error("Error compiling twig template "+this.id+": "),v.stack?e.log.error(v.stack):e.log.error(v.toString()),this.options.rethrow)throw v}},e.parse=function(t,r){try{var n=[],o=!0,i=this;return e.forEach(t,function(t){switch(e.log.debug("Twig.parse: ","Parsing token: ",t),t.type){case e.token.type.raw:n.push(e.filters.raw(t.value));break;case e.token.type.logic:var s=t.token,p=e.logic.parse.apply(i,[s,r,o]);void 0!==p.chain&&(o=p.chain),void 0!==p.context&&(r=p.context),void 0!==p.output&&n.push(p.output);break;case e.token.type.comment:break;case e.token.type.output_whitespace_pre:case e.token.type.output_whitespace_post:case e.token.type.output_whitespace_both:case e.token.type.output:e.log.debug("Twig.parse: ","Output token: ",t.stack),n.push(e.expression.parse.apply(i,[t.stack,r]))}}),e.output.apply(this,[n])}catch(s){if(e.log.error("Error parsing twig template "+this.id+": "),s.stack?e.log.error(s.stack):e.log.error(s.toString()),this.options.rethrow)throw s;if(e.debug)return s.toString()}},e.prepare=function(t){var r,n;return e.log.debug("Twig.prepare: ","Tokenizing ",t),n=e.tokenize.apply(this,[t]),e.log.debug("Twig.prepare: ","Compiling ",n),r=e.compile.apply(this,[n]),e.log.debug("Twig.prepare: ","Compiled ",r),r},e.output=function(t){if(!this.options.autoescape)return t.join("");var r="html";"string"==typeof this.options.autoescape&&(r=this.options.autoescape);var n=[];return e.forEach(t,function(t){t&&t.twig_markup!==!0&&t.twig_markup!=r&&(t=e.filters.escape(t,[r])),n.push(t)}),e.Markup(n.join(""))},e.Templates={loaders:{},parsers:{},registry:{}},e.validateId=function(t){if("prototype"===t)throw new e.Error(t+" is not a valid twig identifier");if(e.cache&&e.Templates.registry.hasOwnProperty(t))throw new e.Error("There is already a template with the ID "+t);return!0},e.Templates.registerLoader=function(t,r,n){if("function"!=typeof r)throw new e.Error("Unable to add loader for "+t+": Invalid function reference given.");n&&(r=r.bind(n)),this.loaders[t]=r},e.Templates.unRegisterLoader=function(e){this.isRegisteredLoader(e)&&delete this.loaders[e]},e.Templates.isRegisteredLoader=function(e){return this.loaders.hasOwnProperty(e)},e.Templates.registerParser=function(t,r,n){if("function"!=typeof r)throw new e.Error("Unable to add parser for "+t+": Invalid function regerence given.");n&&(r=r.bind(n)),this.parsers[t]=r},e.Templates.unRegisterParser=function(e){this.isRegisteredParser(e)&&delete this.parsers[e]},e.Templates.isRegisteredParser=function(e){return this.parsers.hasOwnProperty(e)},e.Templates.save=function(t){if(void 0===t.id)throw new e.Error("Unable to save template with no id");e.Templates.registry[t.id]=t},e.Templates.load=function(t){return e.Templates.registry.hasOwnProperty(t)?e.Templates.registry[t]:null},e.Templates.loadRemote=function(t,r,n,o){var i;return void 0===r.async&&(r.async=!0),void 0===r.id&&(r.id=t),e.cache&&e.Templates.registry.hasOwnProperty(r.id)?("function"==typeof n&&n(e.Templates.registry[r.id]),e.Templates.registry[r.id]):(r.parser=r.parser||"twig",i=this.loaders[r.method]||this.loaders.fs,i.apply(this,arguments))},e.Template=function(r){var n=r.data,o=r.id,i=r.blocks,s=r.macros||{},p=r.base,a=r.path,l=r.url,c=r.name,u=r.method,f=r.options;this.id=o,this.method=u,this.base=p,this.path=a,this.url=l,this.name=c,this.macros=s,this.options=f,this.reset(i),t("String",n)?this.tokens=e.prepare.apply(this,[n]):this.tokens=n,void 0!==o&&e.Templates.save(this)},e.Template.prototype.reset=function(t){e.log.debug("Twig.Template.reset","Reseting template "+this.id),this.blocks={},this.importedBlocks=[],this.originalBlockTokens={},this.child={blocks:t||{}},this.extend=null},e.Template.prototype.render=function(t,r){r=r||{};var n,o;if(this.context=t||{},this.reset(),r.blocks&&(this.blocks=r.blocks),r.macros&&(this.macros=r.macros),n=e.parse.apply(this,[this.tokens,this.context]),this.extend){var i;return this.options.allowInlineIncludes&&(i=e.Templates.load(this.extend),i&&(i.options=this.options)),i||(o=e.path.parsePath(this,this.extend),i=e.Templates.loadRemote(o,{method:this.getLoaderMethod(),base:this.base,async:!1,id:o,options:this.options})),this.parent=i,this.parent.render(this.context,{blocks:this.blocks})}return"blocks"==r.output?this.blocks:"macros"==r.output?this.macros:n},e.Template.prototype.importFile=function(t){var r,n;if(!this.url&&this.options.allowInlineIncludes){if(t=this.path?this.path+"/"+t:t,n=e.Templates.load(t),!n&&(n=e.Templates.loadRemote(r,{id:t,method:this.getLoaderMethod(),async:!1,options:this.options}),!n))throw new e.Error("Unable to find the template "+t);return n.options=this.options,n}return r=e.path.parsePath(this,t),n=e.Templates.loadRemote(r,{method:this.getLoaderMethod(),base:this.base,async:!1,options:this.options,id:r})},e.Template.prototype.importBlocks=function(t,r){var n=this.importFile(t),o=this.context,i=this;r=r||!1,n.render(o),e.forEach(Object.keys(n.blocks),function(e){(r||void 0===i.blocks[e])&&(i.blocks[e]=n.blocks[e],i.importedBlocks.push(e))})},e.Template.prototype.importMacros=function(t){var r=e.path.parsePath(this,t),n=e.Templates.loadRemote(r,{method:this.getLoaderMethod(),async:!1,id:r});return n},e.Template.prototype.getLoaderMethod=function(){return this.path?"fs":this.url?"ajax":this.method||"fs"},e.Template.prototype.compile=function(t){return e.compiler.compile(this,t)},e.Markup=function(e,t){return"undefined"==typeof t&&(t=!0),"string"==typeof e&&e.length>0&&(e=new String(e),e.twig_markup=t),e},e}},function(e,t){e.exports=function(e){return e.compiler={module:{}},e.compiler.compile=function(t,r){var n,o=JSON.stringify(t.tokens),i=t.id;if(r.module){if(void 0===e.compiler.module[r.module])throw new e.Error("Unable to find module type "+r.module);n=e.compiler.module[r.module](i,o,r.twig)}else n=e.compiler.wrap(i,o);return n},e.compiler.module={amd:function(t,r,n){return'define(["'+n+'"], function (Twig) {\n\tvar twig, templates;\ntwig = Twig.twig;\ntemplates = '+e.compiler.wrap(t,r)+"\n\treturn templates;\n});"},node:function(t,r){return'var twig = require("twig").twig;\nexports.template = '+e.compiler.wrap(t,r)},cjs2:function(t,r,n){return'module.declare([{ twig: "'+n+'" }], function (require, exports, module) {\n\tvar twig = require("twig").twig;\n\texports.template = '+e.compiler.wrap(t,r)+"\n});"}},e.compiler.wrap=function(e,t){return'twig({id:"'+e.replace('"','\\"')+'", data:'+t+", precompiled: true});\n"},e}},function(e,t,r){e.exports=function(e){"use strict";e.expression={},r(4)(e),e.expression.reservedWords=["true","false","null","TRUE","FALSE","NULL","_context","and","or","in","not in","if"],e.expression.type={comma:"Twig.expression.type.comma",operator:{unary:"Twig.expression.type.operator.unary",binary:"Twig.expression.type.operator.binary"},string:"Twig.expression.type.string",bool:"Twig.expression.type.bool",slice:"Twig.expression.type.slice",array:{start:"Twig.expression.type.array.start",end:"Twig.expression.type.array.end"},object:{start:"Twig.expression.type.object.start",end:"Twig.expression.type.object.end"},parameter:{start:"Twig.expression.type.parameter.start",end:"Twig.expression.type.parameter.end"},subexpression:{start:"Twig.expression.type.subexpression.start",end:"Twig.expression.type.subexpression.end"},key:{period:"Twig.expression.type.key.period",brackets:"Twig.expression.type.key.brackets"},filter:"Twig.expression.type.filter",_function:"Twig.expression.type._function",variable:"Twig.expression.type.variable",number:"Twig.expression.type.number",_null:"Twig.expression.type.null",context:"Twig.expression.type.context",test:"Twig.expression.type.test"},e.expression.set={operations:[e.expression.type.filter,e.expression.type.operator.unary,e.expression.type.operator.binary,e.expression.type.array.end,e.expression.type.object.end,e.expression.type.parameter.end,e.expression.type.subexpression.end,e.expression.type.comma,e.expression.type.test],expressions:[e.expression.type._function,e.expression.type.bool,e.expression.type.string,e.expression.type.variable,e.expression.type.number,e.expression.type._null,e.expression.type.context,e.expression.type.parameter.start,e.expression.type.array.start,e.expression.type.object.start,e.expression.type.subexpression.start]},e.expression.set.operations_extended=e.expression.set.operations.concat([e.expression.type.key.period,e.expression.type.key.brackets,e.expression.type.slice]),e.expression.fn={compile:{push:function(e,t,r){r.push(e)},push_both:function(e,t,r){r.push(e),t.push(e)}},parse:{push:function(e,t,r){t.push(e)},push_value:function(e,t,r){t.push(e.value)}}},e.expression.definitions=[{type:e.expression.type.test,regex:/^is\s+(not)?\s*([a-zA-Z_][a-zA-Z0-9_]*)/,next:e.expression.set.operations.concat([e.expression.type.parameter.start]),compile:function(e,t,r){e.filter=e.match[2],e.modifier=e.match[1],delete e.match,delete e.value,r.push(e)},parse:function(t,r,n){var o=r.pop(),i=t.params&&e.expression.parse.apply(this,[t.params,n]),s=e.test(t.filter,o,i);"not"==t.modifier?r.push(!s):r.push(s)}},{type:e.expression.type.comma,regex:/^,/,next:e.expression.set.expressions.concat([e.expression.type.array.end,e.expression.type.object.end]),compile:function(t,r,n){var o,i=r.length-1;for(delete t.match,delete t.value;i>=0;i--){if(o=r.pop(),o.type===e.expression.type.object.start||o.type===e.expression.type.parameter.start||o.type===e.expression.type.array.start){r.push(o);break}n.push(o)}n.push(t)}},{type:e.expression.type.number,regex:/^\-?\d+(\.\d+)?/,next:e.expression.set.operations,compile:function(e,t,r){e.value=Number(e.value),r.push(e)},parse:e.expression.fn.parse.push_value},{type:e.expression.type.operator.binary,regex:/(^\?\:|^[\+\-~%\?]|^[\:](?!\d\])|^[!=]==?|^[!<>]=?|^\*\*?|^\/\/?|^(and)[\(|\s+]|^(or)[\(|\s+]|^(in)[\(|\s+]|^(not in)[\(|\s+]|^\.\.)/,next:e.expression.set.expressions.concat([e.expression.type.operator.unary]),transform:function(e,t){switch(e[0]){case"and(":case"or(":case"in(":case"not in(":return t[t.length-1].value=e[2],e[0];default:return""}},compile:function(t,r,n){delete t.match,t.value=t.value.trim();var o=t.value,i=e.expression.operator.lookup(o,t);for(e.log.trace("Twig.expression.compile: ","Operator: ",i," from ",o);r.length>0&&(r[r.length-1].type==e.expression.type.operator.unary||r[r.length-1].type==e.expression.type.operator.binary)&&(i.associativity===e.expression.operator.leftToRight&&i.precidence>=r[r.length-1].precidence||i.associativity===e.expression.operator.rightToLeft&&i.precidence>r[r.length-1].precidence);){var s=r.pop();n.push(s)}if(":"===o){if(!r[r.length-1]||"?"!==r[r.length-1].value){var p=n.pop();if(p.type===e.expression.type.string||p.type===e.expression.type.variable)t.key=p.value;else if(p.type===e.expression.type.number)t.key=p.value.toString();else{if(!p.expression||p.type!==e.expression.type.parameter.end&&p.type!=e.expression.type.subexpression.end)throw new e.Error("Unexpected value before ':' of "+p.type+" = "+p.value);t.params=p.params}return void n.push(t)}}else r.push(i)},parse:function(t,r,n){t.key?r.push(t):t.params?(t.key=e.expression.parse.apply(this,[t.params,n]),r.push(t),n.loop||delete t.params):e.expression.operator.parse(t.value,r)}},{type:e.expression.type.operator.unary,regex:/(^not\s+)/,next:e.expression.set.expressions,compile:function(t,r,n){delete t.match,t.value=t.value.trim();var o=t.value,i=e.expression.operator.lookup(o,t);for(e.log.trace("Twig.expression.compile: ","Operator: ",i," from ",o);r.length>0&&(r[r.length-1].type==e.expression.type.operator.unary||r[r.length-1].type==e.expression.type.operator.binary)&&(i.associativity===e.expression.operator.leftToRight&&i.precidence>=r[r.length-1].precidence||i.associativity===e.expression.operator.rightToLeft&&i.precidence>r[r.length-1].precidence);){var s=r.pop();n.push(s)}r.push(i)},parse:function(t,r,n){e.expression.operator.parse(t.value,r)}},{type:e.expression.type.string,regex:/^(["'])(?:(?=(\\?))\2[\s\S])*?\1/,next:e.expression.set.operations_extended,compile:function(t,r,n){var o=t.value;delete t.match,o='"'===o.substring(0,1)?o.replace('\\"','"'):o.replace("\\'","'"),t.value=o.substring(1,o.length-1).replace(/\\n/g,"\n").replace(/\\r/g,"\r"),e.log.trace("Twig.expression.compile: ","String value: ",t.value),n.push(t)},parse:e.expression.fn.parse.push_value},{type:e.expression.type.subexpression.start,regex:/^\(/,next:e.expression.set.expressions.concat([e.expression.type.subexpression.end]),compile:function(e,t,r){e.value="(",r.push(e),t.push(e)},parse:e.expression.fn.parse.push},{type:e.expression.type.subexpression.end,regex:/^\)/,next:e.expression.set.operations_extended,validate:function(t,r){for(var n=r.length-1,o=!1,i=!1,s=0;!o&&n>=0;){var p=r[n];o=p.type===e.expression.type.subexpression.start,o&&i&&(i=!1,o=!1),p.type===e.expression.type.parameter.start?s++:p.type===e.expression.type.parameter.end?s--:p.type===e.expression.type.subexpression.end&&(i=!0),n--}return o&&0===s},compile:function(t,r,n){var o,i=t;for(o=r.pop();r.length>0&&o.type!=e.expression.type.subexpression.start;)n.push(o),o=r.pop();for(var s=[];t.type!==e.expression.type.subexpression.start;)s.unshift(t),t=n.pop();s.unshift(t);o=r[r.length-1],void 0===o||o.type!==e.expression.type._function&&o.type!==e.expression.type.filter&&o.type!==e.expression.type.test&&o.type!==e.expression.type.key.brackets?(i.expression=!0,s.pop(),s.shift(),i.params=s,n.push(i)):(i.expression=!1,o.params=s)},parse:function(t,r,n){var o=null;if(!t.expression)throw new e.Error("Unexpected subexpression end when token is not marked as an expression");o=e.expression.parse.apply(this,[t.params,n]),r.push(o)}},{type:e.expression.type.parameter.start,regex:/^\(/,next:e.expression.set.expressions.concat([e.expression.type.parameter.end]),validate:function(t,r){var n=r[r.length-1];return n&&e.indexOf(e.expression.reservedWords,n.value.trim())<0},compile:e.expression.fn.compile.push_both,parse:e.expression.fn.parse.push},{type:e.expression.type.parameter.end,regex:/^\)/,next:e.expression.set.operations_extended,compile:function(t,r,n){var o,i=t;for(o=r.pop();r.length>0&&o.type!=e.expression.type.parameter.start;)n.push(o),o=r.pop();for(var s=[];t.type!==e.expression.type.parameter.start;)s.unshift(t),t=n.pop();s.unshift(t);t=n[n.length-1],void 0===t||t.type!==e.expression.type._function&&t.type!==e.expression.type.filter&&t.type!==e.expression.type.test&&t.type!==e.expression.type.key.brackets?(i.expression=!0,s.pop(),s.shift(),i.params=s,n.push(i)):(i.expression=!1,t.params=s)},parse:function(t,r,n){var o=[],i=!1,s=null;if(t.expression)s=e.expression.parse.apply(this,[t.params,n]),r.push(s);else{for(;r.length>0;){if(s=r.pop(),s&&s.type&&s.type==e.expression.type.parameter.start){i=!0;break}o.unshift(s)}if(!i)throw new e.Error("Expected end of parameter set.");r.push(o)}}},{type:e.expression.type.slice,regex:/^\[(\d*\:\d*)\]/,next:e.expression.set.operations_extended,compile:function(e,t,r){var n=e.match[1].split(":"),o=n[0]?parseInt(n[0]):void 0,i=n[1]?parseInt(n[1]):void 0;e.value="slice",e.params=[o,i],i||(e.params=[o]),r.push(e)},parse:function(t,r,n){var o=r.pop(),i=t.params;r.push(e.filter.apply(this,[t.value,o,i]))}},{type:e.expression.type.array.start,regex:/^\[/,next:e.expression.set.expressions.concat([e.expression.type.array.end]),compile:e.expression.fn.compile.push_both,parse:e.expression.fn.parse.push},{type:e.expression.type.array.end,regex:/^\]/,next:e.expression.set.operations_extended,compile:function(t,r,n){for(var o,i=r.length-1;i>=0&&(o=r.pop(),o.type!==e.expression.type.array.start);i--)n.push(o);n.push(t)},parse:function(t,r,n){for(var o=[],i=!1,s=null;r.length>0;){if(s=r.pop(),s.type&&s.type==e.expression.type.array.start){i=!0;break}o.unshift(s)}if(!i)throw new e.Error("Expected end of array.");r.push(o)}},{type:e.expression.type.object.start,regex:/^\{/,next:e.expression.set.expressions.concat([e.expression.type.object.end]),compile:e.expression.fn.compile.push_both,parse:e.expression.fn.parse.push},{type:e.expression.type.object.end,regex:/^\}/,next:e.expression.set.operations_extended,compile:function(t,r,n){for(var o,i=r.length-1;i>=0&&(o=r.pop(),!o||o.type!==e.expression.type.object.start);i--)n.push(o);n.push(t)},parse:function(t,r,n){for(var o={},i=!1,s=null,p=!1,a=null;r.length>0;){if(s=r.pop(),s&&s.type&&s.type===e.expression.type.object.start){i=!0;break}if(s&&s.type&&(s.type===e.expression.type.operator.binary||s.type===e.expression.type.operator.unary)&&s.key){if(!p)throw new e.Error("Missing value for key '"+s.key+"' in object definition.");o[s.key]=a,void 0===o._keys&&(o._keys=[]),o._keys.unshift(s.key),a=null,p=!1}else p=!0,a=s}if(!i)throw new e.Error("Unexpected end of object.");r.push(o)}},{type:e.expression.type.filter,regex:/^\|\s?([a-zA-Z_][a-zA-Z0-9_\-]*)/,next:e.expression.set.operations_extended.concat([e.expression.type.parameter.start]),compile:function(e,t,r){e.value=e.match[1],r.push(e)},parse:function(t,r,n){var o=r.pop(),i=t.params&&e.expression.parse.apply(this,[t.params,n]);r.push(e.filter.apply(this,[t.value,o,i]))}},{type:e.expression.type._function,regex:/^([a-zA-Z_][a-zA-Z0-9_]*)\s*\(/,next:e.expression.type.parameter.start,validate:function(t,r){return t[1]&&e.indexOf(e.expression.reservedWords,t[1])<0},transform:function(e,t){return"("},compile:function(e,t,r){var n=e.match[1];e.fn=n,delete e.match,delete e.value,r.push(e)},parse:function(t,r,n){var o,i=t.params&&e.expression.parse.apply(this,[t.params,n]),s=t.fn;if(e.functions[s])o=e.functions[s].apply(this,i);else{if("function"!=typeof n[s])throw new e.Error(s+" function does not exist and is not defined in the context");o=n[s].apply(n,i)}r.push(o)}},{type:e.expression.type.variable,regex:/^[a-zA-Z_][a-zA-Z0-9_]*/,next:e.expression.set.operations_extended.concat([e.expression.type.parameter.start]),compile:e.expression.fn.compile.push,validate:function(t,r){return e.indexOf(e.expression.reservedWords,t[0])<0},parse:function(t,r,n){var o=e.expression.resolve.apply(this,[n[t.value],n]);r.push(o)}},{type:e.expression.type.key.period,regex:/^\.([a-zA-Z0-9_]+)/,next:e.expression.set.operations_extended.concat([e.expression.type.parameter.start]),compile:function(e,t,r){e.key=e.match[1],delete e.match,delete e.value,r.push(e)},parse:function(t,r,n,o){var i,s=t.params&&e.expression.parse.apply(this,[t.params,n]),p=t.key,a=r.pop();if(null===a||void 0===a){if(this.options.strict_variables)throw new e.Error("Can't access a key "+p+" on an null or undefined object.");i=void 0}else{var l=function(e){return e.substr(0,1).toUpperCase()+e.substr(1)};i="object"==typeof a&&p in a?a[p]:void 0!==a["get"+l(p)]?a["get"+l(p)]:void 0!==a["is"+l(p)]?a["is"+l(p)]:void 0}r.push(e.expression.resolve.apply(this,[i,n,s,o]))}},{type:e.expression.type.key.brackets,regex:/^\[([^\]\:]*)\]/,next:e.expression.set.operations_extended.concat([e.expression.type.parameter.start]),compile:function(t,r,n){var o=t.match[1];delete t.value,delete t.match,t.stack=e.expression.compile({value:o}).stack,n.push(t)},parse:function(t,r,n,o){var i,s=t.params&&e.expression.parse.apply(this,[t.params,n]),p=e.expression.parse.apply(this,[t.stack,n]),a=r.pop();if(null===a||void 0===a){if(this.options.strict_variables)throw new e.Error("Can't access a key "+p+" on an null or undefined object.");return null}i="object"==typeof a&&p in a?a[p]:null,r.push(e.expression.resolve.apply(this,[i,a,s,o]))}},{type:e.expression.type._null,regex:/^(null|NULL|none|NONE)/,next:e.expression.set.operations,compile:function(e,t,r){delete e.match,e.value=null,r.push(e)},parse:e.expression.fn.parse.push_value},{type:e.expression.type.context,regex:/^_context/,next:e.expression.set.operations_extended.concat([e.expression.type.parameter.start]),compile:e.expression.fn.compile.push,parse:function(e,t,r){t.push(r)}},{type:e.expression.type.bool,regex:/^(true|TRUE|false|FALSE)/,next:e.expression.set.operations,compile:function(e,t,r){e.value="true"===e.match[0].toLowerCase(),delete e.match,r.push(e)},parse:e.expression.fn.parse.push_value}],e.expression.resolve=function(t,r,n,o){if("function"==typeof t){if(o&&o.type===e.expression.type.parameter.end){var i=!0;n=o.params&&e.expression.parse.apply(this,[o.params,r,i]),o.cleanup=!0}return t.apply(r,n||[])}return t},e.expression.handler={},e.expression.extendType=function(t){e.expression.type[t]="Twig.expression.type."+t},e.expression.extend=function(t){if(!t.type)throw new e.Error("Unable to extend logic definition. No type provided for "+t);e.expression.handler[t.type]=t};for(;e.expression.definitions.length>0;)e.expression.extend(e.expression.definitions.shift());return e.expression.tokenize=function(t){var r,n,o,i,s,p,a=[],l=0,c=null,u=[];for(p=function(){var t=Array.prototype.slice.apply(arguments);t.pop(),t.pop();return e.log.trace("Twig.expression.tokenize","Matched a ",r," regular expression of ",t),c&&e.indexOf(c,r)<0?(u.push(r+" cannot follow a "+a[a.length-1].type+" at template:"+l+" near '"+t[0].substring(0,20)+"...'"),t[0]):e.expression.handler[r].validate&&!e.expression.handler[r].validate(t,a)?t[0]:(u=[],a.push({type:r,value:t[0],match:t}),s=!0,c=i,l+=t[0].length,e.expression.handler[r].transform?e.expression.handler[r].transform(t,a):"")},e.log.debug("Twig.expression.tokenize","Tokenizing expression ",t);t.length>0;){t=t.trim();for(r in e.expression.handler)if(e.expression.handler.hasOwnProperty(r)){for(i=e.expression.handler[r].next,n=e.expression.handler[r].regex,e.log.trace("Checking type ",r," on ",t),o=n instanceof Array?n:[n],s=!1;o.length>0;)n=o.pop(),t=t.replace(n,p);if(s)break}if(!s)throw u.length>0?new e.Error(u.join(" OR ")):new e.Error("Unable to parse '"+t+"' at template position"+l)}return e.log.trace("Twig.expression.tokenize","Tokenized to ",a),a},e.expression.compile=function(t){var r=t.value,n=e.expression.tokenize(r),o=null,i=[],s=[],p=null;for(e.log.trace("Twig.expression.compile: ","Compiling ",r);n.length>0;)o=n.shift(),p=e.expression.handler[o.type],e.log.trace("Twig.expression.compile: ","Compiling ",o),p.compile&&p.compile(o,s,i),e.log.trace("Twig.expression.compile: ","Stack is",s),e.log.trace("Twig.expression.compile: ","Output is",i);for(;s.length>0;)i.push(s.pop());return e.log.trace("Twig.expression.compile: ","Final output is",i),t.stack=i,delete t.value,t},e.expression.parse=function(t,r,n){var o=this;t instanceof Array||(t=[t]);var i,s=[],p=null,a=[];if(e.forEach(t,function(n,l){n.cleanup||(t.length>l+1&&(i=t[l+1]),p=e.expression.handler[n.type],p.parse&&p.parse.apply(o,[n,s,r,i]),r.loop&&n.type===e.expression.type.operator.binary&&a.push(n))}),e.forEach(a,function(e){e.params&&e.key&&delete e.key}),n){for(var l=[];s.length>0;)l.unshift(s.pop());s.push(l)}return s.pop()},e}},function(e,t){e.exports=function(e){"use strict";e.expression.operator={leftToRight:"leftToRight",rightToLeft:"rightToLeft"};var t=function(e,t){if(void 0===t||null===t)return null;if(void 0!==t.indexOf)return e===t||""!==e&&t.indexOf(e)>-1;var r;for(r in t)if(t.hasOwnProperty(r)&&t[r]===e)return!0;return!1};return e.expression.operator.lookup=function(t,r){switch(t){case"..":r.precidence=20,r.associativity=e.expression.operator.leftToRight;break;case",":r.precidence=18,r.associativity=e.expression.operator.leftToRight;break;case"?:":case"?":case":":r.precidence=16,r.associativity=e.expression.operator.rightToLeft;break;case"or":r.precidence=14,r.associativity=e.expression.operator.leftToRight;break;case"and":r.precidence=13,r.associativity=e.expression.operator.leftToRight;break;case"==":case"!=":r.precidence=9,r.associativity=e.expression.operator.leftToRight;break;case"<":case"<=":case">":case">=":case"not in":case"in":r.precidence=8,r.associativity=e.expression.operator.leftToRight;break;case"~":case"+":case"-":r.precidence=6,r.associativity=e.expression.operator.leftToRight;break;case"//":case"**":case"*":case"/":case"%":r.precidence=5,r.associativity=e.expression.operator.leftToRight;break;case"not":r.precidence=3,r.associativity=e.expression.operator.rightToLeft;break;default:throw new e.Error("Failed to lookup operator: "+t+" is an unknown operator.")}return r.operator=t,r},e.expression.operator.parse=function(r,n){e.log.trace("Twig.expression.operator.parse: ","Handling ",r);var o,i,s;switch("?"===r&&(s=n.pop()),i=n.pop(),"not"!==r&&(o=n.pop()),"in"!==r&&"not in"!==r&&(o&&Array.isArray(o)&&(o=o.length),i&&Array.isArray(i)&&(i=i.length)),r){case":":break;case"?:":e.lib.boolval(o)?n.push(o):n.push(i);break;
case"?":void 0===o&&(o=i,i=s,s=void 0),e.lib.boolval(o)?n.push(i):n.push(s);break;case"+":i=parseFloat(i),o=parseFloat(o),n.push(o+i);break;case"-":i=parseFloat(i),o=parseFloat(o),n.push(o-i);break;case"*":i=parseFloat(i),o=parseFloat(o),n.push(o*i);break;case"/":i=parseFloat(i),o=parseFloat(o),n.push(o/i);break;case"//":i=parseFloat(i),o=parseFloat(o),n.push(Math.floor(o/i));break;case"%":i=parseFloat(i),o=parseFloat(o),n.push(o%i);break;case"~":n.push((null!=o?o.toString():"")+(null!=i?i.toString():""));break;case"not":case"!":n.push(!e.lib.boolval(i));break;case"<":n.push(o<i);break;case"<=":n.push(o<=i);break;case">":n.push(o>i);break;case">=":n.push(o>=i);break;case"===":n.push(o===i);break;case"==":n.push(o==i);break;case"!==":n.push(o!==i);break;case"!=":n.push(o!=i);break;case"or":n.push(o||i);break;case"and":n.push(o&&i);break;case"**":n.push(Math.pow(o,i));break;case"not in":n.push(!t(o,i));break;case"in":n.push(t(o,i));break;case"..":n.push(e.functions.range(o,i));break;default:throw new e.Error("Failed to parse operator: "+r+" is an unknown operator.")}},e}},function(e,t){e.exports=function(e){function t(e,t){var r=Object.prototype.toString.call(t).slice(8,-1);return void 0!==t&&null!==t&&r===e}return e.filters={upper:function(e){return"string"!=typeof e?e:e.toUpperCase()},lower:function(e){return"string"!=typeof e?e:e.toLowerCase()},capitalize:function(e){return"string"!=typeof e?e:e.substr(0,1).toUpperCase()+e.toLowerCase().substr(1)},title:function(e){return"string"!=typeof e?e:e.toLowerCase().replace(/(^|\s)([a-z])/g,function(e,t,r){return t+r.toUpperCase()})},length:function(t){return e.lib.is("Array",t)||"string"==typeof t?t.length:e.lib.is("Object",t)?void 0===t._keys?Object.keys(t).length:t._keys.length:0},reverse:function(e){if(t("Array",e))return e.reverse();if(t("String",e))return e.split("").reverse().join("");if(t("Object",e)){var r=e._keys||Object.keys(e).reverse();return e._keys=r,e}},sort:function(e){if(t("Array",e))return e.sort();if(t("Object",e)){delete e._keys;var r=Object.keys(e),n=r.sort(function(t,r){var n;return e[t]>e[r]==!(e[t]<=e[r])?e[t]>e[r]?1:e[t]<e[r]?-1:0:isNaN(n=parseFloat(e[t]))||isNaN(b1=parseFloat(e[r]))?"string"==typeof e[t]?e[t]>e[r].toString()?1:e[t]<e[r].toString()?-1:0:"string"==typeof e[r]?e[t].toString()>e[r]?1:e[t].toString()<e[r]?-1:0:null:n>b1?1:n<b1?-1:0});return e._keys=n,e}},keys:function(t){if(void 0!==t&&null!==t){var r=t._keys||Object.keys(t),n=[];return e.forEach(r,function(e){"_keys"!==e&&t.hasOwnProperty(e)&&n.push(e)}),n}},url_encode:function(e){if(void 0!==e&&null!==e){var t=encodeURIComponent(e);return t=t.replace("'","%27")}},join:function(r,n){if(void 0!==r&&null!==r){var o="",i=[],s=null;return n&&n[0]&&(o=n[0]),t("Array",r)?i=r:(s=r._keys||Object.keys(r),e.forEach(s,function(e){"_keys"!==e&&r.hasOwnProperty(e)&&i.push(r[e])})),i.join(o)}},"default":function(t,r){if(void 0!==r&&r.length>1)throw new e.Error("default filter expects one argument");return void 0===t||null===t||""===t?void 0===r?"":r[0]:t},json_encode:function(r){if(void 0===r||null===r)return"null";if("object"==typeof r&&t("Array",r))return o=[],e.forEach(r,function(t){o.push(e.filters.json_encode(t))}),"["+o.join(",")+"]";if("object"==typeof r){var n=r._keys||Object.keys(r),o=[];return e.forEach(n,function(t){o.push(JSON.stringify(t)+":"+e.filters.json_encode(r[t]))}),"{"+o.join(",")+"}"}return JSON.stringify(r)},merge:function(r,n){var o=[],i=0,s=[];if(t("Array",r)?e.forEach(n,function(e){t("Array",e)||(o={})}):o={},t("Array",o)||(o._keys=[]),t("Array",r)?e.forEach(r,function(e){o._keys&&o._keys.push(i),o[i]=e,i++}):(s=r._keys||Object.keys(r),e.forEach(s,function(e){o[e]=r[e],o._keys.push(e);var t=parseInt(e,10);!isNaN(t)&&t>=i&&(i=t+1)})),e.forEach(n,function(r){t("Array",r)?e.forEach(r,function(e){o._keys&&o._keys.push(i),o[i]=e,i++}):(s=r._keys||Object.keys(r),e.forEach(s,function(e){o[e]||o._keys.push(e),o[e]=r[e];var t=parseInt(e,10);!isNaN(t)&&t>=i&&(i=t+1)}))}),0===n.length)throw new e.Error("Filter merge expects at least one parameter");return o},date:function(t,r){var n=e.functions.date(t),o=r&&r.length?r[0]:"F j, Y H:i";return e.lib.date(o,n)},date_modify:function(t,r){if(void 0!==t&&null!==t){if(void 0===r||1!==r.length)throw new e.Error("date_modify filter expects 1 argument");var n,o=r[0];return e.lib.is("Date",t)&&(n=e.lib.strtotime(o,t.getTime()/1e3)),e.lib.is("String",t)&&(n=e.lib.strtotime(o,e.lib.strtotime(t))),e.lib.is("Number",t)&&(n=e.lib.strtotime(o,t)),new Date(1e3*n)}},replace:function(t,r){if(void 0!==t&&null!==t){var n,o=r[0];for(n in o)o.hasOwnProperty(n)&&"_keys"!==n&&(t=e.lib.replaceAll(t,n,o[n]));return t}},format:function(t,r){if(void 0!==t&&null!==t)return e.lib.vsprintf(t,r)},striptags:function(t){if(void 0!==t&&null!==t)return e.lib.strip_tags(t)},escape:function(t,r){if(void 0!==t&&null!==t){var n="html";if(r&&r.length&&r[0]!==!0&&(n=r[0]),"html"==n){var o=t.toString().replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#039;");return e.Markup(o,"html")}if("js"==n){for(var o=t.toString(),i="",s=0;s<o.length;s++)if(o[s].match(/^[a-zA-Z0-9,\._]$/))i+=o[s];else{var p=o.charCodeAt(s);i+=p<128?"\\x"+p.toString(16).toUpperCase():e.lib.sprintf("\\u%04s",p.toString(16).toUpperCase())}return e.Markup(i,"js")}if("css"==n){for(var o=t.toString(),i="",s=0;s<o.length;s++)if(o[s].match(/^[a-zA-Z0-9]$/))i+=o[s];else{var p=o.charCodeAt(s);i+="\\"+p.toString(16).toUpperCase()+" "}return e.Markup(i,"css")}if("url"==n){var i=e.filters.url_encode(t);return e.Markup(i,"url")}if("html_attr"==n){for(var o=t.toString(),i="",s=0;s<o.length;s++)if(o[s].match(/^[a-zA-Z0-9,\.\-_]$/))i+=o[s];else if(o[s].match(/^[&<>"]$/))i+=o[s].replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;");else{var p=o.charCodeAt(s);i+=p<=31&&9!=p&&10!=p&&13!=p?"&#xFFFD;":p<128?e.lib.sprintf("&#x%02s;",p.toString(16).toUpperCase()):e.lib.sprintf("&#x%04s;",p.toString(16).toUpperCase())}return e.Markup(i,"html_attr")}throw new e.Error("escape strategy unsupported")}},e:function(t,r){return e.filters.escape(t,r)},nl2br:function(t){if(void 0!==t&&null!==t){var r="BACKSLASH_n_replace",n="<br />"+r;return t=e.filters.escape(t).replace(/\r\n/g,n).replace(/\r/g,n).replace(/\n/g,n),t=e.lib.replaceAll(t,r,"\n"),e.Markup(t)}},number_format:function(e,t){var r=e,n=t&&t[0]?t[0]:void 0,o=t&&void 0!==t[1]?t[1]:".",i=t&&void 0!==t[2]?t[2]:",";r=(r+"").replace(/[^0-9+\-Ee.]/g,"");var s=isFinite(+r)?+r:0,p=isFinite(+n)?Math.abs(n):0,a="",l=function(e,t){var r=Math.pow(10,t);return""+Math.round(e*r)/r};return a=(p?l(s,p):""+Math.round(s)).split("."),a[0].length>3&&(a[0]=a[0].replace(/\B(?=(?:\d{3})+(?!\d))/g,i)),(a[1]||"").length<p&&(a[1]=a[1]||"",a[1]+=new Array(p-a[1].length+1).join("0")),a.join(o)},trim:function(t,r){if(void 0!==t&&null!==t){var n,o=e.filters.escape(""+t);n=r&&r[0]?""+r[0]:" \n\r\t\f\x0B            ​\u2028\u2029 ";for(var i=0;i<o.length;i++)if(n.indexOf(o.charAt(i))===-1){o=o.substring(i);break}for(i=o.length-1;i>=0;i--)if(n.indexOf(o.charAt(i))===-1){o=o.substring(0,i+1);break}return n.indexOf(o.charAt(0))===-1?o:""}},truncate:function(e,t){var r=30,n=!1,o="...";if(e+="",t&&(t[0]&&(r=t[0]),t[1]&&(n=t[1]),t[2]&&(o=t[2])),e.length>r){if(n&&(r=e.indexOf(" ",r),r===-1))return e;e=e.substr(0,r)+o}return e},slice:function(t,r){if(void 0!==t&&null!==t){if(void 0===r||r.length<1)throw new e.Error("slice filter expects at least 1 argument");var n=r[0]||0,o=r.length>1?r[1]:t.length,i=n>=0?n:Math.max(t.length+n,0);if(e.lib.is("Array",t)){for(var s=[],p=i;p<i+o&&p<t.length;p++)s.push(t[p]);return s}if(e.lib.is("String",t))return t.substr(i,o);throw new e.Error("slice filter expects value to be an array or string")}},abs:function(e){if(void 0!==e&&null!==e)return Math.abs(e)},first:function(e){if(t("Array",e))return e[0];if(t("Object",e)){if("_keys"in e)return e[e._keys[0]]}else if("string"==typeof e)return e.substr(0,1)},split:function(t,r){if(void 0!==t&&null!==t){if(void 0===r||r.length<1||r.length>2)throw new e.Error("split filter expects 1 or 2 argument");if(e.lib.is("String",t)){var n=r[0],o=r[1],i=t.split(n);if(void 0===o)return i;if(o<0)return t.split(n,i.length+o);var s=[];if(""==n)for(;i.length>0;){for(var p="",a=0;a<o&&i.length>0;a++)p+=i.shift();s.push(p)}else{for(var a=0;a<o-1&&i.length>0;a++)s.push(i.shift());i.length>0&&s.push(i.join(n))}return s}throw new e.Error("split filter expects value to be a string")}},last:function(t){if(e.lib.is("Object",t)){var r;return r=void 0===t._keys?Object.keys(t):t._keys,t[r[r.length-1]]}return t[t.length-1]},raw:function(t){return e.Markup(t)},batch:function(t,r){var n,o,i,s=r.shift(),p=r.shift();if(!e.lib.is("Array",t))throw new e.Error("batch filter expects items to be an array");if(!e.lib.is("Number",s))throw new e.Error("batch filter expects size to be a number");if(s=Math.ceil(s),n=e.lib.chunkArray(t,s),p&&t.length%s!=0){for(o=n.pop(),i=s-o.length;i--;)o.push(p);n.push(o)}return n},round:function(t,r){r=r||[];var n=r.length>0?r[0]:0,o=r.length>1?r[1]:"common";if(t=parseFloat(t),n&&!e.lib.is("Number",n))throw new e.Error("round filter expects precision to be a number");if("common"===o)return e.lib.round(t,n);if(!e.lib.is("Function",Math[o]))throw new e.Error("round filter expects method to be 'floor', 'ceil', or 'common'");return Math[o](t*Math.pow(10,n))/Math.pow(10,n)}},e.filter=function(t,r,n){if(!e.filters[t])throw"Unable to find filter "+t;return e.filters[t].apply(this,[r,n])},e.filter.extend=function(t,r){e.filters[t]=r},e}},function(e,t){e.exports=function(t){var r='Template "{name}" is not defined.';return t.functions={range:function(e,t,r){var n,o,i,s=[],p=r||1,a=!1;if(isNaN(e)||isNaN(t)?isNaN(e)&&isNaN(t)?(a=!0,n=e.charCodeAt(0),o=t.charCodeAt(0)):(n=isNaN(e)?0:e,o=isNaN(t)?0:t):(n=parseInt(e,10),o=parseInt(t,10)),i=!(n>o))for(;n<=o;)s.push(a?String.fromCharCode(n):n),n+=p;else for(;n>=o;)s.push(a?String.fromCharCode(n):n),n-=p;return s},cycle:function(e,t){var r=t%e.length;return e[r]},dump:function(){var e="\n",r=" ",n=0,o="",i=Array.prototype.slice.call(arguments),s=function(e){for(var t="";e>0;)e--,t+=r;return t},p=function(t){o+=s(n),"object"==typeof t?a(t):"function"==typeof t?o+="function()"+e:"string"==typeof t?o+="string("+t.length+') "'+t+'"'+e:"number"==typeof t?o+="number("+t+")"+e:"boolean"==typeof t&&(o+="bool("+t+")"+e)},a=function(t){var r;if(null===t)o+="NULL"+e;else if(void 0===t)o+="undefined"+e;else if("object"==typeof t){o+=s(n)+typeof t,n++,o+="("+function(e){var t,r=0;for(t in e)e.hasOwnProperty(t)&&r++;return r}(t)+") {"+e;for(r in t)o+=s(n)+"["+r+"]=> "+e,p(t[r]);n--,o+=s(n)+"}"+e}else p(t)};return 0==i.length&&i.push(this.context),t.forEach(i,function(e){a(e)}),o},date:function(e,r){var n;if(void 0===e||null===e||""===e)n=new Date;else if(t.lib.is("Date",e))n=e;else if(t.lib.is("String",e))n=e.match(/^[0-9]+$/)?new Date(1e3*e):new Date(1e3*t.lib.strtotime(e));else{if(!t.lib.is("Number",e))throw new t.Error("Unable to parse date "+e);n=new Date(1e3*e)}return n},block:function(e){return this.originalBlockTokens[e]?t.logic.parse.apply(this,[this.originalBlockTokens[e],this.context]).output:this.blocks[e]},parent:function(){return t.placeholders.parent},attribute:function(e,r,n){return t.lib.is("Object",e)&&e.hasOwnProperty(r)?"function"==typeof e[r]?e[r].apply(void 0,n):e[r]:e[r]||void 0},max:function(e){return t.lib.is("Object",e)?(delete e._keys,t.lib.max(e)):t.lib.max.apply(null,arguments)},min:function(e){return t.lib.is("Object",e)?(delete e._keys,t.lib.min(e)):t.lib.min.apply(null,arguments)},template_from_string:function(e){return void 0===e&&(e=""),t.Templates.parsers.twig({options:this.options,data:e})},random:function(e){function r(e){var t=Math.floor(Math.random()*n),r=[0,e],o=Math.min.apply(null,r),i=Math.max.apply(null,r);return o+Math.floor((i-o+1)*t/n)}var n=2147483648;if(t.lib.is("Number",e))return r(e);if(t.lib.is("String",e))return e.charAt(r(e.length-1));if(t.lib.is("Array",e))return e[r(e.length-1)];if(t.lib.is("Object",e)){var o=Object.keys(e);return e[o[r(o.length-1)]]}return r(n-1)},source:function(n,o){var i,s,p,a=!1,l="undefined"!=typeof e&&"undefined"!=typeof e.exports&&"undefined"==typeof window;l?(s="fs",p=__dirname+"/"+n):(s="ajax",p=n);var c={id:n,path:p,method:s,parser:"source",async:!1,fetchTemplateSource:!0};"undefined"==typeof o&&(o=!1);try{i=t.Templates.loadRemote(n,c),"undefined"==typeof i||null===i?i="":a=!0}catch(u){t.log.debug("Twig.functions.source: ","Problem loading template ",u)}return a||o?i:r.replace("{name}",n)}},t._function=function(e,r,n){if(!t.functions[e])throw"Unable to find function "+e;return t.functions[e](r,n)},t._function.extend=function(e,r){t.functions[e]=r},t}},function(e,t,r){e.exports=function(e){return e.lib={},e.lib.sprintf=r(8),e.lib.vsprintf=r(9),e.lib.round=r(10),e.lib.max=r(11),e.lib.min=r(12),e.lib.strip_tags=r(13),e.lib.strtotime=r(14),e.lib.date=r(15),e.lib.boolval=r(16),e.lib.is=function(e,t){var r=Object.prototype.toString.call(t).slice(8,-1);return void 0!==t&&null!==t&&r===e},e.lib.copy=function(e){var t,r={};for(t in e)r[t]=e[t];return r},e.lib.extend=function(e,t){var r,n=Object.keys(t);for(r=n.length;r--;)e[n[r]]=t[n[r]];return e},e.lib.replaceAll=function(e,t,r){return e.split(t).join(r)},e.lib.chunkArray=function(t,r){var n=[],o=0,i=t.length;if(r<1||!e.lib.is("Array",t))return[];for(;o<i;)n.push(t.slice(o,o+=r));return n},e}},function(e,t){"use strict";e.exports=function(){var e=/%%|%(\d+\$)?([\-+'#0 ]*)(\*\d+\$|\*|\d+)?(?:\.(\*\d+\$|\*|\d+))?([scboxXuideEfFgG])/g,t=arguments,r=0,n=t[r++],o=function(e,t,r,n){r||(r=" ");var o=e.length>=t?"":new Array(1+t-e.length>>>0).join(r);return n?e+o:o+e},i=function(e,t,r,n,i,s){var p=n-e.length;return p>0&&(e=r||!i?o(e,n,s,r):[e.slice(0,t.length),o("",p,"0",!0),e.slice(t.length)].join("")),e},s=function(e,t,r,n,s,p,a){var l=e>>>0;return r=r&&l&&{2:"0b",8:"0",16:"0x"}[t]||"",e=r+o(l.toString(t),p||0,"0",!1),i(e,r,n,s,a)},p=function(e,t,r,n,o,s){return null!==n&&void 0!==n&&(e=e.slice(0,n)),i(e,"",t,r,o,s)},a=function(e,n,a,l,c,u){var f,h,y,d,g;if("%%"===e)return"%";var m,x=!1,v="",b=!1,w=!1,k=" ",_=a.length;for(m=0;m<_;m++)switch(a.charAt(m)){case" ":v=" ";break;case"+":v="+";break;case"-":x=!0;break;case"'":k=a.charAt(m+1);break;case"0":b=!0,k="0";break;case"#":w=!0}if(l=l?"*"===l?+t[r++]:"*"===l.charAt(0)?+t[l.slice(1,-1)]:+l:0,l<0&&(l=-l,x=!0),!isFinite(l))throw new Error("sprintf: (minimum-)width must be finite");switch(c=c?"*"===c?+t[r++]:"*"===c.charAt(0)?+t[c.slice(1,-1)]:+c:"fFeE".indexOf(u)>-1?6:"d"===u?0:void 0,g=n?t[n.slice(0,-1)]:t[r++],u){case"s":return p(g+"",x,l,c,b,k);case"c":return p(String.fromCharCode(+g),x,l,c,b);case"b":return s(g,2,w,x,l,c,b);case"o":return s(g,8,w,x,l,c,b);case"x":return s(g,16,w,x,l,c,b);case"X":return s(g,16,w,x,l,c,b).toUpperCase();case"u":return s(g,10,w,x,l,c,b);case"i":case"d":return f=+g||0,f=Math.round(f-f%1),h=f<0?"-":v,g=h+o(String(Math.abs(f)),c,"0",!1),i(g,h,x,l,b);case"e":case"E":case"f":case"F":case"g":case"G":return f=+g,h=f<0?"-":v,y=["toExponential","toFixed","toPrecision"]["efg".indexOf(u.toLowerCase())],d=["toString","toUpperCase"]["eEfFgG".indexOf(u)%2],g=h+Math.abs(f)[y](c),i(g,h,x,l,b)[d]();default:return e}};return n.replace(e,a)}},function(e,t,r){"use strict";e.exports=function(e,t){var n=r(8);return n.apply(this,[e].concat(t))}},function(e,t){"use strict";e.exports=function(e,t,r){var n,o,i,s;if(t|=0,n=Math.pow(10,t),e*=n,s=e>0|-(e<0),i=e%1===.5*s,o=Math.floor(e),i)switch(r){case"PHP_ROUND_HALF_DOWN":e=o+(s<0);break;case"PHP_ROUND_HALF_EVEN":e=o+o%2*s;break;case"PHP_ROUND_HALF_ODD":e=o+!(o%2);break;default:e=o+(s>0)}return(i?e:Math.round(e))/n}},function(e,t){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};e.exports=function(){var e,t,n=0,o=0,i=arguments,s=i.length,p=function(e){if("[object Array]"===Object.prototype.toString.call(e))return e;var t=[];for(var r in e)e.hasOwnProperty(r)&&t.push(e[r]);return t},a=function l(e,t){var n=0,o=0,i=0,s=0,a=0;if(e===t)return 0;if("object"===("undefined"==typeof e?"undefined":r(e))){if("object"===("undefined"==typeof t?"undefined":r(t))){if(e=p(e),t=p(t),a=e.length,s=t.length,s>a)return 1;if(s<a)return-1;for(n=0,o=a;n<o;++n){if(i=l(e[n],t[n]),1===i)return 1;if(i===-1)return-1}return 0}return-1}return"object"===("undefined"==typeof t?"undefined":r(t))?1:isNaN(t)&&!isNaN(e)?0===e?0:e<0?1:-1:isNaN(e)&&!isNaN(t)?0===t?0:t>0?1:-1:t===e?0:t>e?1:-1};if(0===s)throw new Error("At least one value should be passed to max()");if(1===s){if("object"!==r(i[0]))throw new Error("Wrong parameter count for max()");if(e=p(i[0]),0===e.length)throw new Error("Array must contain at least one element for max()")}else e=i;for(t=e[0],n=1,o=e.length;n<o;++n)1===a(t,e[n])&&(t=e[n]);return t}},function(e,t){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};e.exports=function(){var e,t,n=0,o=0,i=arguments,s=i.length,p=function(e){if("[object Array]"===Object.prototype.toString.call(e))return e;var t=[];for(var r in e)e.hasOwnProperty(r)&&t.push(e[r]);return t},a=function l(e,t){var n=0,o=0,i=0,s=0,a=0;if(e===t)return 0;if("object"===("undefined"==typeof e?"undefined":r(e))){if("object"===("undefined"==typeof t?"undefined":r(t))){if(e=p(e),t=p(t),a=e.length,s=t.length,s>a)return 1;if(s<a)return-1;for(n=0,o=a;n<o;++n){if(i=l(e[n],t[n]),1===i)return 1;if(i===-1)return-1}return 0}return-1}return"object"===("undefined"==typeof t?"undefined":r(t))?1:isNaN(t)&&!isNaN(e)?0===e?0:e<0?1:-1:isNaN(e)&&!isNaN(t)?0===t?0:t>0?1:-1:t===e?0:t>e?1:-1};if(0===s)throw new Error("At least one value should be passed to min()");if(1===s){if("object"!==r(i[0]))throw new Error("Wrong parameter count for min()");if(e=p(i[0]),0===e.length)throw new Error("Array must contain at least one element for min()")}else e=i;for(t=e[0],n=1,o=e.length;n<o;++n)a(t,e[n])===-1&&(t=e[n]);return t}},function(e,t){"use strict";e.exports=function(e,t){t=(((t||"")+"").toLowerCase().match(/<[a-z][a-z0-9]*>/g)||[]).join("");var r=/<\/?([a-z][a-z0-9]*)\b[^>]*>/gi,n=/<!--[\s\S]*?-->|<\?(?:php)?[\s\S]*?\?>/gi;return e.replace(n,"").replace(r,function(e,r){return t.indexOf("<"+r.toLowerCase()+">")>-1?e:""})}},function(e,t){"use strict";e.exports=function(e,t){function r(e,t,r){var n,o=l[t];"undefined"!=typeof o&&(n=o-a.getDay(),0===n?n=7*r:n>0&&"last"===e?n-=7:n<0&&"next"===e&&(n+=7),a.setDate(a.getDate()+n))}function n(e){var t=e.split(" "),n=t[0],o=t[1].substring(0,3),i=/\d+/.test(n),s="ago"===t[2],p=("last"===n?-1:1)*(s?-1:1);if(i&&(p*=parseInt(n,10)),c.hasOwnProperty(o)&&!t[1].match(/^mon(day|\.)?$/i))return a["set"+c[o]](a["get"+c[o]]()+p);if("wee"===o)return a.setDate(a.getDate()+7*p);if("next"===n||"last"===n)r(n,o,p);else if(!i)return!1;return!0}var o,i,s,p,a,l,c,u,f,h,y,d=!1;if(!e)return d;e=e.replace(/^\s+|\s+$/g,"").replace(/\s{2,}/g," ").replace(/[\t\r\n]/g,"").toLowerCase();var g=new RegExp(["^(\\d{1,4})","([\\-\\.\\/:])","(\\d{1,2})","([\\-\\.\\/:])","(\\d{1,4})","(?:\\s(\\d{1,2}):(\\d{2})?:?(\\d{2})?)?","(?:\\s([A-Z]+)?)?$"].join(""));if(i=e.match(g),i&&i[2]===i[4])if(i[1]>1901)switch(i[2]){case"-":return i[3]>12||i[5]>31?d:new Date(i[1],parseInt(i[3],10)-1,i[5],i[6]||0,i[7]||0,i[8]||0,i[9]||0)/1e3;case".":return d;case"/":return i[3]>12||i[5]>31?d:new Date(i[1],parseInt(i[3],10)-1,i[5],i[6]||0,i[7]||0,i[8]||0,i[9]||0)/1e3}else if(i[5]>1901)switch(i[2]){case"-":return i[3]>12||i[1]>31?d:new Date(i[5],parseInt(i[3],10)-1,i[1],i[6]||0,i[7]||0,i[8]||0,i[9]||0)/1e3;case".":return i[3]>12||i[1]>31?d:new Date(i[5],parseInt(i[3],10)-1,i[1],i[6]||0,i[7]||0,i[8]||0,i[9]||0)/1e3;case"/":return i[1]>12||i[3]>31?d:new Date(i[5],parseInt(i[1],10)-1,i[3],i[6]||0,i[7]||0,i[8]||0,i[9]||0)/1e3}else switch(i[2]){case"-":return i[3]>12||i[5]>31||i[1]<70&&i[1]>38?d:(p=i[1]>=0&&i[1]<=38?+i[1]+2e3:i[1],new Date(p,parseInt(i[3],10)-1,i[5],i[6]||0,i[7]||0,i[8]||0,i[9]||0)/1e3);case".":return i[5]>=70?i[3]>12||i[1]>31?d:new Date(i[5],parseInt(i[3],10)-1,i[1],i[6]||0,i[7]||0,i[8]||0,i[9]||0)/1e3:i[5]<60&&!i[6]?i[1]>23||i[3]>59?d:(s=new Date,new Date(s.getFullYear(),s.getMonth(),s.getDate(),i[1]||0,i[3]||0,i[5]||0,i[9]||0)/1e3):d;case"/":return i[1]>12||i[3]>31||i[5]<70&&i[5]>38?d:(p=i[5]>=0&&i[5]<=38?+i[5]+2e3:i[5],new Date(p,parseInt(i[1],10)-1,i[3],i[6]||0,i[7]||0,i[8]||0,i[9]||0)/1e3);case":":return i[1]>23||i[3]>59||i[5]>59?d:(s=new Date,new Date(s.getFullYear(),s.getMonth(),s.getDate(),i[1]||0,i[3]||0,i[5]||0)/1e3)}if("now"===e)return null===t||isNaN(t)?(new Date).getTime()/1e3|0:0|t;if(!isNaN(o=Date.parse(e)))return o/1e3|0;if(g=new RegExp(["^([0-9]{4}-[0-9]{2}-[0-9]{2})","[ t]","([0-9]{2}:[0-9]{2}:[0-9]{2}(\\.[0-9]+)?)","([\\+-][0-9]{2}(:[0-9]{2})?|z)"].join("")),i=e.match(g),i&&("z"===i[4]?i[4]="Z":i[4].match(/^([\+-][0-9]{2})$/)&&(i[4]=i[4]+":00"),!isNaN(o=Date.parse(i[1]+"T"+i[2]+i[4]))))return o/1e3|0;if(a=t?new Date(1e3*t):new Date,l={sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6},c={yea:"FullYear",mon:"Month",day:"Date",hou:"Hours",min:"Minutes",sec:"Seconds"},f="(years?|months?|weeks?|days?|hours?|minutes?|min|seconds?|sec|sunday|sun\\.?|monday|mon\\.?|tuesday|tue\\.?|wednesday|wed\\.?|thursday|thu\\.?|friday|fri\\.?|saturday|sat\\.?)",h="([+-]?\\d+\\s"+f+"|(last|next)\\s"+f+")(\\sago)?",i=e.match(new RegExp(h,"gi")),!i)return d;for(y=0,u=i.length;y<u;y++)if(!n(i[y]))return d;return a.getTime()/1e3}},function(e,t){"use strict";e.exports=function(e,t){var r,n,o=["Sun","Mon","Tues","Wednes","Thurs","Fri","Satur","January","February","March","April","May","June","July","August","September","October","November","December"],i=/\\?(.?)/gi,s=function(e,t){return n[e]?n[e]():t},p=function(e,t){for(e=String(e);e.length<t;)e="0"+e;return e};n={d:function(){return p(n.j(),2)},D:function(){return n.l().slice(0,3)},j:function(){return r.getDate()},l:function(){return o[n.w()]+"day"},N:function(){return n.w()||7},S:function(){var e=n.j(),t=e%10;return t<=3&&1===parseInt(e%100/10,10)&&(t=0),["st","nd","rd"][t-1]||"th"},w:function(){return r.getDay()},z:function(){var e=new Date(n.Y(),n.n()-1,n.j()),t=new Date(n.Y(),0,1);return Math.round((e-t)/864e5)},W:function(){var e=new Date(n.Y(),n.n()-1,n.j()-n.N()+3),t=new Date(e.getFullYear(),0,4);return p(1+Math.round((e-t)/864e5/7),2)},F:function(){return o[6+n.n()]},m:function(){return p(n.n(),2)},M:function(){return n.F().slice(0,3)},n:function(){return r.getMonth()+1},t:function(){return new Date(n.Y(),n.n(),0).getDate()},L:function(){var e=n.Y();return e%4===0&e%100!==0|e%400===0},o:function(){var e=n.n(),t=n.W(),r=n.Y();return r+(12===e&&t<9?1:1===e&&t>9?-1:0)},Y:function(){return r.getFullYear()},y:function(){return n.Y().toString().slice(-2)},a:function(){return r.getHours()>11?"pm":"am"},A:function(){return n.a().toUpperCase()},B:function(){var e=3600*r.getUTCHours(),t=60*r.getUTCMinutes(),n=r.getUTCSeconds();return p(Math.floor((e+t+n+3600)/86.4)%1e3,3)},g:function(){return n.G()%12||12},G:function(){return r.getHours()},h:function(){return p(n.g(),2)},H:function(){return p(n.G(),2)},i:function(){return p(r.getMinutes(),2)},s:function(){return p(r.getSeconds(),2)},u:function(){return p(1e3*r.getMilliseconds(),6)},e:function(){var e="Not supported (see source code of date() for timezone on how to add support)";throw new Error(e)},I:function(){var e=new Date(n.Y(),0),t=Date.UTC(n.Y(),0),r=new Date(n.Y(),6),o=Date.UTC(n.Y(),6);return e-t!==r-o?1:0},O:function(){var e=r.getTimezoneOffset(),t=Math.abs(e);return(e>0?"-":"+")+p(100*Math.floor(t/60)+t%60,4)},P:function(){var e=n.O();return e.substr(0,3)+":"+e.substr(3,2)},T:function(){return"UTC"},Z:function(){return 60*-r.getTimezoneOffset()},c:function(){return"Y-m-d\\TH:i:sP".replace(i,s)},r:function(){return"D, d M Y H:i:s O".replace(i,s)},U:function(){return r/1e3|0}};var a=function(e,t){return r=void 0===t?new Date:t instanceof Date?new Date(t):new Date(1e3*t),e.replace(i,s)};return a(e,t)}},function(e,t){"use strict";e.exports=function(e){return e!==!1&&(0!==e&&0!==e&&(""!==e&&"0"!==e&&((!Array.isArray(e)||0!==e.length)&&(null!==e&&void 0!==e))))}},function(e,t){e.exports=function(e){"use strict";e.Templates.registerLoader("ajax",function(t,r,n,o){var i,s,p=r.precompiled,a=this.parsers[r.parser]||this.parser.twig;if("undefined"==typeof XMLHttpRequest)throw new e.Error('Unsupported platform: Unable to do ajax requests because there is no "XMLHTTPRequest" implementation');return s=new XMLHttpRequest,s.onreadystatechange=function(){var l=null;4===s.readyState&&(200===s.status||window.cordova&&0==s.status?(e.log.debug("Got template ",s.responseText),l=p===!0?JSON.parse(s.responseText):s.responseText,r.url=t,r.data=l,i=a.call(this,r),"function"==typeof n&&n(i)):"function"==typeof o&&o(s))},s.open("GET",t,!!r.async),s.send(),!!r.async||i})}},function(e,t,r){e.exports=function(e){"use strict";var t,n;try{t=r(19),n=r(20)}catch(o){}e.Templates.registerLoader("fs",function(r,o,i,s){var p,a=null,l=o.precompiled,c=this.parsers[o.parser]||this.parser.twig;if(!t||!n)throw new e.Error('Unsupported platform: Unable to load from file because there is no "fs" or "path" implementation');var u=function(e,t){return e?void("function"==typeof s&&s(e)):(l===!0&&(t=JSON.parse(t)),o.data=t,o.path=o.path||r,p=c.call(this,o),void("function"==typeof i&&i(p)))};if(o.path=o.path||r,o.async)return t.stat(o.path,function(n,i){if(n||!i.isFile())throw new e.Error("Unable to find template file "+r);t.readFile(o.path,"utf8",u)}),!0;if(!t.statSync(o.path).isFile())throw new e.Error("Unable to find template file "+r);return a=t.readFileSync(o.path,"utf8"),u(void 0,a),p})}},function(e,t){},function(e,t,r){(function(e){function r(e,t){for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r--;r)e.unshift("..");return e}function n(e,t){if(e.filter)return e.filter(t);for(var r=[],n=0;n<e.length;n++)t(e[n],n,e)&&r.push(e[n]);return r}var o=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,i=function(e){return o.exec(e).slice(1)};t.resolve=function(){for(var t="",o=!1,i=arguments.length-1;i>=-1&&!o;i--){var s=i>=0?arguments[i]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(t=s+"/"+t,o="/"===s.charAt(0))}return t=r(n(t.split("/"),function(e){return!!e}),!o).join("/"),(o?"/":"")+t||"."},t.normalize=function(e){var o=t.isAbsolute(e),i="/"===s(e,-1);return e=r(n(e.split("/"),function(e){return!!e}),!o).join("/"),e||o||(e="."),e&&i&&(e+="/"),(o?"/":"")+e},t.isAbsolute=function(e){return"/"===e.charAt(0)},t.join=function(){var e=Array.prototype.slice.call(arguments,0);return t.normalize(n(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},t.relative=function(e,r){function n(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=t.resolve(e).substr(1),r=t.resolve(r).substr(1);for(var o=n(e.split("/")),i=n(r.split("/")),s=Math.min(o.length,i.length),p=s,a=0;a<s;a++)if(o[a]!==i[a]){p=a;break}for(var l=[],a=p;a<o.length;a++)l.push("..");return l=l.concat(i.slice(p)),l.join("/")},t.sep="/",t.delimiter=":",t.dirname=function(e){var t=i(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},t.basename=function(e,t){var r=i(e)[2];return t&&r.substr(-1*t.length)===t&&(r=r.substr(0,r.length-t.length)),r},t.extname=function(e){return i(e)[3]};var s="b"==="ab".substr(-1)?function(e,t,r){return e.substr(t,r)}:function(e,t,r){return t<0&&(t=e.length+t),e.substr(t,r)}}).call(t,r(21))},function(e,t){function r(){throw new Error("setTimeout has not been defined")}function n(){throw new Error("clearTimeout has not been defined")}function o(e){if(c===setTimeout)return setTimeout(e,0);if((c===r||!c)&&setTimeout)return c=setTimeout,setTimeout(e,0);try{return c(e,0)}catch(t){try{return c.call(null,e,0)}catch(t){return c.call(this,e,0)}}}function i(e){if(u===clearTimeout)return clearTimeout(e);if((u===n||!u)&&clearTimeout)return u=clearTimeout,clearTimeout(e);try{return u(e)}catch(t){try{return u.call(null,e)}catch(t){return u.call(this,e)}}}function s(){d&&h&&(d=!1,h.length?y=h.concat(y):g=-1,y.length&&p())}function p(){if(!d){var e=o(s);d=!0;for(var t=y.length;t;){for(h=y,y=[];++g<t;)h&&h[g].run();g=-1,t=y.length}h=null,d=!1,i(e)}}function a(e,t){this.fun=e,this.array=t}function l(){}var c,u,f=e.exports={};!function(){try{c="function"==typeof setTimeout?setTimeout:r}catch(e){c=r}try{u="function"==typeof clearTimeout?clearTimeout:n}catch(e){u=n}}();var h,y=[],d=!1,g=-1;f.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];y.push(new a(e,t)),1!==y.length||d||o(p)},a.prototype.run=function(){this.fun.apply(null,this.array)},f.title="browser",f.browser=!0,f.env={},f.argv=[],f.version="",f.versions={},f.on=l,f.addListener=l,f.once=l,f.off=l,f.removeListener=l,f.removeAllListeners=l,f.emit=l,f.binding=function(e){throw new Error("process.binding is not supported")},f.cwd=function(){return"/"},f.chdir=function(e){throw new Error("process.chdir is not supported")},f.umask=function(){return 0}},function(e,t){e.exports=function(e){"use strict";for(e.logic={},e.logic.type={if_:"Twig.logic.type.if",endif:"Twig.logic.type.endif",for_:"Twig.logic.type.for",endfor:"Twig.logic.type.endfor",else_:"Twig.logic.type.else",elseif:"Twig.logic.type.elseif",set:"Twig.logic.type.set",setcapture:"Twig.logic.type.setcapture",endset:"Twig.logic.type.endset",filter:"Twig.logic.type.filter",endfilter:"Twig.logic.type.endfilter",shortblock:"Twig.logic.type.shortblock",block:"Twig.logic.type.block",endblock:"Twig.logic.type.endblock",extends_:"Twig.logic.type.extends",use:"Twig.logic.type.use",include:"Twig.logic.type.include",spaceless:"Twig.logic.type.spaceless",endspaceless:"Twig.logic.type.endspaceless",macro:"Twig.logic.type.macro",endmacro:"Twig.logic.type.endmacro",import_:"Twig.logic.type.import",from:"Twig.logic.type.from",embed:"Twig.logic.type.embed",endembed:"Twig.logic.type.endembed"},e.logic.definitions=[{type:e.logic.type.if_,regex:/^if\s+([\s\S]+)$/,next:[e.logic.type.else_,e.logic.type.elseif,e.logic.type.endif],open:!0,compile:function(t){var r=t.match[1];return t.stack=e.expression.compile.apply(this,[{type:e.expression.type.expression,value:r}]).stack,delete t.match,t},parse:function(t,r,n){var o="",i=e.expression.parse.apply(this,[t.stack,r]);return n=!0,e.lib.boolval(i)&&(n=!1,o=e.parse.apply(this,[t.output,r])),{chain:n,output:o}}},{type:e.logic.type.elseif,regex:/^elseif\s+([^\s].*)$/,next:[e.logic.type.else_,e.logic.type.elseif,e.logic.type.endif],open:!1,compile:function(t){var r=t.match[1];return t.stack=e.expression.compile.apply(this,[{type:e.expression.type.expression,value:r}]).stack,delete t.match,t},parse:function(t,r,n){var o="",i=e.expression.parse.apply(this,[t.stack,r]);return n&&e.lib.boolval(i)&&(n=!1,o=e.parse.apply(this,[t.output,r])),{chain:n,output:o}}},{type:e.logic.type.else_,regex:/^else$/,next:[e.logic.type.endif,e.logic.type.endfor],open:!1,parse:function(t,r,n){var o="";return n&&(o=e.parse.apply(this,[t.output,r])),{chain:n,output:o}}},{type:e.logic.type.endif,regex:/^endif$/,next:[],open:!1},{type:e.logic.type.for_,regex:/^for\s+([a-zA-Z0-9_,\s]+)\s+in\s+([^\s].*?)(?:\s+if\s+([^\s].*))?$/,next:[e.logic.type.else_,e.logic.type.endfor],open:!0,compile:function(t){var r=t.match[1],n=t.match[2],o=t.match[3],i=null;if(t.key_var=null,t.value_var=null,r.indexOf(",")>=0){if(i=r.split(","),2!==i.length)throw new e.Error("Invalid expression in for loop: "+r);t.key_var=i[0].trim(),t.value_var=i[1].trim()}else t.value_var=r;return t.expression=e.expression.compile.apply(this,[{type:e.expression.type.expression,
value:n}]).stack,o&&(t.conditional=e.expression.compile.apply(this,[{type:e.expression.type.expression,value:o}]).stack),delete t.match,t},parse:function(t,r,n){var o,i,s=e.expression.parse.apply(this,[t.expression,r]),p=[],a=0,l=this,c=t.conditional,u=function(e,t){var n=void 0!==c;return{index:e+1,index0:e,revindex:n?void 0:t-e,revindex0:n?void 0:t-e-1,first:0===e,last:n?void 0:e===t-1,length:n?void 0:t,parent:r}},f=function(n,i){var s=e.ChildContext(r);s[t.value_var]=i,t.key_var&&(s[t.key_var]=n),s.loop=u(a,o),(void 0===c||e.expression.parse.apply(l,[c,s]))&&(p.push(e.parse.apply(l,[t.output,s])),a+=1),delete s.loop,delete s[t.value_var],delete s[t.key_var],e.merge(r,s,!0)};return e.lib.is("Array",s)?(o=s.length,e.forEach(s,function(e){var t=a;f(t,e)})):e.lib.is("Object",s)&&(i=void 0!==s._keys?s._keys:Object.keys(s),o=i.length,e.forEach(i,function(e){"_keys"!==e&&f(e,s[e])})),n=0===p.length,{chain:n,output:e.output.apply(this,[p])}}},{type:e.logic.type.endfor,regex:/^endfor$/,next:[],open:!1},{type:e.logic.type.set,regex:/^set\s+([a-zA-Z0-9_,\s]+)\s*=\s*([\s\S]+)$/,next:[],open:!0,compile:function(t){var r=t.match[1].trim(),n=t.match[2],o=e.expression.compile.apply(this,[{type:e.expression.type.expression,value:n}]).stack;return t.key=r,t.expression=o,delete t.match,t},parse:function(t,r,n){var o=e.expression.parse.apply(this,[t.expression,r]),i=t.key;return o===r&&(o=e.lib.copy(o)),r[i]=o,{chain:n,context:r}}},{type:e.logic.type.setcapture,regex:/^set\s+([a-zA-Z0-9_,\s]+)$/,next:[e.logic.type.endset],open:!0,compile:function(e){var t=e.match[1].trim();return e.key=t,delete e.match,e},parse:function(t,r,n){var o=e.parse.apply(this,[t.output,r]),i=t.key;return this.context[i]=o,r[i]=o,{chain:n,context:r}}},{type:e.logic.type.endset,regex:/^endset$/,next:[],open:!1},{type:e.logic.type.filter,regex:/^filter\s+(.+)$/,next:[e.logic.type.endfilter],open:!0,compile:function(t){var r="|"+t.match[1].trim();return t.stack=e.expression.compile.apply(this,[{type:e.expression.type.expression,value:r}]).stack,delete t.match,t},parse:function(t,r,n){var o=e.parse.apply(this,[t.output,r]),i=[{type:e.expression.type.string,value:o}].concat(t.stack),s=e.expression.parse.apply(this,[i,r]);return{chain:n,output:s}}},{type:e.logic.type.endfilter,regex:/^endfilter$/,next:[],open:!1},{type:e.logic.type.block,regex:/^block\s+([a-zA-Z0-9_]+)$/,next:[e.logic.type.endblock],open:!0,compile:function(e){return e.block=e.match[1].trim(),delete e.match,e},parse:function(t,r,n){var o,i,s=e.indexOf(this.importedBlocks,t.block)>-1,p=this.blocks[t.block]&&e.indexOf(this.blocks[t.block],e.placeholders.parent)>-1;return(void 0===this.blocks[t.block]||s||p||r.loop||t.overwrite)&&(o=t.expression?e.expression.parse.apply(this,[{type:e.expression.type.string,value:e.expression.parse.apply(this,[t.output,r])},r]):e.expression.parse.apply(this,[{type:e.expression.type.string,value:e.parse.apply(this,[t.output,r])},r]),s&&this.importedBlocks.splice(this.importedBlocks.indexOf(t.block),1),p?this.blocks[t.block]=e.Markup(this.blocks[t.block].replace(e.placeholders.parent,o)):this.blocks[t.block]=o,this.originalBlockTokens[t.block]={type:t.type,block:t.block,output:t.output,overwrite:!0}),i=this.child.blocks[t.block]?this.child.blocks[t.block]:this.blocks[t.block],{chain:n,output:i}}},{type:e.logic.type.shortblock,regex:/^block\s+([a-zA-Z0-9_]+)\s+(.+)$/,next:[],open:!0,compile:function(t){return t.expression=t.match[2].trim(),t.output=e.expression.compile({type:e.expression.type.expression,value:t.expression}).stack,t.block=t.match[1].trim(),delete t.match,t},parse:function(t,r,n){return e.logic.handler[e.logic.type.block].parse.apply(this,arguments)}},{type:e.logic.type.endblock,regex:/^endblock(?:\s+([a-zA-Z0-9_]+))?$/,next:[],open:!1},{type:e.logic.type.extends_,regex:/^extends\s+(.+)$/,next:[],open:!0,compile:function(t){var r=t.match[1].trim();return delete t.match,t.stack=e.expression.compile.apply(this,[{type:e.expression.type.expression,value:r}]).stack,t},parse:function(t,r,n){var o,i=e.ChildContext(r),s=e.expression.parse.apply(this,[t.stack,r]);return this.extend=s,o=s instanceof e.Template?s:this.importFile(s),o.render(i),e.lib.extend(r,i),{chain:n,output:""}}},{type:e.logic.type.use,regex:/^use\s+(.+)$/,next:[],open:!0,compile:function(t){var r=t.match[1].trim();return delete t.match,t.stack=e.expression.compile.apply(this,[{type:e.expression.type.expression,value:r}]).stack,t},parse:function(t,r,n){var o=e.expression.parse.apply(this,[t.stack,r]);return this.importBlocks(o),{chain:n,output:""}}},{type:e.logic.type.include,regex:/^include\s+(ignore missing\s+)?(.+?)\s*(?:with\s+([\S\s]+?))?\s*(only)?$/,next:[],open:!0,compile:function(t){var r=t.match,n=void 0!==r[1],o=r[2].trim(),i=r[3],s=void 0!==r[4]&&r[4].length;return delete t.match,t.only=s,t.includeMissing=n,t.stack=e.expression.compile.apply(this,[{type:e.expression.type.expression,value:o}]).stack,void 0!==i&&(t.withStack=e.expression.compile.apply(this,[{type:e.expression.type.expression,value:i.trim()}]).stack),t},parse:function(t,r,n){var o,i,s,p={};if(t.only||(p=e.ChildContext(r)),void 0!==t.withStack){o=e.expression.parse.apply(this,[t.withStack,r]);for(i in o)o.hasOwnProperty(i)&&(p[i]=o[i])}var a=e.expression.parse.apply(this,[t.stack,r]);return s=a instanceof e.Template?a:this.importFile(a),{chain:n,output:s.render(p)}}},{type:e.logic.type.spaceless,regex:/^spaceless$/,next:[e.logic.type.endspaceless],open:!0,parse:function(t,r,n){var o=e.parse.apply(this,[t.output,r]),i=/>\s+</g,s=o.replace(i,"><").trim();return{chain:n,output:s}}},{type:e.logic.type.endspaceless,regex:/^endspaceless$/,next:[],open:!1},{type:e.logic.type.macro,regex:/^macro\s+([a-zA-Z0-9_]+)\s*\(\s*((?:[a-zA-Z0-9_]+(?:,\s*)?)*)\s*\)$/,next:[e.logic.type.endmacro],open:!0,compile:function(t){for(var r=t.match[1],n=t.match[2].split(/[\s,]+/),o=0;o<n.length;o++)for(var i=0;i<n.length;i++)if(n[o]===n[i]&&o!==i)throw new e.Error("Duplicate arguments for parameter: "+n[o]);return t.macroName=r,t.parameters=n,delete t.match,t},parse:function(t,r,n){var o=this;return this.macros[t.macroName]=function(){for(var r={_self:o.macros},n=0;n<t.parameters.length;n++){var i=t.parameters[n];"undefined"!=typeof arguments[n]?r[i]=arguments[n]:r[i]=void 0}return e.parse.apply(o,[t.output,r])},{chain:n,output:""}}},{type:e.logic.type.endmacro,regex:/^endmacro$/,next:[],open:!1},{type:e.logic.type.import_,regex:/^import\s+(.+)\s+as\s+([a-zA-Z0-9_]+)$/,next:[],open:!0,compile:function(t){var r=t.match[1].trim(),n=t.match[2].trim();return delete t.match,t.expression=r,t.contextName=n,t.stack=e.expression.compile.apply(this,[{type:e.expression.type.expression,value:r}]).stack,t},parse:function(t,r,n){if("_self"!==t.expression){var o=e.expression.parse.apply(this,[t.stack,r]),i=this.importFile(o||t.expression);r[t.contextName]=i.render({},{output:"macros"})}else r[t.contextName]=this.macros;return{chain:n,output:""}}},{type:e.logic.type.from,regex:/^from\s+(.+)\s+import\s+([a-zA-Z0-9_, ]+)$/,next:[],open:!0,compile:function(t){for(var r=t.match[1].trim(),n=t.match[2].trim().split(/[ ,]+/),o={},i=0;i<n.length;i++){var s=n[i],p=s.match(/^([a-zA-Z0-9_]+)\s+(.+)\s+as\s+([a-zA-Z0-9_]+)$/);p?o[p[1].trim()]=p[2].trim():s.match(/^([a-zA-Z0-9_]+)$/)&&(o[s]=s)}return delete t.match,t.expression=r,t.macroNames=o,t.stack=e.expression.compile.apply(this,[{type:e.expression.type.expression,value:r}]).stack,t},parse:function(t,r,n){var o;if("_self"!==t.expression){var i=e.expression.parse.apply(this,[t.stack,r]),s=this.importFile(i||t.expression);o=s.render({},{output:"macros"})}else o=this.macros;for(var p in t.macroNames)o.hasOwnProperty(p)&&(r[t.macroNames[p]]=o[p]);return{chain:n,output:""}}},{type:e.logic.type.embed,regex:/^embed\s+(ignore missing\s+)?(.+?)\s*(?:with\s+(.+?))?\s*(only)?$/,next:[e.logic.type.endembed],open:!0,compile:function(t){var r=t.match,n=void 0!==r[1],o=r[2].trim(),i=r[3],s=void 0!==r[4]&&r[4].length;return delete t.match,t.only=s,t.includeMissing=n,t.stack=e.expression.compile.apply(this,[{type:e.expression.type.expression,value:o}]).stack,void 0!==i&&(t.withStack=e.expression.compile.apply(this,[{type:e.expression.type.expression,value:i.trim()}]).stack),t},parse:function(t,r,n){var o,i,s,p={};if(!t.only)for(i in r)r.hasOwnProperty(i)&&(p[i]=r[i]);if(void 0!==t.withStack){o=e.expression.parse.apply(this,[t.withStack,r]);for(i in o)o.hasOwnProperty(i)&&(p[i]=o[i])}var a=e.expression.parse.apply(this,[t.stack,p]);s=a instanceof e.Template?a:this.importFile(a),this.blocks={};e.parse.apply(this,[t.output,p]);return{chain:n,output:s.render(p,{blocks:this.blocks})}}},{type:e.logic.type.endembed,regex:/^endembed$/,next:[],open:!1}],e.logic.handler={},e.logic.extendType=function(t,r){r=r||"Twig.logic.type"+t,e.logic.type[t]=r},e.logic.extend=function(t){if(!t.type)throw new e.Error("Unable to extend logic definition. No type provided for "+t);e.logic.extendType(t.type),e.logic.handler[t.type]=t};e.logic.definitions.length>0;)e.logic.extend(e.logic.definitions.shift());return e.logic.compile=function(t){var r=t.value.trim(),n=e.logic.tokenize.apply(this,[r]),o=e.logic.handler[n.type];return o.compile&&(n=o.compile.apply(this,[n]),e.log.trace("Twig.logic.compile: ","Compiled logic token to ",n)),n},e.logic.tokenize=function(t){var r={},n=null,o=null,i=null,s=null,p=null,a=null;t=t.trim();for(n in e.logic.handler)if(e.logic.handler.hasOwnProperty(n))for(o=e.logic.handler[n].type,i=e.logic.handler[n].regex,s=[],i instanceof Array?s=i:s.push(i);s.length>0;)if(p=s.shift(),a=p.exec(t.trim()),null!==a)return r.type=o,r.match=a,e.log.trace("Twig.logic.tokenize: ","Matched a ",o," regular expression of ",a),r;throw new e.Error("Unable to parse '"+t.trim()+"'")},e.logic.parse=function(t,r,n){var o,i="";return r=r||{},e.log.debug("Twig.logic.parse: ","Parsing logic token ",t),o=e.logic.handler[t.type],o.parse&&(i=o.parse.apply(this,[t,r,n])),i},e}},function(e,t){e.exports=function(e){"use strict";e.Templates.registerParser("source",function(e){return e.data||""})}},function(e,t){e.exports=function(e){"use strict";e.Templates.registerParser("twig",function(t){return new e.Template(t)})}},function(e,t,r){e.exports=function(e){"use strict";return e.path={},e.path.parsePath=function(t,r){var n=null,r=r||"";if("object"==typeof t&&"object"==typeof t.options&&(n=t.options.namespaces),"object"==typeof n&&r.indexOf("::")>0||r.indexOf("@")>=0){for(var o in n)n.hasOwnProperty(o)&&(r=r.replace(o+"::",n[o]),r=r.replace("@"+o,n[o]));return r}return e.path.relativePath(t,r)},e.path.relativePath=function(t,n){var o,i,s,p="/",a=[],n=n||"";if(t.url)o="undefined"!=typeof t.base?t.base+("/"===t.base.charAt(t.base.length-1)?"":"/"):t.url;else if(t.path){var l=r(20),c=l.sep||p,u=new RegExp("^\\.{1,2}"+c.replace("\\","\\\\"));n=n.replace(/\//g,c),void 0!==t.base&&null==n.match(u)?(n=n.replace(t.base,""),o=t.base+c):o=l.normalize(t.path),o=o.replace(c+c,c),p=c}else{if(!t.name&&!t.id||!t.method||"fs"===t.method||"ajax"===t.method)throw new e.Error("Cannot extend an inline template.");o=t.base||t.name||t.id}for(i=o.split(p),i.pop(),i=i.concat(n.split(p));i.length>0;)s=i.shift(),"."==s||(".."==s&&a.length>0&&".."!=a[a.length-1]?a.pop():a.push(s));return a.join(p)},e}},function(e,t){e.exports=function(e){"use strict";return e.tests={empty:function(e){if(null===e||void 0===e)return!0;if("number"==typeof e)return!1;if(e.length&&e.length>0)return!1;for(var t in e)if(e.hasOwnProperty(t))return!1;return!0},odd:function(e){return e%2===1},even:function(e){return e%2===0},divisibleby:function(e,t){return e%t[0]===0},defined:function(e){return void 0!==e},none:function(e){return null===e},"null":function(e){return this.none(e)},sameas:function(e,t){return e===t[0]},iterable:function(t){return t&&(e.lib.is("Array",t)||e.lib.is("Object",t))}},e.test=function(t,r,n){if(!e.tests[t])throw"Test "+t+" is not defined.";return e.tests[t](r,n)},e.test.extend=function(t,r){e.tests[t]=r},e}},function(e,t){e.exports=function(e){"use strict";return e.exports={VERSION:e.VERSION},e.exports.twig=function(t){var r=t.id,n={strict_variables:t.strict_variables||!1,autoescape:null!=t.autoescape&&t.autoescape||!1,allowInlineIncludes:t.allowInlineIncludes||!1,rethrow:t.rethrow||!1,namespaces:t.namespaces};if(e.cache&&r&&e.validateId(r),void 0!==t.debug&&(e.debug=t.debug),void 0!==t.trace&&(e.trace=t.trace),void 0!==t.data)return e.Templates.parsers.twig({data:t.data,path:t.hasOwnProperty("path")?t.path:void 0,module:t.module,id:r,options:n});if(void 0!==t.ref){if(void 0!==t.id)throw new e.Error("Both ref and id cannot be set on a twig.js template.");return e.Templates.load(t.ref)}if(void 0!==t.method){if(!e.Templates.isRegisteredLoader(t.method))throw new e.Error('Loader for "'+t.method+'" is not defined.');return e.Templates.loadRemote(t.name||t.href||t.path||r||void 0,{id:r,method:t.method,parser:t.parser||"twig",base:t.base,module:t.module,precompiled:t.precompiled,async:t.async,options:n},t.load,t.error)}return void 0!==t.href?e.Templates.loadRemote(t.href,{id:r,method:"ajax",parser:t.parser||"twig",base:t.base,module:t.module,precompiled:t.precompiled,async:t.async,options:n},t.load,t.error):void 0!==t.path?e.Templates.loadRemote(t.path,{id:r,method:"fs",parser:t.parser||"twig",base:t.base,module:t.module,precompiled:t.precompiled,async:t.async,options:n},t.load,t.error):void 0},e.exports.extendFilter=function(t,r){e.filter.extend(t,r)},e.exports.extendFunction=function(t,r){e._function.extend(t,r)},e.exports.extendTest=function(t,r){e.test.extend(t,r)},e.exports.extendTag=function(t){e.logic.extend(t)},e.exports.extend=function(t){t(e)},e.exports.compile=function(t,r){var n,o=r.filename,i=r.filename;return n=new e.Template({data:t,path:i,id:o,options:r.settings["twig options"]}),function(e){return n.render(e)}},e.exports.renderFile=function(t,r,n){"function"==typeof r&&(n=r,r={}),r=r||{};var o=r.settings||{},i={path:t,base:o.views,load:function(e){n(null,""+e.render(r))}},s=o["twig options"];if(s)for(var p in s)s.hasOwnProperty(p)&&(i[p]=s[p]);e.exports.twig(i)},e.exports.__express=e.exports.renderFile,e.exports.cache=function(t){e.cache=t},e.exports.path=e.path,e.exports.filters=e.filters,e}}])});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment