var Handlebars={},toString,functionType,handlebars;Handlebars.VERSION="1.0.beta.6",Handlebars.helpers={},Handlebars.partials={},Handlebars.registerHelper=function(n,t,i){i&&(t.not=i),this.helpers[n]=t},Handlebars.registerPartial=function(n,t){this.partials[n]=t},Handlebars.registerHelper("helperMissing",function(n){if(arguments.length===2)return undefined;throw new Error("Could not find property '"+n+"'");}),toString=Object.prototype.toString,functionType="[object Function]",Handlebars.registerHelper("blockHelperMissing",function(n,t){var f=t.inverse||function(){},u=t.fn,i="",e=toString.call(n),r,o;if(e===functionType&&(n=n.call(this)),n===!0)return u(this);if(n===!1||n==null)return f(this);if(e==="[object Array]"){if(n.length>0)for(r=0,o=n.length;r<o;r++)i=i+u(n[r]);else i=f(this);return i}return u(n)}),Handlebars.registerHelper("each",function(n,t){var f=t.fn,e=t.inverse,i="",r,u;if(n&&n.length>0)for(r=0,u=n.length;r<u;r++)i=i+f(n[r]);else i=e(this);return i}),Handlebars.registerHelper("if",function(n,t){var i=toString.call(n);return i===functionType&&(n=n.call(this)),!n||Handlebars.Utils.isEmpty(n)?t.inverse(this):t.fn(this)}),Handlebars.registerHelper("unless",function(n,t){var i=t.fn,r=t.inverse;return t.fn=r,t.inverse=i,Handlebars.helpers["if"].call(this,n,t)}),Handlebars.registerHelper("with",function(n,t){return t.fn(n)}),Handlebars.registerHelper("log",function(n){Handlebars.log(n)}),handlebars=function(){var n={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,statements:6,simpleInverse:7,statement:8,openInverse:9,closeBlock:10,openBlock:11,mustache:12,partial:13,CONTENT:14,COMMENT:15,OPEN_BLOCK:16,inMustache:17,CLOSE:18,OPEN_INVERSE:19,OPEN_ENDBLOCK:20,path:21,OPEN:22,OPEN_UNESCAPED:23,OPEN_PARTIAL:24,params:25,hash:26,param:27,STRING:28,INTEGER:29,BOOLEAN:30,hashSegments:31,hashSegment:32,ID:33,EQUALS:34,pathSegments:35,SEP:36,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"CONTENT",15:"COMMENT",16:"OPEN_BLOCK",18:"CLOSE",19:"OPEN_INVERSE",20:"OPEN_ENDBLOCK",22:"OPEN",23:"OPEN_UNESCAPED",24:"OPEN_PARTIAL",28:"STRING",29:"INTEGER",30:"BOOLEAN",33:"ID",34:"EQUALS",36:"SEP"},productions_:[0,[3,2],[4,3],[4,1],[4,0],[6,1],[6,2],[8,3],[8,3],[8,1],[8,1],[8,1],[8,1],[11,3],[9,3],[10,3],[12,3],[12,3],[13,3],[13,4],[7,2],[17,3],[17,2],[17,2],[17,1],[25,2],[25,1],[27,1],[27,1],[27,1],[27,1],[26,1],[31,2],[31,1],[32,3],[32,3],[32,3],[32,3],[21,1],[35,3],[35,1]],performAction:function(n,t,i,r,u,f){var o=f.length-1;switch(u){case 1:return f[o-1];case 2:this.$=new r.ProgramNode(f[o-2],f[o]);break;case 3:this.$=new r.ProgramNode(f[o]);break;case 4:this.$=new r.ProgramNode([]);break;case 5:this.$=[f[o]];break;case 6:f[o-1].push(f[o]),this.$=f[o-1];break;case 7:this.$=new r.InverseNode(f[o-2],f[o-1],f[o]);break;case 8:this.$=new r.BlockNode(f[o-2],f[o-1],f[o]);break;case 9:this.$=f[o];break;case 10:this.$=f[o];break;case 11:this.$=new r.ContentNode(f[o]);break;case 12:this.$=new r.CommentNode(f[o]);break;case 13:this.$=new r.MustacheNode(f[o-1][0],f[o-1][1]);break;case 14:this.$=new r.MustacheNode(f[o-1][0],f[o-1][1]);break;case 15:this.$=f[o-1];break;case 16:this.$=new r.MustacheNode(f[o-1][0],f[o-1][1]);break;case 17:this.$=new r.MustacheNode(f[o-1][0],f[o-1][1],!0);break;case 18:this.$=new r.PartialNode(f[o-1]);break;case 19:this.$=new r.PartialNode(f[o-2],f[o-1]);break;case 21:this.$=[[f[o-2]].concat(f[o-1]),f[o]];break;case 22:this.$=[[f[o-1]].concat(f[o]),null];break;case 23:this.$=[[f[o-1]],f[o]];break;case 24:this.$=[[f[o]],null];break;case 25:f[o-1].push(f[o]),this.$=f[o-1];break;case 26:this.$=[f[o]];break;case 27:this.$=f[o];break;case 28:this.$=new r.StringNode(f[o]);break;case 29:this.$=new r.IntegerNode(f[o]);break;case 30:this.$=new r.BooleanNode(f[o]);break;case 31:this.$=new r.HashNode(f[o]);break;case 32:f[o-1].push(f[o]),this.$=f[o-1];break;case 33:this.$=[f[o]];break;case 34:this.$=[f[o-2],f[o]];break;case 35:this.$=[f[o-2],new r.StringNode(f[o])];break;case 36:this.$=[f[o-2],new r.IntegerNode(f[o])];break;case 37:this.$=[f[o-2],new r.BooleanNode(f[o])];break;case 38:this.$=new r.IdNode(f[o]);break;case 39:f[o-2].push(f[o]),this.$=f[o-2];break;case 40:this.$=[f[o]]}},table:[{3:1,4:2,5:[2,4],6:3,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],24:[1,15]},{1:[3]},{5:[1,16]},{5:[2,3],7:17,8:18,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,19],20:[2,3],22:[1,13],23:[1,14],24:[1,15]},{5:[2,5],14:[2,5],15:[2,5],16:[2,5],19:[2,5],20:[2,5],22:[2,5],23:[2,5],24:[2,5]},{4:20,6:3,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,4],22:[1,13],23:[1,14],24:[1,15]},{4:21,6:3,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,4],22:[1,13],23:[1,14],24:[1,15]},{5:[2,9],14:[2,9],15:[2,9],16:[2,9],19:[2,9],20:[2,9],22:[2,9],23:[2,9],24:[2,9]},{5:[2,10],14:[2,10],15:[2,10],16:[2,10],19:[2,10],20:[2,10],22:[2,10],23:[2,10],24:[2,10]},{5:[2,11],14:[2,11],15:[2,11],16:[2,11],19:[2,11],20:[2,11],22:[2,11],23:[2,11],24:[2,11]},{5:[2,12],14:[2,12],15:[2,12],16:[2,12],19:[2,12],20:[2,12],22:[2,12],23:[2,12],24:[2,12]},{17:22,21:23,33:[1,25],35:24},{17:26,21:23,33:[1,25],35:24},{17:27,21:23,33:[1,25],35:24},{17:28,21:23,33:[1,25],35:24},{21:29,33:[1,25],35:24},{1:[2,1]},{6:30,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],24:[1,15]},{5:[2,6],14:[2,6],15:[2,6],16:[2,6],19:[2,6],20:[2,6],22:[2,6],23:[2,6],24:[2,6]},{17:22,18:[1,31],21:23,33:[1,25],35:24},{10:32,20:[1,33]},{10:34,20:[1,33]},{18:[1,35]},{18:[2,24],21:40,25:36,26:37,27:38,28:[1,41],29:[1,42],30:[1,43],31:39,32:44,33:[1,45],35:24},{18:[2,38],28:[2,38],29:[2,38],30:[2,38],33:[2,38],36:[1,46]},{18:[2,40],28:[2,40],29:[2,40],30:[2,40],33:[2,40],36:[2,40]},{18:[1,47]},{18:[1,48]},{18:[1,49]},{18:[1,50],21:51,33:[1,25],35:24},{5:[2,2],8:18,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,2],22:[1,13],23:[1,14],24:[1,15]},{14:[2,20],15:[2,20],16:[2,20],19:[2,20],22:[2,20],23:[2,20],24:[2,20]},{5:[2,7],14:[2,7],15:[2,7],16:[2,7],19:[2,7],20:[2,7],22:[2,7],23:[2,7],24:[2,7]},{21:52,33:[1,25],35:24},{5:[2,8],14:[2,8],15:[2,8],16:[2,8],19:[2,8],20:[2,8],22:[2,8],23:[2,8],24:[2,8]},{14:[2,14],15:[2,14],16:[2,14],19:[2,14],20:[2,14],22:[2,14],23:[2,14],24:[2,14]},{18:[2,22],21:40,26:53,27:54,28:[1,41],29:[1,42],30:[1,43],31:39,32:44,33:[1,45],35:24},{18:[2,23]},{18:[2,26],28:[2,26],29:[2,26],30:[2,26],33:[2,26]},{18:[2,31],32:55,33:[1,56]},{18:[2,27],28:[2,27],29:[2,27],30:[2,27],33:[2,27]},{18:[2,28],28:[2,28],29:[2,28],30:[2,28],33:[2,28]},{18:[2,29],28:[2,29],29:[2,29],30:[2,29],33:[2,29]},{18:[2,30],28:[2,30],29:[2,30],30:[2,30],33:[2,30]},{18:[2,33],33:[2,33]},{18:[2,40],28:[2,40],29:[2,40],30:[2,40],33:[2,40],34:[1,57],36:[2,40]},{33:[1,58]},{14:[2,13],15:[2,13],16:[2,13],19:[2,13],20:[2,13],22:[2,13],23:[2,13],24:[2,13]},{5:[2,16],14:[2,16],15:[2,16],16:[2,16],19:[2,16],20:[2,16],22:[2,16],23:[2,16],24:[2,16]},{5:[2,17],14:[2,17],15:[2,17],16:[2,17],19:[2,17],20:[2,17],22:[2,17],23:[2,17],24:[2,17]},{5:[2,18],14:[2,18],15:[2,18],16:[2,18],19:[2,18],20:[2,18],22:[2,18],23:[2,18],24:[2,18]},{18:[1,59]},{18:[1,60]},{18:[2,21]},{18:[2,25],28:[2,25],29:[2,25],30:[2,25],33:[2,25]},{18:[2,32],33:[2,32]},{34:[1,57]},{21:61,28:[1,62],29:[1,63],30:[1,64],33:[1,25],35:24},{18:[2,39],28:[2,39],29:[2,39],30:[2,39],33:[2,39],36:[2,39]},{5:[2,19],14:[2,19],15:[2,19],16:[2,19],19:[2,19],20:[2,19],22:[2,19],23:[2,19],24:[2,19]},{5:[2,15],14:[2,15],15:[2,15],16:[2,15],19:[2,15],20:[2,15],22:[2,15],23:[2,15],24:[2,15]},{18:[2,34],33:[2,34]},{18:[2,35],33:[2,35]},{18:[2,36],33:[2,36]},{18:[2,37],33:[2,37]}],defaultActions:{16:[2,1],37:[2,23],53:[2,21]},parseError:function(n){throw new Error(n);},parse:function(n){function tt(){var n;return n=k.lexer.lex()||1,typeof n!="number"&&(n=k.symbols_[n]||n),n}var k=this,i=[0],f=[null],t=[],h=this.table,d="",c=0,g=0,p=0,it=2,rt=1,l,r,w,o,u,ut,b,s,a,e,nt,v,y;for(this.lexer.setInput(n),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,typeof this.lexer.yylloc=="undefined"&&(this.lexer.yylloc={}),l=this.lexer.yylloc,t.push(l),typeof this.yy.parseError=="function"&&(this.parseError=this.yy.parseError),s={};;){if(o=i[i.length-1],this.defaultActions[o]?u=this.defaultActions[o]:(r==null&&(r=tt()),u=h[o]&&h[o][r]),(typeof u=="undefined"||!u.length||!u[0])&&!p){v=[];for(a in h[o])this.terminals_[a]&&a>2&&v.push("'"+this.terminals_[a]+"'");y="",y=this.lexer.showPosition?"Parse error on line "+(c+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+v.join(", ")+", got '"+this.terminals_[r]+"'":"Parse error on line "+(c+1)+": Unexpected "+(r==1?"end of input":"'"+(this.terminals_[r]||r)+"'"),this.parseError(y,{text:this.lexer.match,token:this.terminals_[r]||r,line:this.lexer.yylineno,loc:l,expected:v})}if(u[0]instanceof Array&&u.length>1)throw new Error("Parse Error: multiple actions possible at state: "+o+", token: "+r);switch(u[0]){case 1:i.push(r),f.push(this.lexer.yytext),t.push(this.lexer.yylloc),i.push(u[1]),r=null,w?(r=w,w=null):(g=this.lexer.yyleng,d=this.lexer.yytext,c=this.lexer.yylineno,l=this.lexer.yylloc,p>0&&p--);break;case 2:if(e=this.productions_[u[1]][1],s.$=f[f.length-e],s._$={first_line:t[t.length-(e||1)].first_line,last_line:t[t.length-1].last_line,first_column:t[t.length-(e||1)].first_column,last_column:t[t.length-1].last_column},b=this.performAction.call(s,d,g,c,this.yy,u[1],f,t),typeof b!="undefined")return b;e&&(i=i.slice(0,-2*e),f=f.slice(0,-1*e),t=t.slice(0,-1*e)),i.push(this.productions_[u[1]][0]),f.push(s.$),t.push(s._$),nt=h[i[i.length-2]][i[i.length-1]],i.push(nt);break;case 3:return!0}}return!0}},t=function(){var n={EOF:1,parseError:function(n,t){if(this.yy.parseError)this.yy.parseError(n,t);else throw new Error(n);},setInput:function(n){return this._input=n,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var n=this._input[0],t;return this.yytext+=n,this.yyleng++,this.match+=n,this.matched+=n,t=n.match(/\n/),t&&this.yylineno++,this._input=this._input.slice(1),n},unput:function(n){return this._input=n+this._input,this},more:function(){return this._more=!0,this},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),t=new Array(n.length+1).join("-");return n+this.upcomingInput()+"\n"+t+"^"},next:function(){var u,n,f,t,r,i;if(this.done)return this.EOF;for(this._input||(this.done=!0),this._more||(this.yytext="",this.match=""),r=this._currentRules(),i=0;i<r.length;i++)if(n=this._input.match(this.rules[r[i]]),n)return(t=n[0].match(/\n.*/g),t&&(this.yylineno+=t.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:t?t[t.length-1].length-1:this.yylloc.last_column+n[0].length},this.yytext+=n[0],this.match+=n[0],this.matches=n,this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(n[0].length),this.matched+=n[0],u=this.performAction.call(this,this.yy,this,r[i],this.conditionStack[this.conditionStack.length-1]),u)?u:void 0;if(this._input==="")return this.EOF;this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var n=this.next();return typeof n!="undefined"?n:this.lex()},begin:function(n){this.conditionStack.push(n)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(n){this.begin(n)}};return n.performAction=function(n,t,i,r){var u=r;switch(i){case 0:if(t.yytext.slice(-1)!=="\\"&&this.begin("mu"),t.yytext.slice(-1)==="\\"&&(t.yytext=t.yytext.substr(0,t.yyleng-1),this.begin("emu")),t.yytext)return 14;break;case 1:return 14;case 2:return this.popState(),14;case 3:return 24;case 4:return 16;case 5:return 20;case 6:return 19;case 7:return 19;case 8:return 23;case 9:return 23;case 10:return t.yytext=t.yytext.substr(3,t.yyleng-5),this.popState(),15;case 11:return 22;case 12:return 34;case 13:return 33;case 14:return 33;case 15:return 36;case 17:return this.popState(),18;case 18:return this.popState(),18;case 19:return t.yytext=t.yytext.substr(1,t.yyleng-2).replace(/\\"/g,'"'),28;case 20:return 30;case 21:return 30;case 22:return 29;case 23:return 33;case 24:return t.yytext=t.yytext.substr(1,t.yyleng-2),33;case 25:return"INVALID";case 26:return 5}},n.rules=[/^[^\x00]*?(?=(\{\{))/,/^[^\x00]+/,/^[^\x00]{2,}?(?=(\{\{))/,/^\{\{>/,/^\{\{#/,/^\{\{\//,/^\{\{\^/,/^\{\{\s*else\b/,/^\{\{\{/,/^\{\{&/,/^\{\{![\s\S]*?\}\}/,/^\{\{/,/^=/,/^\.(?=[} ])/,/^\.\./,/^[\/.]/,/^\s+/,/^\}\}\}/,/^\}\}/,/^"(\\["]|[^"])*"/,/^true(?=[}\s])/,/^false(?=[}\s])/,/^[0-9]+(?=[}\s])/,/^[a-zA-Z0-9_$-]+(?=[=}\s\/.])/,/^\[[^\]]*\]/,/^./,/^$/],n.conditions={mu:{rules:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26],inclusive:!1},emu:{rules:[2],inclusive:!1},INITIAL:{rules:[0,1,26],inclusive:!0}},n}();return n.lexer=t,n}(),typeof require!="undefined"&&typeof exports!="undefined"&&(exports.parser=handlebars,exports.parse=function(){return handlebars.parse.apply(handlebars,arguments)},exports.main=function(n){var i,t;if(!n[1])throw new Error("Usage: "+n[0]+" FILE");return typeof process!="undefined"?t=require("fs").readFileSync(require("path").join(process.cwd(),n[1]),"utf8"):(i=require("file").path(require("file").cwd()),t=i.join(n[1]).read({charset:"utf-8"})),exports.parser.parse(t)},typeof module!="undefined"&&require.main===module&&exports.main(typeof process!="undefined"?process.argv.slice(1):require("system").args)),Handlebars.Parser=handlebars,Handlebars.parse=function(n){return Handlebars.Parser.yy=Handlebars.AST,Handlebars.Parser.parse(n)},Handlebars.print=function(n){return(new Handlebars.PrintVisitor).accept(n)},Handlebars.logger={DEBUG:0,INFO:1,WARN:2,ERROR:3,level:3,log:function(){}},Handlebars.log=function(n,t){Handlebars.logger.log(n,t)},function(){Handlebars.AST={},Handlebars.AST.ProgramNode=function(n,t){this.type="program",this.statements=n,t&&(this.inverse=new Handlebars.AST.ProgramNode(t))},Handlebars.AST.MustacheNode=function(n,t,i){this.type="mustache",this.id=n[0],this.params=n.slice(1),this.hash=t,this.escaped=!i},Handlebars.AST.PartialNode=function(n,t){this.type="partial",this.id=n,this.context=t};var n=function(n,t){if(n.original!==t.original)throw new Handlebars.Exception(n.original+" doesn't match "+t.original);};Handlebars.AST.BlockNode=function(t,i,r){n(t.id,r),this.type="block",this.mustache=t,this.program=i},Handlebars.AST.InverseNode=function(t,i,r){n(t.id,r),this.type="inverse",this.mustache=t,this.program=i},Handlebars.AST.ContentNode=function(n){this.type="content",this.string=n},Handlebars.AST.HashNode=function(n){this.type="hash",this.pairs=n},Handlebars.AST.IdNode=function(n){var t,r,u,f,i;for(this.type="ID",this.original=n.join("."),t=[],r=0,u=0,f=n.length;u<f;u++)i=n[u],i===".."?r++:i==="."||i==="this"?this.isScoped=!0:t.push(i);this.parts=t,this.string=t.join("."),this.depth=r,this.isSimple=t.length===1&&r===0},Handlebars.AST.StringNode=function(n){this.type="STRING",this.string=n},Handlebars.AST.IntegerNode=function(n){this.type="INTEGER",this.integer=n},Handlebars.AST.BooleanNode=function(n){this.type="BOOLEAN",this.bool=n},Handlebars.AST.CommentNode=function(n){this.type="comment",this.comment=n}}(),Handlebars.Exception=function(){var t=Error.prototype.constructor.apply(this,arguments),i;for(i in t)t.hasOwnProperty(i)&&(this[i]=t[i]);this.message=t.message},Handlebars.Exception.prototype=new Error,Handlebars.SafeString=function(n){this.string=n},Handlebars.SafeString.prototype.toString=function(){return this.string.toString()},function(){var n={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},t=/&(?!\w+;)|[<>"'`]/g,i=/[&<>"'`]/,r=function(t){return n[t]||"&amp;"};Handlebars.Utils={escapeExpression:function(n){return n instanceof Handlebars.SafeString?n.toString():n==null||n===!1?"":i.test(n)?n.replace(t,r):n},isEmpty:function(n){return typeof n=="undefined"?!0:n===null?!0:n===!1?!0:Object.prototype.toString.call(n)==="[object Array]"&&n.length===0?!0:!1}}}(),Handlebars.Compiler=function(){},Handlebars.JavaScriptCompiler=function(){},function(n,t){var u,e,f,o,i,r;n.OPCODE_MAP={appendContent:1,getContext:2,lookupWithHelpers:3,lookup:4,append:5,invokeMustache:6,appendEscaped:7,pushString:8,truthyOrFallback:9,functionOrFallback:10,invokeProgram:11,invokePartial:12,push:13,assignToHash:15,pushStringParam:16},n.MULTI_PARAM_OPCODES={appendContent:1,getContext:1,lookupWithHelpers:2,lookup:1,invokeMustache:3,pushString:1,truthyOrFallback:1,functionOrFallback:1,invokeProgram:3,invokePartial:1,push:1,assignToHash:1,pushStringParam:1},n.DISASSEMBLE_MAP={};for(u in n.OPCODE_MAP)e=n.OPCODE_MAP[u],n.DISASSEMBLE_MAP[e]=u;for(n.multiParamSize=function(t){return n.MULTI_PARAM_OPCODES[n.DISASSEMBLE_MAP[t]]},n.prototype={compiler:n,disassemble:function(){for(var i=this.opcodes,u,r,e=[],f,h,c,a,o,s,t=0,l=i.length;t<l;t++)if(u=i[t],u==="DECLARE")h=i[++t],c=i[++t],e.push("DECLARE "+h+" = "+c);else{for(f=n.DISASSEMBLE_MAP[u],a=n.multiParamSize(u),o=[],s=0;s<a;s++)r=i[++t],typeof r=="string"&&(r='"'+r.replace("\n","\\n")+'"'),o.push(r);f=f+" "+o.join(" "),e.push(f)}return e.join("\n")},guid:0,compile:function(n,t){var i,r;if(this.children=[],this.depths={list:[]},this.options=t,i=this.options.knownHelpers,this.options.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0},i)for(r in i)this.options.knownHelpers[r]=i[r];return this.program(n)},accept:function(n){return this[n.type](n)},program:function(n){var u=n.statements,i,t,r;for(this.opcodes=[],t=0,r=u.length;t<r;t++)i=u[t],this[i.type](i);return this.isSimple=r===1,this.depths.list=this.depths.list.sort(function(n,t){return n-t}),this},compileProgram:function(n){var t=(new this.compiler).compile(n,this.options),r=this.guid++,i,u;for(this.usePartial=this.usePartial||t.usePartial,this.children[r]=t,i=0,u=t.depths.list.length;i<u;i++)if(depth=t.depths.list[i],depth<2)continue;else this.addDepth(depth-1);return r},block:function(n){var t=n.mustache,f,e,o,i,r=this.setupStackForMustache(t),u=this.compileProgram(n.program);n.program.inverse&&(i=this.compileProgram(n.program.inverse),this.declare("inverse",i)),this.opcode("invokeProgram",u,r.length,!!t.hash),this.declare("inverse",null),this.opcode("append")},inverse:function(n){var t=this.setupStackForMustache(n.mustache),i=this.compileProgram(n.program);this.declare("inverse",i),this.opcode("invokeProgram",null,t.length,!!n.mustache.hash),this.declare("inverse",null),this.opcode("append")},hash:function(n){var r=n.pairs,i,u,t,f;for(this.opcode("push","{}"),t=0,f=r.length;t<f;t++)i=r[t],u=i[1],this.accept(u),this.opcode("assignToHash",i[0])},partial:function(n){var t=n.id;this.usePartial=!0,n.context?this.ID(n.context):this.opcode("push","depth0"),this.opcode("invokePartial",t.original),this.opcode("append")},content:function(n){this.opcode("appendContent",n.string)},mustache:function(n){var t=this.setupStackForMustache(n);this.opcode("invokeMustache",t.length,n.id.original,!!n.hash),n.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},ID:function(n){this.addDepth(n.depth),this.opcode("getContext",n.depth),this.opcode("lookupWithHelpers",n.parts[0]||null,n.isScoped||!1);for(var t=1,i=n.parts.length;t<i;t++)this.opcode("lookup",n.parts[t])},STRING:function(n){this.opcode("pushString",n.string)},INTEGER:function(n){this.opcode("push",n.integer)},BOOLEAN:function(n){this.opcode("push",n.bool)},comment:function(){},pushParams:function(n){for(var i=n.length,t;i--;)t=n[i],this.options.stringParams?(t.depth&&this.addDepth(t.depth),this.opcode("getContext",t.depth||0),this.opcode("pushStringParam",t.string)):this[t.type](t)},opcode:function(t,i,r,u){this.opcodes.push(n.OPCODE_MAP[t]),i!==undefined&&this.opcodes.push(i),r!==undefined&&this.opcodes.push(r),u!==undefined&&this.opcodes.push(u)},declare:function(n,t){this.opcodes.push("DECLARE"),this.opcodes.push(n),this.opcodes.push(t)},addDepth:function(n){n!==0&&(this.depths[n]||(this.depths[n]=!0,this.depths.list.push(n)))},setupStackForMustache:function(n){var t=n.params;return this.pushParams(t),n.hash&&this.hash(n.hash),this.ID(n.id),t}},t.prototype={nameLookup:function(n,i){return/^[0-9]+$/.test(i)?n+"["+i+"]":t.isValidJavaScriptVariableName(i)?n+"."+i:n+"['"+i+"']"},appendToBuffer:function(n){return this.environment.isSimple?"return "+n+";":"buffer += "+n+";"},initializeBuffer:function(){return this.quotedString("")},namespace:"Handlebars",compile:function(n,t,i,u){this.environment=n,this.options=t||{},this.name=this.environment.name,this.isChild=!!i,this.context=i||{programs:[],aliases:{self:"this"},registers:{list:[]}},this.preamble(),this.stackSlot=0,this.stackVars=[],this.compileChildren(n,t);var e=n.opcodes,f;for(this.i=0,r=e.length;this.i<r;this.i++)f=this.nextOpcode(0),f[0]==="DECLARE"?(this.i=this.i+2,this[f[1]]=f[2]):(this.i=this.i+f[1].length,this[f[0]].apply(this,f[1]));return this.createFunctionContext(u)},nextOpcode:function(t){var i=this.environment.opcodes,f=i[this.i+t],r,o,s,e,u;if(f==="DECLARE")return r=i[this.i+1],o=i[this.i+2],["DECLARE",r,o];for(r=n.DISASSEMBLE_MAP[f],s=n.multiParamSize(f),e=[],u=0;u<s;u++)e.push(i[this.i+u+1+t]);return[r,e]},eat:function(n){this.i=this.i+n.length},preamble:function(){var n=[],i,t;this.useRegister("foundHelper"),this.isChild?n.push(""):(i=this.namespace,t="helpers = helpers || "+i+".helpers;",this.environment.usePartial&&(t=t+" partials = partials || "+i+".partials;"),n.push(t)),this.environment.isSimple?n.push(""):n.push(", buffer = "+this.initializeBuffer()),this.lastContext=0,this.source=n},createFunctionContext:function(n){var i=this.stackVars,o,u,t,r,e,f;if(this.isChild||(i=i.concat(this.context.registers.list)),i.length>0&&(this.source[1]=this.source[1]+", "+i.join(", ")),!this.isChild){o=[];for(u in this.context.aliases)this.source[1]=this.source[1]+", "+u+"="+this.context.aliases[u]}for(this.source[1]&&(this.source[1]="var "+this.source[1].substring(2)+";"),this.isChild||(this.source[1]+="\n"+this.context.programs.join("\n")+"\n"),this.environment.isSimple||this.source.push("return buffer;"),t=this.isChild?["depth0","data"]:["Handlebars","depth0","helpers","partials","data"],r=0,e=this.environment.depths.list.length;r<e;r++)t.push("depth"+this.environment.depths.list[r]);return n?(t.push(this.source.join("\n  ")),Function.apply(this,t)):(f="function "+(this.name||"")+"("+t.join(",")+") {\n  "+this.source.join("\n  ")+"}",Handlebars.log(Handlebars.logger.DEBUG,f+"\n\n"),f)},appendContent:function(n){this.source.push(this.appendToBuffer(this.quotedString(n)))},append:function(){var n=this.popStack();this.source.push("if("+n+" || "+n+" === 0) { "+this.appendToBuffer(n)+" }"),this.environment.isSimple&&this.source.push("else { "+this.appendToBuffer("''")+" }")},appendEscaped:function(){var n=this.nextOpcode(1),t="";this.context.aliases.escapeExpression="this.escapeExpression",n[0]==="appendContent"&&(t=" + "+this.quotedString(n[1][0]),this.eat(n)),this.source.push(this.appendToBuffer("escapeExpression("+this.popStack()+")"+t))},getContext:function(n){this.lastContext!==n&&(this.lastContext=n)},lookupWithHelpers:function(n,t){var r,i;n?(r=this.nextStack(),this.usingKnownHelper=!1,!t&&this.options.knownHelpers[n]?(i=r+" = "+this.nameLookup("helpers",n,"helper"),this.usingKnownHelper=!0):t||this.options.knownHelpersOnly?i=r+" = "+this.nameLookup("depth"+this.lastContext,n,"context"):(this.register("foundHelper",this.nameLookup("helpers",n,"helper")),i=r+" = foundHelper || "+this.nameLookup("depth"+this.lastContext,n,"context")),i+=";",this.source.push(i)):this.pushStack("depth"+this.lastContext)},lookup:function(n){var t=this.topStack();this.source.push(t+" = ("+t+" === null || "+t+" === undefined || "+t+" === false ? "+t+" : "+this.nameLookup(t,n,"context")+");")},pushStringParam:function(n){this.pushStack("depth"+this.lastContext),this.pushString(n)},pushString:function(n){this.pushStack(this.quotedString(n))},push:function(n){this.pushStack(n)},invokeMustache:function(n,t,i){this.populateParams(n,this.quotedString(t),"{}",null,i,function(n,t,i){this.usingKnownHelper||(this.context.aliases.helperMissing="helpers.helperMissing",this.context.aliases.undef="void 0",this.source.push("else if("+i+"=== undef) { "+n+" = helperMissing.call("+t+"); }"),n!==i&&this.source.push("else { "+n+" = "+i+"; }"))})},invokeProgram:function(n,t,i){var r=this.programExpression(this.inverse),u=this.programExpression(n);this.populateParams(t,null,u,r,i,function(n,t){this.usingKnownHelper||(this.context.aliases.blockHelperMissing="helpers.blockHelperMissing",this.source.push("else { "+n+" = blockHelperMissing.call("+t+"); }"))})},populateParams:function(n,t,i,r,u,f){var h=u||this.options.stringParams||r||this.options.data,c=this.popStack(),v,e=[],l,y,o,a,s;for(h?(this.register("tmp1",i),o="tmp1"):o="{ hash: {} }",h&&(a=u?this.popStack():"{}",this.source.push("tmp1.hash = "+a+";")),this.options.stringParams&&this.source.push("tmp1.contexts = [];"),s=0;s<n;s++)l=this.popStack(),e.push(l),this.options.stringParams&&this.source.push("tmp1.contexts.push("+this.popStack()+");");r&&(this.source.push("tmp1.fn = tmp1;"),this.source.push("tmp1.inverse = "+r+";")),this.options.data&&this.source.push("tmp1.data = data;"),e.push(o),this.populateCall(e,c,t||c,f,i!=="{}")},populateCall:function(n,t,i,r,u){var e=["depth0"].concat(n).join(", "),s=["depth0"].concat(i).concat(n).join(", "),f=this.nextStack(),o;this.usingKnownHelper?this.source.push(f+" = "+t+".call("+e+");"):(this.context.aliases.functionType='"function"',o=u?"foundHelper && ":"",this.source.push("if("+o+"typeof "+t+" === functionType) { "+f+" = "+t+".call("+e+"); }")),r.call(this,f,s,t),this.usingKnownHelper=!1},invokePartial:function(n){params=[this.nameLookup("partials",n,"partial"),"'"+n+"'",this.popStack(),"helpers","partials"],this.options.data&&params.push("data"),this.pushStack("self.invokePartial("+params.join(", ")+");")},assignToHash:function(n){var t=this.popStack(),i=this.topStack();this.source.push(i+"['"+n+"'] = "+t+";")},compiler:t,compileChildren:function(n,t){for(var f=n.children,i,e,u,r=0,o=f.length;r<o;r++)i=f[r],e=new this.compiler,this.context.programs.push(""),u=this.context.programs.length,i.index=u,i.name="program"+u,this.context.programs[u]=e.compile(i,t,this.context)},programExpression:function(n){var i,f;if(n==null)return"self.noop";var r=this.environment.children[n],u=r.depths.list,t=[r.index,r.name,"data"];for(i=0,f=u.length;i<f;i++)depth=u[i],depth===1?t.push("depth0"):t.push("depth"+(depth-1));return u.length===0?"self.program("+t.join(", ")+")":(t.shift(),"self.programWithDepth("+t.join(", ")+")")},register:function(n,t){this.useRegister(n),this.source.push(n+" = "+t+";")},useRegister:function(n){this.context.registers[n]||(this.context.registers[n]=!0,this.context.registers.list.push(n))},pushStack:function(n){return this.source.push(this.nextStack()+" = "+n+";"),"stack"+this.stackSlot},nextStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),"stack"+this.stackSlot},popStack:function(){return"stack"+this.stackSlot--},topStack:function(){return"stack"+this.stackSlot},quotedString:function(n){return'"'+n.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r")+'"'}},f="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield".split(" "),o=t.RESERVED_WORDS={},i=0,r=f.length;i<r;i++)o[f[i]]=!0;t.isValidJavaScriptVariableName=function(n){return!t.RESERVED_WORDS[n]&&/^[a-zA-Z_$][0-9a-zA-Z_$]+$/.test(n)?!0:!1}}(Handlebars.Compiler,Handlebars.JavaScriptCompiler),Handlebars.precompile=function(n,t){t=t||{};var i=Handlebars.parse(n),r=(new Handlebars.Compiler).compile(i,t);return(new Handlebars.JavaScriptCompiler).compile(r,t)},Handlebars.compile=function(n,t){function r(){var i=Handlebars.parse(n),r=(new Handlebars.Compiler).compile(i,t),u=(new Handlebars.JavaScriptCompiler).compile(r,t,undefined,!0);return Handlebars.template(u)}t=t||{};var i;return function(n,t){return i||(i=r()),i.call(this,n,t)}},Handlebars.VM={template:function(n){var t={escapeExpression:Handlebars.Utils.escapeExpression,invokePartial:Handlebars.VM.invokePartial,programs:[],program:function(n,t,i){var r=this.programs[n];return i?Handlebars.VM.program(t,i):r?r:r=this.programs[n]=Handlebars.VM.program(t)},programWithDepth:Handlebars.VM.programWithDepth,noop:Handlebars.VM.noop};return function(i,r){return r=r||{},n.call(t,Handlebars,i,r.helpers,r.partials,r.data)}},programWithDepth:function(n,t){var r=Array.prototype.slice.call(arguments,2);return function(i,u){return u=u||{},n.apply(this,[i,u.data||t].concat(r))}},program:function(n,t){return function(i,r){return r=r||{},n(i,r.data||t)}},noop:function(){return""},invokePartial:function(n,t,i,r,u,f){if(options={helpers:r,partials:u,data:f},n===undefined)throw new Handlebars.Exception("The partial "+t+" could not be found");else{if(n instanceof Function)return n(i,options);if(Handlebars.compile)return u[t]=Handlebars.compile(n),u[t](i,options);throw new Handlebars.Exception("The partial "+t+" could not be compiled when running in runtime-only mode");}}},Handlebars.template=Handlebars.VM.template