b-d&&g.push(a[e]);return g},calc_latency:function(){var a,b,c,d,e,f,g,h=0,i=0;this.latencies.shift();g=this.iqr(this.latencies.sort(this.ncmp));b=g.length;BOOMR.debug("latencies: "+this.latencies,"bw");BOOMR.debug("lat_filtered: "+g,"bw");for(a=0;a=0&&m<3&&d[c];c--)if(null!==d[c].t){p++;m++;n=1e3*b[c].size/d[c].t;q.push(n);if(d[c].t>this.latency.mean){o=1e3*b[c].size/(d[c].t-this.latency.mean);r.push(o)}else w.push(c+"_"+d[c].t)}}BOOMR.debug("got "+p+" readings","bw");BOOMR.debug("bandwidths: "+q,"bw");BOOMR.debug("corrected: "+r,"bw");if(q.length>3){q=this.iqr(q.sort(this.ncmp));r=this.iqr(r.sort(this.ncmp))}else{q=q.sort(this.ncmp);r=r.sort(this.ncmp)}BOOMR.debug("after iqr: "+q,"bw");BOOMR.debug("corrected: "+r,"bw");p=Math.max(q.length,r.length);for(a=0;a=b.end-1||void 0!==this.results[this.nruns-d].r[a+1]){BOOMR.debug(BOOMR.utils.objectToString(this.results[this.nruns-d],void 0,2),"bw");d===this.nruns&&(b.start=a);BOOMR.setImmediate(this.iterate,null,null,this)}else this.load_img(a+1,d,this.img_loaded)}else this.results[this.nruns-d].r[a+1]={t:null,state:null,run:d}},finish:function(){this.latency||(this.latency=this.calc_latency());var a=this.calc_bw(),b={bw:a.median_corrected,bw_err:parseFloat(a.stderr_corrected,10),lat:this.latency.mean,lat_err:parseFloat(this.latency.stderr,10),bw_time:Math.round(BOOMR.now()/1e3)};BOOMR.addVar(b);a.debug_info.length>0&&BOOMR.addVar("bw_debug",a.debug_info.join(","));!isNaN(b.bw)&&b.bw>0&&BOOMR.utils.setCookie(this.cookie,{ba:Math.round(b.bw),be:b.bw_err,l:b.lat,le:b.lat_err,ip:this.user_ip,t:b.bw_time},this.user_ip?this.cookie_exp:0);this.complete=!0;!0===this.block_beacon&&BOOMR.sendBeacon();this.running=!1},iterate:function(){if(!this.aborted)if(this.runs_left)if(this.latency_runs)this.load_img("l",this.latency_runs--,this.lat_loaded);else{this.results.push({r:[]});this.load_img(b.start,this.runs_left--,this.img_loaded)}else this.finish()},setVarsFromCookie:function(){var b,c,d,e,f,g,h,i,j;b=BOOMR.utils.getSubCookies(BOOMR.utils.getCookie(a.cookie));if(b&&b.ba){c=parseInt(b.ba,10);d=parseFloat(b.be,10);e=parseInt(b.l,10)||0;f=parseFloat(b.le,10)||0;g=b.ip.replace(/\.\d+$/,"0");h=parseInt(b.t,10);i=this.user_ip.replace(/\.\d+$/,"0");j=Math.round(BOOMR.now()/1e3);if(g===i&&h>=j-this.cookie_exp&&c>0){this.complete=!0;BOOMR.addVar({bw:c,lat:e,bw_err:d,lat_err:f,bw_time:h});return!0}}return!1}};BOOMR.plugins.BW={init:function(c){if(a.initialized)return this;BOOMR.utils.pluginConfig(a,c,"BW",["base_url","timeout","nruns","cookie","cookie_exp","test_https","block_beacon"]);c&&c.user_ip&&(a.user_ip=c.user_ip);if(!a.base_url)return this;b.start=0;a.runs_left=a.nruns;a.latency_runs=10;a.results=[];a.latencies=[];a.latency=null;a.complete=a.aborted=!1;BOOMR.removeVar("ba","ba_err","lat","lat_err");a.setVarsFromCookie()||BOOMR.subscribe("page_ready",this.run,null,this);a.initialized=!0;return this},run:function(){var b;if(a.running||a.complete)return this;b=BOOMR.window.document.createElement("a");b.href=a.base_url;if(!a.test_https&&"https:"===b.protocol){BOOMR.info("HTTPS detected, skipping bandwidth test","bw");a.complete=!0;!0===a.block_beacon&&BOOMR.sendBeacon();return this}a.base_url=b.href;a.running=!0;setTimeout(this.abort,a.timeout);a.iterate();return this},abort:function(){a.aborted=!0;a.running&&a.finish()},is_complete:function(){return!0!==a.block_beacon||a.complete}}}}();!function(){if(!BOOMR.plugins.NavigationTiming){var a={complete:!1,sendBeacon:function(){this.complete=!0;BOOMR.sendBeacon()},xhr_done:function(b){var c;if(b&&"spa_hard"===b.initiator)a.done(b);else if(b&&"spa"===b.initiator)a.sendBeacon();else{var d,e,f=(BOOMR.window,{});if(b){b.data&&(b=b.data);c=BOOMR.getPerformance();if(c&&b.restiming){f={nt_red_st:b.restiming.redirectStart,nt_red_end:b.restiming.redirectEnd,nt_fet_st:b.restiming.fetchStart,nt_dns_st:b.restiming.domainLookupStart,nt_dns_end:b.restiming.domainLookupEnd,nt_con_st:b.restiming.connectStart,nt_con_end:b.restiming.connectEnd,nt_req_st:b.restiming.requestStart,nt_res_st:b.restiming.responseStart,nt_res_end:b.restiming.responseEnd};b.restiming.secureConnectionStart&&(f.nt_ssl_st=b.restiming.secureConnectionStart);for(e in f)if(f.hasOwnProperty(e)&&f[e]){f[e]+=c.timing.navigationStart;f[e]=Math.floor(f[e])}}if(b.timing){d=b.timing;f.nt_req_st||(f.nt_req_st=d.requestStart);f.nt_res_st||(f.nt_res_st=d.responseStart);f.nt_res_end||(f.nt_res_end=d.responseEnd);f.nt_domint=d.domInteractive;f.nt_domcomp=d.domComplete;f.nt_load_st=d.loadEventEnd;f.nt_load_end=d.loadEventEnd}for(e in f)f.hasOwnProperty(e)&&!f[e]&&delete f[e];BOOMR.addVar(f);try{a.addedVars.push.apply(a.addedVars,Object.keys(f))}catch(g){}a.sendBeacon()}}},done:function(){var b,c,d,e,f=BOOMR.window;if(this.complete)return this;a.addedVars=[];b=BOOMR.getPerformance();if(b&&b.timing&&b.navigation){BOOMR.info("This user agent supports NavigationTiming.","nt");c=b.navigation;d=b.timing;e={nt_red_cnt:c.redirectCount,nt_nav_type:c.type,nt_nav_st:d.navigationStart,nt_red_st:d.redirectStart,nt_red_end:d.redirectEnd,nt_fet_st:d.fetchStart,nt_dns_st:d.domainLookupStart,nt_dns_end:d.domainLookupEnd,nt_con_st:d.connectStart,nt_con_end:d.connectEnd,nt_req_st:d.requestStart,nt_res_st:d.responseStart,nt_res_end:d.responseEnd,nt_domloading:d.domLoading,nt_domint:d.domInteractive,nt_domcontloaded_st:d.domContentLoadedEventStart,nt_domcontloaded_end:d.domContentLoadedEventEnd,nt_domcomp:d.domComplete,nt_load_st:d.loadEventStart,nt_load_end:d.loadEventEnd,nt_unload_st:d.unloadEventStart,nt_unload_end:d.unloadEventEnd};d.secureConnectionStart&&(e.nt_ssl_st=d.secureConnectionStart);d.msFirstPaint&&(e.nt_first_paint=d.msFirstPaint);BOOMR.addVar(e);if(d.requestStart&&d.navigationStart&&d.requestStartBOOMR.now()+864e5){BOOMR.addVar("nt_bad",1);a.addedVars.push("nt_bad")}try{a.addedVars.push.apply(a.addedVars,Object.keys(e))}catch(g){}}if(f.chrome&&f.chrome.loadTimes){d=f.chrome.loadTimes();if(d){e={nt_spdy:d.wasFetchedViaSpdy?1:0,nt_cinf:d.connectionInfo,nt_first_paint:d.firstPaintTime};BOOMR.addVar(e);try{a.addedVars.push.apply(a.addedVars,Object.keys(e))}catch(g){}}}a.sendBeacon()},clear:function(){if(a.addedVars&&a.addedVars.length>0){BOOMR.removeVar(a.addedVars);a.addedVars=[]}this.complete=!1},prerenderToVisible:function(){this.complete=!1;this.done()}};BOOMR.plugins.NavigationTiming={init:function(){if(!a.initialized){BOOMR.subscribe("page_ready",a.done,null,a);BOOMR.subscribe("prerender_to_visible",a.prerenderToVisible,null,a);BOOMR.subscribe("xhr_load",a.xhr_done,null,a);BOOMR.subscribe("before_unload",a.done,null,a);BOOMR.subscribe("onbeacon",a.clear,null,a);a.initialized=!0}return this},is_complete:function(){return!0}}}}();!function(){function a(a){var b,c,d,e,f,g,h,i,j={};for(b in a){c=b;for(d=0;d10)return x;try{if(!d(a))return x;n=e(a);u=h(a,i);w=a.document.createElement("a");Array.prototype.forEach.call(a.document.getElementsByTagName("script"),function(a){w.href=a.src;w.href.match(/^https?:\/\//)&&(y[w.href]=a)});q=a.document.getElementsByTagName("iframe");if(q&&q.length)for(k=0;kn&&(p=c+(o-n));w.href=q[k].src;x=x.concat(f(a.frames[k],!1,p,g+1,u[w.href]))}if("function"!=typeof a.performance.getEntriesByType)return x;if(b){m=a.performance.getEntriesByType("navigation");if(m&&1===m.length){r=m[0];x.push({name:a.location.href,startTime:0,initiatorType:"html",redirectStart:r.redirectStart,redirectEnd:r.redirectEnd,fetchStart:r.fetchStart,domainLookupStart:r.domainLookupStart,domainLookupEnd:r.domainLookupEnd,connectStart:r.connectStart,secureConnectionStart:r.secureConnectionStart,connectEnd:r.connectEnd,requestStart:r.requestStart,responseStart:r.responseStart,responseEnd:r.responseEnd,workerStart:r.workerStart,encodedBodySize:r.encodedBodySize,decodedBodySize:r.decodedBodySize,transferSize:r.transferSize,serverTiming:j(r)})}else if(a.performance.timing){s=a.performance.timing;0!==s.navigationStart&&s.responseEnd<=s.navigationStart+36e5&&x.push({name:a.location.href,startTime:0,initiatorType:"html",redirectStart:s.redirectStart?s.redirectStart-s.navigationStart:0,redirectEnd:s.redirectEnd?s.redirectEnd-s.navigationStart:0,fetchStart:s.fetchStart?s.fetchStart-s.navigationStart:0,domainLookupStart:s.domainLookupStart?s.domainLookupStart-s.navigationStart:0,domainLookupEnd:s.domainLookupEnd?s.domainLookupEnd-s.navigationStart:0,connectStart:s.connectStart?s.connectStart-s.navigationStart:0,secureConnectionStart:s.secureConnectionStart?s.secureConnectionStart-s.navigationStart:0,connectEnd:s.connectEnd?s.connectEnd-s.navigationStart:0,requestStart:s.requestStart?s.requestStart-s.navigationStart:0,responseStart:s.responseStart?s.responseStart-s.navigationStart:0,responseEnd:s.responseEnd?s.responseEnd-s.navigationStart:0})}}var z=a.performance.getEntriesByType("resource"),A=[];for(k=0;z&&k-1||g.name.indexOf(BOOMR.config_url)>-1||"function"==typeof BOOMR.getBeaconURL&&BOOMR.getBeaconURL()&&g.name.indexOf(BOOMR.getBeaconURL())>-1||a&&i+g.startTimeb)break;if(void 0===c||"*"===c||!c.length||g.initiatorType&&BOOMR.utils.inArray(g.initiatorType,c)){q(j,g.serverTiming);k.push(g)}}}var l=r(j);return{entries:k,serverTiming:{lookup:l,indexed:s(l)}}}function j(a){var b,c,d,e;if(a.encodedBodySize||a.decodedBodySize||a.transferSize){b=a.transferSize;c=a.encodedBodySize;d=a.decodedBodySize;e=[c,b?b-c:"_",d?d-c:0];return e.map(g).join(",").replace(/,+$/,"")}return""}function k(a,b){var c,d,e;if(a&&b)for(c=0;c0?",":"")+d+f;return a},""));m=k(h.name,v.trimUrls);void 0!==o[m]?o[m]+="|"+n:h.visibleDimensions?o[m]=z+A+h.visibleDimensions.map(Math.round).map(g).join(",").replace(/,+$/,"")+"|"+n:o[m]=n;if(h.visibleDimensions){p[h.latestTime]||(p[h.latestTime]=[]);p[h.latestTime].push(h.visibleDimensions)}}return{restiming:b(a(o),!0),servertiming:s.lookup}}function n(a){var b=[];if(!a||!a.length)return b;for(var c=0;c0&&g1&&BOOMR.addVar("scr.dpx",c.devicePixelRatio);if(c.scrollX||c.scrollY){a="function"==typeof c.scrollX?c.scrollX():c.scrollX;b="function"==typeof c.scrollY?c.scrollY():c.scrollY;"number"==typeof a&&"number"==typeof b&&BOOMR.addVar("scr.sxy",a+"x"+b)}},"screen");b(g,function(){g.hardwareConcurrency&&BOOMR.addVar("cpu.cnc",g.hardwareConcurrency);g.maxTouchPoints&&BOOMR.addVar("scr.mtp",g.maxTouchPoints)},"navigator");b(h,function(){BOOMR.addVar("bat.lvl",h.level)},"battery");b(!0,function(){var b;BOOMR.addVar({"dom.ln":a("*"),"dom.sz":d.documentElement.innerHTML.length});b={};BOOMR.addVar(a("img",["dom.img","dom.img.ext","dom.img.uniq"],function(a){return a.src&&!a.src.toLowerCase().match(/^(?:about:|javascript:|data:|#)/)},function(a){return!(b[a.src]=b.hasOwnProperty(a.src))}));b={};BOOMR.addVar(a("script",["dom.script","dom.script.ext","dom.script.uniq"],function(a){return a.src&&!a.src.toLowerCase().match(/^(?:about:|javascript:|#)/)},function(a){return!(b[a.src]=b.hasOwnProperty(a.src))}));b={};BOOMR.addVar(a("iframe",["dom.iframe","dom.iframe.ext","dom.iframe.uniq"],function(a){return a.src&&!a.src.toLowerCase().match(/^(?:about:|javascript:|#)/)},function(a){return!(b[a.src]=b.hasOwnProperty(a.src))}));b={};BOOMR.addVar(a("link",["dom.link","dom.link.css","dom.link.css.uniq"],function(a){return a.rel&&"stylesheet"===a.rel.toLowerCase()&&a.href&&!a.href.toLowerCase().match(/^(?:about:|javascript:|#)/)},function(a){return!(b[a.href]=b.hasOwnProperty(a.href))}))},"dom")}}};BOOMR.plugins.Memory={init:function(){var a;try{c=BOOMR.window;d=c.document;j=BOOMR.getPerformance();a=c.console;f=c.screen;g=c.navigator;if(g&&g.battery)h=g.battery;else if(g&&"function"==typeof g.getBattery){var b=g.getBattery();b&&"function"==typeof b.then?b.then(function(a){h=a}):"object"==typeof b&&b.hasOwnProperty("level")&&(h=b)}}catch(k){BOOMR.addError(k,"Memory.init")}e=j&&j.memory?j.memory:a&&a.memory?a.memory:null;if(i.initialized)return this;i.initialized=!0;BOOMR.subscribe("before_beacon",i.done,null,i);return this},is_complete:function(){return!0}}}}();!function(){if(!BOOMR.plugins.CACHE_RELOAD){var a={url:""};BOOMR.plugins.CACHE_RELOAD={init:function(b){BOOMR.utils.pluginConfig(a,b,"CACHE_RELOAD",["url"]);if(!a.url)return this;var c=document.createElement("iframe");c.style.display="none";c.src=a.url;document.body.appendChild(c);return this},is_complete:function(){return!0}}}}();!function(){"use strict";function a(a,b){var c=(65535&a)+(65535&b);return(a>>16)+(b>>16)+(c>>16)<<16|65535&c}function b(a,b){return a<>>32-b}function c(c,d,e,f,g,h){return a(b(a(a(d,c),a(f,h)),g),e)}function d(a,b,d,e,f,g,h){return c(b&d|~b&e,a,b,f,g,h)}function e(a,b,d,e,f,g,h){return c(b&e|d&~e,a,b,f,g,h)}function f(a,b,d,e,f,g,h){return c(b^d^e,a,b,f,g,h)}function g(a,b,d,e,f,g,h){return c(d^(b|~e),a,b,f,g,h)}function h(b,c){b[c>>5]|=128<>>9<<4)]=c;var h,i,j,k,l,m=1732584193,n=-271733879,o=-1732584194,p=271733878;for(h=0;h>5]>>>b%32&255);return c}function j(a){var b,c=[];c[(a.length>>2)-1]=void 0;for(b=0;b>5]|=(255&a.charCodeAt(b/8))<16&&(e=h(e,8*a.length));for(c=0;c<16;c+=1){f[c]=909522486^e[c];g[c]=1549556828^e[c]}d=h(f.concat(j(b)),512+8*b.length);return i(h(g.concat(d),640))}function m(a){var b,c,d="0123456789abcdef",e="";for(c=0;c>>4&15)+d.charAt(15&b)}return e}function n(a){return unescape(encodeURIComponent(a))}function o(a){return k(n(a))}function p(a){return m(o(a))}function q(a,b){return l(n(a),n(b))}function r(a,b){return m(q(a,b))}function s(a,b,c){return b?c?q(b,a):r(b,a):c?o(a):p(a)}if(!BOOMR.utils||!BOOMR.utils.md5){BOOMR.utils=BOOMR.utils||{};BOOMR.utils.MD5=s}}();!function(){if(!BOOMR.utils||!BOOMR.utils.Compression){var a=BOOMR.utils.Compression={};a.jsUrl=function(b){function c(a){if(!/[^\w-.]/.test(a))return a;a=a.replace(/[^\w-.]/g,function(a){if("$"===a)return"!";a=a.charCodeAt(0);return a<256?"*"+("00"+a.toString(16)).slice(-2):"**"+("0000"+a.toString(16)).slice(-4)});return a}var d=[];switch(typeof b){case"number":return isFinite(b)?"~"+b:"~null";case"string":return"~'"+c(b);case"boolean":return"~"+b;case"object":if(!b)return"~null";if(BOOMR.utils.isArray(b)){for(var e=0;e-1&&(a=a.replace(/eval code/g,"eval").replace(/(\(eval at [^\()]*)|(\)\,.*$)/g,""));var b=a.replace(/^\s+/,"").replace(/\(eval code/g,"(").split(/\s+/).slice(1),c=this.extractLocation(b.pop());return{functionName:b.join(" ")||void 0,fileName:"eval"===c[0]?void 0:c[0],lineNumber:c[1],columnNumber:c[2],source:a}},this)},parseFFOrSafari:function(c){return a(b(c.stack.split("\n"),function(a){return!a.match(e)},this),function(a){a.indexOf(" > eval")>-1&&(a=a.replace(/ line (\d+)(?: > eval line \d+)* > eval\:\d+\:\d+/g,":$1"));if(-1===a.indexOf("@")&&-1===a.indexOf(":"))return{functionName:a};var b=a.split("@"),c=this.extractLocation(b.pop());return{functionName:b.join("@")||void 0,fileName:c[0],lineNumber:c[1],columnNumber:c[2],source:a}},this)},parseOpera:function(a){return!a.stacktrace||a.message.indexOf("\n")>-1&&a.message.split("\n").length>a.stacktrace.split("\n").length?this.parseOpera9(a):a.stack?this.parseOpera11(a):this.parseOpera10(a)},parseOpera9:function(a){for(var b=/Line (\d+).*script (?:in )?(\S+)/i,c=a.message.split("\n"),d=[],e=2,f=c.length;e/,"$2").replace(/\([^\)]*\)/g,"")||void 0;e.match(/\(([^\)]*)\)/)&&(b=e.replace(/^[^\(]+\(([^\)]*)\)$/,"$1"));return{functionName:f,args:void 0===b||"[arguments not available]"===b?void 0:b.split(","),fileName:d[0],lineNumber:d[1],columnNumber:d[2],source:a}},this)}}});!function(){function a(a){a=a||{};"number"==typeof a.count||"string"==typeof a.count?this.count=parseInt(a.count,10):this.count=1;"number"==typeof a.timestamp?this.timestamp=a.timestamp:this.timestamp=BOOMR.now();"number"!=typeof a.code&&"string"!=typeof a.code||(this.code=parseInt(a.code,10));"string"==typeof a.message&&(this.message=a.message);"string"==typeof a.functionName&&(this.functionName=a.functionName);"string"==typeof a.fileName&&(this.fileName=a.fileName);"number"!=typeof a.lineNumber&&"string"!=typeof a.lineNumber||(this.lineNumber=parseInt(a.lineNumber,10));"number"!=typeof a.columnNumber&&"string"!=typeof a.columnNumber||(this.columnNumber=parseInt(a.columnNumber,10));"string"==typeof a.stack&&(this.stack=a.stack);"string"==typeof a.type&&(this.type=a.type);void 0!==a.extra&&(this.extra=a.extra);this.source="number"==typeof a.source||"string"==typeof a.source?parseInt(a.source,10):BOOMR.plugins.Errors.SOURCE_APP;"number"!=typeof a.via&&"string"!=typeof a.via||(this.via=parseInt(a.via,10));BOOMR.utils.isArray(a.frames)?this.frames=a.frames:this.frames=[];BOOMR.utils.isArray(a.events)?this.events=a.events:this.events=[]}var b;if(!BOOMR.plugins.Errors){var c=["BOOMR_addError","createStackForSend","BOOMR.window.console.error","BOOMR.plugins.Errors.init","BOOMR.window.onerror","BOOMR_plugins_errors_"],d=5e3;a.prototype.equals=function(a){return"object"==typeof a&&(this.code===a.code&&(this.message===a.message&&(this.functionName===a.functionName&&(this.fileName===a.fileName&&(this.lineNumber===a.lineNumber&&(this.columnNumber===a.columnNumber&&(this.stack===a.stack&&(this.type===a.type&&this.source===a.source))))))))};a.fromError=function(b,e,f){var g,h,i,j,k=!1,l=BOOMR.now();if(!b)return null;if(b.stack){b.stack.length>d&&(b.stack=b.stack.substr(0,d));h=ErrorStackParser.parse(b);if(h&&h.length){if(b.generatedStack){if(h.length>=4&&h[1].functionName&&-1!==h[1].functionName.indexOf("createStackForSend")){h=h.slice(3);k=!0}if(h.length>=3&&h[0].functionName&&-1!==h[0].functionName.indexOf("createStackForSend")){h=h[1].fileName===h[2].fileName?h.slice(3):h.slice(2);k=!0}if(h.length>=1&&h[0].functionName&&-1!==h[0].functionName.indexOf("BOOMR_plugins_errors")){h=h.slice(1);k=!0}}for(i=0;i=b.maxErrors)){g=a.fromError(c,d,e);h=b.mergeDuplicateErrors(b.errors,g,!1);BOOMR.fireEvent("onerror",h||g);b.mergeDuplicateErrors(b.q,g,!0);if(!b.isDuringLoad&&-1===b.sendIntervalId){if(h)return;b.sendIntervalId=setTimeout(function(){b.sendIntervalId=-1;BOOMR.addVar("http.initiator","error");BOOMR.addVar("api",1);b.addErrorsToBeacon();BOOMR.sendBeacon()},b.sendInterval)}}}},findDuplicateError:function(a,b){if(BOOMR.utils.isArray(a)&&void 0!==b)for(var c=0;c1?arguments[1]:BOOMR.window;var d=Array.prototype.slice.call(arguments,2);return b.wrap(a,c).apply(c,d)}}},normalizeToString:function(a){return void 0===a?"undefined":null===a?"null":"number"==typeof a&&isNaN(a)?"NaN":""===a?"(empty string)":0===a?"0":a?"function"==typeof a?"(function)":a&&"function"==typeof a.toString?a.toString():"(unknown)":"false"},compressErrors:function(a){var b,c,d,e,f,g,h,i,j,k=0;i=BOOMR.window.location.origin;for(b=0;b0&&(g.clientid=f[0].get("clientId"))}}catch(j){BOOMR.addError(j,"TPAnalytics googleAnalytics")}if(!g.clientid){e=BOOMR.utils.getCookie("_ga");if(e){e=e.split(".");e&&4===e.length&&(g.clientid=e[2]+"."+e[3])}else{e=BOOMR.utils.getCookie("__utma");if(e){e=e.split(".");e&&6===e.length&&(g.clientid=e[1]+"."+e[2])}}}}for(b=0;b0?f[1]:""}else b=BOOMR.utils.getCookie("s_fid");b&&(g.aid=b)}}if("object"==typeof h.s){"string"==typeof h.s.campaign&&h.s.campaign&&(g.campaign=h.s.campaign);"string"==typeof h.s.purchaseID&&h.s.purchaseID&&(g.purchaseid=h.s.purchaseID)}}return g},ibmAnalytics:function(){var b,c,d,e,f,g,h={},i=BOOMR.window,j={cm_mmc:[/([^]+?)-_-([^]+?)-_-([^]+?)-_-([^]+)/,["mmc_vendor","mmc_category","mmc_placement","mmc_item"]],cm_sp:[/([^]+?)-_-([^]+?)-_-([^]+)/,["sp_type","sp_promotion","sp_link"]],cm_re:[/([^]+?)-_-([^]+?)-_-([^]+)/,["re_version","re_pagearea","re_link"]]};if(a.clientids&&"function"==typeof i.cmRetrieveUserID)try{i.cmRetrieveUserID(function(a){h.coreid=a})}catch(k){BOOMR.addError(k,"TPAnalytics ibmAnalytics")}for(e in j)if(j.hasOwnProperty(e)){b=BOOMR.utils.getQueryParamValue(e);if(b){f=j[e][0];g=j[e][1];c=f.exec(b);if(c&&c.length>g.length)for(d=0;d0&&BOOMR.sendBeacon()},onBeacon:function(){if(this.addedVars&&this.addedVars.length>0){BOOMR.removeVar(this.addedVars);this.addedVars=[]}}};BOOMR.plugins.TPAnalytics={init:function(b){BOOMR.utils.pluginConfig(a,b,"TPAnalytics",["clientids","dropParams"]);if(!a.initialized){BOOMR.utils.isArray(a.dropParams)||(a.dropParams=[]);BOOMR.subscribe("page_ready",a.pageReady,null,a);BOOMR.subscribe("onbeacon",a.onBeacon,null,a);BOOMR.subscribe("prerender_to_visible",a.pageReady,null,a);a.initialized=!0}return this},is_complete:function(){return!0}}}}();!function(){if(!BOOMR.plugins.UserTiming){var a={complete:!1,initialized:!1,supported:!1,options:{from:0,window:BOOMR.window},now:function(){var a,b,c=BOOMR.getPerformance();if(c&&c.now)a=c.now();else{b=BOOMR.plugins.RT&&BOOMR.plugins.RT.navigationStart?BOOMR.plugins.RT.navigationStart():BOOMR.t_lstart||BOOMR.t_start;a=BOOMR.now()-b}return a},getUserTiming:function(){var b,c,d=this.now(),e=window.UserTimingCompression||BOOMR.window.UserTimingCompression;b=e.getCompressedUserTiming(a.options);c=e.compressForUri(b);this.options.from=d;return c},addEntriesToBeacon:function(){var a;if(!this.complete){BOOMR.removeVar("usertiming");a=this.getUserTiming();a&&BOOMR.addVar({usertiming:a});this.complete=!0}},clearMetrics:function(a){a.hasOwnProperty("usertiming")&&BOOMR.removeVar("usertiming");this.complete=!1},subscribe:function(){BOOMR.subscribe("before_beacon",this.addEntriesToBeacon,null,this);BOOMR.subscribe("onbeacon",this.clearMetrics,null,this)},pageReady:function(){this.checkSupport()&&this.subscribe()},checkSupport:function(){if(this.supported)return!0;if(void 0===(window.UserTimingCompression||BOOMR.window.UserTimingCompression)){BOOMR.warn("UserTimingCompression library not found","usertiming");return!1}var a=BOOMR.getPerformance();if(a&&"function"==typeof a.getEntriesByType){var b=a.getEntriesByType("mark"),c=a.getEntriesByType("measure");if(BOOMR.utils.isArray(b)&&BOOMR.utils.isArray(c)){BOOMR.info("Client supports User Timing API","usertiming");this.supported=!0;return!0}}return!1}};BOOMR.plugins.UserTiming={init:function(b){if(a.initialized)return this;a.checkSupport()?a.subscribe():BOOMR.subscribe("page_ready",a.pageReady,null,a);a.initialized=!0;return this},is_complete:function(){return!0},is_supported:function(){return a.initialized&&a.supported}}}}();!function(){function a(a,b,c){var d=a.shift();if("string"==typeof d){var e=d.split("."),f=BOOMR,g=BOOMR;"BOOMR"===e[0]&&e.shift();for(;e.length&&f&&("object"==typeof f||"function"==typeof f);){var h=e.shift();f=f[h];e.length&&(g=g[h])}if(!e.length&&"function"==typeof f){var i=f.apply(g,a);"function"==typeof b&&b.call(c,i)}}}function b(b){for(var c=0;c