xtemplate
Version:
eXtensible Template Engine lib on browser and nodejs. support async control, inheritance, include, logic expression, custom function and more.
2 lines • 40.2 kB
JavaScript
var XTemplate=function(){var t,e,n,a,r,i,o,s,u,p={};return t=function(t){function e(){var t="";for(var e in a)t+=e+"|";return t=t.slice(0,-1),i=new RegExp(t,"g")}var n,a={"&":"&",">":">","<":"<","`":"`","/":"/",'"':""","'":"'"},r=/[&<>"'`]/,i=e(),o=/\\?\{([^{}]+)\}/g,s="undefined"!=typeof global?global:window,u=Object.prototype.toString;return t=n={isArray:Array.isArray||function(t){return"[object Array]"===u.call(t)},keys:Object.keys||function(t){var e,n=[];for(e in t)t.hasOwnProperty(e)&&n.push(e);return n},each:function(t,e,a){if(t){var r,i,o,s=0,u=t&&t.length,p=void 0===u||"[object Function]"===Object.prototype.toString.call(t);if(a=a||null,p)for(o=n.keys(t);s<o.length&&(r=o[s],e.call(a,t[r],r,t)!==!1);s++);else for(i=t[0];u>s&&e.call(a,i,s,t)!==!1;i=t[++s]);}return t},mix:function(t,e){for(var n in e)t[n]=e[n];return t},globalEval:function(t){s.execScript?s.execScript(t):!function(t){s.eval.call(s,t)}(t)},substitute:function(t,e,n){return"string"==typeof t&&e?t.replace(n||o,function(t,n){return"\\"===t.charAt(0)?t.slice(1):void 0===e[n]?"":e[n]}):t},escapeHtml:function(t){return t=""+t,r.test(t)?(t+"").replace(i,function(t){return a[t]}):t},log:function(){"undefined"!=typeof console&&console.log.apply(console,arguments)}}}(),e=function(t){function e(t){this.data=void 0!==t?t:{},this.root=this,this.parent=void 0,this.affix=void 0}return e.prototype={isScope:1,setParent:function(t){this.parent=t,this.root=t.root},set:function(t,e){this.affix||(this.affix={}),this.affix[t]=e},setData:function(t){this.data=t},getData:function(){return this.data},mix:function(t){var e=this.affix;e||(e=this.affix={});for(var n in t)e[n]=t[n]},get:function(t){var e,n=this.data,a=this.affix;return null!=n&&(e=n[t]),void 0!==e?e:e=a&&a[t]},resolve:function(t,e){var n,a=this;if(!e&&1===t.length){if(n=a.get(t[0]),void 0!==n)return n;e=1}var r,i=t.length,o=a,s=t[0];if(e)for(;o&&e--;)o=o.parent;if(!o)return void 0;if("this"===s)n=o.data;else if("root"===s)o=o.root,n=o.data;else{if(!s)return o.data;do n=o.get(s);while(void 0===n&&(o=o.parent))}for(r=1;n&&i>r;r++)n=n[t[r]];return n}},t=e}(),n=function(e){function n(t,e){this.list=t,this.init(),this.next=e,this.ready=!1}function a(t,e){var a=this;a.config=e,a.head=new n(a,void 0),a.callback=t,this.init()}var r=t;return n.prototype={constructor:n,isBuffer:1,init:function(){this.data=""},append:function(t){return this.data+=t,this},write:function(t){return null!=t&&this.append(t),this},writeEscaped:function(t){return null!=t&&this.append(r.escapeHtml(t)),this},async:function(t){var e=this,a=e.list,r=new n(a,e.next),i=new n(a,r);return e.next=i,e.ready=!0,t(i),r},error:function(t){var e=this.list.callback;e&&(e(t,void 0),this.list.callback=null)},end:function(){var t=this;return t.list.callback&&(t.ready=!0,t.list.flush()),t}},a.prototype={constructor:a,init:function(){this.data=""},append:function(t){this.data+=t},end:function(){this.callback(null,this.data),this.callback=null},flush:function(){for(var t=this,e=t.head;e;){if(!e.ready)return t.head=e,void 0;this.append(e.data),e=e.next}t.end()}},a.Buffer=n,e=a}(),a=function(t){var e=function(t){function e(t,e){return e=e||1,t[t.length-e]}function n(t,e){for(var n in e)t[n]=e[n]}function a(t){return"[object Array]"===Object.prototype.toString.call(t)}function r(t,e,n){if(t){var r,i,o,s=0;if(n=n||null,a(t))for(o=t.length,i=t[0];o>s&&e.call(n,i,s,t)!==!1;i=t[++s]);else for(r in t)if(e.call(n,t[r],r,t)===!1)break}}function i(t,e){for(var n=0,a=e.length;a>n;n++)if(e[n]===t)return!0;return!1}var o={},s={SHIFT_TYPE:1,REDUCE_TYPE:2,ACCEPT_TYPE:0,TYPE_INDEX:0,PRODUCTION_INDEX:1,TO_INDEX:2},u=function(t){var e=this;e.rules=[],n(e,t),e.resetInput(e.input)};u.prototype={resetInput:function(t){n(this,{input:t,matched:"",stateStack:[u.STATIC.INITIAL],match:"",text:"",firstLine:1,lineNumber:1,lastLine:1,firstColumn:1,lastColumn:1})},getCurrentRules:function(){var t=this,e=t.stateStack[t.stateStack.length-1],n=[];return t.mapState&&(e=t.mapState(e)),r(t.rules,function(t){var a=t.state||t[3];a?i(e,a)&&n.push(t):e===u.STATIC.INITIAL&&n.push(t)}),n},pushState:function(t){this.stateStack.push(t)},popState:function(t){t=t||1;for(var e;t--;)e=this.stateStack.pop();return e},showDebugInfo:function(){var t=this,e=u.STATIC.DEBUG_CONTEXT_LIMIT,n=t.matched,a=t.match,r=t.input;n=n.slice(0,n.length-a.length);var i=(n.length>e?"...":"")+n.slice(0-e).replace(/\n/g," "),o=a+r;return o=o.slice(0,e).replace(/\n/g," ")+(o.length>e?"...":""),i+o+"\n"+new Array(i.length+1).join("-")+"^"},mapSymbol:function(t){return this.symbolMap[t]},mapReverseSymbol:function(t){var e,n=this,a=n.symbolMap,r=n.reverseSymbolMap;if(!r&&a){r=n.reverseSymbolMap={};for(e in a)r[a[e]]=e}return r?r[t]:t},lex:function(){var e,a,r,i,o,s=this,p=s.input,c=s.getCurrentRules();if(s.match=s.text="",!p)return s.mapSymbol(u.STATIC.END_TAG);for(e=0;e<c.length;e++){a=c[e];var l=a.regexp||a[1],h=a.token||a[0],f=a.action||a[2]||t;if(r=p.match(l)){o=r[0].match(/\n.*/g),o&&(s.lineNumber+=o.length),n(s,{firstLine:s.lastLine,lastLine:s.lineNumber,firstColumn:s.lastColumn,lastColumn:o?o[o.length-1].length-1:s.lastColumn+r[0].length});var m;return m=s.match=r[0],s.matches=r,s.text=m,s.matched+=m,i=f&&f.call(s),i=i===t?h:s.mapSymbol(i),p=p.slice(m.length),s.input=p,i?i:s.lex()}}}},u.STATIC={INITIAL:"I",DEBUG_CONTEXT_LIMIT:20,END_TAG:"$EOF"};var p=new u({rules:[[0,/^[\s\S]*?(?={{)/,function(){var t,e=this,n=e.text,a=0;return(t=n.match(/\\+$/))&&(a=t[0].length),a%2?(e.pushState("et"),n=n.slice(0,-1)):e.pushState("t"),a&&(n=n.replace(/\\+$/g,function(t){return new Array(t.length/2+1).join("\\")})),e.text=n,"CONTENT"}],["b",/^[\s\S]+/,0],["b",/^[\s\S]{2,}?(?:(?={{)|$)/,function(){this.popState()},["et"]],["c",/^{{{?(?:#|@)/,function(){var t=this,e=t.text;4===e.length?t.pushState("p"):t.pushState("e")},["t"]],["d",/^{{{?\//,function(){var t=this,e=t.text;4===e.length?t.pushState("p"):t.pushState("e")},["t"]],["e",/^{{\s*else\s*}}/,function(){this.popState()},["t"]],[0,/^{{![\s\S]*?}}/,function(){this.popState()},["t"]],["b",/^{{%([\s\S]*?)%}}/,function(){this.text=this.matches[1]||"",this.popState()},["t"]],["f",/^{{{?/,function(){var t=this,e=t.text;3===e.length?t.pushState("p"):t.pushState("e")},["t"]],[0,/^\s+/,0,["p","e"]],["g",/^,/,0,["p","e"]],["h",/^}}}/,function(){this.popState(2)},["p"]],["h",/^}}/,function(){this.popState(2)},["e"]],["i",/^\(/,0,["p","e"]],["j",/^\)/,0,["p","e"]],["k",/^\|\|/,0,["p","e"]],["l",/^&&/,0,["p","e"]],["m",/^===/,0,["p","e"]],["n",/^!==/,0,["p","e"]],["o",/^>=/,0,["p","e"]],["p",/^<=/,0,["p","e"]],["q",/^>/,0,["p","e"]],["r",/^</,0,["p","e"]],["s",/^\+/,0,["p","e"]],["t",/^-/,0,["p","e"]],["u",/^\*/,0,["p","e"]],["v",/^\//,0,["p","e"]],["w",/^%/,0,["p","e"]],["x",/^!/,0,["p","e"]],["y",/^"(\\[\s\S]|[^\\"\n])*"/,function(){this.text=this.text.slice(1,-1).replace(/\\"/g,'"')},["p","e"]],["y",/^'(\\[\s\S]|[^\\'\n])*'/,function(){this.text=this.text.slice(1,-1).replace(/\\'/g,"'")},["p","e"]],["z",/^\d+(?:\.\d+)?(?:e-?\d+)?/i,0,["p","e"]],["aa",/^=/,0,["p","e"]],["ab",/^\.\./,function(){this.pushState("ws")},["p","e"]],["ac",/^\//,function(){this.popState()},["ws"]],["ac",/^\./,0,["p","e"]],["ad",/^\[/,0,["p","e"]],["ae",/^\]/,0,["p","e"]],["af",/^\{/,0,["p","e"]],["ag",/^\:/,0,["p","e"]],["ah",/^\}/,0,["p","e"]],["ab",/^[a-zA-Z_$][a-zA-Z0-9_$]*/,0,["p","e"]]]});return o.lexer=p,p.symbolMap={$EOF:"a",CONTENT:"b",OPEN_BLOCK:"c",OPEN_CLOSE_BLOCK:"d",INVERSE:"e",OPEN_TPL:"f",COMMA:"g",CLOSE:"h",L_PAREN:"i",R_PAREN:"j",OR:"k",AND:"l",LOGIC_EQUALS:"m",LOGIC_NOT_EQUALS:"n",GE:"o",LE:"p",GT:"q",LT:"r",PLUS:"s",MINUS:"t",MULTIPLY:"u",DIVIDE:"v",MODULUS:"w",NOT:"x",STRING:"y",NUMBER:"z",EQUALS:"aa",ID:"ab",SEP:"ac",L_BRACKET:"ad",R_BRACKET:"ae",L_BRACE:"af",COLON:"ag",R_BRACE:"ah",$START:"ai",program:"aj",statements:"ak",statement:"al","function":"am",id:"an",expression:"ao",params:"ap",hash:"aq",param:"ar",conditionalOrExpression:"as",listExpression:"at",jsonExpression:"au",jsonPart:"av",conditionalAndExpression:"aw",equalityExpression:"ax",relationalExpression:"ay",additiveExpression:"az",multiplicativeExpression:"ba",unaryExpression:"bb",primaryExpression:"bc",hashSegment:"bd",idSegments:"be"},o.productions=[["ai",["aj"]],["aj",["ak","e","ak"],function(){return new this.yy.ProgramNode({line:this.lexer.firstLine,col:this.lexer.firstColumn},this.$1,this.$3)}],["aj",["ak"],function(){return new this.yy.ProgramNode({line:this.lexer.firstLine,col:this.lexer.firstColumn},this.$1)}],["ak",["al"],function(){return[this.$1]}],["ak",["ak","al"],function(){this.$1.push(this.$2)}],["al",["c","am","h","aj","d","an","h"],function(){return new this.yy.BlockStatement({line:this.lexer.firstLine,col:this.lexer.firstColumn},this.$2,this.$4,this.$6,4!==this.$1.length)}],["al",["f","ao","h"],function(){return new this.yy.ExpressionStatement({line:this.lexer.firstLine,col:this.lexer.firstColumn},this.$2,3!==this.$1.length)}],["al",["b"],function(){return new this.yy.ContentStatement({line:this.lexer.firstLine,col:this.lexer.firstColumn},this.$1)}],["am",["an","i","ap","g","aq","j"],function(){return new this.yy.Function({line:this.lexer.firstLine,col:this.lexer.firstColumn},this.$1,this.$3,this.$5)}],["am",["an","i","ap","j"],function(){return new this.yy.Function({line:this.lexer.firstLine,col:this.lexer.firstColumn},this.$1,this.$3)}],["am",["an","i","aq","j"],function(){return new this.yy.Function({line:this.lexer.firstLine,col:this.lexer.firstColumn},this.$1,null,this.$3)}],["am",["an","i","j"],function(){return new this.yy.Function({line:this.lexer.firstLine,col:this.lexer.firstColumn},this.$1)}],["ap",["ap","g","ar"],function(){this.$1.push(this.$3)}],["ap",["ar"],function(){return[this.$1]}],["ar",["ao"]],["ao",["as"]],["ao",["ad","at","ae"],function(){return new this.yy.ArrayExpression(this.$2)}],["ao",["af","au","ah"],function(){return new this.yy.JsonExpression(this.$2)}],["av",["y","ag","ao"],function(){return[this.$1,this.$3]}],["av",["ab","ag","ao"],function(){return[this.$1,this.$3]}],["au",["av"],function(){return[this.$1]}],["au",["au","g","av"],function(){this.$1.push(this.$3)}],["at",["ao"],function(){return[this.$1]}],["at",["at","g","ao"],function(){this.$1.push(this.$3)}],["as",["aw"]],["as",["as","k","aw"],function(){return new this.yy.ConditionalOrExpression(this.$1,this.$3)}],["aw",["ax"]],["aw",["aw","l","ax"],function(){return new this.yy.ConditionalAndExpression(this.$1,this.$3)}],["ax",["ay"]],["ax",["ax","m","ay"],function(){return new this.yy.EqualityExpression(this.$1,"===",this.$3)}],["ax",["ax","n","ay"],function(){return new this.yy.EqualityExpression(this.$1,"!==",this.$3)}],["ay",["az"]],["ay",["ay","r","az"],function(){return new this.yy.RelationalExpression(this.$1,"<",this.$3)}],["ay",["ay","q","az"],function(){return new this.yy.RelationalExpression(this.$1,">",this.$3)}],["ay",["ay","p","az"],function(){return new this.yy.RelationalExpression(this.$1,"<=",this.$3)}],["ay",["ay","o","az"],function(){return new this.yy.RelationalExpression(this.$1,">=",this.$3)}],["az",["ba"]],["az",["az","s","ba"],function(){return new this.yy.AdditiveExpression(this.$1,"+",this.$3)}],["az",["az","t","ba"],function(){return new this.yy.AdditiveExpression(this.$1,"-",this.$3)}],["ba",["bb"]],["ba",["ba","u","bb"],function(){return new this.yy.MultiplicativeExpression(this.$1,"*",this.$3)}],["ba",["ba","v","bb"],function(){return new this.yy.MultiplicativeExpression(this.$1,"/",this.$3)}],["ba",["ba","w","bb"],function(){return new this.yy.MultiplicativeExpression(this.$1,"%",this.$3)}],["bb",["x","bb"],function(){return new this.yy.UnaryExpression(this.$1,this.$2)}],["bb",["t","bb"],function(){return new this.yy.UnaryExpression(this.$1,this.$2)}],["bb",["bc"]],["bc",["am"]],["bc",["y"],function(){return new this.yy.String({line:this.lexer.firstLine,col:this.lexer.firstColumn},this.$1)}],["bc",["z"],function(){return new this.yy.Number({line:this.lexer.firstLine,col:this.lexer.firstColumn},this.$1)}],["bc",["an"]],["bc",["i","ao","j"],function(){return this.$2}],["aq",["aq","g","bd"],function(){var t=this.$1,e=this.$3;t.value[e[0]]=e[1]}],["aq",["bd"],function(){var t=new this.yy.Hash({line:this.lexer.firstLine,col:this.lexer.firstColumn}),e=this.$1;return t.value[e[0]]=e[1],t}],["bd",["ab","aa","ao"],function(){return[this.$1,this.$3]}],["an",["be"],function(){return new this.yy.Id({line:this.lexer.firstLine,col:this.lexer.firstColumn},this.$1)}],["be",["be","ac","ab"],function(){this.$1.push(this.$3)}],["be",["be","ad","ao","ae"],function(){this.$1.push(this.$3)}],["be",["ab"],function(){return[this.$1]}]],o.table={gotos:{0:{aj:4,ak:5,al:6},2:{am:8,an:9,be:10},3:{am:18,an:19,ao:20,as:21,aw:22,ax:23,ay:24,az:25,ba:26,bb:27,bc:28,be:10},5:{al:30},11:{am:18,an:19,ao:35,as:21,aw:22,ax:23,ay:24,az:25,ba:26,bb:27,bc:28,be:10},12:{am:18,an:19,bb:36,bc:28,be:10},13:{am:18,an:19,bb:37,bc:28,be:10},16:{am:18,an:19,ao:38,as:21,at:39,aw:22,ax:23,ay:24,az:25,ba:26,bb:27,bc:28,be:10},17:{au:42,av:43},29:{ak:58,al:6},31:{aj:59,ak:5,al:6},32:{am:18,an:19,ao:62,ap:63,aq:64,ar:65,as:21,aw:22,ax:23,ay:24,az:25,ba:26,bb:27,bc:28,bd:66,be:10},34:{am:18,an:19,ao:68,as:21,aw:22,ax:23,ay:24,az:25,ba:26,bb:27,bc:28,be:10},45:{am:18,an:19,aw:76,ax:23,ay:24,az:25,ba:26,bb:27,bc:28,be:10},46:{am:18,an:19,ax:77,ay:24,az:25,ba:26,bb:27,bc:28,be:10},47:{am:18,an:19,ay:78,az:25,ba:26,bb:27,bc:28,be:10},48:{am:18,an:19,ay:79,az:25,ba:26,bb:27,bc:28,be:10},49:{am:18,an:19,az:80,ba:26,bb:27,bc:28,be:10},50:{am:18,an:19,az:81,ba:26,bb:27,bc:28,be:10},51:{am:18,an:19,az:82,ba:26,bb:27,bc:28,be:10},52:{am:18,an:19,az:83,ba:26,bb:27,bc:28,be:10},53:{am:18,an:19,ba:84,bb:27,bc:28,be:10},54:{am:18,an:19,ba:85,bb:27,bc:28,be:10},55:{am:18,an:19,bb:86,bc:28,be:10},56:{am:18,an:19,bb:87,bc:28,be:10},57:{am:18,an:19,bb:88,bc:28,be:10},58:{al:30},70:{am:18,an:19,ao:96,as:21,aw:22,ax:23,ay:24,az:25,ba:26,bb:27,bc:28,be:10},72:{am:18,an:19,ao:97,as:21,aw:22,ax:23,ay:24,az:25,ba:26,bb:27,bc:28,be:10},73:{am:18,an:19,ao:98,as:21,aw:22,ax:23,ay:24,az:25,ba:26,bb:27,bc:28,be:10},74:{av:99},89:{an:100,be:10},90:{am:18,an:19,ao:101,as:21,aw:22,ax:23,ay:24,az:25,ba:26,bb:27,bc:28,be:10},91:{am:18,an:19,ao:62,aq:102,ar:103,as:21,aw:22,ax:23,ay:24,az:25,ba:26,bb:27,bc:28,bd:66,be:10},93:{bd:105}},action:{0:{b:[1,t,1],c:[1,t,2],f:[1,t,3]},1:{a:[2,7],e:[2,7],c:[2,7],f:[2,7],b:[2,7],d:[2,7]},2:{ab:[1,t,7]},3:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7],ad:[1,t,16],af:[1,t,17]},4:{a:[0]},5:{a:[2,2],d:[2,2],b:[1,t,1],c:[1,t,2],e:[1,t,29],f:[1,t,3]},6:{a:[2,3],e:[2,3],c:[2,3],f:[2,3],b:[2,3],d:[2,3]},7:{i:[2,57],ac:[2,57],ad:[2,57],h:[2,57],k:[2,57],l:[2,57],m:[2,57],n:[2,57],o:[2,57],p:[2,57],q:[2,57],r:[2,57],s:[2,57],t:[2,57],u:[2,57],v:[2,57],w:[2,57],j:[2,57],ae:[2,57],g:[2,57],ah:[2,57]},8:{h:[1,t,31]},9:{i:[1,t,32]},10:{i:[2,54],h:[2,54],k:[2,54],l:[2,54],m:[2,54],n:[2,54],o:[2,54],p:[2,54],q:[2,54],r:[2,54],s:[2,54],t:[2,54],u:[2,54],v:[2,54],w:[2,54],j:[2,54],ae:[2,54],g:[2,54],ah:[2,54],ac:[1,t,33],ad:[1,t,34]},11:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7],ad:[1,t,16],af:[1,t,17]},12:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},13:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},14:{h:[2,47],k:[2,47],l:[2,47],m:[2,47],n:[2,47],o:[2,47],p:[2,47],q:[2,47],r:[2,47],s:[2,47],t:[2,47],u:[2,47],v:[2,47],w:[2,47],j:[2,47],ae:[2,47],g:[2,47],ah:[2,47]},15:{h:[2,48],k:[2,48],l:[2,48],m:[2,48],n:[2,48],o:[2,48],p:[2,48],q:[2,48],r:[2,48],s:[2,48],t:[2,48],u:[2,48],v:[2,48],w:[2,48],j:[2,48],ae:[2,48],g:[2,48],ah:[2,48]},16:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7],ad:[1,t,16],af:[1,t,17]},17:{y:[1,t,40],ab:[1,t,41]},18:{h:[2,46],k:[2,46],l:[2,46],m:[2,46],n:[2,46],o:[2,46],p:[2,46],q:[2,46],r:[2,46],s:[2,46],t:[2,46],u:[2,46],v:[2,46],w:[2,46],j:[2,46],ae:[2,46],g:[2,46],ah:[2,46]},19:{h:[2,49],k:[2,49],l:[2,49],m:[2,49],n:[2,49],o:[2,49],p:[2,49],q:[2,49],r:[2,49],s:[2,49],t:[2,49],u:[2,49],v:[2,49],w:[2,49],j:[2,49],ae:[2,49],g:[2,49],ah:[2,49],i:[1,t,32]},20:{h:[1,t,44]},21:{h:[2,15],j:[2,15],ae:[2,15],g:[2,15],ah:[2,15],k:[1,t,45]},22:{h:[2,24],k:[2,24],j:[2,24],ae:[2,24],g:[2,24],ah:[2,24],l:[1,t,46]},23:{h:[2,26],k:[2,26],l:[2,26],j:[2,26],ae:[2,26],g:[2,26],ah:[2,26],m:[1,t,47],n:[1,t,48]},24:{h:[2,28],k:[2,28],l:[2,28],m:[2,28],n:[2,28],j:[2,28],ae:[2,28],g:[2,28],ah:[2,28],o:[1,t,49],p:[1,t,50],q:[1,t,51],r:[1,t,52]},25:{h:[2,31],k:[2,31],l:[2,31],m:[2,31],n:[2,31],o:[2,31],p:[2,31],q:[2,31],r:[2,31],j:[2,31],ae:[2,31],g:[2,31],ah:[2,31],s:[1,t,53],t:[1,t,54]},26:{h:[2,36],k:[2,36],l:[2,36],m:[2,36],n:[2,36],o:[2,36],p:[2,36],q:[2,36],r:[2,36],s:[2,36],t:[2,36],j:[2,36],ae:[2,36],g:[2,36],ah:[2,36],u:[1,t,55],v:[1,t,56],w:[1,t,57]},27:{h:[2,39],k:[2,39],l:[2,39],m:[2,39],n:[2,39],o:[2,39],p:[2,39],q:[2,39],r:[2,39],s:[2,39],t:[2,39],u:[2,39],v:[2,39],w:[2,39],j:[2,39],ae:[2,39],g:[2,39],ah:[2,39]},28:{h:[2,45],k:[2,45],l:[2,45],m:[2,45],n:[2,45],o:[2,45],p:[2,45],q:[2,45],r:[2,45],s:[2,45],t:[2,45],u:[2,45],v:[2,45],w:[2,45],j:[2,45],ae:[2,45],g:[2,45],ah:[2,45]},29:{b:[1,t,1],c:[1,t,2],f:[1,t,3]},30:{a:[2,4],e:[2,4],c:[2,4],f:[2,4],b:[2,4],d:[2,4]},31:{b:[1,t,1],c:[1,t,2],f:[1,t,3]},32:{i:[1,t,11],j:[1,t,60],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,61],ad:[1,t,16],af:[1,t,17]},33:{ab:[1,t,67]},34:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7],ad:[1,t,16],af:[1,t,17]},35:{j:[1,t,69]},36:{h:[2,44],k:[2,44],l:[2,44],m:[2,44],n:[2,44],o:[2,44],p:[2,44],q:[2,44],r:[2,44],s:[2,44],t:[2,44],u:[2,44],v:[2,44],w:[2,44],j:[2,44],ae:[2,44],g:[2,44],ah:[2,44]},37:{h:[2,43],k:[2,43],l:[2,43],m:[2,43],n:[2,43],o:[2,43],p:[2,43],q:[2,43],r:[2,43],s:[2,43],t:[2,43],u:[2,43],v:[2,43],w:[2,43],j:[2,43],ae:[2,43],g:[2,43],ah:[2,43]},38:{ae:[2,22],g:[2,22]},39:{g:[1,t,70],ae:[1,t,71]},40:{ag:[1,t,72]},41:{ag:[1,t,73]},42:{g:[1,t,74],ah:[1,t,75]},43:{ah:[2,20],g:[2,20]},44:{a:[2,6],e:[2,6],c:[2,6],f:[2,6],b:[2,6],d:[2,6]},45:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},46:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},47:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},48:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},49:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},50:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},51:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},52:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},53:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},54:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},55:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},56:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},57:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7]},58:{a:[2,1],d:[2,1],b:[1,t,1],c:[1,t,2],f:[1,t,3]},59:{d:[1,t,89]},60:{h:[2,11],k:[2,11],l:[2,11],m:[2,11],n:[2,11],o:[2,11],p:[2,11],q:[2,11],r:[2,11],s:[2,11],t:[2,11],u:[2,11],v:[2,11],w:[2,11],j:[2,11],ae:[2,11],g:[2,11],ah:[2,11]},61:{g:[2,57],i:[2,57],j:[2,57],k:[2,57],l:[2,57],m:[2,57],n:[2,57],o:[2,57],p:[2,57],q:[2,57],r:[2,57],s:[2,57],t:[2,57],u:[2,57],v:[2,57],w:[2,57],ac:[2,57],ad:[2,57],aa:[1,t,90]},62:{g:[2,14],j:[2,14]},63:{g:[1,t,91],j:[1,t,92]},64:{g:[1,t,93],j:[1,t,94]},65:{g:[2,13],j:[2,13]},66:{j:[2,52],g:[2,52]},67:{i:[2,55],ac:[2,55],ad:[2,55],h:[2,55],k:[2,55],l:[2,55],m:[2,55],n:[2,55],o:[2,55],p:[2,55],q:[2,55],r:[2,55],s:[2,55],t:[2,55],u:[2,55],v:[2,55],w:[2,55],j:[2,55],ae:[2,55],g:[2,55],ah:[2,55]},68:{ae:[1,t,95]},69:{h:[2,50],k:[2,50],l:[2,50],m:[2,50],n:[2,50],o:[2,50],p:[2,50],q:[2,50],r:[2,50],s:[2,50],t:[2,50],u:[2,50],v:[2,50],w:[2,50],j:[2,50],ae:[2,50],g:[2,50],ah:[2,50]},70:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7],ad:[1,t,16],af:[1,t,17]},71:{h:[2,16],j:[2,16],ae:[2,16],g:[2,16],ah:[2,16]},72:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7],ad:[1,t,16],af:[1,t,17]},73:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7],ad:[1,t,16],af:[1,t,17]},74:{y:[1,t,40],ab:[1,t,41]},75:{h:[2,17],j:[2,17],ae:[2,17],g:[2,17],ah:[2,17]},76:{h:[2,25],k:[2,25],j:[2,25],ae:[2,25],g:[2,25],ah:[2,25],l:[1,t,46]},77:{h:[2,27],k:[2,27],l:[2,27],j:[2,27],ae:[2,27],g:[2,27],ah:[2,27],m:[1,t,47],n:[1,t,48]},78:{h:[2,29],k:[2,29],l:[2,29],m:[2,29],n:[2,29],j:[2,29],ae:[2,29],g:[2,29],ah:[2,29],o:[1,t,49],p:[1,t,50],q:[1,t,51],r:[1,t,52]},79:{h:[2,30],k:[2,30],l:[2,30],m:[2,30],n:[2,30],j:[2,30],ae:[2,30],g:[2,30],ah:[2,30],o:[1,t,49],p:[1,t,50],q:[1,t,51],r:[1,t,52]},80:{h:[2,35],k:[2,35],l:[2,35],m:[2,35],n:[2,35],o:[2,35],p:[2,35],q:[2,35],r:[2,35],j:[2,35],ae:[2,35],g:[2,35],ah:[2,35],s:[1,t,53],t:[1,t,54]},81:{h:[2,34],k:[2,34],l:[2,34],m:[2,34],n:[2,34],o:[2,34],p:[2,34],q:[2,34],r:[2,34],j:[2,34],ae:[2,34],g:[2,34],ah:[2,34],s:[1,t,53],t:[1,t,54]},82:{h:[2,33],k:[2,33],l:[2,33],m:[2,33],n:[2,33],o:[2,33],p:[2,33],q:[2,33],r:[2,33],j:[2,33],ae:[2,33],g:[2,33],ah:[2,33],s:[1,t,53],t:[1,t,54]},83:{h:[2,32],k:[2,32],l:[2,32],m:[2,32],n:[2,32],o:[2,32],p:[2,32],q:[2,32],r:[2,32],j:[2,32],ae:[2,32],g:[2,32],ah:[2,32],s:[1,t,53],t:[1,t,54]},84:{h:[2,37],k:[2,37],l:[2,37],m:[2,37],n:[2,37],o:[2,37],p:[2,37],q:[2,37],r:[2,37],s:[2,37],t:[2,37],j:[2,37],ae:[2,37],g:[2,37],ah:[2,37],u:[1,t,55],v:[1,t,56],w:[1,t,57]},85:{h:[2,38],k:[2,38],l:[2,38],m:[2,38],n:[2,38],o:[2,38],p:[2,38],q:[2,38],r:[2,38],s:[2,38],t:[2,38],j:[2,38],ae:[2,38],g:[2,38],ah:[2,38],u:[1,t,55],v:[1,t,56],w:[1,t,57]},86:{h:[2,40],k:[2,40],l:[2,40],m:[2,40],n:[2,40],o:[2,40],p:[2,40],q:[2,40],r:[2,40],s:[2,40],t:[2,40],u:[2,40],v:[2,40],w:[2,40],j:[2,40],ae:[2,40],g:[2,40],ah:[2,40]},87:{h:[2,41],k:[2,41],l:[2,41],m:[2,41],n:[2,41],o:[2,41],p:[2,41],q:[2,41],r:[2,41],s:[2,41],t:[2,41],u:[2,41],v:[2,41],w:[2,41],j:[2,41],ae:[2,41],g:[2,41],ah:[2,41]},88:{h:[2,42],k:[2,42],l:[2,42],m:[2,42],n:[2,42],o:[2,42],p:[2,42],q:[2,42],r:[2,42],s:[2,42],t:[2,42],u:[2,42],v:[2,42],w:[2,42],j:[2,42],ae:[2,42],g:[2,42],ah:[2,42]},89:{ab:[1,t,7]},90:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,7],ad:[1,t,16],af:[1,t,17]},91:{i:[1,t,11],t:[1,t,12],x:[1,t,13],y:[1,t,14],z:[1,t,15],ab:[1,t,61],ad:[1,t,16],af:[1,t,17]},92:{h:[2,9],k:[2,9],l:[2,9],m:[2,9],n:[2,9],o:[2,9],p:[2,9],q:[2,9],r:[2,9],s:[2,9],t:[2,9],u:[2,9],v:[2,9],w:[2,9],j:[2,9],ae:[2,9],g:[2,9],ah:[2,9]},93:{ab:[1,t,104]},94:{h:[2,10],k:[2,10],l:[2,10],m:[2,10],n:[2,10],o:[2,10],p:[2,10],q:[2,10],r:[2,10],s:[2,10],t:[2,10],u:[2,10],v:[2,10],w:[2,10],j:[2,10],ae:[2,10],g:[2,10],ah:[2,10]},95:{i:[2,56],ac:[2,56],ad:[2,56],h:[2,56],k:[2,56],l:[2,56],m:[2,56],n:[2,56],o:[2,56],p:[2,56],q:[2,56],r:[2,56],s:[2,56],t:[2,56],u:[2,56],v:[2,56],w:[2,56],j:[2,56],ae:[2,56],g:[2,56],ah:[2,56]},96:{ae:[2,23],g:[2,23]},97:{ah:[2,18],g:[2,18]},98:{ah:[2,19],g:[2,19]},99:{ah:[2,21],g:[2,21]},100:{h:[1,t,106]},101:{j:[2,53],g:[2,53]},102:{g:[1,t,93],j:[1,t,107]},103:{g:[2,12],j:[2,12]},104:{aa:[1,t,90]},105:{j:[2,51],g:[2,51]},106:{a:[2,5],e:[2,5],c:[2,5],f:[2,5],b:[2,5],d:[2,5]},107:{h:[2,8],k:[2,8],l:[2,8],m:[2,8],n:[2,8],o:[2,8],p:[2,8],q:[2,8],r:[2,8],s:[2,8],t:[2,8],u:[2,8],v:[2,8],w:[2,8],j:[2,8],ae:[2,8],g:[2,8],ah:[2,8]}}},o.parse=function(n,a){var i,o,u,p,c,l=this,h=l.lexer,f=l.table,m=f.gotos,v=f.action,b=l.productions,d=a?"in file: "+a+" ":"",y=[],x=[0],g=[];for(h.resetInput(n);;){if(i=e(x),o||(o=h.lex()),p=o?v[i]&&v[i][o]:null,!p){var E,w=[];throw v[i]&&r(v[i],function(t,e){p=t[s.TYPE_INDEX];var n=[];n[s.SHIFT_TYPE]="shift",n[s.REDUCE_TYPE]="reduce",n[s.ACCEPT_TYPE]="accept",w.push(n[p]+":"+l.lexer.mapReverseSymbol(e))}),E=d+"syntax error at line "+h.lineNumber+":\n"+h.showDebugInfo()+"\nexpect "+w.join(", "),new Error(E)}switch(p[s.TYPE_INDEX]){case s.SHIFT_TYPE:g.push(o),y.push(h.text),x.push(p[s.TO_INDEX]),o=null;break;case s.REDUCE_TYPE:var j=b[p[s.PRODUCTION_INDEX]],$=j.symbol||j[0],S=j.action||j[2],C=j.rhs||j[1],k=C.length;c=e(y,k),u=t,l.$$=c;for(var T=0;k>T;T++)l["$"+(k-T)]=e(y,T+1);S&&(u=S.call(l)),c=u!==t?u:l.$$;var A=-1*k;x.splice(A,k),y.splice(A,k),g.splice(A,k),g.push($),y.push(c);var N=m[e(x)][$];x.push(N);break;case s.ACCEPT_TYPE:return c}}},o}();return"undefined"!=typeof p&&(t=e),t}(),r=function(t){function e(t,e){var n=t.length,a=e.length;if(n!==a)return 0;for(var r=0;n>r;r++)if(t[r]!==e[r])return 0;return 1}var n={};return n.ProgramNode=function(t,e,n){var a=this;a.pos=t,a.statements=e,a.inverse=n},n.ProgramNode.prototype.type="program",n.BlockStatement=function(t,n,a,r,i){var o,s=r.parts,u=this;if(!e(n.id.parts,s))throw o="Syntax error at line "+t.line+", col "+t.col+":\nexpect {{/"+n.id.parts+"}} not {{/"+s+"}}",new Error(o);u.escape=i,u.pos=t,u.func=n,u.program=a},n.BlockStatement.prototype.type="blockStatement",n.ExpressionStatement=function(t,e,n){var a=this;a.pos=t,a.value=e,a.escape=n},n.ExpressionStatement.prototype.type="expressionStatement",n.ContentStatement=function(t,e){var n=this;n.pos=t,n.value=e},n.ContentStatement.prototype.type="contentStatement",n.UnaryExpression=function(t,e){this.value=e,this.unaryType=t},n.Function=function(t,e,n,a){var r=this;r.pos=t,r.id=e,r.params=n,r.hash=a},n.Function.prototype.type="function",n.UnaryExpression.prototype.type="unaryExpression",n.MultiplicativeExpression=function(t,e,n){var a=this;a.op1=t,a.opType=e,a.op2=n},n.MultiplicativeExpression.prototype.type="multiplicativeExpression",n.AdditiveExpression=function(t,e,n){var a=this;a.op1=t,a.opType=e,a.op2=n},n.AdditiveExpression.prototype.type="additiveExpression",n.RelationalExpression=function(t,e,n){var a=this;a.op1=t,a.opType=e,a.op2=n},n.RelationalExpression.prototype.type="relationalExpression",n.EqualityExpression=function(t,e,n){var a=this;a.op1=t,a.opType=e,a.op2=n},n.EqualityExpression.prototype.type="equalityExpression",n.ConditionalAndExpression=function(t,e){var n=this;n.op1=t,n.op2=e,n.opType="&&"},n.ConditionalAndExpression.prototype.type="conditionalAndExpression",n.ConditionalOrExpression=function(t,e){var n=this;n.op1=t,n.op2=e,n.opType="||"},n.ConditionalOrExpression.prototype.type="conditionalOrExpression",n.String=function(t,e){var n=this;n.pos=t,n.value=e},n.String.prototype.type="string",n.Number=function(t,e){var n=this;n.pos=t,n.value=e},n.Number.prototype.type="number",n.Hash=function(t){var e=this,n={};e.pos=t,e.value=n},n.Hash.prototype.type="hash",n.ArrayExpression=function(t){this.list=t},n.ArrayExpression.prototype.type="arrayExpression",n.JsonExpression=function(t){this.json=t},n.JsonExpression.prototype.type="jsonExpression",n.Id=function(t,e){var n=this,a=[],r=0;n.pos=t;for(var i=0,o=e.length;o>i;i++){var s=e[i];".."===s?r++:a.push(s)}n.parts=a,n.string=a.join("."),n.depth=r},n.Id.prototype.type="id",t=n}(),i=function(n){var a=e,r=t,i={range:function(t,e){var n=e.params,a=n[0],r=n[1],i=n[2];i?(a>r&&i>0||r>a&&0>i)&&(i=-i):i=a>r?-1:1;for(var o=[],s=a;r>a?r>s:s>r;s+=i)o.push(s);return o},foreach:function(t,e,n){var r,i,o,s,u=e.params,p=u[0],c=u[2]||"xindex",l=u[1];if(p)for(r=p.length,s=0;r>s;s++)i=new a(p[s]),o=i.affix={xcount:r,xindex:s},"xindex"!==c&&(o[c]=s,delete o.xindex),l&&(o[l]=p[s]),i.setParent(t),n=e.fn(i,n);return n},forin:function(t,e,n){var r,i,o,s=e.params,u=s[0],p=s[2]||"xindex",c=s[1];if(u)for(o in u)r=new a(u[o]),i=r.affix={},i[p]=o,c&&(i[c]=u[o]),r.setParent(t),n=e.fn(r,n);return n},each:function(t,e,n){var a=e.params,o=a[0];return o?r.isArray(o)?i.foreach(t,e,n):i.forin(t,e,n):n},"with":function(t,e,n){var r=e.params,i=r[0];if(i){var o=new a(i);o.setParent(t),n=e.fn(o,n)}return n},"if":function(t,e,n){var a=e.params,r=a[0];if(r){var i=e.fn;i&&(n=i(t,n))}else{var o=!1,s=e.elseIfs,u=e.inverse;if(s)for(var p=0,c=s.length;c>p;p++){var l=s[p];if(o=l.test(t)){n=l.fn(t,n);break}}!o&&u&&(n=u(t,n))}return n},set:function(t,e,n){return t.mix(e.hash),n},include:function(t,e,n){var r,i,o=e.params,s=o.length;i=t;var u=!0;for(e.hash&&(i=new a(e.hash),i.setParent(t),u=!1),r=0;s>r;r++)n=this.root.include(o[r],this,i,e,n,u);return n},parse:function(t,e,n){return i.include.call(this,new a,e,n)},extend:function(t,e,n){return this.runtime.extendTplName=e.params[0],n},block:function(t,e,n){var a,r=this,i=r.runtime,o=e.params,s=o[0];2===o.length&&(a=o[0],s=o[1]);var u,p=i.blocks=i.blocks||{},c=p[s],l={fn:e.fn,type:a};if(c){if(c.type)if("append"===c.type)l.next=c,p[s]=l;else if("prepend"===c.type){var h;for(u=c;u&&"prepend"===u.type;)h=u,u=u.next;l.next=u,h.next=l}}else p[s]=l;if(!i.extendTplName)for(u=p[s];u;)u.fn&&(n=u.fn.call(r,t,n)),u=u.next;return n},macro:function(t,e,n){var r=e.hash,i=e.params,o=i[0],s=i.slice(1),u=this,p=u.runtime,c=p.macros=p.macros||{};if(e.fn)c[o]={paramNames:s,hash:r,fn:e.fn};else{var l,h=c[o],f=h.hash||{};if(!h||!(l=h.paramNames)){var m="in file: "+u.name+" can not find macro: "+name+'" at line '+u.pos.line+", col "+u.pos.col;throw new Error(m)}for(var v=0,b=l.length;b>v;v++){var d=l[v];f[d]=s[v]}if(r)for(var y in r)f[y]=r[y];var x=new a(f);n=h.fn.call(u,x,n)}return n}};return i["debugger"]=function(){r.globalEval("debugger")},n=i}(),o=function(a){function r(t,e,n){var a=n[0],r=t&&t[a]||e&&e[a]||h[a];if(1===n.length)return r;if(r)for(var i=n.length,o=1;i>o&&(r=r[n[o]],r);o++);return r}function o(t,e){var n=t.split("/"),a=e.split("/");n.pop();for(var r=0,i=a.length;i>r;r++){var o=a[r];"."===o||(".."===o?n.pop():n.push(o))}return n.join("/")}function s(t,e,n){n=t.fn(e,n);var a=t.runtime,r=a.extendTplName;return r&&(a.extendTplName=null,n=t.root.include(r,t,e,null,n)),n.end()}function u(t,e,n,a,i,o){var s,u,p,c;if(o||(c=r(t.runtime.commands,t.root.config.commands,i)),c)return c.call(t,e,n,a);if(s="in file: "+t.name+" can not call: "+i.join(".")+'" at line '+t.pos.line+", col "+t.pos.col,u=e.resolve(i.slice(0,-1),o),p=u[i[i.length-1]])return p.apply(u,n.params);if(s)throw new Error(s);return a}function p(t,e){var n=this;n.fn=t,e=n.config=e||{},e.loader=e.loader||p.loader,this.subNameResolveCache={}}var c=t,l=i,h={},f=e,m=n,v={callFn:u,callCommand:function(t,e,n,a,r){return u(t,e,n,a,r)}},b={cache:{},load:function(t,e){var n=t.name,a=this.cache,r=a[n];return r?e(void 0,r):(require([n],function(t){a[n]=t,e(void 0,t)},function(){var n='template "'+t.name+'" does not exist';c.log(n,"error"),e(n)}),void 0)}};return c.mix(p,{loader:b,version:"2.2.2",nativeCommands:l,utils:v,util:c,addCommand:function(t,e){h[t]=e},removeCommand:function(t){delete h[t]}}),p.prototype={constructor:p,Scope:f,nativeCommands:l,utils:v,removeCommand:function(t){var e=this.config;e.commands&&delete e.commands[t]},addCommand:function(t,e){var n=this.config;n.commands=n.commands||{},n.commands[t]=e},resolve:function(t,e){if("."!==t.charAt(0))return t;if(!e){var n="parent template does not have name for relative sub tpl name: "+t;throw new Error(n)}var a=e+"_ks_"+t,r=this.subNameResolveCache,i=r[a];return i?i:t=r[a]=o(e,t)},include:function(t,e,n,a,r,i){var o=this,u=e.name,p=o.resolve(t,u);return r.async(function(r){o.config.loader.load({root:o,parentName:u,originalName:t,name:p,scope:n,option:a},function(t,o){"function"==typeof o?s({directAccess:i,root:e.root,fn:o,name:p,runtime:e.runtime},n,r):t?r.error(t):(a&&a.escaped?r.writeEscaped(o):r.append(o),r.end())})})},render:function(t,e,n){var a="",r=this,i=r.fn;"function"==typeof e&&(n=e,e=null),e=e||{},n=n||function(t,e){if(t)throw t instanceof Error||(t=new Error(t)),t;a=e};var o=r.config.name;!o&&i.TPL_NAME&&(o=i.TPL_NAME);var u=new f(t),c=new p.LinkedBuffer(n,r.config).head;return s({name:o,fn:i,runtime:{commands:e.commands},root:r,directAccess:!0},u,c),a}},p.Scope=f,p.LinkedBuffer=m,a=p}(),s=function(t){function e(t,e){var n=t.join("."),a=t[0];return["(","(t=(scope."+(e?"root.":"")+"affix &&scope."+(e?"root.":"")+"affix."+a+")) !== undefined?",(t.length>1?"scope."+(e?"root.":"")+"affix."+n:"t")+":","scope."+(e?"root.":"")+"data."+n,")"].join("")}function n(t){return W[t.string]?1:0}function i(t,e){return e+t.uuid++}function s(t){return'"'+t+'"'}function u(t){return"'"+t+"'"
}function p(t){return s(t.join('","'))}function c(t,e){return t.replace(e?te:ee,function(t){return t.length%2&&(t="\\"+t),t})}function l(t,e){return t=e?c(t,0):t.replace(/\\/g,"\\\\").replace(/'/g,"\\'"),t=t.replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")}function h(t,e){ne.apply(t,e)}function f(t,e){var n,a,r,o,s=[],u=t.opType,p=this[t.op1.type](t.op1,e),c=this[t.op2.type](t.op2,e);n=p.exp,a=c.exp;var l=i(this,"exp");return r=p.source,o=c.source,h(s,r),s.push("var "+l+" = "+n+";"),"&&"===u||"||"===u?(s.push("if("+("&&"===u?"":"!")+"("+l+")){"),h(s,o),s.push(l+" = "+a+";"),s.push("}")):(h(s,o),s.push(l+" = ("+n+")"+u+"("+a+");")),{exp:l,source:s}}function m(t,e){ae!==t.line&&(ae=t.line,e.push("pos.line = "+t.line+";"))}function v(t){var e,n,a=0;for(e=0,n=t.length;n>e;e++)if(t[e].type){a=1;break}return a}function b(t,e,n,a){if(1===n.length)return null;var r,i,o,u,p,c=v(n);if(c){var l=[];for(r=0,i=n.length;i>r;r++)o=n[r],u=o.type,u?(p=t[u](o,a),h(e,p.source),l.push(p.exp)):l.push(s(o));return l}return null}function d(t,e){for(var n,a=i(t,"func"),r=["function "+a+"(scope, buffer) {"],o=0,s=e.length;s>o;o++)n=e[o],h(r,t[n.type](n).source);return r.push(X),r.push("}"),h(t.functionDeclares,r),a}function y(t,e,n){for(var a,r=["function run(tpl) {",j,J],i=0,o=e.length;o>i;i++)a=e[i],h(r,t[a.type](a,{top:1}).source);return r.splice.apply(r,[2,0].concat(t.functionDeclares).concat("")),r.push(X),r.push("}"),r.push("function tryRun(tpl) {"),r.push("try {"),r.push("return run(tpl);"),r.push("} catch(e) {"),r.push("if(!e.xtpl){"),r.push('e.message += " ('+l(n)+':"+tpl.pos.line+")"'),r.push("e.xtpl = {pos: tpl.pos, name: "+u(l(n))+"};"),r.push("buffer.error(e);"),r.push("}"),r.push("throw e;"),r.push("}"),r.push("}"),r.push("return tryRun(this);"),{params:["scope","buffer"],source:r.join("\n")}}function x(t,e,n,a){var r=i(t,"option"),o=["var "+r+" = {"+(n?"escape: 1":"")+"};"],u=e.params,p=e.hash;if(u){var c=i(t,"params");o.push("var "+c+" = [];"),Q(u,function(e){var n=t[e.type](e,a);h(o,n.source),o.push(c+".push("+n.exp+");")}),o.push(r+".params = "+c+";")}if(p){var l=i(t,"hash");o.push("var "+l+" = {};"),Q(p.value,function(e,n){var r=t[e.type](e,a);h(o,r.source),o.push(l+"["+s(n)+"] = "+r.exp+";")}),o.push(r+".hash = "+l+";")}return{exp:r,source:o}}function g(t,e,n,a,r){var o,s,u,c,l=[],f=e.id,m=f.string,v=f.parts;if("elseif"===m)return{exp:"",source:[]};if(o=x(t,e,n,r),s=o.exp,h(l,o.source),a){var y,g,E,w=a.program,j=w.inverse,T=[],A=w.statements,N=[];for(c=0;c<A.length;c++)E=A[c],"expressionStatement"===E.type&&(g=E.value)&&"function"===g.type&&"elseif"===g.id.string?(y&&T.push(y),y={condition:g.params[0],statements:[]}):y?y.statements.push(E):N.push(E);if(y&&T.push(y),l.push(s+".fn = "+d(t,N)+";"),j&&l.push(s+".inverse = "+d(t,j)+";"),T.length){var z=i(t,"elseIfs");for(l.push("var "+z+" = []"),c=0;c<T.length;c++){var q=T[c],P=i(t,"elseIf");l.push("var "+P+" = {}");var I=q.condition,R=t[I.type](I,r);l.push(P+".test = function(scope){"),h(l,R.source),l.push("return ("+R.exp+");"),l.push("};"),l.push(P+".fn = "+d(t,q.statements)+";"),l.push(z+".push("+P+");")}l.push(s+".elseIfs = "+z+";")}}if(t.isModule&&("include"===m||"extend"===m)){var D=i(t,"module");l.push(K(L,{name:e.params[0].value,variable:D})),l.push(K(_,{option:s,variable:D}))}if(a||(u=i(t,"callRet"),l.push("var "+u)),m in V)l.push(K($,{lhs:a?"buffer":u,name:m,option:s}));else if(a)l.push(K(S,{option:s,idParts:p(v)}));else{var U=b(t,l,v,r);l.push(K(f.depth?k:C,{lhs:u,option:s,idParts:U?U.join(","):p(v),depth:f.depth}))}return u&&l.push(K(O,{name:u})),{exp:u,source:l}}function E(t){this.functionDeclares=[],this.isModule=t,this.uuid=0}var w=o.util,j=["var t;","var root = tpl.root;","var directAccess = tpl.directAccess;","var pos = tpl.pos = {line:1};","var nativeCommands = root.nativeCommands;","var utils = root.utils;"].join("\n"),$="{lhs} = {name}Command.call(tpl, scope, {option}, buffer);",S="buffer = callCommandUtil(tpl, scope, {option}, buffer, [{idParts}]);",C="{lhs} = callFnUtil(tpl, scope, {option}, buffer, [{idParts}]);",k="{lhs} = callFnUtil(tpl, scope, {option}, buffer, [{idParts}], {depth});",T="var {lhs} = scope.resolve([{idParts}]);",A=["var {lhs} = directAccess ? {value} : scope.resolve([{idPartsArr}]);"].join("\n"),N=["var {lhs} = {value};"].join("\n"),z="var {lhs} = {value};",q=["var {lhs} = scope.data;"].join("\n"),P="var {lhs} = scope.root.data;",I="var {lhs} = scope.resolve([{idParts}],{depth});",L='var {variable} = require("{name}");',_="{option}.params[0] = {variable}.TPL_NAME;",O=["if({name} && {name}.isBuffer){","buffer = {name};","{name} = undefined;","}"].join("\n"),R=["function {functionName}({params}){","{body}","}"].join("\n"),D=["","//# sourceURL = {name}.js"].join("\n"),U='var {name}Command = nativeCommands["{name}"];',M='var {name}Util = utils["{name}"];',B="buffer.write({value});",F="buffer.append({value});",Y="buffer.writeEscaped({value});",X="return buffer;",G=o,H=a;H.yy=r;var J=[],K=w.substitute,Q=w.each,V=G.nativeCommands,Z=G.utils,W={};W.undefined=W["null"]=W["true"]=W["false"]=1,Q(Z,function(t,e){J.push(K(M,{name:e}))}),Q(V,function(t,e){J.push(K(U,{name:e}))}),J=J.join("\n");var te=/\\*"/g,ee=/\\*'/g,ne=[].push,ae=1;E.prototype={constructor:E,arrayExpression:function(t,e){for(var n,a=t.list,r=a.length,i=[],o=[],s=0;r>s;s++)n=this[a[s].type](a[s],e),h(i,n.source),o.push(n.exp);return{exp:"["+o.join(",")+"]",source:i}},jsonExpression:function(t,e){for(var n,a=t.json,r=a.length,i=[],o=[],s=0;r>s;s++){var u=a[s];n=this[u[1].type](u[1],e),h(i,n.source),o.push('"'+u[0]+'": '+n.exp)}return{exp:"{"+o.join(",")+"}",source:i}},conditionalOrExpression:f,conditionalAndExpression:f,relationalExpression:f,equalityExpression:f,additiveExpression:f,multiplicativeExpression:f,unaryExpression:function(t,e){var n=this[t.value.type](t.value,e);return{exp:t.unaryType+"("+n.exp+")",source:n.source}},string:function(t){return{exp:u(l(t.value,1)),source:[]}},number:function(t){return{exp:t.value,source:[]}},id:function(t,a){var r=[];if(m(t.pos,r),n(t))return{exp:t.string,source:r};var o=t.depth,s=t.parts,u=i(this,"id");if(!o){var c=v(s);if(!c){var l,h,f=s[0];if("this"===f)return h=s.slice(1),l=h.join("."),l&&(l="."+l),r.push(K(l?N:q,{lhs:u,value:e(h),idParts:l})),{exp:u,source:r};if("root"===f)return h=s.slice(1),l=h.join("."),l&&(l="."+l),r.push(K(l?z:P,{lhs:u,value:e(h,!0),idParts:l})),{exp:u,source:r};if(a&&a.top)return l=s.join("."),l&&(l="."+l),r.push(K(A,{lhs:u,idParts:l,value:e(s),idPartsArr:p(s)})),{exp:u,source:r}}}var d=b(this,r,s,a);return r.push(K(o?I:T,{lhs:u,idParts:d?d.join(","):p(s),depth:o})),{exp:u,source:r}},"function":function(t,e){return g(this,t,e.escape,!1,e)},blockStatement:function(t,e){return g(this,t.func,t.escape,t,e)},expressionStatement:function(t,e){var n,a,r=[],i=t.escape,o=t.value,s=o.type;return e=e||{},e.escape=i,n=this[s](o,e),h(r,n.source),a=n.exp,r.push(K(i?Y:B,{value:a})),{exp:"",source:r}},contentStatement:function(t){return{exp:"",source:[K(F,{value:u(l(t.value,0))})]}}};var re,ie=0;return re={parse:function(t,e){return H.parse(t,e)},compileToStr:function(t){var e=re.compileToJson(t);return K(R,{functionName:t.functionName||"",params:e.params.join(","),body:e.source})},compileToJson:function(t){var e=t.name=t.name||"xtemplate"+ ++ie,n=re.parse(t.content,e);return y(new E(t.isModule),n.statements,e)},compile:function(t,e){var n=re.compileToJson({content:t,name:e});return Function.apply(null,n.params.concat(n.source+K(D,{name:e})))}},t=re}(),u=function(t){function e(t,n){var r=this;n=r.config=n||{},n.loader=n.loader||e.loader,"string"==typeof t&&(t=i.compile(t,n&&n.name)),a.call(r,t,n)}function n(){}var a=o,r=a.util,i=s,u={cache:{},load:function(t,n){var a=t.name,i=this.cache;return i[a]?n(void 0,i[a]):(require([a],function(t){if("string"==typeof t)try{t=e.compile(t,a)}catch(r){return n(r)}i[a]=t,n(void 0,t)},function(){var t='template "'+a+'" does not exist';r.log(t,"error"),n(t)}),void 0)}};return n.prototype=a.prototype,e.prototype=new n,e.prototype.constructor=e,t=r.mix(e,{compile:i.compile,version:"2.2.2",loader:u,Compiler:i,Scope:a.Scope,Runtime:a,addCommand:a.addCommand,removeCommand:a.removeCommand})}()}();