@rhinostone/swig 2.0.0-alpha.2 → 2.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,4 @@
1
+ kind: changed
2
+ body: Internal carve — `lib/dateformatter.js` moved into `@rhinostone/swig-core/lib/dateformatter`. The old path stays as a shim so every existing `require('./dateformatter')` consumer (including `lib/swig.js` and `lib/filters.js`) resolves to the same exports object via Node's module cache. `swig.setDefaultTZOffset` continues to mutate the shared `tzOffset` binding. No user-visible change.
3
+ custom:
4
+ Issue: ""
@@ -0,0 +1,4 @@
1
+ kind: added
2
+ body: '`@rhinostone/swig-twig` gains the `{{ x|date(format[, offset[, abbr]]) }}` filter. Accepts a `Date`, epoch-ms number, or date-compatible string; format spec matches PHP `date()` (backslash escapes literal characters). Wraps the shared `@rhinostone/swig-core/lib/dateformatter`, so `swig.setDefaultTZOffset` applies in Twig templates too. Twig-native `DateTime` / `DateInterval` inputs, timezone-string arguments, and locale-aware month/day names are Phase 4 concerns — today the filter surface matches native swig `date` verbatim.'
3
+ custom:
4
+ Issue: ""
package/dist/swig.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! Swig v2.0.0-alpha.1 | https://github.com/gina-io/swig | @license https://github.com/gina-io/swig/blob/master/LICENSE */
1
+ /*! Swig v2.0.0-alpha.3 | https://github.com/gina-io/swig | @license https://github.com/gina-io/swig/blob/master/LICENSE */
2
2
  /*! DateZ (c) 2011 Tomo Universalis | @license https://github.com/TomoUniversalis/DateZ/blob/master/LISENCE */
3
3
  (() => {
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
@@ -232,6 +232,16 @@
232
232
  }
233
233
  return withLoc(node, loc);
234
234
  };
235
+ exports.withStmt = function(context, isolated, body, loc) {
236
+ var node = { type: "With", body };
237
+ if (context !== void 0) {
238
+ node.context = context;
239
+ }
240
+ if (isolated !== void 0) {
241
+ node.isolated = isolated;
242
+ }
243
+ return withLoc(node, loc);
244
+ };
235
245
  exports.legacyJS = function(js, loc) {
236
246
  return withLoc({ type: "LegacyJS", js }, loc);
237
247
  };
@@ -523,10 +533,10 @@
523
533
  }
524
534
  });
525
535
 
526
- // lib/dateformatter.js
536
+ // packages/swig-core/lib/dateformatter.js
527
537
  var require_dateformatter = __commonJS({
528
- "lib/dateformatter.js"(exports) {
529
- var utils = require_utils2();
538
+ "packages/swig-core/lib/dateformatter.js"(exports) {
539
+ var utils = require_utils();
530
540
  var _months = {
531
541
  full: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"],
532
542
  abbr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
@@ -688,6 +698,13 @@
688
698
  }
689
699
  });
690
700
 
701
+ // lib/dateformatter.js
702
+ var require_dateformatter2 = __commonJS({
703
+ "lib/dateformatter.js"(exports, module) {
704
+ module.exports = require_dateformatter();
705
+ }
706
+ });
707
+
691
708
  // packages/swig-core/lib/filters.js
692
709
  var require_filters = __commonJS({
693
710
  "packages/swig-core/lib/filters.js"(exports) {
@@ -714,7 +731,7 @@
714
731
  var require_filters2 = __commonJS({
715
732
  "lib/filters.js"(exports) {
716
733
  var utils = require_utils2();
717
- var dateFormatter = require_dateformatter();
734
+ var dateFormatter = require_dateformatter2();
718
735
  var iterateFilter = require_filters().iterateFilter;
719
736
  exports.addslashes = function(input) {
720
737
  var out = iterateFilter.apply(exports.addslashes, arguments);
@@ -1096,6 +1113,9 @@
1096
1113
  if (ready && firstVar) {
1097
1114
  return true;
1098
1115
  }
1116
+ if (token.match.indexOf(".") !== -1) {
1117
+ throw new Error('Loop variable "' + token.match + '" must be a bare identifier in "for" tag on line ' + line + ".");
1118
+ }
1099
1119
  if (_dangerousProps.indexOf(token.match) !== -1) {
1100
1120
  throw new Error('Unsafe loop variable "' + token.match + '" is not allowed (CVE-2023-25345) on line ' + line + ".");
1101
1121
  }
@@ -1345,6 +1365,37 @@
1345
1365
  out += (node.ignoreMissing ? " try {\n" : "") + "_output += _swig.compileFile(" + incPathJS + ', {resolveFrom: "' + node.resolveFrom + '"})(' + incSelector + ");\n" + (node.ignoreMissing ? "} catch (e) {}\n" : "");
1346
1366
  return;
1347
1367
  }
1368
+ if (node.type === "With") {
1369
+ var withCtxJS;
1370
+ if (node.context !== void 0) {
1371
+ if (node.context && typeof node.context === "object" && typeof node.context.type === "string") {
1372
+ withCtxJS = exports.emitExpr(node.context);
1373
+ } else {
1374
+ withCtxJS = node.context;
1375
+ }
1376
+ }
1377
+ var withBodyJS = "";
1378
+ utils.each(node.body, function(b) {
1379
+ if (b.type === "LegacyJS") {
1380
+ withBodyJS += b.js;
1381
+ return;
1382
+ }
1383
+ if (b.type === "Text" || b.type === "Raw") {
1384
+ withBodyJS += '_output += "' + escapeTextValue(b.value) + '";\n';
1385
+ return;
1386
+ }
1387
+ });
1388
+ var withSelector;
1389
+ if (node.isolated) {
1390
+ withSelector = withCtxJS !== void 0 ? withCtxJS : "{}";
1391
+ } else if (withCtxJS !== void 0) {
1392
+ withSelector = "_utils.extend({}, _ctx, " + withCtxJS + ")";
1393
+ } else {
1394
+ withSelector = "_utils.extend({}, _ctx)";
1395
+ }
1396
+ out += "(function (_ctx) {\n" + withBodyJS + "})(" + withSelector + ");\n";
1397
+ return;
1398
+ }
1348
1399
  if (node.type === "Output") {
1349
1400
  if (node.expr && node.expr.type === "LegacyJS") {
1350
1401
  out += node.expr.js;
@@ -3976,10 +4027,10 @@
3976
4027
  var _tags = require_tags();
3977
4028
  var _filters = require_filters2();
3978
4029
  var parser = require_parser();
3979
- var dateformatter = require_dateformatter();
4030
+ var dateformatter = require_dateformatter2();
3980
4031
  var loaders = require_loaders2();
3981
4032
  var engine = require_engine();
3982
- exports.version = "2.0.0-alpha.1";
4033
+ exports.version = "2.0.0-alpha.3";
3983
4034
  var defaultOptions = {
3984
4035
  autoescape: true,
3985
4036
  varControls: ["{{", "}}"],
package/dist/swig.min.js CHANGED
@@ -1,6 +1,6 @@
1
- /*! Swig v2.0.0-alpha.1 | https://github.com/gina-io/swig | @license https://github.com/gina-io/swig/blob/master/LICENSE */
1
+ /*! Swig v2.0.0-alpha.3 | https://github.com/gina-io/swig | @license https://github.com/gina-io/swig/blob/master/LICENSE */
2
2
  /*! DateZ (c) 2011 Tomo Universalis | @license https://github.com/TomoUniversalis/DateZ/blob/master/LISENCE */
3
- (()=>{var e=Object.getOwnPropertyNames,t=(t,r)=>function(){return r||(0,t[e(t)[0]])((r={exports:{}}).exports,r),r.exports},r=t({"packages/swig-core/lib/utils.js"(e){var t;e.strip=function(e){return e.replace(/^\s+|\s+$/g,"")},e.startsWith=function(e,t){return 0===e.indexOf(t)},e.endsWith=function(e,t){return-1!==e.indexOf(t,e.length-t.length)},e.each=function(e,r){var n,o;if(t(e))for(n=0,o=e.length;n<o&&!1!==r(e[n],n,e);n+=1);else for(n in e)if(e.hasOwnProperty(n)&&!1===r(e[n],n,e))break;return e},e.isArray=t=Array.hasOwnProperty("isArray")?Array.isArray:function(e){return!!e&&("object"==typeof e&&-1!==Object.prototype.toString.call(e).indexOf())},e.some=function(r,n){var o,a,i=0;if(t(r))for(a=r.length;i<a&&!(o=n(r[i],i,r));i+=1);else e.each(r,function(e,t){return!(o=n(e,t,r))});return!!o},e.map=function(e,r){var n,o=0,a=[];if(t(e))for(n=e.length;o<n;o+=1)a[o]=r(e[o],o);else for(o in e)e.hasOwnProperty(o)&&(a[o]=r(e[o],o));return a},e.extend=function(){for(var e,t,r=arguments,n=r[0],o=r.length>1?Array.prototype.slice.call(r,1):[],a=0,i=o.length;a<i;a+=1)for(e in t=o[a]||{})t.hasOwnProperty(e)&&(n[e]=t[e]);return n},e.keys=function(t){return t?Object.keys?Object.keys(t):e.map(t,function(e,t){return t}):[]},e.throwError=function(e,t,r){throw t&&(e+=" on line "+t),r&&(e+=" in file "+r),new Error(e+".")}}}),n=t({"lib/utils.js"(e,t){t.exports=r()}}),o=t({"packages/swig-core/lib/ir.js"(e){function t(e,t){return void 0!==t&&(e.loc=t),e}e.template=function(e,r,n,o){var a={type:"Template",body:e};return void 0!==r&&(a.parent=r),void 0!==n&&(a.blocks=n),t(a,o)},e.text=function(e,r){return t({type:"Text",value:e},r)},e.output=function(e,r,n,o){var a={type:"Output",expr:e};return void 0!==r&&(a.filters=r),void 0!==n&&(a.safe=n),t(a,o)},e.filterCall=function(e,t){var r={name:e};return void 0!==t&&(r.args=t),r},e.ifStmt=function(e,r){return t({type:"If",branches:e},r)},e.ifBranch=function(e,t){return{test:e,body:t}},e.forStmt=function(e,r,n,o,a,i){var s={type:"For",value:e,iterable:r,body:n};return void 0!==o&&(s.key=o),void 0!==a&&(s.emptyBody=a),t(s,i)},e.block=function(e,r,n){return t({type:"Block",name:e,body:r},n)},e.include=function(e,r,n,o,a,i){var s={type:"Include",path:e};return void 0!==r&&(s.context=r),void 0!==n&&(s.isolated=n),void 0!==o&&(s.ignoreMissing=o),void 0!==a&&(s.resolveFrom=a),t(s,i)},e.importStmt=function(e,r,n){return t({type:"Import",path:e,alias:r},n)},e.macro=function(e,r,n,o){return t({type:"Macro",name:e,params:r,body:n},o)},e.macroParam=function(e,t){var r={name:e};return void 0!==t&&(r.default=t),r},e.call=function(e,r,n){return t({type:"Call",callee:e,args:r},n)},e.set=function(e,r,n,o){return t({type:"Set",target:e,op:r,value:n},o)},e.raw=function(e,r){return t({type:"Raw",value:e},r)},e.parent=function(e,r){var n={type:"Parent"};return void 0!==e&&(n.body=e),t(n,r)},e.autoescape=function(e,r,n){return t({type:"Autoescape",strategy:e,body:r},n)},e.filter=function(e,r,n,o){var a={type:"Filter",name:e,body:r};return void 0!==n&&(a.args=n),t(a,o)},e.legacyJS=function(e,r){return t({type:"LegacyJS",js:e},r)},e.literal=function(e,r,n){return t({type:"Literal",kind:e,value:r},n)},e.varRef=function(e,r){return t({type:"VarRef",path:e},r)},e.access=function(e,r,n){return t({type:"Access",object:e,key:r},n)},e.binaryOp=function(e,r,n,o){return t({type:"BinaryOp",op:e,left:r,right:n},o)},e.unaryOp=function(e,r,n){return t({type:"UnaryOp",op:e,operand:r},n)},e.conditional=function(e,r,n,o){var a={type:"Conditional",test:e,then:r};return a.else=n,t(a,o)},e.arrayLiteral=function(e,r){return t({type:"ArrayLiteral",elements:e},r)},e.objectLiteral=function(e,r){return t({type:"ObjectLiteral",properties:e},r)},e.objectProperty=function(e,t){return{key:e,value:t}},e.fnCall=function(e,r,n){return t({type:"FnCall",callee:e,args:r},n)},e.filterCallExpr=function(e,r,n,o){var a={type:"FilterCall",name:e,input:r};return void 0!==n&&(a.args=n),t(a,o)}}}),a=t({"lib/tags/autoescape.js"(e){var t=n(),r=o(),a=["html","js"];e.compile=function(e,t,n,o,a,i){var s=e(n,o,a,i);return r.autoescape(function(e){if("true"===e)return!0;if("false"===e)return!1;if("string"==typeof e&&e.length>=2){var t=e.charAt(0),r=e.charAt(e.length-1);if('"'===t&&'"'===r||"'"===t&&"'"===r)return e.slice(1,-1)}return e}(t[0]),[r.legacyJS(s)])},e.parse=function(e,r,n,o,i,s){var c;return n.on("*",function(e){if(!c&&(e.type===o.BOOL||e.type===o.STRING&&-1===a.indexOf(e.match)))return this.out.push(e.match),void(c=!0);t.throwError('Unexpected token "'+e.match+'" in autoescape tag',r,s.filename)}),!0},e.ends=!0}}),i=t({"lib/tags/block.js"(e){var t=o();e.compile=function(e,r,n,o,a){var i=r.join("");return t.block(i,[t.legacyJS(e(n,o,a,i))])},e.parse=function(e,t,r){return r.on("*",function(e){this.out.push(e.match)}),!0},e.ends=!0,e.block=!0}}),s=t({"lib/tags/else.js"(e){e.compile=function(){return"} else {\n"},e.parse=function(e,t,r,n,o){return r.on("*",function(e){throw new Error('"else" tag does not accept any tokens. Found "'+e.match+'" on line '+t+".")}),o.length&&"if"===o[o.length-1].name}}}),c=t({"packages/swig-core/lib/tokentypes.js"(e,t){t.exports={WHITESPACE:0,STRING:1,FILTER:2,FILTEREMPTY:3,FUNCTION:4,FUNCTIONEMPTY:5,PARENOPEN:6,PARENCLOSE:7,COMMA:8,VAR:9,NUMBER:10,OPERATOR:11,BRACKETOPEN:12,BRACKETCLOSE:13,DOTKEY:14,ARRAYOPEN:15,CURLYOPEN:17,CURLYCLOSE:18,COLON:19,COMPARATOR:20,LOGIC:21,NOT:22,BOOL:23,ASSIGNMENT:24,METHODOPEN:25,UNKNOWN:100}}}),l=t({"lib/tags/if.js"(e){var t=o(),r=c();e.compile=function(e,r,n,o,a,i,s){var c,l,u=[],p=s&&s.irExpr?s.irExpr:t.legacyJS(r.join(" ")),f=[];for(c=0;c<n.length;c++)!(l=n[c])||"elseif"!==l.name&&"else"!==l.name?f.push(l):(u.push(t.ifBranch(p,[t.legacyJS(e(f,o,a,i))])),p="else"===l.name?null:l.irExpr?l.irExpr:t.legacyJS(l.args.join(" ")),f=[]);return u.push(t.ifBranch(p,[t.legacyJS(e(f,o,a,i))])),t.ifStmt(u)},e.lowerExpr=function(e,t){var n;for(n=0;n<t.length;n++)if(t[n].type===r.FILTER||t[n].type===r.FILTEREMPTY)return;return e.parseExpr(t)},e.parse=function(e,t,r,n){if(void 0===e)throw new Error("No conditional statement provided on line "+t+".");return r.on(n.COMPARATOR,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");if(this.prevToken.type===n.NOT)throw new Error('Attempted logic "not '+e.match+'" on line '+t+". Use !(foo "+e.match+") instead.");this.out.push(e.match),this.filterApplyIdx.push(this.out.length)}),r.on(n.NOT,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match)}),r.on(n.BOOL,function(e){this.out.push(e.match)}),r.on(n.LOGIC,function(e){if(!this.out.length||this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match),this.filterApplyIdx.pop()}),!0},e.ends=!0}}),u=t({"lib/tags/elseif.js"(e){var t=l().parse,r=c();e.compile=function(e,t){return"} else if ("+t.join(" ")+") {\n"},e.lowerExpr=function(e,t){var n;for(n=0;n<t.length;n++)if(t[n].type===r.FILTER||t[n].type===r.FILTEREMPTY)return;return e.parseExpr(t)},e.parse=function(e,r,n,o,a){return t(e,r,n,o,a)&&a.length&&"if"===a[a.length-1].name}}}),p=t({"lib/tags/extends.js"(e){e.compile=function(){},e.parse=function(){return!0},e.ends=!1}}),f=t({"lib/dateformatter.js"(e){var t=n(),r={full:["January","February","March","April","May","June","July","August","September","October","November","December"],abbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},o={full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],alt:{"-1":"Yesterday",0:"Today",1:"Tomorrow"}};e.tzOffset=0,e.DateZ=function(){var r=["getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","toISOString","toGMTString","toUTCString","valueOf","getTime"],n=["getDate","getDay","getFullYear","getHours","getMilliseconds","getMinutes","getMonth","getSeconds","getYear","toDateString","toLocaleDateString","toLocaleTimeString"],o=this;o.date=o.dateZ=arguments.length>1?new Date(Date.UTC.apply(Date,arguments)+6e4*(new Date).getTimezoneOffset()):1===arguments.length?new Date(new Date(arguments[0])):new Date,o.timezoneOffset=o.dateZ.getTimezoneOffset(),t.each(n,function(e){o[e]=function(){return o.dateZ[e]()}}),t.each(r,function(e){o[e]=function(){return o.date[e]()}}),this.setTimezoneOffset(e.tzOffset)},e.DateZ.prototype={getTimezoneOffset:function(){return this.timezoneOffset},setTimezoneOffset:function(e){return this.timezoneOffset=e,this.dateZ=new Date(this.date.getTime()+6e4*this.date.getTimezoneOffset()-6e4*this.timezoneOffset),this}},e.d=function(e){return(e.getDate()<10?"0":"")+e.getDate()},e.D=function(e){return o.abbr[e.getDay()]},e.j=function(e){return e.getDate()},e.l=function(e){return o.full[e.getDay()]},e.N=function(e){var t=e.getDay();return t>=1?t:7},e.S=function(e){var t=e.getDate();return t%10==1&&11!==t?"st":t%10==2&&12!==t?"nd":t%10==3&&13!==t?"rd":"th"},e.w=function(e){return e.getDay()},e.z=function(t,r,n){var o=t.getFullYear(),a=new e.DateZ(o,t.getMonth(),t.getDate(),12,0,0),i=new e.DateZ(o,0,1,12,0,0);return a.setTimezoneOffset(r,n),i.setTimezoneOffset(r,n),Math.round((a-i)/864e5)},e.W=function(e){var t,r=new Date(e.valueOf()),n=(e.getDay()+6)%7;return r.setDate(r.getDate()-n+3),t=r.valueOf(),r.setMonth(0,1),4!==r.getDay()&&r.setMonth(0,1+(4-r.getDay()+7)%7),1+Math.ceil((t-r)/6048e5)},e.F=function(e){return r.full[e.getMonth()]},e.m=function(e){return(e.getMonth()<9?"0":"")+(e.getMonth()+1)},e.M=function(e){return r.abbr[e.getMonth()]},e.n=function(e){return e.getMonth()+1},e.t=function(e){return 32-new Date(e.getFullYear(),e.getMonth(),32).getDate()},e.L=function(e){return 29===new Date(e.getFullYear(),1,29).getDate()},e.o=function(e){var t=new Date(e.valueOf());return t.setDate(t.getDate()-(e.getDay()+6)%7+3),t.getFullYear()},e.Y=function(e){return e.getFullYear()},e.y=function(e){return e.getFullYear().toString().substr(2)},e.a=function(e){return e.getHours()<12?"am":"pm"},e.A=function(e){return e.getHours()<12?"AM":"PM"},e.B=function(e){var t,r=e.getUTCHours();return r=23===r?0:r+1,t=Math.abs((60*(60*r+e.getUTCMinutes())+e.getUTCSeconds())/86.4).toFixed(0),"000".concat(t).slice(t.length)},e.g=function(e){var t=e.getHours();return 0===t?12:t>12?t-12:t},e.G=function(e){return e.getHours()},e.h=function(e){var t=e.getHours();return(t<10||12<t&&22>t?"0":"")+(t<12?t:t-12)},e.H=function(e){var t=e.getHours();return(t<10?"0":"")+t},e.i=function(e){var t=e.getMinutes();return(t<10?"0":"")+t},e.s=function(e){var t=e.getSeconds();return(t<10?"0":"")+t},e.O=function(e){var t=e.getTimezoneOffset();return(t<0?"-":"+")+(t/60<10?"0":"")+Math.abs(t/60)+"00"},e.Z=function(e){return 60*e.getTimezoneOffset()},e.c=function(e){return e.toISOString()},e.r=function(e){return e.toUTCString()},e.U=function(e){return e.getTime()/1e3}}}),h=t({"packages/swig-core/lib/filters.js"(e){var t=r();e.iterateFilter=function(e){var r=this,n={};return t.isArray(e)?t.map(e,function(e){return r.apply(null,arguments)}):"object"==typeof e?(t.each(e,function(e,t){n[t]=r.apply(null,arguments)}),n):void 0}}}),g=t({"lib/filters.js"(e){var t=n(),r=f(),o=h().iterateFilter;e.addslashes=function(t){var r=o.apply(e.addslashes,arguments);return void 0!==r?r:t.replace(/\\/g,"\\\\").replace(/\'/g,"\\'").replace(/\"/g,'\\"')},e.capitalize=function(t){var r=o.apply(e.capitalize,arguments);return void 0!==r?r:t.toString().charAt(0).toUpperCase()+t.toString().substr(1).toLowerCase()},e.date=function(e,t,n,o){var a,i=t.length,s=new r.DateZ(e),c=0,l="";for(n&&s.setTimezoneOffset(n,o);c<i;c+=1)"\\"===(a=t.charAt(c))?l+=(c+=1)<i?t.charAt(c):a:r.hasOwnProperty(a)?l+=r[a](s,n,o):l+=a;return l},e.default=function(e,t){return void 0===e||!e&&"number"!=typeof e?t:e},e.escape=function(t,r){var n,a=o.apply(e.escape,arguments),i=t,s=0;if(void 0!==a)return a;if("string"!=typeof t)return t;if(a="","js"===r){for(i=i.replace(/\\/g,"\\u005C");s<i.length;s+=1)a+=(n=i.charCodeAt(s))<32?"\\u00"+(n=(n=n.toString(16).toUpperCase()).length<2?"0"+n:n):i[s];return a.replace(/&/g,"\\u0026").replace(/</g,"\\u003C").replace(/>/g,"\\u003E").replace(/\'/g,"\\u0027").replace(/"/g,"\\u0022").replace(/\=/g,"\\u003D").replace(/-/g,"\\u002D").replace(/;/g,"\\u003B")}return i.replace(/&(?!amp;|lt;|gt;|quot;|#39;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")},e.e=e.escape,e.first=function(e){return"object"!=typeof e||t.isArray(e)?"string"==typeof e?e.substr(0,1):e[0]:e[t.keys(e)[0]]},e.groupBy=function(e,r){if(!t.isArray(e))return e;var n={};return t.each(e,function(e){if(e.hasOwnProperty(r)){var o=e[r],a=t.extend({},e);delete a[r],n[o]||(n[o]=[]),n[o].push(a)}}),n},e.join=function(e,r){if(t.isArray(e))return e.join(r);if("object"==typeof e){var n=[];return t.each(e,function(e){n.push(e)}),n.join(r)}return e},e.json=function(e,t){return JSON.stringify(e,null,t||0)},e.json_encode=e.json,e.last=function(e){if("object"==typeof e&&!t.isArray(e)){var r=t.keys(e);return e[r[r.length-1]]}return"string"==typeof e?e.charAt(e.length-1):e[e.length-1]},e.length=function(e){return"object"!=typeof e||t.isArray(e)?e.hasOwnProperty("length")?e.length:"":t.keys(e).length},e.lower=function(t){var r=o.apply(e.lower,arguments);return void 0!==r?r:t.toString().toLowerCase()},e.raw=function(t){return e.safe(t)},e.raw.safe=!0,e.replace=function(e,t,r,n){var o=new RegExp(t,n);return e.replace(o,r)},e.reverse=function(t){return e.sort(t,!0)},e.safe=function(e){return e},e.safe.safe=!0,e.sort=function(e,r){var n;if(t.isArray(e))n=t.extend([],e).sort();else switch(typeof e){case"object":n=t.keys(e).sort();break;case"string":return n=e.split(""),r?n.reverse().join(""):n.sort().join("")}return n&&r?n.reverse():n||e},e.striptags=function(t){var r=o.apply(e.striptags,arguments);return void 0!==r?r:t.toString().replace(/(<([^>]+)>)/gi,"")},e.title=function(t){var r=o.apply(e.title,arguments);return void 0!==r?r:t.toString().replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})},e.uniq=function(e){var r;return e&&t.isArray(e)?(r=[],t.each(e,function(e){-1===r.indexOf(e)&&r.push(e)}),r):""},e.upper=function(t){var r=o.apply(e.upper,arguments);return void 0!==r?r:t.toString().toUpperCase()},e.url_encode=function(t){var r=o.apply(e.url_encode,arguments);return void 0!==r?r:encodeURIComponent(t)},e.url_decode=function(t){var r=o.apply(e.url_decode,arguments);return void 0!==r?r:decodeURIComponent(t)}}}),y=t({"lib/tags/filter.js"(e){var t=g(),r=o(),n=c();e.compile=function(e,t,n,o,a,i,s){var c=t.shift().replace(/\($/,""),l=e(n,o,a,i);")"===t[t.length-1]&&t.pop();var u=s&&s.irExpr?s.irExpr:t.length?t:void 0;return r.filter(c,[r.legacyJS(l)],u)},e.lowerExpr=function(e,t){for(var r=0;r<t.length&&t[r].type===n.WHITESPACE;)r+=1;if(!(r>=t.length)){var o=t[r];if(o.type!==n.VAR){if(o.type===n.FUNCTIONEMPTY)return[];if(o.type===n.FUNCTION){var a,i=1,s=r+1,c=[];for(a=r+1;a<t.length;a+=1){var l=t[a];if(l.type===n.FILTER||l.type===n.FILTEREMPTY)return;if(l.type!==n.PARENOPEN&&l.type!==n.FUNCTION&&l.type!==n.BRACKETOPEN&&l.type!==n.CURLYOPEN){if(l.type!==n.PARENCLOSE&&l.type!==n.BRACKETCLOSE&&l.type!==n.CURLYCLOSE)l.type===n.COMMA&&1===i&&(c.push(t.slice(s,a)),s=a+1);else if(0===(i-=1)){a>s&&c.push(t.slice(s,a));break}}else i+=1}if(0===i){var u=[];for(a=0;a<c.length;a+=1)u.push(e.parseExpr(c[a]));return u}}}}},e.parse=function(e,r,n,o){var a;function i(e){if(!t.hasOwnProperty(e))throw new Error('Filter "'+e+'" does not exist on line '+r+".")}return n.on(o.FUNCTION,function(e){return!!a||(i(a=e.match.replace(/\($/,"")),this.out.push(e.match),void this.state.push(e.type))}),n.on(o.VAR,function(e){return!!a||(i(a=e.match),void this.out.push(a))}),!0},e.ends=!0}}),d=t({"packages/swig-core/lib/security.js"(e){e.dangerousProps=["__proto__","constructor","prototype"]}}),m=t({"lib/tags/for.js"(e){var t=o(),r=c(),n=d().dangerousProps;e.compile=function(e,r,n,o,a,i,s){var c,l=r.shift(),u="__k";r[0]&&","===r[0]&&(r.shift(),u=l,l=r.shift()),c=s&&s.irExpr?s.irExpr:r.join("");var p=e(n,o,a,i);return t.forStmt(l,c,[t.legacyJS(p)],u)},e.lowerExpr=function(e,t){var n,o=-1;for(n=0;n<t.length;n++)if(t[n].type===r.COMPARATOR&&"in"===t[n].match){o=n;break}if(-1!==o){var a=t.slice(o+1);for(n=0;n<a.length;n++)if(a[n].type===r.FILTER||a[n].type===r.FILTEREMPTY)return;return e.parseExpr(a)}},e.parse=function(e,t,r,o){var a,i;return r.on(o.NUMBER,function(e){var r=this.state.length?this.state[this.state.length-1]:null;if(!i||r!==o.ARRAYOPEN&&r!==o.CURLYOPEN&&r!==o.CURLYCLOSE&&r!==o.FUNCTION&&r!==o.FILTER)throw new Error('Unexpected number "'+e.match+'" on line '+t+".");return!0}),r.on(o.VAR,function(e){if(i&&a)return!0;if(-1!==n.indexOf(e.match))throw new Error('Unsafe loop variable "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");this.out.length||(a=!0),this.out.push(e.match)}),r.on(o.COMMA,function(e){if(!a||this.prevToken.type!==o.VAR)return!0;this.out.push(e.match)}),r.on(o.COMPARATOR,function(e){if("in"!==e.match||!a)throw new Error('Unexpected token "'+e.match+'" on line '+t+".");i=!0,this.filterApplyIdx.push(this.out.length)}),!0},e.ends=!0}}),E=t({"packages/swig-core/lib/backend.js"(e){var t=r(),n=d(),a=o();function i(e){return e.replace(/\\/g,"\\\\").replace(/\n|\r/g,"\\n").replace(/"/g,'\\"')}function s(e){return{dangerousProps:(e=e||{}).dangerousProps||n.dangerousProps,throwError:e.throwError||t.throwError}}function c(e,r){switch(e&&"string"==typeof e.type||r.throwError("emitExpr: expected an IR expression node"),e.type){case"Literal":return function(e,t){switch(e.kind){case"string":return JSON.stringify(e.value);case"number":return String(e.value);case"bool":return e.value?"true":"false";case"null":return"null";case"undefined":return"undefined"}t.throwError('emitLiteral: unknown literal kind "'+e.kind+'"')}(e,r);case"VarRef":return function(e,r){t.isArray(e.path)&&0!==e.path.length||r.throwError("emitVarRef: path must be a non-empty array");return t.each(e.path,function(t){l(t,r,e)}),u(e.path)}(e,r);case"Access":return function(e,t){e.key&&"Literal"===e.key.type&&"string"===e.key.kind&&l(e.key.value,t,e);return c(e.object,t)+"["+c(e.key,t)+"]"}(e,r);case"BinaryOp":return function(e,t){var r=c(e.left,t),n=c(e.right,t);if(o=e.op,"+"===o||"-"===o||"*"===o||"/"===o||"%"===o)return r+" "+e.op+" "+n;var o;if("in"===e.op)return r+" in "+n;return r+e.op+n}(e,r);case"UnaryOp":return function(e,t){var r=c(e.operand,t);e.operand&&"BinaryOp"===e.operand.type&&(r="("+r+")");return e.op+r}(e,r);case"Conditional":return function(e,t){return"("+c(e.test,t)+" ? "+c(e.then,t)+" : "+c(e.else,t)+")"}(e,r);case"ArrayLiteral":return function(e,r){var n=[];return t.each(e.elements,function(e){n.push(c(e,r))}),"["+n.join(", ")+"]"}(e,r);case"ObjectLiteral":return function(e,r){var n=[];return t.each(e.properties,function(e){n.push(c(e.key,r)+":"+c(e.value,r))}),"{"+n.join(", ")+"}"}(e,r);case"FnCall":return function(e,r){var n,o,a,i=[],s=e.callee;if(t.each(e.args,function(e){i.push(c(e,r))}),a=i.join(", "),s&&"VarRef"===s.type&&t.isArray(s.path))return t.each(s.path,function(e){l(e,r,s)}),1===s.path.length?"((typeof _ctx."+(n=s.path[0])+' !== "undefined") ? _ctx.'+n+" : ((typeof "+n+' !== "undefined") ? '+n+" : _fn))("+a+")":(o=s.path.slice(0,-1),"("+u(s.path)+" || _fn).call("+u(o)+(a?", "+a:"")+")");return"("+c(s,r)+")("+a+")"}(e,r);case"FilterCall":return function(e,r){var n=c(e.input,r),o="";if(e.args&&e.args.length){var a=[];t.each(e.args,function(e){a.push(c(e,r))}),o=", "+a.join(", ")}return'_filters["'+e.name+'"]('+n+o+")"}(e,r)}r.throwError('emitExpr: unknown IR expression type "'+e.type+'"')}function l(e,t,r){if(-1!==t.dangerousProps.indexOf(e)){var n=r&&r.loc&&r.loc.line||void 0,o=r&&r.loc&&r.loc.filename||void 0;t.throwError('Unsafe access to "'+e+'" is not allowed in templates (CVE-2023-25345)',n,o)}}function u(e){var r,n=e[0];function o(r){var o=r+n,a=e,i="";return i="(typeof "+o+' !== "undefined" && '+o+" !== null",t.each(a,function(e,t){0!==t&&(i+=" && "+o+"."+e+" !== undefined && "+o+"."+e+" !== null",o+="."+e)}),i+=")"}function a(t){return"("+o(t)+" ? "+t+e.join(".")+' : "")'}return"("+(r="("+o("_ctx.")+" ? "+a("_ctx.")+" : "+a("")+")")+" !== null ? "+r+' : "" )'}e.compile=function(r,n,o,c){var u="",p=t.isArray(r)?r:r.tokens,f=[];return t.each(p,function(r){if("string"!=typeof r)if(r&&"object"==typeof r&&"string"==typeof r.type&&"function"!=typeof r.compile)f.push(r);else{var i=r.compile(e.compile,r.args?r.args.slice(0):[],r.content?r.content.slice(0):[],n,o,c,r);null!=i&&""!==i&&("string"!=typeof i?t.isArray(i)?t.each(i,function(e){f.push(e)}):"object"!=typeof i||"string"!=typeof i.type?f.push(a.legacyJS(String(i))):f.push(i):f.push(a.legacyJS(i)))}else f.push(a.text(r))}),t.each(f,function(r){if("Text"!==r.type&&"Raw"!==r.type)if("LegacyJS"!==r.type)if("Autoescape"!==r.type){if("If"===r.type){var n="";return t.each(r.branches,function(r,o){var a,s="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(s+='_output += "'+i(e.value)+'";\n'):s+=e.js}),null!==r.test?(a=r.test&&"object"==typeof r.test&&"LegacyJS"===r.test.type?r.test.js:"object"==typeof r.test&&"string"==typeof r.test.type?e.emitExpr(r.test):r.test,n+=0===o?"if ("+a+") { \n"+s:"} else if ("+a+") {\n"+s):n+="} else {\n"+s}),void(u+=n+"\n}")}if("Set"===r.type){var o,a;if(r.target&&"object"==typeof r.target&&"VarRef"===r.target.type){var c=s();t.isArray(r.target.path)&&0!==r.target.path.length||c.throwError("Set: target VarRef must have a non-empty path"),t.each(r.target.path,function(e){l(e,c,r.target)}),o="_ctx."+r.target.path.join(".")}else o=r.target;return a=r.value&&"object"==typeof r.value&&"string"==typeof r.value.type?e.emitExpr(r.value):r.value,void(u+=o+" "+r.op+" "+a+";\n")}if("For"===r.type){var p,f=r.value,h=r.key,g="",y=("_ctx.__loopcache"+Math.random()).replace(/\./g,""),d="_ctx.",m="_ctx.loop";return p=r.iterable&&"object"==typeof r.iterable&&"string"==typeof r.iterable.type?e.emitExpr(r.iterable):r.iterable,t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(g+='_output += "'+i(e.value)+'";\n'):g+=e.js}),void(u+="(function () {\n var __l = "+p+', __len = (_utils.isArray(__l) || typeof __l === "string") ? __l.length : _utils.keys(__l).length;\n if (!__l) { return; }\n var '+y+" = { loop: "+m+", "+f+": "+d+f+", "+h+": "+d+h+" };\n "+m+" = { first: false, index: 1, index0: 0, revindex: __len, revindex0: __len - 1, length: __len, last: false };\n _utils.each(__l, function ("+f+", "+h+") {\n "+d+f+" = "+f+";\n "+d+h+" = "+h+";\n "+m+".key = "+h+";\n "+m+".first = ("+m+".index0 === 0);\n "+m+".last = ("+m+".revindex0 === 0);\n "+g+" "+m+".index += 1; "+m+".index0 += 1; "+m+".revindex -= 1; "+m+".revindex0 -= 1;\n });\n "+m+" = "+y+".loop;\n "+d+f+" = "+y+"."+f+";\n "+d+h+" = "+y+"."+h+";\n "+y+" = undefined;\n})();\n")}if("Macro"!==r.type)if("Parent"!==r.type)if("Block"!==r.type){var E,v,O;if("Include"===r.type)return E=r.path&&"object"==typeof r.path&&"string"==typeof r.path.type?e.emitExpr(r.path):r.path,void 0!==r.context&&(v="object"==typeof r.context&&"string"==typeof r.context.type?e.emitExpr(r.context):r.context),O=r.isolated&&v?v:v?"_utils.extend({}, _ctx, "+v+")":"_ctx",void(u+=(r.ignoreMissing?" try {\n":"")+"_output += _swig.compileFile("+E+', {resolveFrom: "'+r.resolveFrom+'"})('+O+");\n"+(r.ignoreMissing?"} catch (e) {}\n":""));if("Output"===r.type){if(r.expr&&"LegacyJS"===r.expr.type)return void(u+=r.expr.js);var x=e.emitExpr(r.expr);return r.filters&&r.filters.length&&t.each(r.filters,function(r){var n="";if(r.args&&r.args.length){var o=[];t.each(r.args,function(t){o.push(e.emitExpr(t))}),n=", "+o.join(", ")}x='_filters["'+r.name+'"]('+x+n+")"}),void(u+="_output += "+x+";\n")}if("Filter"!==r.type);else{var w="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(w+='_output += "'+i(e.value)+'";\n'):w+=e.js});var C='(function () {\n var _output = "";\n'+w+" return _output;\n})()",T="";if(r.args&&r.args.length){var R=[];t.each(r.args,function(t){t&&"object"==typeof t&&"string"==typeof t.type?R.push(e.emitExpr(t)):R.push(t)}),T=", "+R.join(", ")}u+='_output += _filters["'+r.name+'"]('+C+T+");\n"}}else t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+i(e.value)+'";\n'):u+=e.js});else t.each(r.body||[],function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+i(e.value)+'";\n'):u+=e.js});else{var b="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(b+='_output += "'+i(e.value)+'";\n'):b+=e.js});var A,N,P=r.params||[];if(P.length&&"object"==typeof P[0]&&null!==P[0]&&"string"==typeof P[0].name){var k=[];t.each(P,function(e){k.push(e.name)}),A=k.join(", ");var L=[];t.each(k,function(e){L.push(JSON.stringify(e))}),N=L.join(",")}else A=P.join(""),N='"'+P.join('","')+'"';u+="_ctx."+r.name+" = function ("+A+') {\n var _output = "",\n __ctx = _utils.extend({}, _ctx);\n _utils.each(_ctx, function (v, k) {\n if (['+N+"].indexOf(k) !== -1) { delete _ctx[k]; }\n });\n"+b+"\n _ctx = _utils.extend(_ctx, __ctx);\n return _output;\n};\n_ctx."+r.name+".safe = true;\n"}}else t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+i(e.value)+'";\n'):u+=e.js});else u+=r.js;else u+='_output += "'+i(r.value)+'";\n'}),u},e.emitExpr=function(e,t){return c(e,s(t))}}}),v=t({"lib/lexer.js"(e){var t=n(),r=c(),o=[{type:r.WHITESPACE,regex:[/^\s+/]},{type:r.STRING,regex:[/^""/,/^".*?[^\\]"/,/^''/,/^'.*?[^\\]'/]},{type:r.FILTER,regex:[/^\|\s*(\w+)\(/],idx:1},{type:r.FILTEREMPTY,regex:[/^\|\s*(\w+)/],idx:1},{type:r.FUNCTIONEMPTY,regex:[/^\s*(\w+)\(\)/],idx:1},{type:r.FUNCTION,regex:[/^\s*(\w+)\(/],idx:1},{type:r.PARENOPEN,regex:[/^\(/]},{type:r.PARENCLOSE,regex:[/^\)/]},{type:r.COMMA,regex:[/^,/]},{type:r.LOGIC,regex:[/^(&&|\|\|)\s*/,/^(and|or)\s+/],idx:1,replace:{and:"&&",or:"||"}},{type:r.COMPARATOR,regex:[/^(===|==|\!==|\!=|<=|<|>=|>|in\s|gte\s|gt\s|lte\s|lt\s)\s*/],idx:1,replace:{gte:">=",gt:">",lte:"<=",lt:"<"}},{type:r.ASSIGNMENT,regex:[/^(=|\+=|-=|\*=|\/=)/]},{type:r.NOT,regex:[/^\!\s*/,/^not\s+/],replace:{not:"!"}},{type:r.BOOL,regex:[/^(true|false)\s+/,/^(true|false)$/],idx:1},{type:r.VAR,regex:[/^[a-zA-Z_$]\w*((\.\$?\w*)+)?/,/^[a-zA-Z_$]\w*/]},{type:r.BRACKETOPEN,regex:[/^\[/]},{type:r.BRACKETCLOSE,regex:[/^\]/]},{type:r.CURLYOPEN,regex:[/^\{/]},{type:r.COLON,regex:[/^\:/]},{type:r.CURLYCLOSE,regex:[/^\}/]},{type:r.DOTKEY,regex:[/^\.(\w+)/],idx:1},{type:r.NUMBER,regex:[/^[+\-]?\d+(\.\d+)?/]},{type:r.OPERATOR,regex:[/^(\+|\-|\/|\*|%)/]}];function a(e){var n;return t.some(o,function(r){return t.some(r.regex,function(t){var o,a=e.match(t);if(a)return o=a[r.idx||0].replace(/\s*$/,""),o=r.hasOwnProperty("replace")&&r.replace.hasOwnProperty(o)?r.replace[o]:o,n={match:o,type:r.type,length:a[0].length},!0})}),n||(n={match:e,type:r.UNKNOWN,length:e.length}),n}e.types=r,e.read=function(e){for(var t,r=0,n=[];r<e.length;)r+=(t=a(e.substring(r))).length,n.push(t);return n}}}),O=t({"packages/swig-core/lib/tokenparser.js"(e){var t=r(),n=c(),a=o(),i=d().dangerousProps,s=["break","case","catch","continue","debugger","default","delete","do","else","finally","for","function","if","in","instanceof","new","return","switch","this","throw","try","typeof","var","void","while","with"];function l(e,r,o,a,i){this.out=[],this.state=[],this.filterApplyIdx=[],this._parsers={},this.line=a,this.filename=i,this.filters=r,this.escape=o,this.parse=function(){var r=this;return r._parsers.start&&r._parsers.start.call(r),t.each(e,function(t,o){var a=e[o-1];if(r.isLast=o===e.length-1,a)for(;a.type===n.WHITESPACE;)a=e[(o-=1)-1];r.prevToken=a,r.parseToken(t)}),r._parsers.end&&r._parsers.end.call(r),r.escape&&(r.filterApplyIdx=[0],"string"==typeof r.escape?(r.parseToken({type:n.FILTER,match:"e"}),r.parseToken({type:n.COMMA,match:","}),r.parseToken({type:n.STRING,match:String(o)}),r.parseToken({type:n.PARENCLOSE,match:")"})):r.parseToken({type:n.FILTEREMPTY,match:"e"})),r.out}}l.prototype={on:function(e,t){this._parsers[e]=t},parseToken:function(e){var r,o=this,a=o._parsers[e.type]||o._parsers["*"],s=e.match,c=o.prevToken,l=c?c.type:null,u=o.state.length?o.state[o.state.length-1]:null;if(!a||"function"!=typeof a||a.call(this,e))switch(u&&c&&u===n.FILTER&&l===n.FILTER&&e.type!==n.PARENCLOSE&&e.type!==n.COMMA&&e.type!==n.OPERATOR&&e.type!==n.FILTER&&e.type!==n.FILTEREMPTY&&o.out.push(", "),u&&u===n.METHODOPEN&&(o.state.pop(),e.type!==n.PARENCLOSE&&o.out.push(", ")),e.type){case n.WHITESPACE:break;case n.STRING:if(u===n.BRACKETOPEN){var p=s.replace(/^['"]|['"]$/g,"");-1!==i.indexOf(p)&&t.throwError('Unsafe access to "'+p+'" via bracket notation is not allowed in templates (CVE-2023-25345)',o.line,o.filename)}o.filterApplyIdx.push(o.out.length),o.out.push(s.replace(/\\/g,"\\\\"));break;case n.NUMBER:case n.BOOL:o.filterApplyIdx.push(o.out.length),o.out.push(s);break;case n.FILTER:o.filters.hasOwnProperty(s)&&"function"==typeof o.filters[s]||t.throwError('Invalid filter "'+s+'"',o.line,o.filename),o.escape=!o.filters[s].safe&&o.escape,o.out.splice(o.filterApplyIdx[o.filterApplyIdx.length-1],0,'_filters["'+s+'"]('),o.state.push(e.type);break;case n.FILTEREMPTY:o.filters.hasOwnProperty(s)&&"function"==typeof o.filters[s]||t.throwError('Invalid filter "'+s+'"',o.line,o.filename),o.escape=!o.filters[s].safe&&o.escape,o.out.splice(o.filterApplyIdx[o.filterApplyIdx.length-1],0,'_filters["'+s+'"]('),o.out.push(")");break;case n.FUNCTION:case n.FUNCTIONEMPTY:o.out.push("((typeof _ctx."+s+' !== "undefined") ? _ctx.'+s+" : ((typeof "+s+' !== "undefined") ? '+s+" : _fn))("),o.escape=!1,e.type===n.FUNCTIONEMPTY?o.out[o.out.length-1]=o.out[o.out.length-1]+")":o.state.push(e.type),o.filterApplyIdx.push(o.out.length-1);break;case n.PARENOPEN:o.state.push(e.type),o.filterApplyIdx.length?(o.out.splice(o.filterApplyIdx[o.filterApplyIdx.length-1],0,"("),c&&l===n.VAR?(r=c.match.split(".").slice(0,-1),o.out.push(" || _fn).call("+o.checkMatch(r)),o.state.push(n.METHODOPEN),o.escape=!1):o.out.push(" || _fn)("),o.filterApplyIdx.push(o.out.length-3)):(o.out.push("("),o.filterApplyIdx.push(o.out.length-1));break;case n.PARENCLOSE:(r=o.state.pop())!==n.PARENOPEN&&r!==n.FUNCTION&&r!==n.FILTER&&t.throwError("Mismatched nesting state",o.line,o.filename),o.out.push(")"),o.filterApplyIdx.pop(),r!==n.FILTER&&o.filterApplyIdx.pop();break;case n.COMMA:u!==n.FUNCTION&&u!==n.FILTER&&u!==n.ARRAYOPEN&&u!==n.CURLYOPEN&&u!==n.PARENOPEN&&u!==n.COLON&&t.throwError("Unexpected comma",o.line,o.filename),u===n.COLON&&o.state.pop(),o.out.push(", "),o.filterApplyIdx.pop();break;case n.LOGIC:case n.COMPARATOR:c&&l!==n.COMMA&&l!==e.type&&l!==n.BRACKETOPEN&&l!==n.CURLYOPEN&&l!==n.PARENOPEN&&l!==n.FUNCTION||t.throwError("Unexpected logic",o.line,o.filename),o.out.push(e.match);break;case n.NOT:o.out.push(e.match);break;case n.VAR:o.parseVar(e,s,u);break;case n.BRACKETOPEN:!c||l!==n.VAR&&l!==n.BRACKETCLOSE&&l!==n.PARENCLOSE?(o.state.push(n.ARRAYOPEN),o.filterApplyIdx.push(o.out.length)):o.state.push(e.type),o.out.push("[");break;case n.BRACKETCLOSE:(r=o.state.pop())!==n.BRACKETOPEN&&r!==n.ARRAYOPEN&&t.throwError("Unexpected closing square bracket",o.line,o.filename),o.out.push("]"),o.filterApplyIdx.pop();break;case n.CURLYOPEN:o.state.push(e.type),o.out.push("{"),o.filterApplyIdx.push(o.out.length-1);break;case n.COLON:u!==n.CURLYOPEN&&t.throwError("Unexpected colon",o.line,o.filename),o.state.push(e.type),o.out.push(":"),o.filterApplyIdx.pop();break;case n.CURLYCLOSE:u===n.COLON&&o.state.pop(),o.state.pop()!==n.CURLYOPEN&&t.throwError("Unexpected closing curly brace",o.line,o.filename),o.out.push("}"),o.filterApplyIdx.pop();break;case n.DOTKEY:(!c||l!==n.VAR&&l!==n.BRACKETCLOSE&&l!==n.DOTKEY&&l!==n.PARENCLOSE&&l!==n.FUNCTIONEMPTY&&l!==n.FILTEREMPTY&&l!==n.CURLYCLOSE)&&t.throwError('Unexpected key "'+s+'"',o.line,o.filename),-1!==i.indexOf(s)&&t.throwError('Unsafe access to "'+s+'" is not allowed in templates (CVE-2023-25345)',o.line,o.filename),o.out.push("."+s);break;case n.OPERATOR:o.out.push(" "+s+" "),o.filterApplyIdx.pop()}},parseVar:function(e,r,o){var a=this;if(r=r.split("."),-1!==s.indexOf(r[0])&&t.throwError('Reserved keyword "'+r[0]+'" attempted to be used as a variable',a.line,a.filename),t.each(r,function(e){-1!==i.indexOf(e)&&t.throwError('Unsafe access to "'+e+'" is not allowed in templates (CVE-2023-25345)',a.line,a.filename)}),a.filterApplyIdx.push(a.out.length),o===n.CURLYOPEN)return r.length>1&&t.throwError("Unexpected dot",a.line,a.filename),void a.out.push(r[0]);a.out.push(a.checkMatch(r))},parseExpr:function(e,r){var o=this,c=0;function l(){return function(){for(;c<e.length&&e[c].type===n.WHITESPACE;)c+=1}(),c<e.length?e[c]:null}function u(){var e=l();return e&&(c+=1),e}function p(e){t.throwError(e,o.line,o.filename)}function f(e){-1!==i.indexOf(e)&&p('Unsafe access to "'+e+'" is not allowed in templates (CVE-2023-25345)')}function h(e){-1!==i.indexOf(e)&&p('Unsafe access to "'+e+'" via bracket notation is not allowed in templates (CVE-2023-25345)')}function g(e){var t;if(e.type===n.LOGIC){if("||"===e.match)return{op:"||",prec:1};if("&&"===e.match)return{op:"&&",prec:2}}if(e.type===n.COMPARATOR)return"==="===(t=e.match)||"!=="===t||"=="===t||"!="===t?{op:t,prec:3}:{op:t,prec:4};if(e.type===n.OPERATOR){if("+"===(t=e.match)||"-"===t)return{op:t,prec:5};if("*"===t||"/"===t||"%"===t)return{op:t,prec:6}}return null}function y(e){return e.replace(/^['"]|['"]$/g,"")}function d(e){var t=[],r=l();if(r&&r.type===e)return u(),t;for(;;){t.push(O(0));var o=u();if(o||p("Unexpected end of expression"),o.type===e)break;o.type!==n.COMMA&&p("Expected comma or closing delimiter")}return t}function m(e){for(;;){var t=l();if(!t)break;if(t.type===n.DOTKEY)u(),f(t.match),e="VarRef"===e.type?a.varRef(e.path.concat([t.match])):a.access(e,a.literal("string",t.match));else if(t.type===n.BRACKETOPEN){u();var r=O(0);"Literal"===r.type&&"string"===r.kind&&h(r.value);var i=u();i&&i.type===n.BRACKETCLOSE||p("Unexpected closing square bracket"),e=a.access(e,r)}else if(t.type===n.PARENOPEN)u(),e=a.fnCall(e,d(n.PARENCLOSE));else{if(t.type!==n.FILTER&&t.type!==n.FILTEREMPTY)break;u();var s,c=t.match;o.filters.hasOwnProperty(c)&&"function"==typeof o.filters[c]||p('Invalid filter "'+c+'"'),t.type===n.FILTER&&(s=d(n.PARENCLOSE)),e=a.filterCallExpr(c,e,s)}}return e}function E(){var e,r=u();switch(r||p("Unexpected end of expression"),r.type){case n.STRING:return a.literal("string",y(r.match));case n.NUMBER:return a.literal("number",parseFloat(r.match));case n.BOOL:return a.literal("bool","true"===r.match);case n.NOT:return a.unaryOp("!",v());case n.OPERATOR:if("+"===(e=r.match)||"-"===e)return a.unaryOp(e,v());p('Unexpected operator "'+e+'"');break;case n.PARENOPEN:var o=O(0),i=u();return i&&i.type===n.PARENCLOSE||p("Mismatched nesting state"),m(o);case n.BRACKETOPEN:return m(a.arrayLiteral(d(n.BRACKETCLOSE)));case n.CURLYOPEN:return m(function(){var e=[],t=l();if(t&&t.type===n.CURLYCLOSE)return u(),a.objectLiteral([]);for(;;){var r,o=u();o||p("Unclosed object literal"),o.type===n.STRING?r=a.literal("string",y(o.match)):o.type===n.VAR?(-1!==o.match.indexOf(".")&&p("Unexpected dot"),r=a.literal("string",o.match)):o.type===n.NUMBER?r=a.literal("number",parseFloat(o.match)):p("Unexpected object key");var i=u();i&&i.type===n.COLON||p("Unexpected colon");var s=O(0);e.push(a.objectProperty(r,s));var c=u();if(c||p("Unclosed object literal"),c.type===n.CURLYCLOSE)break;c.type!==n.COMMA&&p("Expected comma or closing curly brace")}return a.objectLiteral(e)}());case n.VAR:var c=r.match.split(".");return-1!==s.indexOf(c[0])&&p('Reserved keyword "'+c[0]+'" attempted to be used as a variable'),t.each(c,function(e){f(e)}),m(a.varRef(c));case n.FUNCTION:case n.FUNCTIONEMPTY:return e=r.match,-1!==s.indexOf(e)&&p('Reserved keyword "'+e+'" attempted to be used as a variable'),f(e),r.type===n.FUNCTIONEMPTY?m(a.fnCall(a.varRef([e]),[])):m(a.fnCall(a.varRef([e]),d(n.PARENCLOSE)))}return p('Unexpected token "'+r.match+'"'),null}function v(){return E()}function O(e){for(var t=v();;){var r=l();if(!r)break;if(r.type===n.FILTER||r.type===n.FILTEREMPTY)break;var o=g(r);if(!o||o.prec<e)break;u();var i=O(o.prec+1);t=a.binaryOp(o.op,t,i)}return t}var x=O(0);return r&&(r.pos=c),x},parseOutput:function(e){var r=this;function o(){var e=r.parse().join("");return a.output(a.legacyJS("_output += "+e+";\n"))}var i,s,c=!1;for(i=0;i<e.length;i+=1)if(e[i].type!==n.WHITESPACE){c=!0;break}if(!c)return o();if("string"==typeof r.escape)return o();var l=0,u=!1,p=!1,f=-1;for(i=0;i<e.length;i+=1)s=e[i],0===l&&(s.type!==n.OPERATOR&&s.type!==n.LOGIC&&s.type!==n.COMPARATOR&&s.type!==n.NOT||(u=!0),s.type!==n.FILTER&&s.type!==n.FILTEREMPTY||(p=!0,f<0&&(f=i))),s.type===n.PARENOPEN||s.type===n.FUNCTION||s.type===n.BRACKETOPEN||s.type===n.CURLYOPEN||s.type===n.FILTER?l+=1:s.type!==n.PARENCLOSE&&s.type!==n.BRACKETCLOSE&&s.type!==n.CURLYCLOSE||(l-=1);if(0===f)return o();try{var h=r.escape;for(i=0;i<e.length;i+=1)if((s=e[i]).type!==n.FUNCTION&&s.type!==n.FUNCTIONEMPTY||(h=!1),s.type!==n.FILTER&&s.type!==n.FILTEREMPTY||r.filters.hasOwnProperty(s.match)&&"function"==typeof r.filters[s.match]&&r.filters[s.match].safe&&(h=!1),s.type===n.PARENOPEN){for(var g=i-1;g>=0&&e[g].type===n.WHITESPACE;)g-=1;g>=0&&e[g].type===n.VAR&&(h=!1)}if(u&&p){var y=r.parseExpr(e),d=h?[a.filterCall("e")]:[];return a.output(y,d.length>0?d:void 0)}var m=f>=0?f:e.length,E=e.slice(0,m),v={pos:0},O=r.parseExpr(E,v),x=!1;for(i=v.pos;i<E.length;i+=1)if(E[i].type!==n.WHITESPACE){x=!0;break}if(x)return o();var w=[];if(f>=0)for(var C=f;C<e.length;){var T=e[C];if(T.type!==n.WHITESPACE)if(T.type!==n.FILTEREMPTY)if(T.type!==n.FILTER)t.throwError('Unexpected token "'+T.match+'"',r.line,r.filename);else{r.filters.hasOwnProperty(T.match)&&"function"==typeof r.filters[T.match]||t.throwError('Invalid filter "'+T.match+'"',r.line,r.filename),r.filters[T.match].safe&&(h=!1);for(var R=1,b=C+1,A=C+1;A<e.length&&R>0;){var N=e[A];if(N.type===n.PARENOPEN||N.type===n.FUNCTION||N.type===n.BRACKETOPEN||N.type===n.CURLYOPEN||N.type===n.FILTER)R+=1;else if((N.type===n.PARENCLOSE||N.type===n.BRACKETCLOSE||N.type===n.CURLYCLOSE)&&0===(R-=1))break;A+=1}0!==R&&t.throwError('Unable to parse filter "'+T.match+'"',r.line,r.filename);var P,k=[],L=b,S=1;for(P=b;P<A;P+=1){var I=e[P];I.type===n.PARENOPEN||I.type===n.FUNCTION||I.type===n.BRACKETOPEN||I.type===n.CURLYOPEN||I.type===n.FILTER?S+=1:I.type===n.PARENCLOSE||I.type===n.BRACKETCLOSE||I.type===n.CURLYCLOSE?S-=1:I.type===n.COMMA&&1===S&&(k.push(e.slice(L,P)),L=P+1)}L<A&&k.push(e.slice(L,A));var U,F=[];for(U=0;U<k.length;U+=1){var _,j=k[U],M=!1;for(_=0;_<j.length;_+=1)if(j[_].type!==n.WHITESPACE){M=!0;break}M&&F.push(r.parseExpr(j))}w.push(a.filterCall(T.match,F)),C=A+1}else r.filters.hasOwnProperty(T.match)&&"function"==typeof r.filters[T.match]||t.throwError('Invalid filter "'+T.match+'"',r.line,r.filename),r.filters[T.match].safe&&(h=!1),w.push(a.filterCall(T.match)),C+=1;else C+=1}return h&&w.push(a.filterCall("e")),a.output(O,w.length>0?w:void 0)}catch(e){return o()}},checkMatch:function(e){var r,n=e[0];function o(r){var o=r+n,a=e,i="";return i="(typeof "+o+' !== "undefined" && '+o+" !== null",t.each(a,function(e,t){0!==t&&(i+=" && "+o+"."+e+" !== undefined && "+o+"."+e+" !== null",o+="."+e)}),i+=")"}function a(t){return"("+o(t)+" ? "+t+e.join(".")+' : "")'}return"("+(r="("+o("_ctx.")+" ? "+a("_ctx.")+" : "+a("")+")")+" !== null ? "+r+' : "" )'}},e.TokenParser=l}}),x=t({"lib/parser.js"(e){var t=n(),r=v(),o=r.types,a=O().TokenParser;function i(e){return e.replace(/[\-\/\\\^$*+?.()|\[\]{}]/g,"\\$&")}e.parse=function(n,s,c,l,u){s=s.replace(/\r\n/g,"\n");var p,f=c.autoescape,h=c.tagControls[0],g=c.tagControls[1],y=c.varControls[0],d=c.varControls[1],m=i(h),E=i(g),v=i(y),O=i(d),x=new RegExp("^"+m+"-?\\s*-?|-?\\s*-?"+E+"$","g"),w=new RegExp("^"+m+"-"),C=new RegExp("-"+E+"$"),T=new RegExp("^"+v+"-?\\s*-?|-?\\s*-?"+O+"$","g"),R=new RegExp("^"+v+"-"),b=new RegExp("-"+O+"$"),A=c.cmtControls[0],N=c.cmtControls[1],P="[\\s\\S]*?",k=new RegExp("("+m+P+E+"|"+v+P+O+"|"+i(A)+P+i(N)+")"),L=1,S=[],I=null,U=[],F={},_=!1;function j(e,n){var o,i,s=r.read(t.strip(e));return i=(o=new a(s,u,f,n,c.filename)).parseOutput(s),o.state.length&&t.throwError('Unable to parse "'+e+'"',n,c.filename),i}function M(e){return"string"==typeof e&&(e=e.replace(/\s*$/,"")),e}return e.parseVariable=j,t.each(s.split(k),function(e){var i,s,m,E,v;if(e){if(!_&&t.startsWith(e,y)&&t.endsWith(e,d))m=R.test(e),p=b.test(e),i=j(e.replace(T,""),L);else if(t.startsWith(e,h)&&t.endsWith(e,g))m=w.test(e),p=C.test(e),(i=function(e,i){var s,p,h,g,y,d,m;if(t.startsWith(e,"end")){if((m=S[S.length-1])&&m.name===e.split(/\s+/)[0].replace(/^end/,"")&&m.ends){switch(m.name){case"autoescape":f=c.autoescape;break;case"raw":_=!1}return void S.pop()}_||t.throwError('Unexpected end of tag "'+e.replace(/^end/,"")+'"',i,c.filename)}if(!_){switch(g=(h=e.split(/\s+(.+)?/)).shift(),l.hasOwnProperty(g)||t.throwError('Unexpected tag "'+e+'"',i,c.filename),s=r.read(t.strip(h.join(" "))),p=new a(s,u,!1,i,c.filename),(y=l[g]).parse(h[1],i,p,o,S,c,n)||t.throwError('Unexpected tag "'+g+'"',i,c.filename),p.parse(),d=p.out,g){case"autoescape":f="false"!==d[0]&&d[0];break;case"raw":_=!0}var E;return"function"==typeof y.lowerExpr&&(E=y.lowerExpr(p,s,h[1],i)),{block:!!l[g].block,compile:y.compile,args:d,content:[],ends:y.ends,name:g,irExpr:E}}}(e.replace(x,""),L))&&("extends"===i.name?I=i.args.join("").replace(/^\'|\'$/g,"").replace(/^\"|\"$/g,""):i.block&&!S.length&&(F[i.args.join("")]=i)),_&&!i&&(i=e);else if(_||!t.startsWith(e,A)&&!t.endsWith(e,N))i=p?e.replace(/^\s*/,""):e,p=!1;else if(t.startsWith(e,A)&&t.endsWith(e,N))return;m&&U.length&&("string"==typeof(E=U.pop())?E=M(E):E.content&&E.content.length&&(v=M(E.content.pop()),E.content.push(v)),U.push(E)),i&&(S.length?S[S.length-1].content.push(i):U.push(i),i.name&&i.ends&&S.push(i),s=e.match(/\n/g),L+=s?s.length:0)}}),{name:c.filename,parent:I,tokens:U,blocks:F}},e.compile=E().compile}}),w=t({"lib/tags/import.js"(e){var t=n(),r=E(),o=d().dangerousProps;e.compile=function(e,r){var n=r.pop(),o=t.map(r,function(e){return e.name}).join("|"),a="_ctx."+n+' = {};\n var _output = "";\n',i=t.map(r,function(e){return{ex:new RegExp("_ctx."+e.name+"(\\W)(?!"+o+")","g"),re:"_ctx."+n+"."+e.name+"$1"}});return t.each(r,function(e){var r=e.compiled;t.each(i,function(e){r=r.replace(e.ex,e.re)}),a+=r}),a},e.parse=function(e,n,a,i,s,c,l){var u,p,f=x().compile,h={resolveFrom:c.filename},g=t.extend({},c,h);return a.on(i.STRING,function(e){var o=this;if(!u)return u=l.parseFile(e.match.replace(/^("|')|("|')$/g,""),h).tokens,void t.each(u,function(e){var t,n="";e&&"macro"===e.name&&e.compile&&(t=e.args[0],n+=r.compile([e.compile(f,e.args,e.content,[],g)],[],g)+"\n",o.out.push({compiled:n,name:t}))});throw new Error("Unexpected string "+e.match+" on line "+n+".")}),a.on(i.VAR,function(e){if(!u||p)throw new Error('Unexpected variable "'+e.match+'" on line '+n+".");if("as"!==e.match){if(-1!==o.indexOf(e.match))throw new Error('Unsafe import alias "'+e.match+'" is not allowed (CVE-2023-25345) on line '+n+".");return p=e.match,this.out.push(p),!1}}),!0},e.block=!0}}),C=t({"lib/tags/include.js"(e){var t=o(),r=c(),n="ignore",a="missing",i="only";e.compile=function(e,r,n,o,s,c,l){var u=r.shift(),p=r.indexOf(i),f=-1!==p&&r.splice(p,1),h=(r.pop()||"").replace(/\\/g,"\\\\"),g=r[r.length-1]===a&&r.pop(),y=r.join("");return l&&l.irExpr&&(u=l.irExpr.file,y=void 0!==l.irExpr.context?l.irExpr.context:void 0),t.include(u,y||void 0,!!f,!!g,h)},e.lowerExpr=function(e,t){var o,a,s=0,c=-1,l=-1,u=-1;for(o=0;o<t.length;o++){if((a=t[o]).type===r.FILTER||a.type===r.FILTEREMPTY)return;a.type!==r.PARENOPEN&&a.type!==r.BRACKETOPEN&&a.type!==r.ARRAYOPEN&&a.type!==r.CURLYOPEN&&a.type!==r.FUNCTION&&a.type!==r.METHODOPEN?a.type!==r.PARENCLOSE&&a.type!==r.BRACKETCLOSE&&a.type!==r.CURLYCLOSE?0===s&&a.type===r.VAR&&(-1===c&&"with"===a.match?c=o:-1!==c&&-1===l&&a.match===i?l=o:-1===u&&a.match===n&&(u=o)):s--:s++}var p=t.length;-1!==c?p=c:-1!==u&&(p=u);var f=t.slice(0,p);if(0!==f.length){var h={file:e.parseExpr(f)};if(-1!==c){var g=t.length;-1!==l?g=l:-1!==u&&(g=u);var y=t.slice(c+1,g);y.length>0&&(h.context=e.parseExpr(y))}return h}},e.parse=function(e,t,r,o,s,c){var l,u;return r.on(o.STRING,function(e){return!!l||(l=e.match,void this.out.push(l))}),r.on(o.VAR,function(e){if(!l)return l=e.match,!0;if(u||"with"!==e.match){if(!u||e.match!==i||"with"===this.prevToken.match){if(e.match===n)return!1;if(e.match===a){if(this.prevToken.match!==n)throw new Error('Unexpected token "'+a+'" on line '+t+".");return this.out.push(e.match),!1}if(this.prevToken.match===n)throw new Error('Expected "'+a+'" on line '+t+' but found "'+e.match+'".');return!0}this.out.push(e.match)}else u=!0}),r.on("end",function(){this.out.push(c.filename||null)}),!0}}}),T=t({"lib/tags/macro.js"(e){var t=o();e.compile=function(e,r,n,o,a,i){var s=r.shift();return t.macro(s,r,[t.legacyJS(e(n,o,a,i))])};var r=d().dangerousProps;e.parse=function(e,t,n,o){var a;return n.on(o.VAR,function(e){if(-1!==e.match.indexOf("."))throw new Error('Unexpected dot in macro argument "'+e.match+'" on line '+t+".");if(!a){if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");return a=e.match,void this.out.push(a)}if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro argument "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");this.out.push({name:e.match})}),n.on(o.FUNCTION,function(e){if(!a){if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");a=e.match,this.out.push(a),this.state.push(o.FUNCTION)}}),n.on(o.FUNCTIONEMPTY,function(e){if(!a){if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");a=e.match,this.out.push(a)}}),n.on(o.PARENCLOSE,function(){if(!this.isLast)throw new Error("Unexpected parenthesis close on line "+t+".")}),n.on(o.COMMA,function(){}),n.on("*",function(){}),!0},e.ends=!0,e.block=!0}}),R=t({"lib/tags/parent.js"(e){var t=o();e.compile=function(e,r,n,o,a,i){if(!o||!o.length)return"";for(var s,c,l=r[0],u=o.length,p=0;p<u;p+=1)if((s=o[p]).blocks&&s.blocks.hasOwnProperty(i)&&l!==s.name){var f=(c=s.blocks[i]).compile(e,[i],c.content,o.slice(p+1),a);return t.parent(f&&f.body?f.body.concat([t.legacyJS("\n")]):[t.legacyJS("\n")])}},e.parse=function(e,t,r,n,o,a){return r.on("*",function(e){throw new Error('Unexpected argument "'+e.match+'" on line '+t+".")}),r.on("end",function(){this.out.push(a.filename)}),!0}}}),b=t({"lib/tags/raw.js"(e){var t=o();e.compile=function(e,r,n,o,a,i){var s,c=[];for(s=0;s<n.length;s++)"string"==typeof n[s]?c.push(t.raw(n[s])):c.push(t.legacyJS(e([n[s]],o,a,i)));return c},e.parse=function(e,t,r){return r.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" in raw tag on line '+t+".")}),!0},e.ends=!0}}),A=t({"lib/tags/set.js"(e){var t=o(),r=c(),n=/^_ctx\.([a-zA-Z_$][\w$]*)((?:\.[a-zA-Z_$][\w$]*)*)$/;e.compile=function(e,r,o,a,i,s,c){var l=r[0],u="string"==typeof l&&n.exec(l);if(u){var p=[u[1]];if(u[2])for(var f=u[2].split("."),h=1;h<f.length;h++)p.push(f[h]);l=t.varRef(p)}var g=c&&c.irExpr?c.irExpr:r.slice(2).join(" ");return t.set(l,r[1],g)};var a=d().dangerousProps;e.lowerExpr=function(e,t){var n,o=-1;for(n=0;n<t.length;n++)if(t[n].type===r.ASSIGNMENT){o=n;break}if(-1!==o){var a=t.slice(o+1);for(n=0;n<a.length;n++)if(a[n].type===r.FILTER||a[n].type===r.FILTEREMPTY||a[n].type===r.ASSIGNMENT)return;return e.parseExpr(a)}},e.parse=function(e,t,r,n){var o,i="";return r.on(n.VAR,function(e){if(o)o+="_ctx."+e.match;else{if(r.out.length)return!0;for(var n=e.match.split("."),s=0;s<n.length;s++)if(-1!==a.indexOf(n[s]))throw new Error('Unsafe assignment to "'+n[s]+'" is not allowed (CVE-2023-25345) on line '+t+".");i+=e.match}}),r.on(n.BRACKETOPEN,function(e){if(o||this.out.length)return!0;o=e.match}),r.on(n.STRING,function(e){if(!o||this.out.length)return!0;var r=e.match.replace(/^['"]|['"]$/g,"");if(-1!==a.indexOf(r))throw new Error('Unsafe assignment to "'+r+'" via bracket notation is not allowed (CVE-2023-25345) on line '+t+".");o+=e.match}),r.on(n.BRACKETCLOSE,function(e){return!(o&&!this.out.length)||(i+=o+e.match,void(o=void 0))}),r.on(n.DOTKEY,function(e){if(!o&&!i)return!0;if(-1!==a.indexOf(e.match))throw new Error('Unsafe assignment to "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");i+="."+e.match}),r.on(n.ASSIGNMENT,function(e){if(this.out.length||!i)throw new Error('Unexpected assignment "'+e.match+'" on line '+t+".");this.out.push("_ctx."+i),this.out.push(e.match),this.filterApplyIdx.push(this.out.length)}),!0},e.block=!0}}),N=t({"lib/tags/spaceless.js"(e){n();e.compile=function(e,t,r,n,o,a){var i=e(r,n,o,a);return i+='_output = _output.replace(/^\\s+/, "")\n .replace(/>\\s+</g, "><")\n .replace(/\\s+$/, "");\n'},e.parse=function(e,t,r){return r.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" on line '+t+".")}),!0},e.ends=!0}}),P=t({"lib/tags/index.js"(e){e.autoescape=a(),e.block=i(),e.else=s(),e.elseif=u(),e.elif=e.elseif,e.extends=p(),e.filter=y(),e.for=m(),e.if=l(),e.import=w(),e.include=C(),e.macro=T(),e.parent=R(),e.raw=b(),e.set=A(),e.spaceless=N()}}),k=t({"browser/stubs/fs.js"(e,t){t.exports={}}}),L=t({"node_modules/path-browserify/index.js"(e,t){"use strict";function r(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var r,n="",o=0,a=-1,i=0,s=0;s<=e.length;++s){if(s<e.length)r=e.charCodeAt(s);else{if(47===r)break;r=47}if(47===r){if(a===s-1||1===i);else if(a!==s-1&&2===i){if(n.length<2||2!==o||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var c=n.lastIndexOf("/");if(c!==n.length-1){-1===c?(n="",o=0):o=(n=n.slice(0,c)).length-1-n.lastIndexOf("/"),a=s,i=0;continue}}else if(2===n.length||1===n.length){n="",o=0,a=s,i=0;continue}t&&(n.length>0?n+="/..":n="..",o=2)}else n.length>0?n+="/"+e.slice(a+1,s):n=e.slice(a+1,s),o=s-a-1;a=s,i=0}else 46===r&&-1!==i?++i:i=-1}return n}var o={resolve:function(){for(var e,t="",o=!1,a=arguments.length-1;a>=-1&&!o;a--){var i;a>=0?i=arguments[a]:(void 0===e&&(e=process.cwd()),i=e),r(i),0!==i.length&&(t=i+"/"+t,o=47===i.charCodeAt(0))}return t=n(t,!o),o?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(e){if(r(e),0===e.length)return".";var t=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!t)).length||t||(e="."),e.length>0&&o&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return r(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t<arguments.length;++t){var n=arguments[t];r(n),n.length>0&&(void 0===e?e=n:e+="/"+n)}return void 0===e?".":o.normalize(e)},relative:function(e,t){if(r(e),r(t),e===t)return"";if((e=o.resolve(e))===(t=o.resolve(t)))return"";for(var n=1;n<e.length&&47===e.charCodeAt(n);++n);for(var a=e.length,i=a-n,s=1;s<t.length&&47===t.charCodeAt(s);++s);for(var c=t.length-s,l=i<c?i:c,u=-1,p=0;p<=l;++p){if(p===l){if(c>l){if(47===t.charCodeAt(s+p))return t.slice(s+p+1);if(0===p)return t.slice(s+p)}else i>l&&(47===e.charCodeAt(n+p)?u=p:0===p&&(u=0));break}var f=e.charCodeAt(n+p);if(f!==t.charCodeAt(s+p))break;47===f&&(u=p)}var h="";for(p=n+u+1;p<=a;++p)p!==a&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+t.slice(s+u):(s+=u,47===t.charCodeAt(s)&&++s,t.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(r(e),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,o=-1,a=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!a){o=i;break}}else a=!1;return-1===o?n?"/":".":n&&1===o?"//":e.slice(0,o)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');r(e);var n,o=0,a=-1,i=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,c=-1;for(n=e.length-1;n>=0;--n){var l=e.charCodeAt(n);if(47===l){if(!i){o=n+1;break}}else-1===c&&(i=!1,c=n+1),s>=0&&(l===t.charCodeAt(s)?-1===--s&&(a=n):(s=-1,a=c))}return o===a?a=c:-1===a&&(a=e.length),e.slice(o,a)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!i){o=n+1;break}}else-1===a&&(i=!1,a=n+1);return-1===a?"":e.slice(o,a)},extname:function(e){r(e);for(var t=-1,n=0,o=-1,a=!0,i=0,s=e.length-1;s>=0;--s){var c=e.charCodeAt(s);if(47!==c)-1===o&&(a=!1,o=s+1),46===c?-1===t?t=s:1!==i&&(i=1):-1!==t&&(i=-1);else if(!a){n=s+1;break}}return-1===t||-1===o||0===i||1===i&&t===o-1&&t===n+1?"":e.slice(t,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+e+n:n}("/",e)},parse:function(e){r(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,o=e.charCodeAt(0),a=47===o;a?(t.root="/",n=1):n=0;for(var i=-1,s=0,c=-1,l=!0,u=e.length-1,p=0;u>=n;--u)if(47!==(o=e.charCodeAt(u)))-1===c&&(l=!1,c=u+1),46===o?-1===i?i=u:1!==p&&(p=1):-1!==i&&(p=-1);else if(!l){s=u+1;break}return-1===i||-1===c||0===p||1===p&&i===c-1&&i===s+1?-1!==c&&(t.base=t.name=0===s&&a?e.slice(1,c):e.slice(s,c)):(0===s&&a?(t.name=e.slice(1,i),t.base=e.slice(1,c)):(t.name=e.slice(s,i),t.base=e.slice(s,c)),t.ext=e.slice(i,c)),s>0?t.dir=e.slice(0,s-1):a&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,t.exports=o}}),S=t({"packages/swig-core/lib/loaders/filesystem.js"(e,t){var r=k(),n=L();t.exports=function(e,t){var o={};return t=t||"utf8",e=e?n.normalize(e):null,o.resolve=function(t,r){return r=e||(r?n.dirname(r):process.cwd()),n.resolve(r,t)},o.load=function(e,n){if(!r||n&&!r.readFile||!r.readFileSync)throw new Error("Unable to find file "+e+" because there is no filesystem to read from.");if(e=o.resolve(e),!n)return r.readFileSync(e,t);r.readFile(e,t,n)},o}}}),I=t({"packages/swig-core/lib/loaders/memory.js"(e,t){var n=L(),o=r();t.exports=function(e,t){var r={};return t=t?n.normalize(t):null,r.resolve=function(e,r){return r=t||(r?n.dirname(r):"/"),n.resolve(r,e)},r.load=function(t,r){var n,a;if(a=[t,t.replace(/^(\/|\\)/,"")],(n=e[a[0]]||e[a[1]])||o.throwError('Unable to find template "'+t+'".'),!r)return n;r(null,n)},r}}}),U=t({"packages/swig-core/lib/loaders/index.js"(e){e.fs=S(),e.memory=I()}}),F=t({"lib/loaders/index.js"(e,t){t.exports=U()}}),_=t({"packages/swig-core/lib/cache.js"(e){e.shouldCache=function(e,t){return(e=e||{}).hasOwnProperty("cache")&&!e.cache||!t},e.cacheGet=function(t,r,n,o){if(!e.shouldCache(r,n))return"memory"===n?o[t]:n.get(t)},e.cacheSet=function(t,r,n,o,a){e.shouldCache(r,o)||("memory"!==o?o.set(t,n):a[t]=n)}}}),j=t({"packages/swig-core/lib/engine.js"(e){var t=r(),n=E(),o=_();function a(){return""}e.remapBlocks=function e(r,n){return t.map(n,function(t){var n=t.args?t.args.join(""):"";return"block"===t.name&&r[n]&&(t=r[n]),t.content&&t.content.length&&(t.content=e(r,t.content)),t})},e.importNonBlocks=function(e,r){var n=[];t.each(e,function(e){n.push(e)}),t.each(n.reverse(),function(e){"block"!==e.name&&r.unshift(e)})},e.getParents=function(r,n,o){for(var a,i,s,c=r.parent,l=[],u=[];c;){if(!n||!n.filename)throw new Error('Cannot extend "'+c+'" because current template has no filename.');if(a=a||n.filename,a=o.resolve(c,a),c=(i=o.cacheGet(a,n)||o.parseFile(a,t.extend({},n,{filename:a}))).parent,-1!==l.indexOf(a))throw new Error('Illegal circular extends of "'+a+'".');l.push(a),u.push(i)}for(s=u.length,s=u.length-2;s>=0;s-=1)u[s].tokens=e.remapBlocks(u[s].blocks,u[s+1].tokens),e.importNonBlocks(u[s].blocks,u[s].tokens);return u},e.buildTemplateFunction=function(e,t,r){return new Function("_swig","_ctx","_filters","_utils","_fn",' var _ext = _swig.extensions,\n _output = "";\n'+n.compile(e,t,r)+"\n return _output;\n")},e.install=function(r,n){var i=n.parser,s=n.tags,c=n.filters,l=n.validateOptions,u=n.onCompileError;function p(e){return e&&e.locals?t.extend({},r.options.locals,e.locals):r.options.locals}function f(e,t){return o.cacheGet(e,t,r.options.cache,r.cache)}function h(e,t,n){o.cacheSet(e,t,n,r.options.cache,r.cache)}r.invalidateCache=function(){"memory"===r.options.cache&&(r.cache={})},r.setFilter=function(e,t){if("function"!=typeof t)throw new Error('Filter "'+e+'" is not a valid function.');c[e]=t},r.setTag=function(e,t,r,n,o){if("function"!=typeof t)throw new Error('Tag "'+e+'" parse method is not a valid function.');if("function"!=typeof r)throw new Error('Tag "'+e+'" compile method is not a valid function.');s[e]={parse:t,compile:r,ends:n||!1,block:!!o}},r.setExtension=function(e,t){r.extensions[e]=t},r.parse=function(e,n){l(n);var o,a=p(n),u={};for(o in n)n.hasOwnProperty(o)&&"locals"!==o&&(u[o]=n[o]);return(n=t.extend({},r.options,u)).locals=a,i.parse(r,e,n,s,c)},r.parseFile=function(e,n){var o;return n||(n={}),e=r.options.loader.resolve(e,n.resolveFrom),o=r.options.loader.load(e),n.filename||(n=t.extend({filename:e},n)),r.parse(o,n)},r.precompile=function(t,n){var o,a=r.parse(t,n),i=function(t,n){return e.getParents(t,n,{resolve:function(e,t){return r.options.loader.resolve(e,t)},parseFile:r.parseFile,cacheGet:f})}(a,n);i.length&&(a.tokens=e.remapBlocks(a.blocks,i[0].tokens),e.importNonBlocks(a.blocks,a.tokens));try{o=e.buildTemplateFunction(a,i,n)}catch(e){u(e,n)}return{tpl:o,tokens:a}},r.compile=function(e,n){var o,i,s,l=n?n.filename:null,u=l?f(l,n):null;if(u)return u;function g(e){var n;return n=e&&i?t.extend({},o,e):e&&!i?e:!e&&i?o:{},s.tpl(r,n,c,t,a)}return o=p(n),i=t.keys(o).length,s=r.precompile(e,n),t.extend(g,s.tokens),l&&h(l,n,g),g},r.compileFile=function(e,n,o){var a,i;return n||(n={}),e=r.options.loader.resolve(e,n.resolveFrom),n.filename||(n=t.extend({filename:e},n)),(i=f(e,n))?o?void o(null,i):i:o?void r.options.loader.load(e,function(e,t){if(e)o(e);else{var a;try{a=r.compile(t,n)}catch(e){return void o(e)}o(e,a)}}):(a=r.options.loader.load(e),r.compile(a,n))},r.render=function(e,t){return r.compile(e,t)()},r.renderFile=function(e,t,n){if(!n)return r.compileFile(e)(t);r.compileFile(e,{},function(e,r){var o;if(e)n(e);else{try{o=r(t)}catch(e){return void n(e)}n(null,o)}})},r.run=function(e,n,o){var i=p({locals:n});return o&&h(o,{},e),e(r,i,c,t,a)}}}}),M=t({"lib/swig.js"(e){var t=n(),r=P(),o=g(),a=x(),i=f(),s=F(),c=j();e.version="2.0.0-alpha.1";var l,u={autoescape:!0,varControls:["{{","}}"],tagControls:["{%","%}"],cmtControls:["{#","#}"],locals:{},cache:"memory",loader:s.fs()};function p(e){if(e){if(t.each(["varControls","tagControls","cmtControls"],function(r){if(e.hasOwnProperty(r)){if(!t.isArray(e[r])||2!==e[r].length)throw new Error('Option "'+r+'" must be an array containing 2 different control strings.');if(e[r][0]===e[r][1])throw new Error('Option "'+r+'" open and close controls must not be the same.');t.each(e[r],function(e,t){if(e.length<2)throw new Error('Option "'+r+'" '+(t?"open ":"close ")+'control must be at least 2 characters. Saw "'+e+'" instead.')})}}),e.hasOwnProperty("cache")&&e.cache&&"memory"!==e.cache&&(!e.cache.get||!e.cache.set))throw new Error("Invalid cache option "+JSON.stringify(e.cache)+' found. Expected "memory" or { get: function (key) { ... }, set: function (key, value) { ... } }.');if(e.hasOwnProperty("loader")&&e.loader&&(!e.loader.load||!e.loader.resolve))throw new Error("Invalid loader option "+JSON.stringify(e.loader)+" found. Expected { load: function (pathname, cb) { ... }, resolve: function (to, from) { ... } }.")}}e.setDefaults=function(e){p(e),l.options=t.extend(l.options,e)},e.setDefaultTZOffset=function(e){i.tzOffset=e},e.Swig=function(e){p(e),this.options=t.extend({},u,e||{}),this.cache={},this.extensions={},c.install(this,{parser:a,tags:r,filters:o,validateOptions:p,onCompileError:function(e,r){t.throwError(e,null,r.filename)}})},l=new e.Swig,e.setFilter=l.setFilter,e.setTag=l.setTag,e.setExtension=l.setExtension,e.parseFile=l.parseFile,e.precompile=l.precompile,e.compile=l.compile,e.compileFile=l.compileFile,e.render=l.render,e.renderFile=l.renderFile,e.run=l.run,e.invalidateCache=l.invalidateCache,e.loaders=s}})();"function"==typeof window.define&&"object"==typeof window.define.amd?window.define("swig",[],function(){return M}):window.swig=M})();
3
+ (()=>{var e=Object.getOwnPropertyNames,t=(t,r)=>function(){return r||(0,t[e(t)[0]])((r={exports:{}}).exports,r),r.exports},r=t({"packages/swig-core/lib/utils.js"(e){var t;e.strip=function(e){return e.replace(/^\s+|\s+$/g,"")},e.startsWith=function(e,t){return 0===e.indexOf(t)},e.endsWith=function(e,t){return-1!==e.indexOf(t,e.length-t.length)},e.each=function(e,r){var n,o;if(t(e))for(n=0,o=e.length;n<o&&!1!==r(e[n],n,e);n+=1);else for(n in e)if(e.hasOwnProperty(n)&&!1===r(e[n],n,e))break;return e},e.isArray=t=Array.hasOwnProperty("isArray")?Array.isArray:function(e){return!!e&&("object"==typeof e&&-1!==Object.prototype.toString.call(e).indexOf())},e.some=function(r,n){var o,a,i=0;if(t(r))for(a=r.length;i<a&&!(o=n(r[i],i,r));i+=1);else e.each(r,function(e,t){return!(o=n(e,t,r))});return!!o},e.map=function(e,r){var n,o=0,a=[];if(t(e))for(n=e.length;o<n;o+=1)a[o]=r(e[o],o);else for(o in e)e.hasOwnProperty(o)&&(a[o]=r(e[o],o));return a},e.extend=function(){for(var e,t,r=arguments,n=r[0],o=r.length>1?Array.prototype.slice.call(r,1):[],a=0,i=o.length;a<i;a+=1)for(e in t=o[a]||{})t.hasOwnProperty(e)&&(n[e]=t[e]);return n},e.keys=function(t){return t?Object.keys?Object.keys(t):e.map(t,function(e,t){return t}):[]},e.throwError=function(e,t,r){throw t&&(e+=" on line "+t),r&&(e+=" in file "+r),new Error(e+".")}}}),n=t({"lib/utils.js"(e,t){t.exports=r()}}),o=t({"packages/swig-core/lib/ir.js"(e){function t(e,t){return void 0!==t&&(e.loc=t),e}e.template=function(e,r,n,o){var a={type:"Template",body:e};return void 0!==r&&(a.parent=r),void 0!==n&&(a.blocks=n),t(a,o)},e.text=function(e,r){return t({type:"Text",value:e},r)},e.output=function(e,r,n,o){var a={type:"Output",expr:e};return void 0!==r&&(a.filters=r),void 0!==n&&(a.safe=n),t(a,o)},e.filterCall=function(e,t){var r={name:e};return void 0!==t&&(r.args=t),r},e.ifStmt=function(e,r){return t({type:"If",branches:e},r)},e.ifBranch=function(e,t){return{test:e,body:t}},e.forStmt=function(e,r,n,o,a,i){var s={type:"For",value:e,iterable:r,body:n};return void 0!==o&&(s.key=o),void 0!==a&&(s.emptyBody=a),t(s,i)},e.block=function(e,r,n){return t({type:"Block",name:e,body:r},n)},e.include=function(e,r,n,o,a,i){var s={type:"Include",path:e};return void 0!==r&&(s.context=r),void 0!==n&&(s.isolated=n),void 0!==o&&(s.ignoreMissing=o),void 0!==a&&(s.resolveFrom=a),t(s,i)},e.importStmt=function(e,r,n){return t({type:"Import",path:e,alias:r},n)},e.macro=function(e,r,n,o){return t({type:"Macro",name:e,params:r,body:n},o)},e.macroParam=function(e,t){var r={name:e};return void 0!==t&&(r.default=t),r},e.call=function(e,r,n){return t({type:"Call",callee:e,args:r},n)},e.set=function(e,r,n,o){return t({type:"Set",target:e,op:r,value:n},o)},e.raw=function(e,r){return t({type:"Raw",value:e},r)},e.parent=function(e,r){var n={type:"Parent"};return void 0!==e&&(n.body=e),t(n,r)},e.autoescape=function(e,r,n){return t({type:"Autoescape",strategy:e,body:r},n)},e.filter=function(e,r,n,o){var a={type:"Filter",name:e,body:r};return void 0!==n&&(a.args=n),t(a,o)},e.withStmt=function(e,r,n,o){var a={type:"With",body:n};return void 0!==e&&(a.context=e),void 0!==r&&(a.isolated=r),t(a,o)},e.legacyJS=function(e,r){return t({type:"LegacyJS",js:e},r)},e.literal=function(e,r,n){return t({type:"Literal",kind:e,value:r},n)},e.varRef=function(e,r){return t({type:"VarRef",path:e},r)},e.access=function(e,r,n){return t({type:"Access",object:e,key:r},n)},e.binaryOp=function(e,r,n,o){return t({type:"BinaryOp",op:e,left:r,right:n},o)},e.unaryOp=function(e,r,n){return t({type:"UnaryOp",op:e,operand:r},n)},e.conditional=function(e,r,n,o){var a={type:"Conditional",test:e,then:r};return a.else=n,t(a,o)},e.arrayLiteral=function(e,r){return t({type:"ArrayLiteral",elements:e},r)},e.objectLiteral=function(e,r){return t({type:"ObjectLiteral",properties:e},r)},e.objectProperty=function(e,t){return{key:e,value:t}},e.fnCall=function(e,r,n){return t({type:"FnCall",callee:e,args:r},n)},e.filterCallExpr=function(e,r,n,o){var a={type:"FilterCall",name:e,input:r};return void 0!==n&&(a.args=n),t(a,o)}}}),a=t({"lib/tags/autoescape.js"(e){var t=n(),r=o(),a=["html","js"];e.compile=function(e,t,n,o,a,i){var s=e(n,o,a,i);return r.autoescape(function(e){if("true"===e)return!0;if("false"===e)return!1;if("string"==typeof e&&e.length>=2){var t=e.charAt(0),r=e.charAt(e.length-1);if('"'===t&&'"'===r||"'"===t&&"'"===r)return e.slice(1,-1)}return e}(t[0]),[r.legacyJS(s)])},e.parse=function(e,r,n,o,i,s){var c;return n.on("*",function(e){if(!c&&(e.type===o.BOOL||e.type===o.STRING&&-1===a.indexOf(e.match)))return this.out.push(e.match),void(c=!0);t.throwError('Unexpected token "'+e.match+'" in autoescape tag',r,s.filename)}),!0},e.ends=!0}}),i=t({"lib/tags/block.js"(e){var t=o();e.compile=function(e,r,n,o,a){var i=r.join("");return t.block(i,[t.legacyJS(e(n,o,a,i))])},e.parse=function(e,t,r){return r.on("*",function(e){this.out.push(e.match)}),!0},e.ends=!0,e.block=!0}}),s=t({"lib/tags/else.js"(e){e.compile=function(){return"} else {\n"},e.parse=function(e,t,r,n,o){return r.on("*",function(e){throw new Error('"else" tag does not accept any tokens. Found "'+e.match+'" on line '+t+".")}),o.length&&"if"===o[o.length-1].name}}}),c=t({"packages/swig-core/lib/tokentypes.js"(e,t){t.exports={WHITESPACE:0,STRING:1,FILTER:2,FILTEREMPTY:3,FUNCTION:4,FUNCTIONEMPTY:5,PARENOPEN:6,PARENCLOSE:7,COMMA:8,VAR:9,NUMBER:10,OPERATOR:11,BRACKETOPEN:12,BRACKETCLOSE:13,DOTKEY:14,ARRAYOPEN:15,CURLYOPEN:17,CURLYCLOSE:18,COLON:19,COMPARATOR:20,LOGIC:21,NOT:22,BOOL:23,ASSIGNMENT:24,METHODOPEN:25,UNKNOWN:100}}}),l=t({"lib/tags/if.js"(e){var t=o(),r=c();e.compile=function(e,r,n,o,a,i,s){var c,l,u=[],p=s&&s.irExpr?s.irExpr:t.legacyJS(r.join(" ")),f=[];for(c=0;c<n.length;c++)!(l=n[c])||"elseif"!==l.name&&"else"!==l.name?f.push(l):(u.push(t.ifBranch(p,[t.legacyJS(e(f,o,a,i))])),p="else"===l.name?null:l.irExpr?l.irExpr:t.legacyJS(l.args.join(" ")),f=[]);return u.push(t.ifBranch(p,[t.legacyJS(e(f,o,a,i))])),t.ifStmt(u)},e.lowerExpr=function(e,t){var n;for(n=0;n<t.length;n++)if(t[n].type===r.FILTER||t[n].type===r.FILTEREMPTY)return;return e.parseExpr(t)},e.parse=function(e,t,r,n){if(void 0===e)throw new Error("No conditional statement provided on line "+t+".");return r.on(n.COMPARATOR,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");if(this.prevToken.type===n.NOT)throw new Error('Attempted logic "not '+e.match+'" on line '+t+". Use !(foo "+e.match+") instead.");this.out.push(e.match),this.filterApplyIdx.push(this.out.length)}),r.on(n.NOT,function(e){if(this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match)}),r.on(n.BOOL,function(e){this.out.push(e.match)}),r.on(n.LOGIC,function(e){if(!this.out.length||this.isLast)throw new Error('Unexpected logic "'+e.match+'" on line '+t+".");this.out.push(e.match),this.filterApplyIdx.pop()}),!0},e.ends=!0}}),u=t({"lib/tags/elseif.js"(e){var t=l().parse,r=c();e.compile=function(e,t){return"} else if ("+t.join(" ")+") {\n"},e.lowerExpr=function(e,t){var n;for(n=0;n<t.length;n++)if(t[n].type===r.FILTER||t[n].type===r.FILTEREMPTY)return;return e.parseExpr(t)},e.parse=function(e,r,n,o,a){return t(e,r,n,o,a)&&a.length&&"if"===a[a.length-1].name}}}),p=t({"lib/tags/extends.js"(e){e.compile=function(){},e.parse=function(){return!0},e.ends=!1}}),f=t({"packages/swig-core/lib/dateformatter.js"(e){var t=r(),n={full:["January","February","March","April","May","June","July","August","September","October","November","December"],abbr:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},o={full:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],abbr:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],alt:{"-1":"Yesterday",0:"Today",1:"Tomorrow"}};e.tzOffset=0,e.DateZ=function(){var r=["getUTCDate","getUTCDay","getUTCFullYear","getUTCHours","getUTCMilliseconds","getUTCMinutes","getUTCMonth","getUTCSeconds","toISOString","toGMTString","toUTCString","valueOf","getTime"],n=["getDate","getDay","getFullYear","getHours","getMilliseconds","getMinutes","getMonth","getSeconds","getYear","toDateString","toLocaleDateString","toLocaleTimeString"],o=this;o.date=o.dateZ=arguments.length>1?new Date(Date.UTC.apply(Date,arguments)+6e4*(new Date).getTimezoneOffset()):1===arguments.length?new Date(new Date(arguments[0])):new Date,o.timezoneOffset=o.dateZ.getTimezoneOffset(),t.each(n,function(e){o[e]=function(){return o.dateZ[e]()}}),t.each(r,function(e){o[e]=function(){return o.date[e]()}}),this.setTimezoneOffset(e.tzOffset)},e.DateZ.prototype={getTimezoneOffset:function(){return this.timezoneOffset},setTimezoneOffset:function(e){return this.timezoneOffset=e,this.dateZ=new Date(this.date.getTime()+6e4*this.date.getTimezoneOffset()-6e4*this.timezoneOffset),this}},e.d=function(e){return(e.getDate()<10?"0":"")+e.getDate()},e.D=function(e){return o.abbr[e.getDay()]},e.j=function(e){return e.getDate()},e.l=function(e){return o.full[e.getDay()]},e.N=function(e){var t=e.getDay();return t>=1?t:7},e.S=function(e){var t=e.getDate();return t%10==1&&11!==t?"st":t%10==2&&12!==t?"nd":t%10==3&&13!==t?"rd":"th"},e.w=function(e){return e.getDay()},e.z=function(t,r,n){var o=t.getFullYear(),a=new e.DateZ(o,t.getMonth(),t.getDate(),12,0,0),i=new e.DateZ(o,0,1,12,0,0);return a.setTimezoneOffset(r,n),i.setTimezoneOffset(r,n),Math.round((a-i)/864e5)},e.W=function(e){var t,r=new Date(e.valueOf()),n=(e.getDay()+6)%7;return r.setDate(r.getDate()-n+3),t=r.valueOf(),r.setMonth(0,1),4!==r.getDay()&&r.setMonth(0,1+(4-r.getDay()+7)%7),1+Math.ceil((t-r)/6048e5)},e.F=function(e){return n.full[e.getMonth()]},e.m=function(e){return(e.getMonth()<9?"0":"")+(e.getMonth()+1)},e.M=function(e){return n.abbr[e.getMonth()]},e.n=function(e){return e.getMonth()+1},e.t=function(e){return 32-new Date(e.getFullYear(),e.getMonth(),32).getDate()},e.L=function(e){return 29===new Date(e.getFullYear(),1,29).getDate()},e.o=function(e){var t=new Date(e.valueOf());return t.setDate(t.getDate()-(e.getDay()+6)%7+3),t.getFullYear()},e.Y=function(e){return e.getFullYear()},e.y=function(e){return e.getFullYear().toString().substr(2)},e.a=function(e){return e.getHours()<12?"am":"pm"},e.A=function(e){return e.getHours()<12?"AM":"PM"},e.B=function(e){var t,r=e.getUTCHours();return r=23===r?0:r+1,t=Math.abs((60*(60*r+e.getUTCMinutes())+e.getUTCSeconds())/86.4).toFixed(0),"000".concat(t).slice(t.length)},e.g=function(e){var t=e.getHours();return 0===t?12:t>12?t-12:t},e.G=function(e){return e.getHours()},e.h=function(e){var t=e.getHours();return(t<10||12<t&&22>t?"0":"")+(t<12?t:t-12)},e.H=function(e){var t=e.getHours();return(t<10?"0":"")+t},e.i=function(e){var t=e.getMinutes();return(t<10?"0":"")+t},e.s=function(e){var t=e.getSeconds();return(t<10?"0":"")+t},e.O=function(e){var t=e.getTimezoneOffset();return(t<0?"-":"+")+(t/60<10?"0":"")+Math.abs(t/60)+"00"},e.Z=function(e){return 60*e.getTimezoneOffset()},e.c=function(e){return e.toISOString()},e.r=function(e){return e.toUTCString()},e.U=function(e){return e.getTime()/1e3}}}),h=t({"lib/dateformatter.js"(e,t){t.exports=f()}}),g=t({"packages/swig-core/lib/filters.js"(e){var t=r();e.iterateFilter=function(e){var r=this,n={};return t.isArray(e)?t.map(e,function(e){return r.apply(null,arguments)}):"object"==typeof e?(t.each(e,function(e,t){n[t]=r.apply(null,arguments)}),n):void 0}}}),y=t({"lib/filters.js"(e){var t=n(),r=h(),o=g().iterateFilter;e.addslashes=function(t){var r=o.apply(e.addslashes,arguments);return void 0!==r?r:t.replace(/\\/g,"\\\\").replace(/\'/g,"\\'").replace(/\"/g,'\\"')},e.capitalize=function(t){var r=o.apply(e.capitalize,arguments);return void 0!==r?r:t.toString().charAt(0).toUpperCase()+t.toString().substr(1).toLowerCase()},e.date=function(e,t,n,o){var a,i=t.length,s=new r.DateZ(e),c=0,l="";for(n&&s.setTimezoneOffset(n,o);c<i;c+=1)"\\"===(a=t.charAt(c))?l+=(c+=1)<i?t.charAt(c):a:r.hasOwnProperty(a)?l+=r[a](s,n,o):l+=a;return l},e.default=function(e,t){return void 0===e||!e&&"number"!=typeof e?t:e},e.escape=function(t,r){var n,a=o.apply(e.escape,arguments),i=t,s=0;if(void 0!==a)return a;if("string"!=typeof t)return t;if(a="","js"===r){for(i=i.replace(/\\/g,"\\u005C");s<i.length;s+=1)a+=(n=i.charCodeAt(s))<32?"\\u00"+(n=(n=n.toString(16).toUpperCase()).length<2?"0"+n:n):i[s];return a.replace(/&/g,"\\u0026").replace(/</g,"\\u003C").replace(/>/g,"\\u003E").replace(/\'/g,"\\u0027").replace(/"/g,"\\u0022").replace(/\=/g,"\\u003D").replace(/-/g,"\\u002D").replace(/;/g,"\\u003B")}return i.replace(/&(?!amp;|lt;|gt;|quot;|#39;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")},e.e=e.escape,e.first=function(e){return"object"!=typeof e||t.isArray(e)?"string"==typeof e?e.substr(0,1):e[0]:e[t.keys(e)[0]]},e.groupBy=function(e,r){if(!t.isArray(e))return e;var n={};return t.each(e,function(e){if(e.hasOwnProperty(r)){var o=e[r],a=t.extend({},e);delete a[r],n[o]||(n[o]=[]),n[o].push(a)}}),n},e.join=function(e,r){if(t.isArray(e))return e.join(r);if("object"==typeof e){var n=[];return t.each(e,function(e){n.push(e)}),n.join(r)}return e},e.json=function(e,t){return JSON.stringify(e,null,t||0)},e.json_encode=e.json,e.last=function(e){if("object"==typeof e&&!t.isArray(e)){var r=t.keys(e);return e[r[r.length-1]]}return"string"==typeof e?e.charAt(e.length-1):e[e.length-1]},e.length=function(e){return"object"!=typeof e||t.isArray(e)?e.hasOwnProperty("length")?e.length:"":t.keys(e).length},e.lower=function(t){var r=o.apply(e.lower,arguments);return void 0!==r?r:t.toString().toLowerCase()},e.raw=function(t){return e.safe(t)},e.raw.safe=!0,e.replace=function(e,t,r,n){var o=new RegExp(t,n);return e.replace(o,r)},e.reverse=function(t){return e.sort(t,!0)},e.safe=function(e){return e},e.safe.safe=!0,e.sort=function(e,r){var n;if(t.isArray(e))n=t.extend([],e).sort();else switch(typeof e){case"object":n=t.keys(e).sort();break;case"string":return n=e.split(""),r?n.reverse().join(""):n.sort().join("")}return n&&r?n.reverse():n||e},e.striptags=function(t){var r=o.apply(e.striptags,arguments);return void 0!==r?r:t.toString().replace(/(<([^>]+)>)/gi,"")},e.title=function(t){var r=o.apply(e.title,arguments);return void 0!==r?r:t.toString().replace(/\w\S*/g,function(e){return e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()})},e.uniq=function(e){var r;return e&&t.isArray(e)?(r=[],t.each(e,function(e){-1===r.indexOf(e)&&r.push(e)}),r):""},e.upper=function(t){var r=o.apply(e.upper,arguments);return void 0!==r?r:t.toString().toUpperCase()},e.url_encode=function(t){var r=o.apply(e.url_encode,arguments);return void 0!==r?r:encodeURIComponent(t)},e.url_decode=function(t){var r=o.apply(e.url_decode,arguments);return void 0!==r?r:decodeURIComponent(t)}}}),d=t({"lib/tags/filter.js"(e){var t=y(),r=o(),n=c();e.compile=function(e,t,n,o,a,i,s){var c=t.shift().replace(/\($/,""),l=e(n,o,a,i);")"===t[t.length-1]&&t.pop();var u=s&&s.irExpr?s.irExpr:t.length?t:void 0;return r.filter(c,[r.legacyJS(l)],u)},e.lowerExpr=function(e,t){for(var r=0;r<t.length&&t[r].type===n.WHITESPACE;)r+=1;if(!(r>=t.length)){var o=t[r];if(o.type!==n.VAR){if(o.type===n.FUNCTIONEMPTY)return[];if(o.type===n.FUNCTION){var a,i=1,s=r+1,c=[];for(a=r+1;a<t.length;a+=1){var l=t[a];if(l.type===n.FILTER||l.type===n.FILTEREMPTY)return;if(l.type!==n.PARENOPEN&&l.type!==n.FUNCTION&&l.type!==n.BRACKETOPEN&&l.type!==n.CURLYOPEN){if(l.type!==n.PARENCLOSE&&l.type!==n.BRACKETCLOSE&&l.type!==n.CURLYCLOSE)l.type===n.COMMA&&1===i&&(c.push(t.slice(s,a)),s=a+1);else if(0===(i-=1)){a>s&&c.push(t.slice(s,a));break}}else i+=1}if(0===i){var u=[];for(a=0;a<c.length;a+=1)u.push(e.parseExpr(c[a]));return u}}}}},e.parse=function(e,r,n,o){var a;function i(e){if(!t.hasOwnProperty(e))throw new Error('Filter "'+e+'" does not exist on line '+r+".")}return n.on(o.FUNCTION,function(e){return!!a||(i(a=e.match.replace(/\($/,"")),this.out.push(e.match),void this.state.push(e.type))}),n.on(o.VAR,function(e){return!!a||(i(a=e.match),void this.out.push(a))}),!0},e.ends=!0}}),m=t({"packages/swig-core/lib/security.js"(e){e.dangerousProps=["__proto__","constructor","prototype"]}}),v=t({"lib/tags/for.js"(e){var t=o(),r=c(),n=m().dangerousProps;e.compile=function(e,r,n,o,a,i,s){var c,l=r.shift(),u="__k";r[0]&&","===r[0]&&(r.shift(),u=l,l=r.shift()),c=s&&s.irExpr?s.irExpr:r.join("");var p=e(n,o,a,i);return t.forStmt(l,c,[t.legacyJS(p)],u)},e.lowerExpr=function(e,t){var n,o=-1;for(n=0;n<t.length;n++)if(t[n].type===r.COMPARATOR&&"in"===t[n].match){o=n;break}if(-1!==o){var a=t.slice(o+1);for(n=0;n<a.length;n++)if(a[n].type===r.FILTER||a[n].type===r.FILTEREMPTY)return;return e.parseExpr(a)}},e.parse=function(e,t,r,o){var a,i;return r.on(o.NUMBER,function(e){var r=this.state.length?this.state[this.state.length-1]:null;if(!i||r!==o.ARRAYOPEN&&r!==o.CURLYOPEN&&r!==o.CURLYCLOSE&&r!==o.FUNCTION&&r!==o.FILTER)throw new Error('Unexpected number "'+e.match+'" on line '+t+".");return!0}),r.on(o.VAR,function(e){if(i&&a)return!0;if(-1!==e.match.indexOf("."))throw new Error('Loop variable "'+e.match+'" must be a bare identifier in "for" tag on line '+t+".");if(-1!==n.indexOf(e.match))throw new Error('Unsafe loop variable "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");this.out.length||(a=!0),this.out.push(e.match)}),r.on(o.COMMA,function(e){if(!a||this.prevToken.type!==o.VAR)return!0;this.out.push(e.match)}),r.on(o.COMPARATOR,function(e){if("in"!==e.match||!a)throw new Error('Unexpected token "'+e.match+'" on line '+t+".");i=!0,this.filterApplyIdx.push(this.out.length)}),!0},e.ends=!0}}),E=t({"packages/swig-core/lib/backend.js"(e){var t=r(),n=m(),a=o();function i(e){return e.replace(/\\/g,"\\\\").replace(/\n|\r/g,"\\n").replace(/"/g,'\\"')}function s(e){return{dangerousProps:(e=e||{}).dangerousProps||n.dangerousProps,throwError:e.throwError||t.throwError}}function c(e,r){switch(e&&"string"==typeof e.type||r.throwError("emitExpr: expected an IR expression node"),e.type){case"Literal":return function(e,t){switch(e.kind){case"string":return JSON.stringify(e.value);case"number":return String(e.value);case"bool":return e.value?"true":"false";case"null":return"null";case"undefined":return"undefined"}t.throwError('emitLiteral: unknown literal kind "'+e.kind+'"')}(e,r);case"VarRef":return function(e,r){t.isArray(e.path)&&0!==e.path.length||r.throwError("emitVarRef: path must be a non-empty array");return t.each(e.path,function(t){l(t,r,e)}),u(e.path)}(e,r);case"Access":return function(e,t){e.key&&"Literal"===e.key.type&&"string"===e.key.kind&&l(e.key.value,t,e);return c(e.object,t)+"["+c(e.key,t)+"]"}(e,r);case"BinaryOp":return function(e,t){var r=c(e.left,t),n=c(e.right,t);if(o=e.op,"+"===o||"-"===o||"*"===o||"/"===o||"%"===o)return r+" "+e.op+" "+n;var o;if("in"===e.op)return r+" in "+n;return r+e.op+n}(e,r);case"UnaryOp":return function(e,t){var r=c(e.operand,t);e.operand&&"BinaryOp"===e.operand.type&&(r="("+r+")");return e.op+r}(e,r);case"Conditional":return function(e,t){return"("+c(e.test,t)+" ? "+c(e.then,t)+" : "+c(e.else,t)+")"}(e,r);case"ArrayLiteral":return function(e,r){var n=[];return t.each(e.elements,function(e){n.push(c(e,r))}),"["+n.join(", ")+"]"}(e,r);case"ObjectLiteral":return function(e,r){var n=[];return t.each(e.properties,function(e){n.push(c(e.key,r)+":"+c(e.value,r))}),"{"+n.join(", ")+"}"}(e,r);case"FnCall":return function(e,r){var n,o,a,i=[],s=e.callee;if(t.each(e.args,function(e){i.push(c(e,r))}),a=i.join(", "),s&&"VarRef"===s.type&&t.isArray(s.path))return t.each(s.path,function(e){l(e,r,s)}),1===s.path.length?"((typeof _ctx."+(n=s.path[0])+' !== "undefined") ? _ctx.'+n+" : ((typeof "+n+' !== "undefined") ? '+n+" : _fn))("+a+")":(o=s.path.slice(0,-1),"("+u(s.path)+" || _fn).call("+u(o)+(a?", "+a:"")+")");return"("+c(s,r)+")("+a+")"}(e,r);case"FilterCall":return function(e,r){var n=c(e.input,r),o="";if(e.args&&e.args.length){var a=[];t.each(e.args,function(e){a.push(c(e,r))}),o=", "+a.join(", ")}return'_filters["'+e.name+'"]('+n+o+")"}(e,r)}r.throwError('emitExpr: unknown IR expression type "'+e.type+'"')}function l(e,t,r){if(-1!==t.dangerousProps.indexOf(e)){var n=r&&r.loc&&r.loc.line||void 0,o=r&&r.loc&&r.loc.filename||void 0;t.throwError('Unsafe access to "'+e+'" is not allowed in templates (CVE-2023-25345)',n,o)}}function u(e){var r,n=e[0];function o(r){var o=r+n,a=e,i="";return i="(typeof "+o+' !== "undefined" && '+o+" !== null",t.each(a,function(e,t){0!==t&&(i+=" && "+o+"."+e+" !== undefined && "+o+"."+e+" !== null",o+="."+e)}),i+=")"}function a(t){return"("+o(t)+" ? "+t+e.join(".")+' : "")'}return"("+(r="("+o("_ctx.")+" ? "+a("_ctx.")+" : "+a("")+")")+" !== null ? "+r+' : "" )'}e.compile=function(r,n,o,c){var u="",p=t.isArray(r)?r:r.tokens,f=[];return t.each(p,function(r){if("string"!=typeof r)if(r&&"object"==typeof r&&"string"==typeof r.type&&"function"!=typeof r.compile)f.push(r);else{var i=r.compile(e.compile,r.args?r.args.slice(0):[],r.content?r.content.slice(0):[],n,o,c,r);null!=i&&""!==i&&("string"!=typeof i?t.isArray(i)?t.each(i,function(e){f.push(e)}):"object"!=typeof i||"string"!=typeof i.type?f.push(a.legacyJS(String(i))):f.push(i):f.push(a.legacyJS(i)))}else f.push(a.text(r))}),t.each(f,function(r){if("Text"!==r.type&&"Raw"!==r.type)if("LegacyJS"!==r.type)if("Autoescape"!==r.type){if("If"===r.type){var n="";return t.each(r.branches,function(r,o){var a,s="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(s+='_output += "'+i(e.value)+'";\n'):s+=e.js}),null!==r.test?(a=r.test&&"object"==typeof r.test&&"LegacyJS"===r.test.type?r.test.js:"object"==typeof r.test&&"string"==typeof r.test.type?e.emitExpr(r.test):r.test,n+=0===o?"if ("+a+") { \n"+s:"} else if ("+a+") {\n"+s):n+="} else {\n"+s}),void(u+=n+"\n}")}if("Set"===r.type){var o,a;if(r.target&&"object"==typeof r.target&&"VarRef"===r.target.type){var c=s();t.isArray(r.target.path)&&0!==r.target.path.length||c.throwError("Set: target VarRef must have a non-empty path"),t.each(r.target.path,function(e){l(e,c,r.target)}),o="_ctx."+r.target.path.join(".")}else o=r.target;return a=r.value&&"object"==typeof r.value&&"string"==typeof r.value.type?e.emitExpr(r.value):r.value,void(u+=o+" "+r.op+" "+a+";\n")}if("For"===r.type){var p,f=r.value,h=r.key,g="",y=("_ctx.__loopcache"+Math.random()).replace(/\./g,""),d="_ctx.",m="_ctx.loop";return p=r.iterable&&"object"==typeof r.iterable&&"string"==typeof r.iterable.type?e.emitExpr(r.iterable):r.iterable,t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(g+='_output += "'+i(e.value)+'";\n'):g+=e.js}),void(u+="(function () {\n var __l = "+p+', __len = (_utils.isArray(__l) || typeof __l === "string") ? __l.length : _utils.keys(__l).length;\n if (!__l) { return; }\n var '+y+" = { loop: "+m+", "+f+": "+d+f+", "+h+": "+d+h+" };\n "+m+" = { first: false, index: 1, index0: 0, revindex: __len, revindex0: __len - 1, length: __len, last: false };\n _utils.each(__l, function ("+f+", "+h+") {\n "+d+f+" = "+f+";\n "+d+h+" = "+h+";\n "+m+".key = "+h+";\n "+m+".first = ("+m+".index0 === 0);\n "+m+".last = ("+m+".revindex0 === 0);\n "+g+" "+m+".index += 1; "+m+".index0 += 1; "+m+".revindex -= 1; "+m+".revindex0 -= 1;\n });\n "+m+" = "+y+".loop;\n "+d+f+" = "+y+"."+f+";\n "+d+h+" = "+y+"."+h+";\n "+y+" = undefined;\n})();\n")}if("Macro"!==r.type)if("Parent"!==r.type)if("Block"!==r.type){var v,E,O;if("Include"===r.type)return v=r.path&&"object"==typeof r.path&&"string"==typeof r.path.type?e.emitExpr(r.path):r.path,void 0!==r.context&&(E="object"==typeof r.context&&"string"==typeof r.context.type?e.emitExpr(r.context):r.context),O=r.isolated&&E?E:E?"_utils.extend({}, _ctx, "+E+")":"_ctx",void(u+=(r.ignoreMissing?" try {\n":"")+"_output += _swig.compileFile("+v+', {resolveFrom: "'+r.resolveFrom+'"})('+O+");\n"+(r.ignoreMissing?"} catch (e) {}\n":""));if("With"===r.type){var x;void 0!==r.context&&(x=r.context&&"object"==typeof r.context&&"string"==typeof r.context.type?e.emitExpr(r.context):r.context);var w,C="";return t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(C+='_output += "'+i(e.value)+'";\n'):C+=e.js}),w=r.isolated?void 0!==x?x:"{}":void 0!==x?"_utils.extend({}, _ctx, "+x+")":"_utils.extend({}, _ctx)",void(u+="(function (_ctx) {\n"+C+"})("+w+");\n")}if("Output"===r.type){if(r.expr&&"LegacyJS"===r.expr.type)return void(u+=r.expr.js);var T=e.emitExpr(r.expr);return r.filters&&r.filters.length&&t.each(r.filters,function(r){var n="";if(r.args&&r.args.length){var o=[];t.each(r.args,function(t){o.push(e.emitExpr(t))}),n=", "+o.join(", ")}T='_filters["'+r.name+'"]('+T+n+")"}),void(u+="_output += "+T+";\n")}if("Filter"!==r.type);else{var b="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(b+='_output += "'+i(e.value)+'";\n'):b+=e.js});var R='(function () {\n var _output = "";\n'+b+" return _output;\n})()",A="";if(r.args&&r.args.length){var N=[];t.each(r.args,function(t){t&&"object"==typeof t&&"string"==typeof t.type?N.push(e.emitExpr(t)):N.push(t)}),A=", "+N.join(", ")}u+='_output += _filters["'+r.name+'"]('+R+A+");\n"}}else t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+i(e.value)+'";\n'):u+=e.js});else t.each(r.body||[],function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+i(e.value)+'";\n'):u+=e.js});else{var P="";t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(P+='_output += "'+i(e.value)+'";\n'):P+=e.js});var k,L,S=r.params||[];if(S.length&&"object"==typeof S[0]&&null!==S[0]&&"string"==typeof S[0].name){var I=[];t.each(S,function(e){I.push(e.name)}),k=I.join(", ");var U=[];t.each(I,function(e){U.push(JSON.stringify(e))}),L=U.join(",")}else k=S.join(""),L='"'+S.join('","')+'"';u+="_ctx."+r.name+" = function ("+k+') {\n var _output = "",\n __ctx = _utils.extend({}, _ctx);\n _utils.each(_ctx, function (v, k) {\n if (['+L+"].indexOf(k) !== -1) { delete _ctx[k]; }\n });\n"+P+"\n _ctx = _utils.extend(_ctx, __ctx);\n return _output;\n};\n_ctx."+r.name+".safe = true;\n"}}else t.each(r.body,function(e){"LegacyJS"!==e.type?"Text"!==e.type&&"Raw"!==e.type||(u+='_output += "'+i(e.value)+'";\n'):u+=e.js});else u+=r.js;else u+='_output += "'+i(r.value)+'";\n'}),u},e.emitExpr=function(e,t){return c(e,s(t))}}}),O=t({"lib/lexer.js"(e){var t=n(),r=c(),o=[{type:r.WHITESPACE,regex:[/^\s+/]},{type:r.STRING,regex:[/^""/,/^".*?[^\\]"/,/^''/,/^'.*?[^\\]'/]},{type:r.FILTER,regex:[/^\|\s*(\w+)\(/],idx:1},{type:r.FILTEREMPTY,regex:[/^\|\s*(\w+)/],idx:1},{type:r.FUNCTIONEMPTY,regex:[/^\s*(\w+)\(\)/],idx:1},{type:r.FUNCTION,regex:[/^\s*(\w+)\(/],idx:1},{type:r.PARENOPEN,regex:[/^\(/]},{type:r.PARENCLOSE,regex:[/^\)/]},{type:r.COMMA,regex:[/^,/]},{type:r.LOGIC,regex:[/^(&&|\|\|)\s*/,/^(and|or)\s+/],idx:1,replace:{and:"&&",or:"||"}},{type:r.COMPARATOR,regex:[/^(===|==|\!==|\!=|<=|<|>=|>|in\s|gte\s|gt\s|lte\s|lt\s)\s*/],idx:1,replace:{gte:">=",gt:">",lte:"<=",lt:"<"}},{type:r.ASSIGNMENT,regex:[/^(=|\+=|-=|\*=|\/=)/]},{type:r.NOT,regex:[/^\!\s*/,/^not\s+/],replace:{not:"!"}},{type:r.BOOL,regex:[/^(true|false)\s+/,/^(true|false)$/],idx:1},{type:r.VAR,regex:[/^[a-zA-Z_$]\w*((\.\$?\w*)+)?/,/^[a-zA-Z_$]\w*/]},{type:r.BRACKETOPEN,regex:[/^\[/]},{type:r.BRACKETCLOSE,regex:[/^\]/]},{type:r.CURLYOPEN,regex:[/^\{/]},{type:r.COLON,regex:[/^\:/]},{type:r.CURLYCLOSE,regex:[/^\}/]},{type:r.DOTKEY,regex:[/^\.(\w+)/],idx:1},{type:r.NUMBER,regex:[/^[+\-]?\d+(\.\d+)?/]},{type:r.OPERATOR,regex:[/^(\+|\-|\/|\*|%)/]}];function a(e){var n;return t.some(o,function(r){return t.some(r.regex,function(t){var o,a=e.match(t);if(a)return o=a[r.idx||0].replace(/\s*$/,""),o=r.hasOwnProperty("replace")&&r.replace.hasOwnProperty(o)?r.replace[o]:o,n={match:o,type:r.type,length:a[0].length},!0})}),n||(n={match:e,type:r.UNKNOWN,length:e.length}),n}e.types=r,e.read=function(e){for(var t,r=0,n=[];r<e.length;)r+=(t=a(e.substring(r))).length,n.push(t);return n}}}),x=t({"packages/swig-core/lib/tokenparser.js"(e){var t=r(),n=c(),a=o(),i=m().dangerousProps,s=["break","case","catch","continue","debugger","default","delete","do","else","finally","for","function","if","in","instanceof","new","return","switch","this","throw","try","typeof","var","void","while","with"];function l(e,r,o,a,i){this.out=[],this.state=[],this.filterApplyIdx=[],this._parsers={},this.line=a,this.filename=i,this.filters=r,this.escape=o,this.parse=function(){var r=this;return r._parsers.start&&r._parsers.start.call(r),t.each(e,function(t,o){var a=e[o-1];if(r.isLast=o===e.length-1,a)for(;a.type===n.WHITESPACE;)a=e[(o-=1)-1];r.prevToken=a,r.parseToken(t)}),r._parsers.end&&r._parsers.end.call(r),r.escape&&(r.filterApplyIdx=[0],"string"==typeof r.escape?(r.parseToken({type:n.FILTER,match:"e"}),r.parseToken({type:n.COMMA,match:","}),r.parseToken({type:n.STRING,match:String(o)}),r.parseToken({type:n.PARENCLOSE,match:")"})):r.parseToken({type:n.FILTEREMPTY,match:"e"})),r.out}}l.prototype={on:function(e,t){this._parsers[e]=t},parseToken:function(e){var r,o=this,a=o._parsers[e.type]||o._parsers["*"],s=e.match,c=o.prevToken,l=c?c.type:null,u=o.state.length?o.state[o.state.length-1]:null;if(!a||"function"!=typeof a||a.call(this,e))switch(u&&c&&u===n.FILTER&&l===n.FILTER&&e.type!==n.PARENCLOSE&&e.type!==n.COMMA&&e.type!==n.OPERATOR&&e.type!==n.FILTER&&e.type!==n.FILTEREMPTY&&o.out.push(", "),u&&u===n.METHODOPEN&&(o.state.pop(),e.type!==n.PARENCLOSE&&o.out.push(", ")),e.type){case n.WHITESPACE:break;case n.STRING:if(u===n.BRACKETOPEN){var p=s.replace(/^['"]|['"]$/g,"");-1!==i.indexOf(p)&&t.throwError('Unsafe access to "'+p+'" via bracket notation is not allowed in templates (CVE-2023-25345)',o.line,o.filename)}o.filterApplyIdx.push(o.out.length),o.out.push(s.replace(/\\/g,"\\\\"));break;case n.NUMBER:case n.BOOL:o.filterApplyIdx.push(o.out.length),o.out.push(s);break;case n.FILTER:o.filters.hasOwnProperty(s)&&"function"==typeof o.filters[s]||t.throwError('Invalid filter "'+s+'"',o.line,o.filename),o.escape=!o.filters[s].safe&&o.escape,o.out.splice(o.filterApplyIdx[o.filterApplyIdx.length-1],0,'_filters["'+s+'"]('),o.state.push(e.type);break;case n.FILTEREMPTY:o.filters.hasOwnProperty(s)&&"function"==typeof o.filters[s]||t.throwError('Invalid filter "'+s+'"',o.line,o.filename),o.escape=!o.filters[s].safe&&o.escape,o.out.splice(o.filterApplyIdx[o.filterApplyIdx.length-1],0,'_filters["'+s+'"]('),o.out.push(")");break;case n.FUNCTION:case n.FUNCTIONEMPTY:o.out.push("((typeof _ctx."+s+' !== "undefined") ? _ctx.'+s+" : ((typeof "+s+' !== "undefined") ? '+s+" : _fn))("),o.escape=!1,e.type===n.FUNCTIONEMPTY?o.out[o.out.length-1]=o.out[o.out.length-1]+")":o.state.push(e.type),o.filterApplyIdx.push(o.out.length-1);break;case n.PARENOPEN:o.state.push(e.type),o.filterApplyIdx.length?(o.out.splice(o.filterApplyIdx[o.filterApplyIdx.length-1],0,"("),c&&l===n.VAR?(r=c.match.split(".").slice(0,-1),o.out.push(" || _fn).call("+o.checkMatch(r)),o.state.push(n.METHODOPEN),o.escape=!1):o.out.push(" || _fn)("),o.filterApplyIdx.push(o.out.length-3)):(o.out.push("("),o.filterApplyIdx.push(o.out.length-1));break;case n.PARENCLOSE:(r=o.state.pop())!==n.PARENOPEN&&r!==n.FUNCTION&&r!==n.FILTER&&t.throwError("Mismatched nesting state",o.line,o.filename),o.out.push(")"),o.filterApplyIdx.pop(),r!==n.FILTER&&o.filterApplyIdx.pop();break;case n.COMMA:u!==n.FUNCTION&&u!==n.FILTER&&u!==n.ARRAYOPEN&&u!==n.CURLYOPEN&&u!==n.PARENOPEN&&u!==n.COLON&&t.throwError("Unexpected comma",o.line,o.filename),u===n.COLON&&o.state.pop(),o.out.push(", "),o.filterApplyIdx.pop();break;case n.LOGIC:case n.COMPARATOR:c&&l!==n.COMMA&&l!==e.type&&l!==n.BRACKETOPEN&&l!==n.CURLYOPEN&&l!==n.PARENOPEN&&l!==n.FUNCTION||t.throwError("Unexpected logic",o.line,o.filename),o.out.push(e.match);break;case n.NOT:o.out.push(e.match);break;case n.VAR:o.parseVar(e,s,u);break;case n.BRACKETOPEN:!c||l!==n.VAR&&l!==n.BRACKETCLOSE&&l!==n.PARENCLOSE?(o.state.push(n.ARRAYOPEN),o.filterApplyIdx.push(o.out.length)):o.state.push(e.type),o.out.push("[");break;case n.BRACKETCLOSE:(r=o.state.pop())!==n.BRACKETOPEN&&r!==n.ARRAYOPEN&&t.throwError("Unexpected closing square bracket",o.line,o.filename),o.out.push("]"),o.filterApplyIdx.pop();break;case n.CURLYOPEN:o.state.push(e.type),o.out.push("{"),o.filterApplyIdx.push(o.out.length-1);break;case n.COLON:u!==n.CURLYOPEN&&t.throwError("Unexpected colon",o.line,o.filename),o.state.push(e.type),o.out.push(":"),o.filterApplyIdx.pop();break;case n.CURLYCLOSE:u===n.COLON&&o.state.pop(),o.state.pop()!==n.CURLYOPEN&&t.throwError("Unexpected closing curly brace",o.line,o.filename),o.out.push("}"),o.filterApplyIdx.pop();break;case n.DOTKEY:(!c||l!==n.VAR&&l!==n.BRACKETCLOSE&&l!==n.DOTKEY&&l!==n.PARENCLOSE&&l!==n.FUNCTIONEMPTY&&l!==n.FILTEREMPTY&&l!==n.CURLYCLOSE)&&t.throwError('Unexpected key "'+s+'"',o.line,o.filename),-1!==i.indexOf(s)&&t.throwError('Unsafe access to "'+s+'" is not allowed in templates (CVE-2023-25345)',o.line,o.filename),o.out.push("."+s);break;case n.OPERATOR:o.out.push(" "+s+" "),o.filterApplyIdx.pop()}},parseVar:function(e,r,o){var a=this;if(r=r.split("."),-1!==s.indexOf(r[0])&&t.throwError('Reserved keyword "'+r[0]+'" attempted to be used as a variable',a.line,a.filename),t.each(r,function(e){-1!==i.indexOf(e)&&t.throwError('Unsafe access to "'+e+'" is not allowed in templates (CVE-2023-25345)',a.line,a.filename)}),a.filterApplyIdx.push(a.out.length),o===n.CURLYOPEN)return r.length>1&&t.throwError("Unexpected dot",a.line,a.filename),void a.out.push(r[0]);a.out.push(a.checkMatch(r))},parseExpr:function(e,r){var o=this,c=0;function l(){return function(){for(;c<e.length&&e[c].type===n.WHITESPACE;)c+=1}(),c<e.length?e[c]:null}function u(){var e=l();return e&&(c+=1),e}function p(e){t.throwError(e,o.line,o.filename)}function f(e){-1!==i.indexOf(e)&&p('Unsafe access to "'+e+'" is not allowed in templates (CVE-2023-25345)')}function h(e){-1!==i.indexOf(e)&&p('Unsafe access to "'+e+'" via bracket notation is not allowed in templates (CVE-2023-25345)')}function g(e){var t;if(e.type===n.LOGIC){if("||"===e.match)return{op:"||",prec:1};if("&&"===e.match)return{op:"&&",prec:2}}if(e.type===n.COMPARATOR)return"==="===(t=e.match)||"!=="===t||"=="===t||"!="===t?{op:t,prec:3}:{op:t,prec:4};if(e.type===n.OPERATOR){if("+"===(t=e.match)||"-"===t)return{op:t,prec:5};if("*"===t||"/"===t||"%"===t)return{op:t,prec:6}}return null}function y(e){return e.replace(/^['"]|['"]$/g,"")}function d(e){var t=[],r=l();if(r&&r.type===e)return u(),t;for(;;){t.push(O(0));var o=u();if(o||p("Unexpected end of expression"),o.type===e)break;o.type!==n.COMMA&&p("Expected comma or closing delimiter")}return t}function m(e){for(;;){var t=l();if(!t)break;if(t.type===n.DOTKEY)u(),f(t.match),e="VarRef"===e.type?a.varRef(e.path.concat([t.match])):a.access(e,a.literal("string",t.match));else if(t.type===n.BRACKETOPEN){u();var r=O(0);"Literal"===r.type&&"string"===r.kind&&h(r.value);var i=u();i&&i.type===n.BRACKETCLOSE||p("Unexpected closing square bracket"),e=a.access(e,r)}else if(t.type===n.PARENOPEN)u(),e=a.fnCall(e,d(n.PARENCLOSE));else{if(t.type!==n.FILTER&&t.type!==n.FILTEREMPTY)break;u();var s,c=t.match;o.filters.hasOwnProperty(c)&&"function"==typeof o.filters[c]||p('Invalid filter "'+c+'"'),t.type===n.FILTER&&(s=d(n.PARENCLOSE)),e=a.filterCallExpr(c,e,s)}}return e}function v(){var e,r=u();switch(r||p("Unexpected end of expression"),r.type){case n.STRING:return a.literal("string",y(r.match));case n.NUMBER:return a.literal("number",parseFloat(r.match));case n.BOOL:return a.literal("bool","true"===r.match);case n.NOT:return a.unaryOp("!",E());case n.OPERATOR:if("+"===(e=r.match)||"-"===e)return a.unaryOp(e,E());p('Unexpected operator "'+e+'"');break;case n.PARENOPEN:var o=O(0),i=u();return i&&i.type===n.PARENCLOSE||p("Mismatched nesting state"),m(o);case n.BRACKETOPEN:return m(a.arrayLiteral(d(n.BRACKETCLOSE)));case n.CURLYOPEN:return m(function(){var e=[],t=l();if(t&&t.type===n.CURLYCLOSE)return u(),a.objectLiteral([]);for(;;){var r,o=u();o||p("Unclosed object literal"),o.type===n.STRING?r=a.literal("string",y(o.match)):o.type===n.VAR?(-1!==o.match.indexOf(".")&&p("Unexpected dot"),r=a.literal("string",o.match)):o.type===n.NUMBER?r=a.literal("number",parseFloat(o.match)):p("Unexpected object key");var i=u();i&&i.type===n.COLON||p("Unexpected colon");var s=O(0);e.push(a.objectProperty(r,s));var c=u();if(c||p("Unclosed object literal"),c.type===n.CURLYCLOSE)break;c.type!==n.COMMA&&p("Expected comma or closing curly brace")}return a.objectLiteral(e)}());case n.VAR:var c=r.match.split(".");return-1!==s.indexOf(c[0])&&p('Reserved keyword "'+c[0]+'" attempted to be used as a variable'),t.each(c,function(e){f(e)}),m(a.varRef(c));case n.FUNCTION:case n.FUNCTIONEMPTY:return e=r.match,-1!==s.indexOf(e)&&p('Reserved keyword "'+e+'" attempted to be used as a variable'),f(e),r.type===n.FUNCTIONEMPTY?m(a.fnCall(a.varRef([e]),[])):m(a.fnCall(a.varRef([e]),d(n.PARENCLOSE)))}return p('Unexpected token "'+r.match+'"'),null}function E(){return v()}function O(e){for(var t=E();;){var r=l();if(!r)break;if(r.type===n.FILTER||r.type===n.FILTEREMPTY)break;var o=g(r);if(!o||o.prec<e)break;u();var i=O(o.prec+1);t=a.binaryOp(o.op,t,i)}return t}var x=O(0);return r&&(r.pos=c),x},parseOutput:function(e){var r=this;function o(){var e=r.parse().join("");return a.output(a.legacyJS("_output += "+e+";\n"))}var i,s,c=!1;for(i=0;i<e.length;i+=1)if(e[i].type!==n.WHITESPACE){c=!0;break}if(!c)return o();if("string"==typeof r.escape)return o();var l=0,u=!1,p=!1,f=-1;for(i=0;i<e.length;i+=1)s=e[i],0===l&&(s.type!==n.OPERATOR&&s.type!==n.LOGIC&&s.type!==n.COMPARATOR&&s.type!==n.NOT||(u=!0),s.type!==n.FILTER&&s.type!==n.FILTEREMPTY||(p=!0,f<0&&(f=i))),s.type===n.PARENOPEN||s.type===n.FUNCTION||s.type===n.BRACKETOPEN||s.type===n.CURLYOPEN||s.type===n.FILTER?l+=1:s.type!==n.PARENCLOSE&&s.type!==n.BRACKETCLOSE&&s.type!==n.CURLYCLOSE||(l-=1);if(0===f)return o();try{var h=r.escape;for(i=0;i<e.length;i+=1)if((s=e[i]).type!==n.FUNCTION&&s.type!==n.FUNCTIONEMPTY||(h=!1),s.type!==n.FILTER&&s.type!==n.FILTEREMPTY||r.filters.hasOwnProperty(s.match)&&"function"==typeof r.filters[s.match]&&r.filters[s.match].safe&&(h=!1),s.type===n.PARENOPEN){for(var g=i-1;g>=0&&e[g].type===n.WHITESPACE;)g-=1;g>=0&&e[g].type===n.VAR&&(h=!1)}if(u&&p){var y=r.parseExpr(e),d=h?[a.filterCall("e")]:[];return a.output(y,d.length>0?d:void 0)}var m=f>=0?f:e.length,v=e.slice(0,m),E={pos:0},O=r.parseExpr(v,E),x=!1;for(i=E.pos;i<v.length;i+=1)if(v[i].type!==n.WHITESPACE){x=!0;break}if(x)return o();var w=[];if(f>=0)for(var C=f;C<e.length;){var T=e[C];if(T.type!==n.WHITESPACE)if(T.type!==n.FILTEREMPTY)if(T.type!==n.FILTER)t.throwError('Unexpected token "'+T.match+'"',r.line,r.filename);else{r.filters.hasOwnProperty(T.match)&&"function"==typeof r.filters[T.match]||t.throwError('Invalid filter "'+T.match+'"',r.line,r.filename),r.filters[T.match].safe&&(h=!1);for(var b=1,R=C+1,A=C+1;A<e.length&&b>0;){var N=e[A];if(N.type===n.PARENOPEN||N.type===n.FUNCTION||N.type===n.BRACKETOPEN||N.type===n.CURLYOPEN||N.type===n.FILTER)b+=1;else if((N.type===n.PARENCLOSE||N.type===n.BRACKETCLOSE||N.type===n.CURLYCLOSE)&&0===(b-=1))break;A+=1}0!==b&&t.throwError('Unable to parse filter "'+T.match+'"',r.line,r.filename);var P,k=[],L=R,S=1;for(P=R;P<A;P+=1){var I=e[P];I.type===n.PARENOPEN||I.type===n.FUNCTION||I.type===n.BRACKETOPEN||I.type===n.CURLYOPEN||I.type===n.FILTER?S+=1:I.type===n.PARENCLOSE||I.type===n.BRACKETCLOSE||I.type===n.CURLYCLOSE?S-=1:I.type===n.COMMA&&1===S&&(k.push(e.slice(L,P)),L=P+1)}L<A&&k.push(e.slice(L,A));var U,F=[];for(U=0;U<k.length;U+=1){var _,j=k[U],M=!1;for(_=0;_<j.length;_+=1)if(j[_].type!==n.WHITESPACE){M=!0;break}M&&F.push(r.parseExpr(j))}w.push(a.filterCall(T.match,F)),C=A+1}else r.filters.hasOwnProperty(T.match)&&"function"==typeof r.filters[T.match]||t.throwError('Invalid filter "'+T.match+'"',r.line,r.filename),r.filters[T.match].safe&&(h=!1),w.push(a.filterCall(T.match)),C+=1;else C+=1}return h&&w.push(a.filterCall("e")),a.output(O,w.length>0?w:void 0)}catch(e){return o()}},checkMatch:function(e){var r,n=e[0];function o(r){var o=r+n,a=e,i="";return i="(typeof "+o+' !== "undefined" && '+o+" !== null",t.each(a,function(e,t){0!==t&&(i+=" && "+o+"."+e+" !== undefined && "+o+"."+e+" !== null",o+="."+e)}),i+=")"}function a(t){return"("+o(t)+" ? "+t+e.join(".")+' : "")'}return"("+(r="("+o("_ctx.")+" ? "+a("_ctx.")+" : "+a("")+")")+" !== null ? "+r+' : "" )'}},e.TokenParser=l}}),w=t({"lib/parser.js"(e){var t=n(),r=O(),o=r.types,a=x().TokenParser;function i(e){return e.replace(/[\-\/\\\^$*+?.()|\[\]{}]/g,"\\$&")}e.parse=function(n,s,c,l,u){s=s.replace(/\r\n/g,"\n");var p,f=c.autoescape,h=c.tagControls[0],g=c.tagControls[1],y=c.varControls[0],d=c.varControls[1],m=i(h),v=i(g),E=i(y),O=i(d),x=new RegExp("^"+m+"-?\\s*-?|-?\\s*-?"+v+"$","g"),w=new RegExp("^"+m+"-"),C=new RegExp("-"+v+"$"),T=new RegExp("^"+E+"-?\\s*-?|-?\\s*-?"+O+"$","g"),b=new RegExp("^"+E+"-"),R=new RegExp("-"+O+"$"),A=c.cmtControls[0],N=c.cmtControls[1],P="[\\s\\S]*?",k=new RegExp("("+m+P+v+"|"+E+P+O+"|"+i(A)+P+i(N)+")"),L=1,S=[],I=null,U=[],F={},_=!1;function j(e,n){var o,i,s=r.read(t.strip(e));return i=(o=new a(s,u,f,n,c.filename)).parseOutput(s),o.state.length&&t.throwError('Unable to parse "'+e+'"',n,c.filename),i}function M(e){return"string"==typeof e&&(e=e.replace(/\s*$/,"")),e}return e.parseVariable=j,t.each(s.split(k),function(e){var i,s,m,v,E;if(e){if(!_&&t.startsWith(e,y)&&t.endsWith(e,d))m=b.test(e),p=R.test(e),i=j(e.replace(T,""),L);else if(t.startsWith(e,h)&&t.endsWith(e,g))m=w.test(e),p=C.test(e),(i=function(e,i){var s,p,h,g,y,d,m;if(t.startsWith(e,"end")){if((m=S[S.length-1])&&m.name===e.split(/\s+/)[0].replace(/^end/,"")&&m.ends){switch(m.name){case"autoescape":f=c.autoescape;break;case"raw":_=!1}return void S.pop()}_||t.throwError('Unexpected end of tag "'+e.replace(/^end/,"")+'"',i,c.filename)}if(!_){switch(g=(h=e.split(/\s+(.+)?/)).shift(),l.hasOwnProperty(g)||t.throwError('Unexpected tag "'+e+'"',i,c.filename),s=r.read(t.strip(h.join(" "))),p=new a(s,u,!1,i,c.filename),(y=l[g]).parse(h[1],i,p,o,S,c,n)||t.throwError('Unexpected tag "'+g+'"',i,c.filename),p.parse(),d=p.out,g){case"autoescape":f="false"!==d[0]&&d[0];break;case"raw":_=!0}var v;return"function"==typeof y.lowerExpr&&(v=y.lowerExpr(p,s,h[1],i)),{block:!!l[g].block,compile:y.compile,args:d,content:[],ends:y.ends,name:g,irExpr:v}}}(e.replace(x,""),L))&&("extends"===i.name?I=i.args.join("").replace(/^\'|\'$/g,"").replace(/^\"|\"$/g,""):i.block&&!S.length&&(F[i.args.join("")]=i)),_&&!i&&(i=e);else if(_||!t.startsWith(e,A)&&!t.endsWith(e,N))i=p?e.replace(/^\s*/,""):e,p=!1;else if(t.startsWith(e,A)&&t.endsWith(e,N))return;m&&U.length&&("string"==typeof(v=U.pop())?v=M(v):v.content&&v.content.length&&(E=M(v.content.pop()),v.content.push(E)),U.push(v)),i&&(S.length?S[S.length-1].content.push(i):U.push(i),i.name&&i.ends&&S.push(i),s=e.match(/\n/g),L+=s?s.length:0)}}),{name:c.filename,parent:I,tokens:U,blocks:F}},e.compile=E().compile}}),C=t({"lib/tags/import.js"(e){var t=n(),r=E(),o=m().dangerousProps;e.compile=function(e,r){var n=r.pop(),o=t.map(r,function(e){return e.name}).join("|"),a="_ctx."+n+' = {};\n var _output = "";\n',i=t.map(r,function(e){return{ex:new RegExp("_ctx."+e.name+"(\\W)(?!"+o+")","g"),re:"_ctx."+n+"."+e.name+"$1"}});return t.each(r,function(e){var r=e.compiled;t.each(i,function(e){r=r.replace(e.ex,e.re)}),a+=r}),a},e.parse=function(e,n,a,i,s,c,l){var u,p,f=w().compile,h={resolveFrom:c.filename},g=t.extend({},c,h);return a.on(i.STRING,function(e){var o=this;if(!u)return u=l.parseFile(e.match.replace(/^("|')|("|')$/g,""),h).tokens,void t.each(u,function(e){var t,n="";e&&"macro"===e.name&&e.compile&&(t=e.args[0],n+=r.compile([e.compile(f,e.args,e.content,[],g)],[],g)+"\n",o.out.push({compiled:n,name:t}))});throw new Error("Unexpected string "+e.match+" on line "+n+".")}),a.on(i.VAR,function(e){if(!u||p)throw new Error('Unexpected variable "'+e.match+'" on line '+n+".");if("as"!==e.match){if(-1!==o.indexOf(e.match))throw new Error('Unsafe import alias "'+e.match+'" is not allowed (CVE-2023-25345) on line '+n+".");return p=e.match,this.out.push(p),!1}}),!0},e.block=!0}}),T=t({"lib/tags/include.js"(e){var t=o(),r=c(),n="ignore",a="missing",i="only";e.compile=function(e,r,n,o,s,c,l){var u=r.shift(),p=r.indexOf(i),f=-1!==p&&r.splice(p,1),h=(r.pop()||"").replace(/\\/g,"\\\\"),g=r[r.length-1]===a&&r.pop(),y=r.join("");return l&&l.irExpr&&(u=l.irExpr.file,y=void 0!==l.irExpr.context?l.irExpr.context:void 0),t.include(u,y||void 0,!!f,!!g,h)},e.lowerExpr=function(e,t){var o,a,s=0,c=-1,l=-1,u=-1;for(o=0;o<t.length;o++){if((a=t[o]).type===r.FILTER||a.type===r.FILTEREMPTY)return;a.type!==r.PARENOPEN&&a.type!==r.BRACKETOPEN&&a.type!==r.ARRAYOPEN&&a.type!==r.CURLYOPEN&&a.type!==r.FUNCTION&&a.type!==r.METHODOPEN?a.type!==r.PARENCLOSE&&a.type!==r.BRACKETCLOSE&&a.type!==r.CURLYCLOSE?0===s&&a.type===r.VAR&&(-1===c&&"with"===a.match?c=o:-1!==c&&-1===l&&a.match===i?l=o:-1===u&&a.match===n&&(u=o)):s--:s++}var p=t.length;-1!==c?p=c:-1!==u&&(p=u);var f=t.slice(0,p);if(0!==f.length){var h={file:e.parseExpr(f)};if(-1!==c){var g=t.length;-1!==l?g=l:-1!==u&&(g=u);var y=t.slice(c+1,g);y.length>0&&(h.context=e.parseExpr(y))}return h}},e.parse=function(e,t,r,o,s,c){var l,u;return r.on(o.STRING,function(e){return!!l||(l=e.match,void this.out.push(l))}),r.on(o.VAR,function(e){if(!l)return l=e.match,!0;if(u||"with"!==e.match){if(!u||e.match!==i||"with"===this.prevToken.match){if(e.match===n)return!1;if(e.match===a){if(this.prevToken.match!==n)throw new Error('Unexpected token "'+a+'" on line '+t+".");return this.out.push(e.match),!1}if(this.prevToken.match===n)throw new Error('Expected "'+a+'" on line '+t+' but found "'+e.match+'".');return!0}this.out.push(e.match)}else u=!0}),r.on("end",function(){this.out.push(c.filename||null)}),!0}}}),b=t({"lib/tags/macro.js"(e){var t=o();e.compile=function(e,r,n,o,a,i){var s=r.shift();return t.macro(s,r,[t.legacyJS(e(n,o,a,i))])};var r=m().dangerousProps;e.parse=function(e,t,n,o){var a;return n.on(o.VAR,function(e){if(-1!==e.match.indexOf("."))throw new Error('Unexpected dot in macro argument "'+e.match+'" on line '+t+".");if(!a){if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");return a=e.match,void this.out.push(a)}if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro argument "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");this.out.push({name:e.match})}),n.on(o.FUNCTION,function(e){if(!a){if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");a=e.match,this.out.push(a),this.state.push(o.FUNCTION)}}),n.on(o.FUNCTIONEMPTY,function(e){if(!a){if(-1!==r.indexOf(e.match))throw new Error('Unsafe macro name "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");a=e.match,this.out.push(a)}}),n.on(o.PARENCLOSE,function(){if(!this.isLast)throw new Error("Unexpected parenthesis close on line "+t+".")}),n.on(o.COMMA,function(){}),n.on("*",function(){}),!0},e.ends=!0,e.block=!0}}),R=t({"lib/tags/parent.js"(e){var t=o();e.compile=function(e,r,n,o,a,i){if(!o||!o.length)return"";for(var s,c,l=r[0],u=o.length,p=0;p<u;p+=1)if((s=o[p]).blocks&&s.blocks.hasOwnProperty(i)&&l!==s.name){var f=(c=s.blocks[i]).compile(e,[i],c.content,o.slice(p+1),a);return t.parent(f&&f.body?f.body.concat([t.legacyJS("\n")]):[t.legacyJS("\n")])}},e.parse=function(e,t,r,n,o,a){return r.on("*",function(e){throw new Error('Unexpected argument "'+e.match+'" on line '+t+".")}),r.on("end",function(){this.out.push(a.filename)}),!0}}}),A=t({"lib/tags/raw.js"(e){var t=o();e.compile=function(e,r,n,o,a,i){var s,c=[];for(s=0;s<n.length;s++)"string"==typeof n[s]?c.push(t.raw(n[s])):c.push(t.legacyJS(e([n[s]],o,a,i)));return c},e.parse=function(e,t,r){return r.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" in raw tag on line '+t+".")}),!0},e.ends=!0}}),N=t({"lib/tags/set.js"(e){var t=o(),r=c(),n=/^_ctx\.([a-zA-Z_$][\w$]*)((?:\.[a-zA-Z_$][\w$]*)*)$/;e.compile=function(e,r,o,a,i,s,c){var l=r[0],u="string"==typeof l&&n.exec(l);if(u){var p=[u[1]];if(u[2])for(var f=u[2].split("."),h=1;h<f.length;h++)p.push(f[h]);l=t.varRef(p)}var g=c&&c.irExpr?c.irExpr:r.slice(2).join(" ");return t.set(l,r[1],g)};var a=m().dangerousProps;e.lowerExpr=function(e,t){var n,o=-1;for(n=0;n<t.length;n++)if(t[n].type===r.ASSIGNMENT){o=n;break}if(-1!==o){var a=t.slice(o+1);for(n=0;n<a.length;n++)if(a[n].type===r.FILTER||a[n].type===r.FILTEREMPTY||a[n].type===r.ASSIGNMENT)return;return e.parseExpr(a)}},e.parse=function(e,t,r,n){var o,i="";return r.on(n.VAR,function(e){if(o)o+="_ctx."+e.match;else{if(r.out.length)return!0;for(var n=e.match.split("."),s=0;s<n.length;s++)if(-1!==a.indexOf(n[s]))throw new Error('Unsafe assignment to "'+n[s]+'" is not allowed (CVE-2023-25345) on line '+t+".");i+=e.match}}),r.on(n.BRACKETOPEN,function(e){if(o||this.out.length)return!0;o=e.match}),r.on(n.STRING,function(e){if(!o||this.out.length)return!0;var r=e.match.replace(/^['"]|['"]$/g,"");if(-1!==a.indexOf(r))throw new Error('Unsafe assignment to "'+r+'" via bracket notation is not allowed (CVE-2023-25345) on line '+t+".");o+=e.match}),r.on(n.BRACKETCLOSE,function(e){return!(o&&!this.out.length)||(i+=o+e.match,void(o=void 0))}),r.on(n.DOTKEY,function(e){if(!o&&!i)return!0;if(-1!==a.indexOf(e.match))throw new Error('Unsafe assignment to "'+e.match+'" is not allowed (CVE-2023-25345) on line '+t+".");i+="."+e.match}),r.on(n.ASSIGNMENT,function(e){if(this.out.length||!i)throw new Error('Unexpected assignment "'+e.match+'" on line '+t+".");this.out.push("_ctx."+i),this.out.push(e.match),this.filterApplyIdx.push(this.out.length)}),!0},e.block=!0}}),P=t({"lib/tags/spaceless.js"(e){n();e.compile=function(e,t,r,n,o,a){var i=e(r,n,o,a);return i+='_output = _output.replace(/^\\s+/, "")\n .replace(/>\\s+</g, "><")\n .replace(/\\s+$/, "");\n'},e.parse=function(e,t,r){return r.on("*",function(e){throw new Error('Unexpected token "'+e.match+'" on line '+t+".")}),!0},e.ends=!0}}),k=t({"lib/tags/index.js"(e){e.autoescape=a(),e.block=i(),e.else=s(),e.elseif=u(),e.elif=e.elseif,e.extends=p(),e.filter=d(),e.for=v(),e.if=l(),e.import=C(),e.include=T(),e.macro=b(),e.parent=R(),e.raw=A(),e.set=N(),e.spaceless=P()}}),L=t({"browser/stubs/fs.js"(e,t){t.exports={}}}),S=t({"node_modules/path-browserify/index.js"(e,t){"use strict";function r(e){if("string"!=typeof e)throw new TypeError("Path must be a string. Received "+JSON.stringify(e))}function n(e,t){for(var r,n="",o=0,a=-1,i=0,s=0;s<=e.length;++s){if(s<e.length)r=e.charCodeAt(s);else{if(47===r)break;r=47}if(47===r){if(a===s-1||1===i);else if(a!==s-1&&2===i){if(n.length<2||2!==o||46!==n.charCodeAt(n.length-1)||46!==n.charCodeAt(n.length-2))if(n.length>2){var c=n.lastIndexOf("/");if(c!==n.length-1){-1===c?(n="",o=0):o=(n=n.slice(0,c)).length-1-n.lastIndexOf("/"),a=s,i=0;continue}}else if(2===n.length||1===n.length){n="",o=0,a=s,i=0;continue}t&&(n.length>0?n+="/..":n="..",o=2)}else n.length>0?n+="/"+e.slice(a+1,s):n=e.slice(a+1,s),o=s-a-1;a=s,i=0}else 46===r&&-1!==i?++i:i=-1}return n}var o={resolve:function(){for(var e,t="",o=!1,a=arguments.length-1;a>=-1&&!o;a--){var i;a>=0?i=arguments[a]:(void 0===e&&(e=process.cwd()),i=e),r(i),0!==i.length&&(t=i+"/"+t,o=47===i.charCodeAt(0))}return t=n(t,!o),o?t.length>0?"/"+t:"/":t.length>0?t:"."},normalize:function(e){if(r(e),0===e.length)return".";var t=47===e.charCodeAt(0),o=47===e.charCodeAt(e.length-1);return 0!==(e=n(e,!t)).length||t||(e="."),e.length>0&&o&&(e+="/"),t?"/"+e:e},isAbsolute:function(e){return r(e),e.length>0&&47===e.charCodeAt(0)},join:function(){if(0===arguments.length)return".";for(var e,t=0;t<arguments.length;++t){var n=arguments[t];r(n),n.length>0&&(void 0===e?e=n:e+="/"+n)}return void 0===e?".":o.normalize(e)},relative:function(e,t){if(r(e),r(t),e===t)return"";if((e=o.resolve(e))===(t=o.resolve(t)))return"";for(var n=1;n<e.length&&47===e.charCodeAt(n);++n);for(var a=e.length,i=a-n,s=1;s<t.length&&47===t.charCodeAt(s);++s);for(var c=t.length-s,l=i<c?i:c,u=-1,p=0;p<=l;++p){if(p===l){if(c>l){if(47===t.charCodeAt(s+p))return t.slice(s+p+1);if(0===p)return t.slice(s+p)}else i>l&&(47===e.charCodeAt(n+p)?u=p:0===p&&(u=0));break}var f=e.charCodeAt(n+p);if(f!==t.charCodeAt(s+p))break;47===f&&(u=p)}var h="";for(p=n+u+1;p<=a;++p)p!==a&&47!==e.charCodeAt(p)||(0===h.length?h+="..":h+="/..");return h.length>0?h+t.slice(s+u):(s+=u,47===t.charCodeAt(s)&&++s,t.slice(s))},_makeLong:function(e){return e},dirname:function(e){if(r(e),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,o=-1,a=!0,i=e.length-1;i>=1;--i)if(47===(t=e.charCodeAt(i))){if(!a){o=i;break}}else a=!1;return-1===o?n?"/":".":n&&1===o?"//":e.slice(0,o)},basename:function(e,t){if(void 0!==t&&"string"!=typeof t)throw new TypeError('"ext" argument must be a string');r(e);var n,o=0,a=-1,i=!0;if(void 0!==t&&t.length>0&&t.length<=e.length){if(t.length===e.length&&t===e)return"";var s=t.length-1,c=-1;for(n=e.length-1;n>=0;--n){var l=e.charCodeAt(n);if(47===l){if(!i){o=n+1;break}}else-1===c&&(i=!1,c=n+1),s>=0&&(l===t.charCodeAt(s)?-1===--s&&(a=n):(s=-1,a=c))}return o===a?a=c:-1===a&&(a=e.length),e.slice(o,a)}for(n=e.length-1;n>=0;--n)if(47===e.charCodeAt(n)){if(!i){o=n+1;break}}else-1===a&&(i=!1,a=n+1);return-1===a?"":e.slice(o,a)},extname:function(e){r(e);for(var t=-1,n=0,o=-1,a=!0,i=0,s=e.length-1;s>=0;--s){var c=e.charCodeAt(s);if(47!==c)-1===o&&(a=!1,o=s+1),46===c?-1===t?t=s:1!==i&&(i=1):-1!==t&&(i=-1);else if(!a){n=s+1;break}}return-1===t||-1===o||0===i||1===i&&t===o-1&&t===n+1?"":e.slice(t,o)},format:function(e){if(null===e||"object"!=typeof e)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof e);return function(e,t){var r=t.dir||t.root,n=t.base||(t.name||"")+(t.ext||"");return r?r===t.root?r+n:r+e+n:n}("/",e)},parse:function(e){r(e);var t={root:"",dir:"",base:"",ext:"",name:""};if(0===e.length)return t;var n,o=e.charCodeAt(0),a=47===o;a?(t.root="/",n=1):n=0;for(var i=-1,s=0,c=-1,l=!0,u=e.length-1,p=0;u>=n;--u)if(47!==(o=e.charCodeAt(u)))-1===c&&(l=!1,c=u+1),46===o?-1===i?i=u:1!==p&&(p=1):-1!==i&&(p=-1);else if(!l){s=u+1;break}return-1===i||-1===c||0===p||1===p&&i===c-1&&i===s+1?-1!==c&&(t.base=t.name=0===s&&a?e.slice(1,c):e.slice(s,c)):(0===s&&a?(t.name=e.slice(1,i),t.base=e.slice(1,c)):(t.name=e.slice(s,i),t.base=e.slice(s,c)),t.ext=e.slice(i,c)),s>0?t.dir=e.slice(0,s-1):a&&(t.dir="/"),t},sep:"/",delimiter:":",win32:null,posix:null};o.posix=o,t.exports=o}}),I=t({"packages/swig-core/lib/loaders/filesystem.js"(e,t){var r=L(),n=S();t.exports=function(e,t){var o={};return t=t||"utf8",e=e?n.normalize(e):null,o.resolve=function(t,r){return r=e||(r?n.dirname(r):process.cwd()),n.resolve(r,t)},o.load=function(e,n){if(!r||n&&!r.readFile||!r.readFileSync)throw new Error("Unable to find file "+e+" because there is no filesystem to read from.");if(e=o.resolve(e),!n)return r.readFileSync(e,t);r.readFile(e,t,n)},o}}}),U=t({"packages/swig-core/lib/loaders/memory.js"(e,t){var n=S(),o=r();t.exports=function(e,t){var r={};return t=t?n.normalize(t):null,r.resolve=function(e,r){return r=t||(r?n.dirname(r):"/"),n.resolve(r,e)},r.load=function(t,r){var n,a;if(a=[t,t.replace(/^(\/|\\)/,"")],(n=e[a[0]]||e[a[1]])||o.throwError('Unable to find template "'+t+'".'),!r)return n;r(null,n)},r}}}),F=t({"packages/swig-core/lib/loaders/index.js"(e){e.fs=I(),e.memory=U()}}),_=t({"lib/loaders/index.js"(e,t){t.exports=F()}}),j=t({"packages/swig-core/lib/cache.js"(e){e.shouldCache=function(e,t){return(e=e||{}).hasOwnProperty("cache")&&!e.cache||!t},e.cacheGet=function(t,r,n,o){if(!e.shouldCache(r,n))return"memory"===n?o[t]:n.get(t)},e.cacheSet=function(t,r,n,o,a){e.shouldCache(r,o)||("memory"!==o?o.set(t,n):a[t]=n)}}}),M=t({"packages/swig-core/lib/engine.js"(e){var t=r(),n=E(),o=j();function a(){return""}e.remapBlocks=function e(r,n){return t.map(n,function(t){var n=t.args?t.args.join(""):"";return"block"===t.name&&r[n]&&(t=r[n]),t.content&&t.content.length&&(t.content=e(r,t.content)),t})},e.importNonBlocks=function(e,r){var n=[];t.each(e,function(e){n.push(e)}),t.each(n.reverse(),function(e){"block"!==e.name&&r.unshift(e)})},e.getParents=function(r,n,o){for(var a,i,s,c=r.parent,l=[],u=[];c;){if(!n||!n.filename)throw new Error('Cannot extend "'+c+'" because current template has no filename.');if(a=a||n.filename,a=o.resolve(c,a),c=(i=o.cacheGet(a,n)||o.parseFile(a,t.extend({},n,{filename:a}))).parent,-1!==l.indexOf(a))throw new Error('Illegal circular extends of "'+a+'".');l.push(a),u.push(i)}for(s=u.length,s=u.length-2;s>=0;s-=1)u[s].tokens=e.remapBlocks(u[s].blocks,u[s+1].tokens),e.importNonBlocks(u[s].blocks,u[s].tokens);return u},e.buildTemplateFunction=function(e,t,r){return new Function("_swig","_ctx","_filters","_utils","_fn",' var _ext = _swig.extensions,\n _output = "";\n'+n.compile(e,t,r)+"\n return _output;\n")},e.install=function(r,n){var i=n.parser,s=n.tags,c=n.filters,l=n.validateOptions,u=n.onCompileError;function p(e){return e&&e.locals?t.extend({},r.options.locals,e.locals):r.options.locals}function f(e,t){return o.cacheGet(e,t,r.options.cache,r.cache)}function h(e,t,n){o.cacheSet(e,t,n,r.options.cache,r.cache)}r.invalidateCache=function(){"memory"===r.options.cache&&(r.cache={})},r.setFilter=function(e,t){if("function"!=typeof t)throw new Error('Filter "'+e+'" is not a valid function.');c[e]=t},r.setTag=function(e,t,r,n,o){if("function"!=typeof t)throw new Error('Tag "'+e+'" parse method is not a valid function.');if("function"!=typeof r)throw new Error('Tag "'+e+'" compile method is not a valid function.');s[e]={parse:t,compile:r,ends:n||!1,block:!!o}},r.setExtension=function(e,t){r.extensions[e]=t},r.parse=function(e,n){l(n);var o,a=p(n),u={};for(o in n)n.hasOwnProperty(o)&&"locals"!==o&&(u[o]=n[o]);return(n=t.extend({},r.options,u)).locals=a,i.parse(r,e,n,s,c)},r.parseFile=function(e,n){var o;return n||(n={}),e=r.options.loader.resolve(e,n.resolveFrom),o=r.options.loader.load(e),n.filename||(n=t.extend({filename:e},n)),r.parse(o,n)},r.precompile=function(t,n){var o,a=r.parse(t,n),i=function(t,n){return e.getParents(t,n,{resolve:function(e,t){return r.options.loader.resolve(e,t)},parseFile:r.parseFile,cacheGet:f})}(a,n);i.length&&(a.tokens=e.remapBlocks(a.blocks,i[0].tokens),e.importNonBlocks(a.blocks,a.tokens));try{o=e.buildTemplateFunction(a,i,n)}catch(e){u(e,n)}return{tpl:o,tokens:a}},r.compile=function(e,n){var o,i,s,l=n?n.filename:null,u=l?f(l,n):null;if(u)return u;function g(e){var n;return n=e&&i?t.extend({},o,e):e&&!i?e:!e&&i?o:{},s.tpl(r,n,c,t,a)}return o=p(n),i=t.keys(o).length,s=r.precompile(e,n),t.extend(g,s.tokens),l&&h(l,n,g),g},r.compileFile=function(e,n,o){var a,i;return n||(n={}),e=r.options.loader.resolve(e,n.resolveFrom),n.filename||(n=t.extend({filename:e},n)),(i=f(e,n))?o?void o(null,i):i:o?void r.options.loader.load(e,function(e,t){if(e)o(e);else{var a;try{a=r.compile(t,n)}catch(e){return void o(e)}o(e,a)}}):(a=r.options.loader.load(e),r.compile(a,n))},r.render=function(e,t){return r.compile(e,t)()},r.renderFile=function(e,t,n){if(!n)return r.compileFile(e)(t);r.compileFile(e,{},function(e,r){var o;if(e)n(e);else{try{o=r(t)}catch(e){return void n(e)}n(null,o)}})},r.run=function(e,n,o){var i=p({locals:n});return o&&h(o,{},e),e(r,i,c,t,a)}}}}),Y=t({"lib/swig.js"(e){var t=n(),r=k(),o=y(),a=w(),i=h(),s=_(),c=M();e.version="2.0.0-alpha.3";var l,u={autoescape:!0,varControls:["{{","}}"],tagControls:["{%","%}"],cmtControls:["{#","#}"],locals:{},cache:"memory",loader:s.fs()};function p(e){if(e){if(t.each(["varControls","tagControls","cmtControls"],function(r){if(e.hasOwnProperty(r)){if(!t.isArray(e[r])||2!==e[r].length)throw new Error('Option "'+r+'" must be an array containing 2 different control strings.');if(e[r][0]===e[r][1])throw new Error('Option "'+r+'" open and close controls must not be the same.');t.each(e[r],function(e,t){if(e.length<2)throw new Error('Option "'+r+'" '+(t?"open ":"close ")+'control must be at least 2 characters. Saw "'+e+'" instead.')})}}),e.hasOwnProperty("cache")&&e.cache&&"memory"!==e.cache&&(!e.cache.get||!e.cache.set))throw new Error("Invalid cache option "+JSON.stringify(e.cache)+' found. Expected "memory" or { get: function (key) { ... }, set: function (key, value) { ... } }.');if(e.hasOwnProperty("loader")&&e.loader&&(!e.loader.load||!e.loader.resolve))throw new Error("Invalid loader option "+JSON.stringify(e.loader)+" found. Expected { load: function (pathname, cb) { ... }, resolve: function (to, from) { ... } }.")}}e.setDefaults=function(e){p(e),l.options=t.extend(l.options,e)},e.setDefaultTZOffset=function(e){i.tzOffset=e},e.Swig=function(e){p(e),this.options=t.extend({},u,e||{}),this.cache={},this.extensions={},c.install(this,{parser:a,tags:r,filters:o,validateOptions:p,onCompileError:function(e,r){t.throwError(e,null,r.filename)}})},l=new e.Swig,e.setFilter=l.setFilter,e.setTag=l.setTag,e.setExtension=l.setExtension,e.parseFile=l.parseFile,e.precompile=l.precompile,e.compile=l.compile,e.compileFile=l.compileFile,e.render=l.render,e.renderFile=l.renderFile,e.run=l.run,e.invalidateCache=l.invalidateCache,e.loaders=s}})();"function"==typeof window.define&&"object"==typeof window.define.amd?window.define("swig",[],function(){return Y}):window.swig=Y})();
4
4
  /*!
5
5
  * Attach `loc` to the node if provided, skipping the assignment otherwise
6
6
  * so consumers can tell "no source location available" from
@@ -1 +1 @@
1
- {"version":3,"names":["__getOwnPropNames","Object","getOwnPropertyNames","__commonJS","cb","mod","exports","require_utils","isArray","strip","input","replace","startsWith","str","prefix","indexOf","endsWith","suffix","length","each","obj","fn","i","l","hasOwnProperty","Array","prototype","toString","call","some","result","value","index","map","extend","key","args","arguments","target","objs","slice","keys","v","k","throwError","message","line","file","Error","require_utils2","module","require_ir","withLoc","node","loc","template","body","parent","blocks","type","text","output","expr","filters","safe","filterCall","name","ifStmt","branches","ifBranch","test","forStmt","iterable","emptyBody","block","include","path","context","isolated","ignoreMissing","resolveFrom","importStmt","alias","macro","params","macroParam","defaultValue","callee","set","op","raw","autoescape","strategy","filter","legacyJS","js","literal","kind","varRef","access","object","binaryOp","left","right","unaryOp","operand","conditional","then","els","arrayLiteral","elements","objectLiteral","properties","objectProperty","fnCall","filterCallExpr","require_autoescape","utils","ir","strings","compile","compiler","content","parents","options","blockName","bodyJS","first","charAt","last","lowerStrategy","parse","parser","types","stack","opts","matched","on","token","BOOL","STRING","match","this","out","push","filename","ends","require_block","join","require_else","require_tokentypes","WHITESPACE","FILTER","FILTEREMPTY","FUNCTION","FUNCTIONEMPTY","PARENOPEN","PARENCLOSE","COMMA","VAR","NUMBER","OPERATOR","BRACKETOPEN","BRACKETCLOSE","DOTKEY","ARRAYOPEN","CURLYOPEN","CURLYCLOSE","COLON","COMPARATOR","LOGIC","NOT","ASSIGNMENT","METHODOPEN","UNKNOWN","require_if","_t","t","currentTest","irExpr","currentSlice","lowerExpr","tokens","parseExpr","isLast","prevToken","filterApplyIdx","pop","require_elseif","ifparser","require_extends","require_dateformatter","_months","full","abbr","_days","alt","tzOffset","DateZ","members","d","date","dateZ","Date","UTC","apply","getTimezoneOffset","timezoneOffset","setTimezoneOffset","offset","getTime","getDate","D","getDay","j","N","S","w","z","year","getFullYear","e","getMonth","Math","round","W","fThurs","valueOf","dayNr","setDate","setMonth","ceil","F","m","M","n","L","o","Y","y","substr","a","getHours","A","B","beats","hours","getUTCHours","abs","getUTCMinutes","getUTCSeconds","toFixed","concat","g","h","G","H","getMinutes","s","getSeconds","O","tz","Z","c","toISOString","r","toUTCString","U","require_filters","iterateFilter","self","require_filters2","dateFormatter","addslashes","capitalize","toUpperCase","toLowerCase","format","cur","def","escape","code","inp","charCodeAt","groupBy","keyname","newValue","glue","json","indent","JSON","stringify","json_encode","lower","search","replacement","flags","RegExp","reverse","sort","split","striptags","title","uniq","upper","url_encode","encodeURIComponent","url_decode","decodeURIComponent","require_filter","shift","irArgs","head","depth","start","slices","tk","exprs","check","filter2","state","require_security","dangerousProps","require_for","_dangerousProps","val","inIdx","iterTokens","firstVar","ready","lastState","require_backend","_security","escapeTextValue","resolveDeps","deps","emitExpr","String","emitLiteral","segment","checkDangerousSegment","checkMatchExpr","emitVarRef","emitAccess","emitBinaryOp","operandJS","emitUnaryOp","emitConditional","el","emitArrayLiteral","props","p","emitObjectLiteral","receiver","argsJS","emitFnCall","inputJS","parts","emitFilterCall","temp","checkDot","ctx","build","buildDot","nodes","ifOut","br","bi","testJS","bodyJS2","b","setTargetJS","setValueJS","setDeps","forIterable","forVal","forKey","forBodyJS","ctxloopcache","random","ctxloop","incPathJS","incCtxJS","incSelector","outExprJS","fc","fcArgsJS","fcParts","macroBodyJS","macroSigJS","macroIndexOfJS","macroParams","macroNames","macroJsonNames","require_lexer","TYPES","rules","regex","idx","and","or","gte","gt","lte","lt","not","reader","rule","normalized","read","substring","require_tokenparser","_reserved","TokenParser","_parsers","parseToken","end","prevTokenType","strippedMatch","splice","checkMatch","parseVar","_posOut","pos","peek","skipWS","consume","bail","msg","guardSegment","guardBracketString","getBinaryOpInfo","tok","prec","unquoteString","parseArgList","closeType","parseExpression","next","parsePostfix","keyExpr","close","fargs","fname","parsePrimary","parseFloat","parseUnary","grouped","keyTok","colon","parseObjectLiteral","minPrec","info","parseOutput","legacyFallback","legOut","hasContent","hasTopOp","hasTopFilter","firstTopFilterIdx","exprPO","fcallsPO","prefixEnd","prefixTokens","posOut","trailing","filterCalls","fi","ftok","argDepth","argStart","argEnd","at","ai","argSlices","sliceStart","cd","a2","si","parsedArgs","sj","nonWs","require_parser","lexer","escapeRegExp","swig2","source","tags","stripNext","tagOpen","tagControls","tagClose","varOpen","varControls","varClose","escapedTagOpen","escapedTagClose","escapedVarOpen","escapedVarClose","tagStrip","tagStripBefore","tagStripAfter","varStrip","varStripBefore","varStripAfter","cmtOpen","cmtControls","cmtClose","anyChar","splitter","inRaw","parseVariable","line2","tokens2","stripPrevToken","chunk","lines","stripPrev","prevChildToken","chunks","tagName","tag","parseTag","require_import","backend","allMacros","arg","replacements","ex","re","compiled","parseOpts","compileOpts","parseFile","token2","macroName","require_include","ignore","missing","only","onlyIdx","onlyCtx","parentFile","withIdx","ignoreIdx","pathEnd","pathTokens","ctxEnd","ctxTokens","require_macro","fnName","require_parent","blockNode","require_raw","require_set","_pureDotTarget","exec","rest","pi","assignIdx","rhsTokens","propertyName","nameSet","segments","stripped","require_spaceless","require_tags","elseif","elif","spaceless","require_fs","require_path_browserify","assertPath","TypeError","normalizeStringPosix","allowAboveRoot","res","lastSegmentLength","lastSlash","dots","lastSlashIndex","lastIndexOf","posix","resolve","cwd","resolvedPath","resolvedAbsolute","process","normalize","isAbsolute","trailingSeparator","joined","relative","from","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","_makeLong","dirname","hasRoot","matchedSlash","basename","ext","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","pathObject","sep","dir","root","base","_format","ret","delimiter","win32","require_filesystem","fs","basepath","encoding","load","identifier","readFile","readFileSync","require_memory","mapping","pathname","src","paths","require_loaders","memory","require_loaders2","require_cache","shouldCache","engineCache","cache","cacheGet","memoryStore","get","cacheSet","require_engine","efn","remapBlocks","importNonBlocks","unshift","getParents","parentName","parentFiles","buildTemplateFunction","Function","install","frontend","validateOptions","onCompileError","getLocals","locals","invalidateCache","setFilter","method","setTag","blockLevel","setExtension","extensions","loader","precompile","tpl","getParentsInternal","contextLength","pre","cached","lcls","compileFile","err","src2","err2","render","renderFile","pathName","run","filepath","swig","_tags","_filters","dateformatter","loaders","engine","version","defaultInstance","defaultOptions","setDefaults","setDefaultTZOffset","Swig","require_swig","window","define","amd"],"sources":["dist/swig.js"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__getOwnPropNames","Object","getOwnPropertyNames","__commonJS","cb","mod","exports","require_utils","isArray","strip","input","replace","startsWith","str","prefix","indexOf","endsWith","suffix","length","each","obj","fn","i","l","hasOwnProperty","Array","prototype","toString","call","some","result","value","index","map","extend","key","args","arguments","target","objs","slice","keys","v","k","throwError","message","line","file","Error","require_utils2","module","require_ir","withLoc","node","loc","template","body","parent","blocks","type","text","output","expr","filters","safe","filterCall","name","ifStmt","branches","ifBranch","test","forStmt","iterable","emptyBody","block","include","path","context","isolated","ignoreMissing","resolveFrom","importStmt","alias","macro","params","macroParam","defaultValue","callee","set","op","raw","autoescape","strategy","filter","withStmt","legacyJS","js","literal","kind","varRef","access","object","binaryOp","left","right","unaryOp","operand","conditional","then","els","arrayLiteral","elements","objectLiteral","properties","objectProperty","fnCall","filterCallExpr","require_autoescape","utils","ir","strings","compile","compiler","content","parents","options","blockName","bodyJS","first","charAt","last","lowerStrategy","parse","parser","types","stack","opts","matched","on","token","BOOL","STRING","match","this","out","push","filename","ends","require_block","join","require_else","require_tokentypes","WHITESPACE","FILTER","FILTEREMPTY","FUNCTION","FUNCTIONEMPTY","PARENOPEN","PARENCLOSE","COMMA","VAR","NUMBER","OPERATOR","BRACKETOPEN","BRACKETCLOSE","DOTKEY","ARRAYOPEN","CURLYOPEN","CURLYCLOSE","COLON","COMPARATOR","LOGIC","NOT","ASSIGNMENT","METHODOPEN","UNKNOWN","require_if","_t","t","currentTest","irExpr","currentSlice","lowerExpr","tokens","parseExpr","isLast","prevToken","filterApplyIdx","pop","require_elseif","ifparser","require_extends","require_dateformatter","_months","full","abbr","_days","alt","tzOffset","DateZ","members","d","date","dateZ","Date","UTC","apply","getTimezoneOffset","timezoneOffset","setTimezoneOffset","offset","getTime","getDate","D","getDay","j","N","S","w","z","year","getFullYear","e","getMonth","Math","round","W","fThurs","valueOf","dayNr","setDate","setMonth","ceil","F","m","M","n","L","o","Y","y","substr","a","getHours","A","B","beats","hours","getUTCHours","abs","getUTCMinutes","getUTCSeconds","toFixed","concat","g","h","G","H","getMinutes","s","getSeconds","O","tz","Z","c","toISOString","r","toUTCString","U","require_dateformatter2","require_filters","iterateFilter","self","require_filters2","dateFormatter","addslashes","capitalize","toUpperCase","toLowerCase","format","cur","def","escape","code","inp","charCodeAt","groupBy","keyname","newValue","glue","json","indent","JSON","stringify","json_encode","lower","search","replacement","flags","RegExp","reverse","sort","split","striptags","title","uniq","upper","url_encode","encodeURIComponent","url_decode","decodeURIComponent","require_filter","shift","irArgs","head","depth","start","slices","tk","exprs","check","filter2","state","require_security","dangerousProps","require_for","_dangerousProps","val","inIdx","iterTokens","firstVar","ready","lastState","require_backend","_security","escapeTextValue","resolveDeps","deps","emitExpr","String","emitLiteral","segment","checkDangerousSegment","checkMatchExpr","emitVarRef","emitAccess","emitBinaryOp","operandJS","emitUnaryOp","emitConditional","el","emitArrayLiteral","props","p","emitObjectLiteral","receiver","argsJS","emitFnCall","inputJS","parts","emitFilterCall","temp","checkDot","ctx","build","buildDot","nodes","ifOut","br","bi","testJS","bodyJS2","b","setTargetJS","setValueJS","setDeps","forIterable","forVal","forKey","forBodyJS","ctxloopcache","random","ctxloop","incPathJS","incCtxJS","incSelector","withCtxJS","withSelector","withBodyJS","outExprJS","fc","fcArgsJS","fcParts","macroBodyJS","macroSigJS","macroIndexOfJS","macroParams","macroNames","macroJsonNames","require_lexer","TYPES","rules","regex","idx","and","or","gte","gt","lte","lt","not","reader","rule","normalized","read","substring","require_tokenparser","_reserved","TokenParser","_parsers","parseToken","end","prevTokenType","strippedMatch","splice","checkMatch","parseVar","_posOut","pos","peek","skipWS","consume","bail","msg","guardSegment","guardBracketString","getBinaryOpInfo","tok","prec","unquoteString","parseArgList","closeType","parseExpression","next","parsePostfix","keyExpr","close","fargs","fname","parsePrimary","parseFloat","parseUnary","grouped","keyTok","colon","parseObjectLiteral","minPrec","info","parseOutput","legacyFallback","legOut","hasContent","hasTopOp","hasTopFilter","firstTopFilterIdx","exprPO","fcallsPO","prefixEnd","prefixTokens","posOut","trailing","filterCalls","fi","ftok","argDepth","argStart","argEnd","at","ai","argSlices","sliceStart","cd","a2","si","parsedArgs","sj","nonWs","require_parser","lexer","escapeRegExp","swig2","source","tags","stripNext","tagOpen","tagControls","tagClose","varOpen","varControls","varClose","escapedTagOpen","escapedTagClose","escapedVarOpen","escapedVarClose","tagStrip","tagStripBefore","tagStripAfter","varStrip","varStripBefore","varStripAfter","cmtOpen","cmtControls","cmtClose","anyChar","splitter","inRaw","parseVariable","line2","tokens2","stripPrevToken","chunk","lines","stripPrev","prevChildToken","chunks","tagName","tag","parseTag","require_import","backend","allMacros","arg","replacements","ex","re","compiled","parseOpts","compileOpts","parseFile","token2","macroName","require_include","ignore","missing","only","onlyIdx","onlyCtx","parentFile","withIdx","ignoreIdx","pathEnd","pathTokens","ctxEnd","ctxTokens","require_macro","fnName","require_parent","blockNode","require_raw","require_set","_pureDotTarget","exec","rest","pi","assignIdx","rhsTokens","propertyName","nameSet","segments","stripped","require_spaceless","require_tags","elseif","elif","spaceless","require_fs","require_path_browserify","assertPath","TypeError","normalizeStringPosix","allowAboveRoot","res","lastSegmentLength","lastSlash","dots","lastSlashIndex","lastIndexOf","posix","resolve","cwd","resolvedPath","resolvedAbsolute","process","normalize","isAbsolute","trailingSeparator","joined","relative","from","to","fromStart","fromEnd","fromLen","toStart","toLen","lastCommonSep","fromCode","_makeLong","dirname","hasRoot","matchedSlash","basename","ext","extIdx","firstNonSlashEnd","extname","startDot","startPart","preDotState","pathObject","sep","dir","root","base","_format","ret","delimiter","win32","require_filesystem","fs","basepath","encoding","load","identifier","readFile","readFileSync","require_memory","mapping","pathname","src","paths","require_loaders","memory","require_loaders2","require_cache","shouldCache","engineCache","cache","cacheGet","memoryStore","get","cacheSet","require_engine","efn","remapBlocks","importNonBlocks","unshift","getParents","parentName","parentFiles","buildTemplateFunction","Function","install","frontend","validateOptions","onCompileError","getLocals","locals","invalidateCache","setFilter","method","setTag","blockLevel","setExtension","extensions","loader","precompile","tpl","getParentsInternal","contextLength","pre","cached","lcls","compileFile","err","src2","err2","render","renderFile","pathName","run","filepath","swig","_tags","_filters","dateformatter","loaders","engine","version","defaultInstance","defaultOptions","setDefaults","setDefaultTZOffset","Swig","require_swig","window","define","amd"],"sources":["dist/swig.js"],"mappings":"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","ignoreList":[]}
@@ -1,198 +1,11 @@
1
- var utils = require('./utils');
2
-
3
- var _months = {
4
- full: ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
5
- abbr: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
6
- },
7
- _days = {
8
- full: ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
9
- abbr: ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
10
- alt: {'-1': 'Yesterday', 0: 'Today', 1: 'Tomorrow'}
11
- };
12
-
13
- /*
14
- DateZ is licensed under the MIT License:
15
- Copyright (c) 2011 Tomo Universalis (http://tomouniversalis.com)
16
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
17
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
18
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
19
- */
20
- exports.tzOffset = 0;
21
- exports.DateZ = function () {
22
- var members = {
23
- 'default': ['getUTCDate', 'getUTCDay', 'getUTCFullYear', 'getUTCHours', 'getUTCMilliseconds', 'getUTCMinutes', 'getUTCMonth', 'getUTCSeconds', 'toISOString', 'toGMTString', 'toUTCString', 'valueOf', 'getTime'],
24
- z: ['getDate', 'getDay', 'getFullYear', 'getHours', 'getMilliseconds', 'getMinutes', 'getMonth', 'getSeconds', 'getYear', 'toDateString', 'toLocaleDateString', 'toLocaleTimeString']
25
- },
26
- d = this;
27
-
28
- d.date = d.dateZ = (arguments.length > 1) ? new Date(Date.UTC.apply(Date, arguments) + ((new Date()).getTimezoneOffset() * 60000)) : (arguments.length === 1) ? new Date(new Date(arguments['0'])) : new Date();
29
-
30
- d.timezoneOffset = d.dateZ.getTimezoneOffset();
31
-
32
- utils.each(members.z, function (name) {
33
- d[name] = function () {
34
- return d.dateZ[name]();
35
- };
36
- });
37
- utils.each(members['default'], function (name) {
38
- d[name] = function () {
39
- return d.date[name]();
40
- };
41
- });
42
-
43
- this.setTimezoneOffset(exports.tzOffset);
44
- };
45
- exports.DateZ.prototype = {
46
- getTimezoneOffset: function () {
47
- return this.timezoneOffset;
48
- },
49
- setTimezoneOffset: function (offset) {
50
- this.timezoneOffset = offset;
51
- this.dateZ = new Date(this.date.getTime() + this.date.getTimezoneOffset() * 60000 - this.timezoneOffset * 60000);
52
- return this;
53
- }
54
- };
55
-
56
- // Day
57
- exports.d = function (input) {
58
- return (input.getDate() < 10 ? '0' : '') + input.getDate();
59
- };
60
- exports.D = function (input) {
61
- return _days.abbr[input.getDay()];
62
- };
63
- exports.j = function (input) {
64
- return input.getDate();
65
- };
66
- exports.l = function (input) {
67
- return _days.full[input.getDay()];
68
- };
69
- exports.N = function (input) {
70
- var d = input.getDay();
71
- return (d >= 1) ? d : 7;
72
- };
73
- exports.S = function (input) {
74
- var d = input.getDate();
75
- return (d % 10 === 1 && d !== 11 ? 'st' : (d % 10 === 2 && d !== 12 ? 'nd' : (d % 10 === 3 && d !== 13 ? 'rd' : 'th')));
76
- };
77
- exports.w = function (input) {
78
- return input.getDay();
79
- };
80
- exports.z = function (input, offset, abbr) {
81
- var year = input.getFullYear(),
82
- e = new exports.DateZ(year, input.getMonth(), input.getDate(), 12, 0, 0),
83
- d = new exports.DateZ(year, 0, 1, 12, 0, 0);
84
-
85
- e.setTimezoneOffset(offset, abbr);
86
- d.setTimezoneOffset(offset, abbr);
87
- return Math.round((e - d) / 86400000);
88
- };
89
-
90
- // Week
91
- exports.W = function (input) {
92
- var target = new Date(input.valueOf()),
93
- dayNr = (input.getDay() + 6) % 7,
94
- fThurs;
95
-
96
- target.setDate(target.getDate() - dayNr + 3);
97
- fThurs = target.valueOf();
98
- target.setMonth(0, 1);
99
- if (target.getDay() !== 4) {
100
- target.setMonth(0, 1 + ((4 - target.getDay()) + 7) % 7);
101
- }
102
-
103
- return 1 + Math.ceil((fThurs - target) / 604800000);
104
- };
105
-
106
- // Month
107
- exports.F = function (input) {
108
- return _months.full[input.getMonth()];
109
- };
110
- exports.m = function (input) {
111
- return (input.getMonth() < 9 ? '0' : '') + (input.getMonth() + 1);
112
- };
113
- exports.M = function (input) {
114
- return _months.abbr[input.getMonth()];
115
- };
116
- exports.n = function (input) {
117
- return input.getMonth() + 1;
118
- };
119
- exports.t = function (input) {
120
- return 32 - (new Date(input.getFullYear(), input.getMonth(), 32).getDate());
121
- };
122
-
123
- // Year
124
- exports.L = function (input) {
125
- return new Date(input.getFullYear(), 1, 29).getDate() === 29;
126
- };
127
- exports.o = function (input) {
128
- var target = new Date(input.valueOf());
129
- target.setDate(target.getDate() - ((input.getDay() + 6) % 7) + 3);
130
- return target.getFullYear();
131
- };
132
- exports.Y = function (input) {
133
- return input.getFullYear();
134
- };
135
- exports.y = function (input) {
136
- return (input.getFullYear().toString()).substr(2);
137
- };
138
-
139
- // Time
140
- exports.a = function (input) {
141
- return input.getHours() < 12 ? 'am' : 'pm';
142
- };
143
- exports.A = function (input) {
144
- return input.getHours() < 12 ? 'AM' : 'PM';
145
- };
146
- exports.B = function (input) {
147
- var hours = input.getUTCHours(), beats;
148
- hours = (hours === 23) ? 0 : hours + 1;
149
- beats = Math.abs(((((hours * 60) + input.getUTCMinutes()) * 60) + input.getUTCSeconds()) / 86.4).toFixed(0);
150
- return ('000'.concat(beats).slice(beats.length));
151
- };
152
- exports.g = function (input) {
153
- var h = input.getHours();
154
- return h === 0 ? 12 : (h > 12 ? h - 12 : h);
155
- };
156
- exports.G = function (input) {
157
- return input.getHours();
158
- };
159
- exports.h = function (input) {
160
- var h = input.getHours();
161
- return ((h < 10 || (12 < h && 22 > h)) ? '0' : '') + ((h < 12) ? h : h - 12);
162
- };
163
- exports.H = function (input) {
164
- var h = input.getHours();
165
- return (h < 10 ? '0' : '') + h;
166
- };
167
- exports.i = function (input) {
168
- var m = input.getMinutes();
169
- return (m < 10 ? '0' : '') + m;
170
- };
171
- exports.s = function (input) {
172
- var s = input.getSeconds();
173
- return (s < 10 ? '0' : '') + s;
174
- };
175
- //u = function () { return ''; },
176
-
177
- // Timezone
178
- //e = function () { return ''; },
179
- //I = function () { return ''; },
180
- exports.O = function (input) {
181
- var tz = input.getTimezoneOffset();
182
- return (tz < 0 ? '-' : '+') + (tz / 60 < 10 ? '0' : '') + Math.abs((tz / 60)) + '00';
183
- };
184
- //T = function () { return ''; },
185
- exports.Z = function (input) {
186
- return input.getTimezoneOffset() * 60;
187
- };
188
-
189
- // Full Date/Time
190
- exports.c = function (input) {
191
- return input.toISOString();
192
- };
193
- exports.r = function (input) {
194
- return input.toUTCString();
195
- };
196
- exports.U = function (input) {
197
- return input.getTime() / 1000;
198
- };
1
+ /**
2
+ * Phase 3 carve bridge — dateformatter moved to @rhinostone/swig-core.
3
+ *
4
+ * This shim re-exports the swig-core module so every in-repo consumer
5
+ * (`require('./dateformatter')` from lib/swig.js and lib/filters.js)
6
+ * keeps resolving to the same exports object. The mutable `tzOffset`
7
+ * binding set by `swig.setDefaultTZOffset` is the same property on
8
+ * both paths via Node's module cache.
9
+ */
10
+
11
+ module.exports = require('@rhinostone/swig-core/lib/dateformatter');
package/lib/swig.js CHANGED
@@ -9,11 +9,11 @@ var utils = require('./utils'),
9
9
  /**
10
10
  * Swig version number as a string.
11
11
  * @example
12
- * if (swig.version === "2.0.0-alpha.2") { ... }
12
+ * if (swig.version === "2.0.0-alpha.3") { ... }
13
13
  *
14
14
  * @type {String}
15
15
  */
16
- exports.version = "2.0.0-alpha.2";
16
+ exports.version = "2.0.0-alpha.3";
17
17
 
18
18
  /**
19
19
  * Swig Options Object. This object can be passed to many of the API-level Swig methods to control various aspects of the engine. All keys are optional.
package/lib/tags/for.js CHANGED
@@ -104,6 +104,14 @@ exports.parse = function (str, line, parser, types) {
104
104
  return true;
105
105
  }
106
106
 
107
+ // CVE-2023-25345: the lexer folds dotted paths into a single VAR token
108
+ // (e.g. `foo.__proto__` matches as one VAR with .match === "foo.__proto__"),
109
+ // so the _dangerousProps indexOf check below misses the prototype segment.
110
+ // Loop variables bind to `_ctx.<name>` — bare identifiers only.
111
+ if (token.match.indexOf('.') !== -1) {
112
+ throw new Error('Loop variable "' + token.match + '" must be a bare identifier in "for" tag on line ' + line + '.');
113
+ }
114
+
107
115
  // CVE-2023-25345: block prototype-chain property names as loop variables
108
116
  if (_dangerousProps.indexOf(token.match) !== -1) {
109
117
  throw new Error('Unsafe loop variable "' + token.match + '" is not allowed (CVE-2023-25345) on line ' + line + '.');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rhinostone/swig",
3
- "version": "2.0.0-alpha.2",
3
+ "version": "2.0.0-alpha.3",
4
4
  "description": "A simple, powerful, and extendable templating engine for node.js and browsers, similar to Django, Jinja2, and Twig.",
5
5
  "keywords": [
6
6
  "template",
@@ -21,6 +21,7 @@
21
21
  "Rhinostone <contact@gina.io>"
22
22
  ],
23
23
  "dependencies": {
24
+ "@rhinostone/swig-core": "2.0.0-alpha.3",
24
25
  "terser": "^5.46.1",
25
26
  "yargs": "^17.7.2"
26
27
  },