/* serving controltag.js */ (function(){var j,o;(function(){var e=this,g={};j=function(f,a){j[f]=a};o=function(f){if(o[f]===g)throw"Circular require";if(!j[f])throw"Unknown require: "+f;return o[f]||(o[f]=g)&&(o[f]=new function(){return j[f](this,o,e)||this})}})();j("class",function(e,g){var f=g("util"),a=e.beget=function(a,d){function b(){this.constructor=d}f.extend(d,a);b.prototype=a.prototype;d.prototype=new b;return d};(e.Class=f.extend(function(){var a=arguments;f.each(this._class.initializers,function(d,b){b.apply(this, a)},this)},{extensions:{extension:[/^extension_(.+)/,function(a,d){var b={};b[a[1]]=d;this.extensions=f.extend(this.extensions||{},b)}]},mixin:function(a){f.isFunction(a)?a(this):f.each(a,f.bind(this.mixinProperty,this))},mixinProperty:function(a,d){var b;f.some(this.extensions,function(h,i){if(b=a.match(i[0]))return i[1].call(this,b,d)||!0},this)||(this.prototype[a]=d)}})).mixin({_bind:function(a){f.each(a.split(" "),function(a){this[a]=f.bind(this[a],this)},this)},_apply:function(a,d){this[a].apply(this, d)},_super:function(a,d){var b,h=this._superctx;this._superctx=(this._superctx||this)._superproto;f.isString(a)?b=this._superctx[a].apply(this,d||[]):this._superctx.constructor.apply(this,a||[]);this._superctx=h;return b},extension_classMethod:[/^__(.+)/,function(a,d){this[a[1]]=d}],extension_initialier:[/^_init_(.+)/,function(a,d){var b={};b[a[1]]=d;this.initializers=f.extend(this.initializers||{},b)}],__extend:function(c){a(this,c).construct(this,f.rest(arguments,1));return c},__construct:function(a, d){this.prototype._superproto=a.prototype;this.prototype._class=this;if(!this.name){var b=this.toString().match(/function\s+([^\(]+)/);if(b)this.name=b[1]}f.each(d,function(a){this.mixin(a)},this);this.init()},__init:function(){}})});j("data-rewrite",function(e,g){var f=g("util"),a=f.rewriter({country:"geo_country",sub_section:"subsection",segment:"user_segments"}),c=f.rewriter({"=":"is","!=":"isnt",before:"<",after:">"}),d=e.criterion=function(b){var d=c(b.operator),k=a(b.name);b=b.value;b=""+b; b=parseFloat(b)==b?parseFloat(b):b.match(/,/)?"["+b.split(", ").join(",")+"]":b;b.match(/^\[/)&&"is"===d&&(d=f.isArray(f.get(k))?"intersection":"memberOf");return[d,"$"+k,b]};e.tag=function(a){var b={};f.extend(b,a);b.criteria=f.map(a.criteria,d);b.freq_cap&&b.criteria.push(["<","$tag_deliveries_today",b.freq_cap]);b.user_percent&&b.criteria.push(["<",["random"],b.user_percent/100]);delete b.rules;b.method=b.method||"document";b.name=b.name||"Anonymous";b.timing=b.timing||"onload";return b};var b= function(a){return["contains","["+a.values+"]","$"+a.type+"_attr_"+a.name]};e.rtsegment=function(a){var d=["and"];d.push(["or"].concat(f.map(a.or,b)));d.push(["and"].concat(f.map(a.and,b)));return{test:d,id:a.segment_id}}});j("data",function(e,g){var f=g("util"),a=e.root={},c=e.defs={};f.get=e.get=function(b){return a[b.match(/_/)?b:"_"+b]};f.set=e.set=function(b,d){if(!f.isString(b))return f.each(b,f.set);b=b.match(/_/)?b:"_"+b;a[b]=d;f.fire("data:change",{key:b,value:d});return d};f.removeData= e.remove=function(b){delete a[b]};e.raw=function(){return a};var d=e.define=function(a,b){if(!f.isString(a))return f.each(a,d);c[a]=b},b=e.defaults=function(a,d){if(!f.isString(a))return f.each(a,b);var c=f.get(a);return null==c?f.set(a,d):c};e.namespace=function(b,d){var c=b+"_",e,g=RegExp(c+"(.+)"),l=f.attributes({get:function(a){return f.get(c+a)},set:function(a,b){return f.set(c+a,b)},all:function(){var b={};f.eachHash(a,function(a,d){if(e=a.match(g))b[e[1]]=d});return b},values:d}),p;l.change= function(a){p||(p=[],f.on("data:change",function(a){(e=a.key.match(g))&&f.each(p,function(b){b(a)})}));p.push(a)};return l};g("routes").simple("set",f.set);g("routes").simple("get",f.get)});j("module_name",function(e,g){var f=g("util");g("class");var a=e.Entry=function(){function a(d,b,c){this.bucket=d;this.key=b;c.init&&this.set(c);this.readOnly=c.readOnly||!1}a.prototype={hasExpired:function(){return!1},get:function(){return this.hasExpired(this.lastUpdate)?null:this.value},validate:function(){}, onChange:function(){},set:function(a,b){if(this.readOnly)throw"read only";var c=this.get();this.lastUpdate=null!=a?+new Date:null;if(c!==a)this.validate(a,b),this.value=a,this.onChange(a,c)},clear:function(){this.set(null,{isCleared:!0})}};return a}();e.Bucket=function(){function c(){this.entries={}}c.prototype={Entry:a,extend:function(a){f.each(a,function(a,d){this.entries[a]=new this.Entry(this,a,d)},this)},set:function(a,b){if(!f.isString(a))return f.each(a,function(a,b){this.set(a,b)},this);this.findOrCreateEntry(a).set(b)}, findOrCreateEntry:function(a){return this.entries[a]||this.declare(a)},get:function(a){return(a=this.entries[a])&&a.get()},json:function(){var a={};f.each(this.entries,function(b,c){a[b]=c.get()},this);return a}};return c}()});j("dom-iframe",function(e,g){var f=g("util");e.IFrame=function(){function a(a){this.options=f.extend({},c,a||{});this.node=g("dom").createElement("iframe",this.options.attr);this.insert();if(!this.options.attr.src||this.options.html)this.html(this.options.html||"")}var c={target:null, targetAction:"append",html:"",attr:{}};a.prototype={insert:function(){var d=this.options,b=d.targetAction,d=d.target||document.body;g("dom").insert(b,d,this.node);this.win=a.window(this.node);this.doc=a.document(this.node)},html:function(a){var b=this.doc;a.match(/^/)||(a=""+a+"");b.open();b.write(a);b.close()}};a.window=function(a){return a.contentWindow};a.document=function(c){return a.window(c).document};return a}()});j("dom",function(e,g,f){function a(c, d,f){var e=c.tagName,h=c.attributes||{},c=c.children||[],d=d||[],f=f||0,k=i[e];d("<",e);b.each(h,function(a,b){d(" ",a,'="',b,'" ')});if(k)return d("/>");d(">");b.isString(c)?d(c):b.each(c,function(b){a(b,d,f+1)});k||d("")}function c(c,d,f){c=b.isString(c)?{tagName:c,attributes:d,children:f}:c;d=new k;a(c,d);return d.data()}function d(){try{document.documentElement.doScroll("left")}catch(a){setTimeout(d,1);return}b.fireOnce("dom:ready")}var b=g("util");b.extend(e,g("dom-iframe"));var h=document, i=new b.Set("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed".split(",")),k=e.StringStream=function(){function a(){for(var c=0,d=arguments.length;ce.ua.indexOf("compatible")&&e.ua.match(/(mozilla)(?:.*? rv:([\w.]+))?/)||["unknown","unknown",0];e.browser=q[1];e.version=parseFloat((q[2]||"0").match(/^[0-9]+[.0-9]*/)[0],10);e.msie="msie"==q[1];e.mozilla="mozilla"==q[1];e.webkit="webkit"==q[1];e.opera="opera"==q[1];e.gecko=-1!=e.ua.indexOf("gecko/");e.chrome=!!f.chrome;g("events");var t=!!window.attachEvent,w=e._on_=t?"attachEvent":"addEventListener",g=e.type={ready:{target:f.document}, load:{target:f},unload:{target:f},beforeunload:{target:f}},y=e.on=function(a,b,c,d){b=(t?"on":"")+b;a[w](b,c,d||!1)};b.each(g,function(a,c){c.nativeName="ready"!==a?a:t?"readystatechanged":"DOMContentLoaded";e[a]=function(c){b.onOnce("dom:"+a,c)}});var z=function(a){return function(){b.fireOnce("dom:"+a)}};if(f.document.readyState.match(/^(complete|loaded)$/))b.fireOnce("dom:ready"),b.fireOnce("dom:load");else{if(e.ie){y(f,g.load.nativeName,z("ready"));f=!1;try{f=null==window.frameElement}catch(v){}document.documentElement.doScroll&& f&&d()}b.each(g,function(a,b){y(b.target,b.nativeName,z(a),!1)})}setTimeout(b.bind(b.fireOnce,null,"dom:load",{timedout:!0}),6E3)});j("events",function(e,g){var f=g("util"),a=g("class").Class,a=e.Events=a.extend(function(){this._handlers={ALL:[]};this._happened={};this._super(arguments)},{on:function(a,b){if(f.isString(a))(this._handlers[a]||(this._handlers[a]=[])).push(b);else if(f.isFunction(a))this._handlers.ALL.push(a);else this.on(function(c){a.test(c.type)&&b(c)})},off:function(a,b){this._handlers[a]= b?f.remove(this._handlers[a],b):[]},fire:function(a,b){b=b||{};try{if(!b.type)b.type=a}catch(c){}this._happened[a]=b;f.each(this._handlers[a],function(a){a(b)});f.each(this._handlers.ALL,function(a){a(b)});return b},onOnce:function(a,b){var c;return(c=this._happened[a])?f.defer(b,c):this.on(a,f.once(b))},fireOnce:function(a,b){return!this._happened[a]&&this.fire(a,b)},onOnceAll:function(a,b){var a=a.split(" "),b=f.once(b),c=f.bind(function(){f.all(a,function(a){return this._happened[a]},this)&&b()}, this);f.each(a,function(a){this.onOnce(a,c)},this)},happened:function(a){return this._happened[a]}}),c=e.instance=new a;c._bind("on off fire onOnce fireOnce onOnceAll happened");f.each("on off fire onOnce fireOnce onOnceAll happened".split(" "),function(a){f[a]=c[a]})});j("expression",function(e,g){var f=g("util"),a=f.isArray,c=f.isString,d={},b={},h,i=function(a){var c;c=(c=h(a[0]))&&(d[c]||b[c]);return c.apply(this,c.isMacro?f.rest(a):f.map(f.rest(a),h))};h=e.eval=function(b){var k;var d;a(b)?d= i(b):(c(b)&&(k=(d=b.match(/^\$(.*)/))?f.get(d[1]):(d=b.match(/^\[(.*)\]$/))?d[1].split(","):b,b=k),d=b);return d};f.extend(d,{is:function(a,b){return a===b},matches:function(a,b){return RegExp(b).test(a)},contains:function(a,b){return f.isString(a)?0<=a.indexOf(b):f.contains(a,""+b)},memberOf:function(a,b){return d.contains(b,a)},intersection:function(a,b){return f.intersection(a,b)},intersects:function(a,b){return f.any(a,function(a){return d.contains(b,a)})},random:function(){return Math.random()}, now:function(){return new Date}});f.each("< > <= >=".split(" "),function(a){d[a]=new Function("a","b","return a "+a+" b")});f.extend(d,{isnt:f.negate(d.is),notMemberOf:f.negate(d.memberOf),notContains:f.negate(d.contains)});f.extend(b,{and:function(){return f.every(arguments,h)},or:function(){return f.any(arguments,h)}});f.each(b,function(a,b){b.isMacro=!0})});j("htmlparser",function(e){function g(a){for(var b={},a=a.split(","),c=0;c\s]+))?)*)\s*(\/?)>/,c=/^<\/([-A-Za-z0-9_:]+)[^>]*>/,d=/([-A-Za-z0-9_]+)(?:\s*=\s*(?:(?:"((?:\\.|[^"])*)")|(?:'((?:\\.|[^'])*)')|([^>\s]+)))?/g,b=g("area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed"),h=g("address,applet,blockquote,button,center,dd,del,dir,div,dl,dt,fieldset,form,frameset,hr,iframe,ins,isindex,li,map,menu,noframes,noscript,object,ol,p,pre,script,table,tbody,td,tfoot,th,thead,tr,ul"), i=g("a,abbr,acronym,applet,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,iframe,img,input,ins,kbd,label,map,object,q,s,samp,script,select,small,span,strike,strong,sub,sup,textarea,tt,u,var"),k=g("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr"),m=g("checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected"),n=g("script,style"),l=e.HTMLParser=function(a){this.handlers=a;this.html="";this.paused=!1;this.stack=[];this.stack.last=function(){return this[this.length- 1]};this.bind("parseStartTag");this.bind("parseEndTag")};l.prototype.bind=function(a){this[a]=f(this[a],this)};l.prototype.parse=function(a){this.html+=a;this.paused||this.resume()};l.prototype.parseStartTag=function(a,c,f,e){var a=this.stack,q=this.handlers;if(h[c])for(;a.last()&&i[a.last()];)this.parseEndTag("",a.last());k[c]&&a.last()==c&&this.parseEndTag("",c);(e=b[c]||!!e)||a.push(c);if(q.start){var g=[];f.replace(d,function(a,b,c,d,f){a=c?c:d?d:f?f:m[b]?b:"";g.push({name:b,value:a,escaped:a.replace(/(^|[^\\])"/g, '$1\\"')})});q.start(c,g,e)}};l.prototype.parseEndTag=function(a,b){var c=0,d=this.stack,f=this.handlers;if(b)for(c=d.length-1;0<=c&&!(d[c]===b);c--);if(0<=c)for(var e=d.length-1;e>=c;e--){var h=d.pop();f.end&&f.end(h)}};l.prototype.resume=function(){var b,d,f=this.stack,e=this.html,h=this.handlers;this.paused=!1;if(!this.running){for(this.running=!0;this.html&&!this.paused;){d=!0;if(!f.last()||!n[f.last()]){if(0===this.html.indexOf("<\!--")){if(b=this.html.indexOf("--\>"),0<=b){d=!1;var i=this.html.substring(4, b);this.html=this.html.substring(b+3);h.comment&&h.comment(i)}}else if(0===this.html.indexOf("b?this.html:this.html.substring(0,b),this.html=0>b?"":this.html.substring(b),h.chars&&h.chars(d)}else this.html=this.html.replace(RegExp("((?:.|\n|\r)*?)]*>"),function(a,b){(b=b.replace(/<\!--(.*?)--\>/g,"$1").replace(//g,"$1"))&&h.chars&&h.chars(b);return""}),this.parseEndTag("",f.last());if(this.html==e)throw"Parse Error: "+this.html;}this.running=!1;""===this.html&&h.done&&h.done()}};l.prototype.closeOpenTags=function(){this.parseEndTag()};l.prototype.pause=function(){this.paused=!0};e.isValid=function(a){try{return(new l({})).parse(a),!0}catch(b){return!1}}});j("http-jsonp",function(e,g,f){var a=g("class").Class, c=g("util"),d=e.Request=a.extend(function(a){a.data=a.data||{};c.extend(this,a);if(this.self)this.done=c.bind(this.done,this.self),this.fail=c.bind(this.fail,this.self);this.plantReceiver();this.src=g("http").src(this);this._class.all.push(this)},{fail:function(a){throw"request error "+a.status+": "+a.body.message;},done:function(){},receive:function(a){this.time.end=new Date;return a.status?200==a.status?this.done(a.body):this.fail(a):this.done(a)},plantReceiver:function(){var a=this.data.callback= "kxjsonp_"+Math.floor(1E8*Math.random());f[a]=c.bind(function(){f[a]=void 0;this.receive.apply(this,arguments)},this)},sendInline:function(){document.write('