//>>built define(["dojo/_base/lang","../_base"],function(l,k){var g=l.getObject("tag.logic",!0,k);g.IfNode=l.extend(function(b,a,c,d){this.bools=b;this.trues=a;this.falses=c;this.type=d},{render:function(b,a){var c,d,e;if("or"==this.type){for(c=0;d=this.bools[c];c++)if(e=d[0],d=d[1],(d=d.resolve(b))&&!e||e&&!d)return this.falses&&(a=this.falses.unrender(b,a)),this.trues?this.trues.render(b,a,this):a;this.trues&&(a=this.trues.unrender(b,a));return this.falses?this.falses.render(b,a,this):a}for(c=0;d=this.bools[c];c++)if(e= d[0],d=d[1],d=d.resolve(b),d==e)return this.trues&&(a=this.trues.unrender(b,a)),this.falses?this.falses.render(b,a,this):a;this.falses&&(a=this.falses.unrender(b,a));return this.trues?this.trues.render(b,a,this):a},unrender:function(b,a){a=this.trues?this.trues.unrender(b,a):a;return a=this.falses?this.falses.unrender(b,a):a},clone:function(b){var a=this.trues?this.trues.clone(b):null;b=this.falses?this.falses.clone(b):null;return new this.constructor(this.bools,a,b,this.type)}});g.IfEqualNode=l.extend(function(b, a,c,d,e){this.var1=new k._Filter(b);this.var2=new k._Filter(a);this.trues=c;this.falses=d;this.negate=e},{render:function(b,a){var c=this.var1.resolve(b),d=this.var2.resolve(b),c="undefined"!=typeof c?c:"",d="undefined"!=typeof c?d:"";if(this.negate&&c!=d||!this.negate&&c==d)return this.falses&&(a=this.falses.unrender(b,a,this)),this.trues?this.trues.render(b,a,this):a;this.trues&&(a=this.trues.unrender(b,a,this));return this.falses?this.falses.render(b,a,this):a},unrender:function(b,a){return g.IfNode.prototype.unrender.call(this, b,a)},clone:function(b){var a=this.trues?this.trues.clone(b):null;b=this.falses?this.falses.clone(b):null;return new this.constructor(this.var1.getExpression(),this.var2.getExpression(),a,b,this.negate)}});g.ForNode=l.extend(function(b,a,c,d){this.assign=b;this.loop=new k._Filter(a);this.reversed=c;this.nodelist=d;this.pool=[]},{render:function(b,a){var c,d,e,f=!1,h=this.assign;for(e=0;ethis.pool.length&&this.pool.push(this.nodelist.clone(a));a=this.pool[d++].render(b,a,this)}delete b.forloop;if(f)b=b.pop();else for(e=0;ec.length)throw Error("'for' statements should have at least four words: "+a.contents);var d="reversed"==c[c.length-1],e=d?-3:-2;if("in"!=c[c.length+e])throw Error("'for' tag received an invalid argument: "+ a.contents);for(var f=c.slice(1,e).join(" ").split(/ *, */),h=0;h