/* * Copyright (c) 2011, Yahoo! Inc. All rights reserved. * Copyright (c) 2011-2012, Log-Normal, Inc. All rights reserved. * Copyright (c) 2012-2016, SOASTA, Inc. All rights reserved. * Copyrights licensed under the BSD License. See the accompanying LICENSE.txt file for terms. */ /* JavaScript MD5 1.0.1 Copyright 2011, Sebastian Tschan. Licensed under the MIT license. */ /* Boomerang Version: 1.413.1477614597 */ function BOOMR_check_doc_domain(a){var b;if(window){if(!a){if(window.parent===window||!document.getElementById("boomr-if-as"))return;if(window.BOOMR&&BOOMR.boomerang_frame&&BOOMR.window)try{BOOMR.boomerang_frame.document.domain!==BOOMR.window.document.domain&&(BOOMR.boomerang_frame.document.domain=BOOMR.window.document.domain)}catch(c){BOOMR.isCrossOriginError(c)||BOOMR.addError(c,"BOOMR_check_doc_domain.domainFix")}a=document.domain}if(-1!==a.indexOf(".")){try{b=window.parent.document;return}catch(c){document.domain=a}try{b=window.parent.document;return}catch(c){a=a.replace(/^[\w\-]+\./,"")}BOOMR_check_doc_domain(a)}}}BOOMR_start=(new Date).getTime();BOOMR_check_doc_domain();!function(a){var b,c,d,e,f,g,h,i,j=a;if(a.parent!==a&&document.getElementById("boomr-if-as")&&"script"===document.getElementById("boomr-if-as").nodeName.toLowerCase()){a=a.parent;e=document.getElementById("boomr-if-as").src}d=a.document;a.BOOMR||(a.BOOMR={});BOOMR=a.BOOMR;if(!BOOMR.version){BOOMR.version="1.413.1477614597";BOOMR.window=a;BOOMR.boomerang_frame=j;BOOMR.plugins||(BOOMR.plugins={});!function(){try{void 0!==new a.CustomEvent("CustomEvent")&&(f=function(b,c){return new a.CustomEvent(b,c)})}catch(b){}try{!f&&d.createEvent&&d.createEvent("CustomEvent")&&(f=function(a,b){var c=d.createEvent("CustomEvent");b=b||{cancelable:!1,bubbles:!1};c.initCustomEvent(a,b.bubbles,b.cancelable,b.detail);return c})}catch(b){}!f&&d.createEventObject&&(f=function(a,b){var c=d.createEventObject();c.type=c.propertyName=a;c.detail=b.detail;return c});f||(f=function(){return void 0})}();g=function(a,b,c){function e(){try{d.dispatchEvent?d.dispatchEvent(g):d.fireEvent&&d.fireEvent("onpropertychange",g)}catch(b){BOOMR.debug("Error when dispatching "+a)}}var g=f(a,{detail:b});g&&(c?BOOMR.setImmediate(e):e())};if("undefined"!=typeof document.hidden){h="visibilityState";i="visibilitychange"}else if("undefined"!=typeof document.mozHidden){h="mozVisibilityState";i="mozvisibilitychange"}else if("undefined"!=typeof document.msHidden){h="msVisibilityState";i="msvisibilitychange"}else if("undefined"!=typeof document.webkitHidden){h="webkitVisibilityState";i="webkitvisibilitychange"}b={beacon_url:"",beacon_type:"AUTO",site_domain:a.location.hostname.replace(/.*?([^.]+\.[^.]+)\.?$/,"$1").toLowerCase(),user_ip:"",autorun:!0,r:void 0,r2:void 0,events:{page_ready:[],page_unload:[],before_unload:[],dom_loaded:[],visibility_changed:[],prerender_to_visible:[],before_beacon:[],onbeacon:[],xhr_load:[],click:[],form_submit:[],onconfig:[],xhr_init:[],spa_init:[],spa_navigation:[]},public_events:{before_beacon:"onBeforeBoomerangBeacon",onbeacon:"onBoomerangBeacon",onboomerangloaded:"onBoomerangLoaded"},listenerCallbacks:{},vars:{},varPriority:{"-1":{},1:{}},errors:{},disabled_plugins:{},xb_handler:function(c){return function(d){var e;d||(d=a.event);d.target?e=d.target:d.srcElement&&(e=d.srcElement);3===e.nodeType&&(e=e.parentNode);e&&"OBJECT"===e.nodeName.toUpperCase()&&"application/x-shockwave-flash"===e.type||b.fireEvent(c,e)}},clearEvents:function(){var a;for(a in this.events)this.events.hasOwnProperty(a)&&(this.events[a]=[])},clearListeners:function(){var a;for(a in b.listenerCallbacks)if(b.listenerCallbacks.hasOwnProperty(a))for(;b.listenerCallbacks[a].length;)BOOMR.utils.removeListener(b.listenerCallbacks[a][0].el,a,b.listenerCallbacks[a][0].fn);b.listenerCallbacks={}},fireEvent:function(a,b){var c,d,e;a=a.toLowerCase();if(this.events.hasOwnProperty(a)){this.public_events.hasOwnProperty(a)&&g(this.public_events[a],b);e=this.events[a];"before_beacon"!==a&&"onbeacon"!==a&&BOOMR.real_sendBeacon();for(c=0;c")}}},spaNavigation:function(){b.onloadfired=!0}};c={t_start:BOOMR_start,url:e,config_url:null,constants:{BEACON_TYPE_SPAS:["spa","spa_hard"],MAX_GET_LENGTH:2e3},session:{domain:null,ID:Math.random().toString(36).replace(/^0\./,""),start:void 0,length:0},utils:{objectToString:function(a,b,c){var d,e=[];if(!a||"object"!=typeof a)return a;void 0===b&&(b="\n ");c||(c=0);if("[object Array]"===Object.prototype.toString.call(a)){for(d=0;d0&&null!==a[d]&&"object"==typeof a[d]?e.push(this.objectToString(a[d],b+("\n "===b?" ":""),c-1)):"&"===b?e.push(encodeURIComponent(a[d])):e.push(a[d]);b=","}else for(d in a)Object.prototype.hasOwnProperty.call(a,d)&&(c>0&&null!==a[d]&&"object"==typeof a[d]?e.push(encodeURIComponent(d)+"="+this.objectToString(a[d],b+("\n "===b?" ":""),c-1)):"&"===b?e.push(encodeURIComponent(d)+"="+encodeURIComponent(a[d])):e.push(d+"="+a[d]));return e.join(b)},getCookie:function(a){if(!a)return null;a=" "+a+"=";var b,c;c=" "+d.cookie+";";if((b=c.indexOf(a))>=0){b+=a.length;c=c.substring(b,c.indexOf(";",b)).replace(/^"/,"").replace(/"$/,"");return c}},setCookie:function(a,b,c){var e,f,g,h,i;if(!a||!BOOMR.session.domain){BOOMR.debug("No cookie name or site domain: "+a+"/"+BOOMR.session.domain);return null}e=this.objectToString(b,"&");f=a+'="'+e+'"';h=[f,"path=/","domain="+BOOMR.session.domain];if(c){i=new Date;i.setTime(i.getTime()+1e3*c);i=i.toGMTString();h.push("expires="+i)}if(f.length<500){d.cookie=h.join("; ");g=this.getCookie(a);if(e===g)return!0;BOOMR.warn("Saved cookie value doesn't match what we tried to set:\n"+e+"\n"+g)}else BOOMR.warn("Cookie too long: "+f.length+" "+f);return!1},getSubCookies:function(a){var b,c,d,e,f=!1,g={};if(!a)return null;if("string"!=typeof a){BOOMR.debug("TypeError: cookie is not a string: "+typeof a);return null}b=a.split("&");for(c=0,d=b.length;d>c;c++){e=b[c].split("=");if(e[0]){e.push("");g[decodeURIComponent(e[0])]=decodeURIComponent(e[1]);f=!0}}return f?g:null},removeCookie:function(a){return this.setCookie(a,{},-86400)},cleanupURL:function(a,c){if(!a||"[object Array]"===Object.prototype.toString.call(a))return"";b.strip_query_string&&(a=a.replace(/\?.*/,"?qs-redacted"));if("undefined"!=typeof c&&a&&a.length>c){var d=a.indexOf("?");a=-1!==d&&c>d?a.substr(0,d)+"?...":a.substr(0,c-3)+"..."}return a},hashQueryString:function(a,b){if(!a)return a;if(!a.match){BOOMR.addError("TypeError: Not a string","hashQueryString",typeof a);return""}a.match(/^\/\//)&&(a=location.protocol+a);if(!a.match(/^(https?|file):/)){BOOMR.error("Passed in URL is invalid: "+a);return""}b&&(a=a.replace(/#.*/,""));return BOOMR.utils.MD5?a.replace(/\?([^#]*)/,function(a,b){return"?"+(b.length>10?BOOMR.utils.MD5(b):b)}):a},pluginConfig:function(a,b,c,d){var e,f=0;if(!b||!b[c])return!1;for(e=0;e0},arrayFilter:function(a,b){var c=[];if("function"==typeof a.filter)c=a.filter(b);else for(var d,e=-1,f=a.length;++e0&&(h.timer=setTimeout(g,b))}var h={observer:null,timer:null};if(!(BOOMR.window&&BOOMR.window.MutationObserver&&d&&a))return null;h.observer=new BOOMR.window.MutationObserver(g);c&&(h.timer=setTimeout(g,h.timeout));h.observer.observe(a,b);return h},addListener:function(a,c,d){a.addEventListener?a.addEventListener(c,d,!1):a.attachEvent&&a.attachEvent("on"+c,d);b.listenerCallbacks[c]=b.listenerCallbacks[c]||[];b.listenerCallbacks[c].push({el:a,fn:d})},removeListener:function(a,c,d){var e;a.removeEventListener?a.removeEventListener(c,d,!1):a.detachEvent&&a.detachEvent("on"+c,d);if(b.listenerCallbacks.hasOwnProperty(c))for(var e=0;e1?" (*"+b.errors[c]+")":""));i.length>0&&(b.vars.errors=i.join("\n"));b.errors={};b.fireEvent("before_beacon",b.vars);b.beacon_url=b.beacon_url_override||b.beacon_url;BOOMR.debug("Ready to send beacon: "+BOOMR.utils.objectToString(b.vars));if(!b.beacon_url){BOOMR.debug("No beacon URL, so skipping.");return!0}for(c in b.vars)if(b.vars.hasOwnProperty(c)){l[c]=b.vars[c];m[c]=b.vars[c]}n=this.getVarsOfPriority(m,-1);o=this.getVarsOfPriority(m,1);j=n.concat(this.getVarsOfPriority(m,0),o);g=j.join("&");e=b.beacon_url+(b.beacon_url.indexOf("?")>-1?"&":"?")+g;e.length>BOOMR.constants.MAX_GET_LENGTH&&(k=!1);BOOMR.removeVar("qt");b.fireEvent("onbeacon",l);if(0===j.length)return this;if(BOOMR.session.rate_limited){BOOMR.debug("Skipping because we're rate limited");return this}BOOMR.orig_XMLHttpRequest||BOOMR.window&&BOOMR.window.XMLHttpRequest||(k=!0);if(k){try{f=new Image}catch(r){BOOMR.debug("Image is not a constructor, not sending a beacon");return!1}f.src=e;if(b.secondary_beacons)for(c=0;c1){a=c[1];j=q[f];if("undefined"==typeof j){j=new RegExp("\\"+f,"g");q[f]=j}a=a.replace(j,"");d!==g&&(a=a.replace(d,g));return a}return""}return a.replace(this.sanitizeRE,"")},isValidObjectMember:function(a,b){return null===a?!1:"object"==typeof a?!0:"function"==typeof a&&a.hasOwnProperty(b)?!0:"string"==typeof a&&a.hasOwnProperty(b)?!0:!1},extractFromDOMElement:function(a,b){var c,d,e="";"INPUT"===a.nodeName.toUpperCase()||"SELECT"===a.nodeName.toUpperCase()?("checkbox"!==a.type.toLowerCase()&&"radio"!==a.type.toLowerCase()||a.checked)&&(e=a.value):e=a.textContent||a.innerText;if(b.match&&"numeric"!==b.match){if("boolean"===b.match)e=1;else if(b.match.match(/^regex:/)){c=b.match.match(/^regex:(.*)/);if(!c||c.length<2)return!1;try{d=new RegExp(c[1],"i");d.test(e)&&(e=1)}catch(f){BOOMR.debug("Bad pattern: "+b.match,"PageVars");BOOMR.debug(f,"PageVars");BOOMR.addError(f,"PageVars.URLPatternType",b.match);return!1}}}else e=this.cleanUp(e,b);return e},handleRegEx:function(a,b,c){var d,e;if(!(a instanceof RegExp))try{a=new RegExp(a,"i")}catch(f){BOOMR.debug("Error generating regex: "+f,"PageVars");BOOMR.addError(f,"PageVars.handleRegEx",a);return!1}if("undefined"==typeof c)return!1;e=a.exec(c);if(!e||!e.length)return!1;d=b.replace(/\$([1-9])/g,function(a,b){return decodeURIComponent(e[parseInt(b,10)])});d=this.cleanUp(d);return this.apply(d)},checkURLPattern:function(a,c,d){var e;if(!a)return!0;e=a.replace(/([.+?\^=!:${}()|\[\]\/\\])/g,"\\$1").replace(/\*/g,".*?");try{e=new RegExp("^"+e+"$","i")}catch(f){BOOMR.debug("Bad pattern: "+e,"PageVars");BOOMR.debug(f,"PageVars");BOOMR.addError(f,"PageVars.checkURLPattern",a);return!1}c||(c=b.href);if(!e.exec(c)){d&&BOOMR.debug("No match "+e+" on "+c,"PageVars");return!1}return!0},nodeWalk:function(a,b){var c,d,e,f;if(!b)return a;c=b.match(/^(\w+)(?:\[(\d+)\])?\/?(.*)/);if(!c||!c.length)return null;d=a.getElementsByTagName(c[1]);if(c[2]){e=parseInt(c[2],10);if(isNaN(e))return null;e--;if(d.length<=e)return null;d=[d[e]]}for(e=0;e0&&BOOMR.addVar(this.varname+"."+i.replace(/^(...).*(St|En).*$/,"$1$2"),Math.round(f[i]));return this.apply(f.duration)}if(a.relative_to_nt||"navigationStart"===a.start)g=0;else{g=parseFloat(f[a.start],10);if(!isNaN(g)&&0===g){BOOMR.debug("Start was 0 (not supported on this resource)","PageVars");return!1}}h=parseFloat(f[a.end],10);if(isNaN(g)||isNaN(h)){BOOMR.debug("Start and end were not numeric: "+g+", "+h,"PageVars");return!1}if(0===h){BOOMR.debug("End was 0 (not supported on this resource)","PageVars");return!1}BOOMR.debug("Final values: "+g+", "+h,"PageVars");BOOMR.addVar(this.varname+"_st",Math.round(g));return this.apply(h-g)},findResource:function(a,b){var c=this.findResources(a,b);return null===c?null:c&&c.length>0?c[0]:null},getFrameResourcesForUrl:function(a,b){var c;try{c=b.location&&b.location.href;return"performance"in b&&b.performance&&b.performance.getEntriesByName&&b.performance.getEntriesByType?b.performance.getEntriesByName(a):null}catch(d){if(BOOMR.isCrossOriginError(d))return null;try{if("TypeError"===d.name&&"Invalid calling object"===d.message&&b.document.location.pathname.match(/\.pdf$/))return null}catch(e){}BOOMR.addError(d,"PageVars.getFrameResourcesForUrl"); return null}},findResources:function(b,c,d){var e,f,g,h,i,j=[];if("number"==typeof c){d=c;c=null}c||(c=a);g=this.getFrameResourcesForUrl(b,c);if(null===g)return g;if(g&&g.length>0)return d&&1===d&&g.length>1?[g[0]]:g;g=c.performance.getEntriesByType("resource");if(g&&g.length>0)for(e=0;ef.duration)&&(f=g[e]);else if(g[e].name&&this.checkURLPattern(b,g[e].name,!1)){j.push(g[e]);if(d&&j.length===d)return j}if(f)return[f];if(c.frames)for(e=0;e0){if(a.value[c].on&&a.value[c].on.length>0&&(BOOMR.utils.inArray(h,a.value[c].on)||"init"===h&&BOOMR.utils.inArray("onload",a.value[c].on)))for(var l in a.value[c].resources)a.value[c].resources.hasOwnProperty(l)&&k.push(a.value[c].resources[l]);break}if(0===k.length)return null;this.resourceSet=k;d=BOOMR.getPerformance();d&&"function"==typeof d.getEntriesByType&&(this.RTSupport=!0);BOOMR.window&&BOOMR.window.MutationObserver&&(this.MOSupport=!0);this.eventsrc=h;if(this.RTSupport)for(e=0;e=j)clearInterval(e);else{g.traverseElements(d,a);f+=BOOMR.now()-h;h=BOOMR.now()}}var c=this.resourceSet[a],d=this.getNode(a),e=null,f=0,g=this,h=BOOMR.now();"resource"===c.type&&(d=BOOMR.window.document.body);if((!d||null===d)&&BOOMR.window.document.body){this.resourceSet[a].found=!1;this.resourceSet[a].fallback=!0;d=BOOMR.window.document.body}if(BOOMR.window.document.body===d&&null===d)return null;if(d&&!this.isContainer(d)){this.resourceSet[a].found=!0;this.initResourceGroupListener(d,a);return null}this.traverseElements(d,a);e=setInterval(b,100)},findResourceChildren:function(a){var b,c,d,e=[];if(!a||!a.getElementsByTagName)return e;for(b=0;b0){for(e=0;e0){g=d.addedNodes;for(h=0;h0){c=this.getNode(b);this.RTSupport&&this.refreshResourceGroupTimings(this.lookupResources(b),this.config);for(f=0;f0&&(this.resourceSet[a].found=!0);return d}return e},refreshResourceGroupTimings:function(a){if(a.length>0){for(var b=0;b0)return b}break;default:return null}},updateResourceGroupDelta:function(a){if(!a||a&&!a.responseEnd)BOOMR.debug("Tried to update ResourceGroup delta with unfinished resource!","PageVars");else{(!this.resourceTime.start||this.resourceTime.start>a.fetchStart)&&(this.resourceTime.start=a.fetchStart);(!this.resourceTime.stop||this.resourceTime.stop0){d.resourceSet[b].found=!0;d.refreshResourceGroupTimings(c,d.config)}}else d.refreshResourceGroupTimings(d.findResources(d.getNodeURL(f)),d.config);else{g=d.getNodeURL(f);if("resource"===e.type&&g&&d.checkURLPattern(e.value,g)){f._bmr_rg.responseEnd=f._bmr_rg.responseEnd||BOOMR.now();d.updateResourceGroupDelta(f._bmr_rg)}else if(f._bmr_rg&&f._bmr_rg.responseEnd&&f._bmr_rg.fetchStart)d.updateResourceGroupDelta(f._bmr_rg);else{f._bmr_rg.responseEnd=f._bmr_rg.responseEnd||BOOMR.now();d.updateResourceGroupDelta(f._bmr_rg)}}d.applyTimedResources()}var d=this,e=this.resourceSet[b];a.addEventListener?a.addEventListener("load",c):a.attachEvent&&a.attachEvent("onload",c)}};BOOMR.utils.runXPath=f.prototype.runXPath;BOOMR.utils.runQuerySelector=f.prototype.runQuerySelector;f.prototype.XPath=f.prototype.URLPatternType;f.prototype.URLQueryParam=f.prototype.URLPattern;e={pageGroups:[],abTests:[],customTimers:[],customMetrics:[],customDimensions:[],priorityHandler:{},complete:!1,initialized:!1,configReceived:!1,rerunAfterConfig:!1,unloadFired:!1,onloadfired:!1,defaultDecimal:g,defaultThousands:h,autorun:!0,mayRetry:[],done:function(d,g){var h,i,j,k,l,n=e;if(e.configReceived){j=m();if("xhr"===g||!this.complete){BOOMR_check_doc_domain();if("xhr"===g&&d&&!BOOMR.utils.inArray(d.initiator,BOOMR.constants.BEACON_TYPE_SPAS)){n=e.extractXHRParams(d,j);if(null===n)return;e.complete=!1;l=d.data?d.data:d;if(l.url){b=c.createElement("a");b.href=l.url;n.pageGroups=e.pageGroups;j.pageGroups.varname="xhr.pg";j.pageGroups.preProcessor=function(a){if(a&&a.match(/_subresource$/)){a=a.replace(/_subresource$/,"");d.subresource="passive"}return a}}}else{b=a.location;this.complete=!0}e.clearMetrics();e.mayRetry=[];for(i in j)if(j.hasOwnProperty(i)){k=new f(j[i]);for(h=0;h0)for(var d=0;d0&&e.retry();return e.configReceived||e.unloadFired},readyToSend:function(){return e.configReceived||e.unloadFired}}}}();!function(){function a(a){if(!a)return null;a.href=a.href;var b=a.pathname;"/"!==b.charAt(0)&&(b="/"+b);return b}function b(b){return b.href&&b.href.match(/^(about:|javascript:|data:)/i)?!0:BOOMR.xhr_excludes.hasOwnProperty(b.href)||BOOMR.xhr_excludes.hasOwnProperty(b.hostname)||BOOMR.xhr_excludes.hasOwnProperty(a(b))}function c(){this.watch=0;this.timer=null;this.pending_events=[]}function d(){BOOMR.subscribe("click",function(){if(!m){var a={timing:{},initiator:"click"};if(BOOMR.orig_XMLHttpRequest&&BOOMR.orig_XMLHttpRequest!==BOOMR.window.XMLHttpRequest){a.timing.requestStart=BOOMR.now();i.addEvent(a)}}})}function e(){if(!BOOMR.proxy_XMLHttpRequest||BOOMR.proxy_XMLHttpRequest!==BOOMR.window.XMLHttpRequest)if(BOOMR.proxy_XMLHttpRequest&&BOOMR.orig_XMLHttpRequest&&BOOMR.orig_XMLHttpRequest===BOOMR.window.XMLHttpRequest){BOOMR.window.XMLHttpRequest=BOOMR.proxy_XMLHttpRequest;c.start()}else{BOOMR.orig_XMLHttpRequest=BOOMR.window.XMLHttpRequest;c.start();d();BOOMR.proxy_XMLHttpRequest=function(){var a,d,e,f={timing:{},initiator:"xhr"},g=!1;a=new BOOMR.orig_XMLHttpRequest;d=a.open;e=a.send;a.open=function(e,h,q){function loadFinished(){var a,b,c=!1;if(!f.timing.loadEventEnd){f.status&&BOOMR.fireEvent("onxhrerror",f);f.timing.loadEventEnd=BOOMR.now();a=BOOMR.getResourceTiming(f.url,function(a,b){return a.responseEnd-b.responseEnd});if(a){b=BOOMR.getPerformance().timing.navigationStart;f.timing.loadEventEnd=BOOMR.now();if(0!==a.responseEnd&&Math.floor(b+a.responseEnd)<=f.timing.loadEventEnd){f.timing.responseEnd=Math.round(b+a.responseEnd);c=!0}c&&0!==a.responseStart&&(f.timing.responseStart=Math.round(b+a.responseStart));c&&0!==a.startTime&&(f.timing.requestStart=Math.round(b+a.startTime))}f.index>-1?i.load_finished(f.index,f.timing.responseEnd):o?i.sendResource(f):(!m||n)&&i.addEvent(f)}}function v(b,d){a.addEventListener(b,function(){if("readystatechange"===b){f.timing[p[a.readyState]]=BOOMR.now();if(k.ie1011fix&&l&&4===a.readyState){c.pause();a.responseXML;c.resume()}if(4===a.readyState&&0!==a.status){(a.status<200||a.status>=400)&&(f.status=a.status);loadFinished()}}else{f.status=void 0===d?a.status:d;loadFinished()}},!1)}j.href=h;if(b(j))return d.apply(a,arguments);void 0===q&&(q=!0);BOOMR.fireEvent("xhr_init","xhr");if(!g){m&&i.watch&&!o&&i.add_event_resource(f);q&&v("readystatechange");v("load");v("timeout",r);v("error",t);v("abort",s)}f.url=j.href;f.method=e;delete f.status;q||(f.synchronous=!0);g=!0;try{return d.apply(a,arguments)}catch(w){f.status=u;loadFinished()}};a.send=function(){f.timing.requestStart=BOOMR.now();return"undefined"==typeof f.status||f.status!==u?e.apply(a,arguments):void 0};a.resource=f;return a};BOOMR.proxy_XMLHttpRequest.prototype=BOOMR.orig_XMLHttpRequest.prototype;BOOMR.window.XMLHttpRequest=BOOMR.proxy_XMLHttpRequest}}function f(){BOOMR.orig_XMLHttpRequest&&BOOMR.orig_XMLHttpRequest!==BOOMR.window.XMLHttpRequest&&(BOOMR.window.XMLHttpRequest=BOOMR.orig_XMLHttpRequest)}function g(a){a.initiator="xhr";BOOMR.responseEnd(a)}var h,i,j,k,l,m=!1,n=!1,o=!1,p=["uninitialized","open","responseStart","domInteractive","responseEnd"],q=1e3,r=-1001,s=-999,t=-998,u=-997,v=["xmlhttprequest","script"];if(window.XMLHttpRequest&&(new XMLHttpRequest).addEventListener){l=window.navigator&&navigator.appVersion&&-1!==navigator.appVersion.indexOf("MSIE 10")||window.navigator&&navigator.userAgent&&navigator.userAgent.match(/Trident.*rv[ :]*11\./);BOOMR=window.BOOMR||{};if(!BOOMR.plugins.AutoXHR){c.stop=function(){c.pause();c.observer=null};c.pause=function(){if(c.observer&&c.observer.observer&&!c.isPaused){c.isPaused=!0;c.observer.observer.disconnect()}};c.resume=function(){if(c.observer&&c.observer.observer&&c.isPaused){c.isPaused=!1;c.observer.observer.observe(h,c.observer.config)}};c.start=function(){var a={childList:!0,attributes:!0,subtree:!0,attributeFilter:["src","href"]};c.observer=BOOMR.utils.addObserver(h,a,null,i.mutation_cb,null,i);if(c.observer){c.observer.config=a;BOOMR.subscribe("page_unload",c.stop,null,c)}};c.prototype.addEvent=function(a){var b,d,e={type:a.initiator,resource:a,nodes_to_wait:0,resources:[],complete:!1},f=this.pending_events.length;for(b=f-1;b>=0;b--)if(this.pending_events[b]&&!this.pending_events[b].complete){d=this.pending_events[b];break}if(d)if("click"===d.type){if(0===d.nodes_to_wait||!d.resource.url){this.pending_events[b]=void 0;return null}}else if("xhr"===d.type){if("click"===e.type)return null}else if(BOOMR.utils.inArray(d.type,BOOMR.constants.BEACON_TYPE_SPAS)&&"xhr"===e.type)return null;this.watch++;this.pending_events.push(e);if(c.observer){BOOMR.utils.inArray(e.type,BOOMR.constants.BEACON_TYPE_SPAS)?this.setTimeout(q,f):this.setTimeout(50,f);return f}if(BOOMR.utils.inArray(e.type,BOOMR.constants.BEACON_TYPE_SPAS)){c.start();this.setTimeout(q,f);return f}a.url&&a.timing.loadEventEnd&&this.sendEvent(f);return null};c.prototype.sendEvent=function(a){var b=this.pending_events[a],c=this;if(b&&!b.complete){b.complete=!0;this.watch--;this.clearTimeout();if(BOOMR.readyToSend()){b.resource.resources=b.resources;BOOMR.utils.inArray(b.type,BOOMR.constants.BEACON_TYPE_SPAS)&&0===b.resources.length&&(b.resource.timing.loadEventEnd=BOOMR.now()-q);this.sendResource(b.resource,a)}else setTimeout(function(){c.sendEvent(a)},5e3)}};c.prototype.sendResource=function(a,b){var c=this,d=a.timing?a.timing.requestStart:void 0,e=function(e){e&&(a.timing.loadEventEnd=BOOMR.now());BOOMR.real_sendBeacon();a.onComplete&&a.onComplete(a);if(BOOMR.plugins.ResourceTiming&&BOOMR.plugins.ResourceTiming.is_supported()&&a.timing&&a.timing.requestStart){var f=BOOMR.plugins.ResourceTiming.getCompressedResourceTiming(a.timing.requestStart,a.timing.loadEventEnd);BOOMR.addVar("restiming",JSON.stringify(f))}BOOMR.utils.inArray(a.initiator,BOOMR.constants.BEACON_TYPE_SPAS)&&c.calculateSpaTimings(a);BOOMR.responseEnd(a,d,a);b&&(c.pending_events[b]=void 0)};if(a.wait)a.waitComplete=function(){e(!0)};else{if(BOOMR.utils.inArray(a.initiator,BOOMR.constants.BEACON_TYPE_SPAS)&&h&&h.readyState&&"complete"!==h.readyState){BOOMR.window.addEventListener("load",function(){e(!0)});return}e(!1)}};c.prototype.calculateSpaTimings=function(a){var b=BOOMR.getPerformance();if(b&&b.timing)if("spa_hard"===a.initiator){a.timing.responseEnd=b.timing.responseStart;a.timing.fetchStart=b.timing.fetchStart}else{if(!BOOMR.plugins.ResourceTiming)return;var c=BOOMR.plugins.ResourceTiming.getFilteredResourceTiming(a.timing.requestStart,a.timing.loadEventEnd,k.spaBackEndResources),d=Math.round(a.timing.loadEventEnd-a.timing.requestStart);if(!c||!c.length){BOOMR.plugins.ResourceTiming.is_supported()&&(a.timers={t_resp:0,t_page:d,t_done:d});return}var e=Math.round(BOOMR.plugins.ResourceTiming.calculateResourceTimingUnion(c)),f=d-e;if(0>e||0>d)return;a.timers={t_resp:e,t_page:f,t_done:d}}};c.prototype.setTimeout=function(a,b){var c=this;if(a){this.clearTimeout();this.timer=setTimeout(function(){c.timedout(b)},a)}};c.prototype.timedout=function(a){var b;this.clearTimeout();b=this.pending_events[a];if(b&&BOOMR.utils.inArray(b.type,BOOMR.constants.BEACON_TYPE_SPAS.concat("xhr")))0===b.nodes_to_wait&&this.sendEvent(a);else{this.watch>0&&this.watch--;this.pending_events[a]=void 0}};c.prototype.clearTimeout=function(){if(this.timer){clearTimeout(this.timer);this.timer=null}};c.prototype.load_cb=function(a,b){var c,d,e=BOOMR.now();c=a.target||a.srcElement;if(c&&c._bmr){d=c._bmr.idx;b="undefined"!=typeof b?b:c._bmr.res||0;if(!c._bmr.end[b]){c._bmr.end[b]=e;this.load_finished(d,e)}}};c.prototype.load_finished=function(a,b){var c=this.pending_events[a];if(c){c.nodes_to_wait--;if(0===c.nodes_to_wait){c.resource.timing.loadEventEnd=b||BOOMR.now();BOOMR.utils.inArray(c.type,BOOMR.constants.BEACON_TYPE_SPAS)?this.setTimeout(q,a):this.sendEvent(a)}}};c.prototype.wait_for_node=function(a,c){var d,e,f,g,h,i,k=this,l=!1,n=!1;if(a.nodeName.match(/^(IMG|SCRIPT|IFRAME)$/)||"LINK"===a.nodeName&&a.rel&&a.rel.match(/\/i)){a._bmr&&a._bmr.res&&a._bmr.end[a._bmr.res]&&(n=!0);h=a.src||a.href;if("IMG"===a.nodeName){if(a.naturalWidth&&!n)return!1;if(""===a.getAttribute("src"))return!1}if(!h||h.match(/^(about:|javascript:|data:)/i))return!1;d=this.pending_events[c];if(!d)return!1;i=d.resources.length;a._bmr||(a._bmr={end:{}});d.urls||(d.urls={});if(d.urls[h])return!1;if("SCRIPT"===a.nodeName&&m)return!1;if(!d.resource.url){j.href=h;if(b(j))return!1;d.resource.url=j.href}a._bmr.res=i;a._bmr.idx=c;a.addEventListener("load",function(a){k.load_cb(a,i)});a.addEventListener("error",function(a){k.load_cb(a,i)});d.nodes_to_wait++;d.resources.push(a);d.urls[h]=1;l=!0}else if(a.nodeType===Node.ELEMENT_NODE){e=a.getElementsByTagName("IMG");if(e&&e.length)for(f=0,g=e.length;g>f;f++)l|=this.wait_for_node(e[f],c)}return l};c.prototype.add_event_resource=function(a){var b,c=this.pending_events.length-1;if(0>c)return-1;b=this.pending_events[c];if(!b)return-1;if(!a)return-1;b.nodes_to_wait++;a.index=c;return c};c.prototype.mutation_cb=function(a){var b,c,d;if(!this.watch)return!0;b=this;c=this.pending_events.length-1;if(0>c||!this.pending_events[c])return!0;d=this.pending_events[c];"undefined"==typeof d.interesting&&(d.interesting=!1);if(a&&a.length){d.resource.timing.domComplete=BOOMR.now();a.forEach(function(a){var e,f,g;if("attributes"===a.type)d.interesting|=b.wait_for_node(a.target,c);else if("childList"===a.type){f=a.addedNodes.length;for(e=0;f>e;e++)d.interesting|=b.wait_for_node(a.addedNodes[e],c);f=a.removedNodes.length;for(e=0;f>e;e++){g=a.removedNodes[e];"IFRAME"===g.nodeName&&g._bmr&&b.load_cb({target:g,type:"removed"})}}})}d.interesting||this.setTimeout(q,c);return!0};c.prototype.queue_is_empty=function(){if(0===this.pending_events.length)return!0;var a=this.pending_events.length-1;return this.pending_events[a]?0===this.pending_events[a].nodes_to_wait?!0:!1:!0};i=new c;k={spaBackEndResources:v,ie1011fix:!0};BOOMR.plugins.AutoXHR={is_complete:function(){return!0},init:function(a){var b;if(BOOMR.window&&BOOMR.window.document){h=BOOMR.window.document;j=BOOMR.window.document.createElement("A");BOOMR.utils.pluginConfig(k,a,"AutoXHR",["spaBackEndResources","ie1011fix"]);BOOMR.instrumentXHR=e;BOOMR.uninstrumentXHR=f;n=a.instrument_xhr;if(BOOMR.plugins.SPA&&BOOMR.plugins.SPA.supported_frameworks){var c=BOOMR.plugins.SPA.supported_frameworks();for(b=0;b50){BOOMR.utils.removeCookie(this.cookie);BOOMR.error("took more than 50ms to set cookie... aborting: "+f+" -> "+d,"rt")}return!0},refreshSession:function(a){a||(a=BOOMR.utils.getSubCookies(BOOMR.utils.getCookie(this.cookie)));if(a){a.ss?BOOMR.session.start=parseInt(a.ss,10):BOOMR.session.start=BOOMR.t_lstart||BOOMR.t_start;a.si&&a.si.match(/-/)&&(BOOMR.session.ID=a.si);a.sl&&(BOOMR.session.length=parseInt(a.sl,10));a.tt&&a.tt.match(/\d/)&&(this.loadTime=parseInt(a.tt,10));a.obo&&(this.oboError=parseInt(a.obo,10)||0);a.dm&&!BOOMR.session.domain&&(BOOMR.session.domain=a.dm);a.se&&(c.session_exp=parseInt(a.se,10)||e);a.sh&&(c.sessionHistory=a.sh.split(","));a.bcn&&(this.beacon_url=a.bcn);a.rl&&"1"===a.rl&&(BOOMR.session.rate_limited=!0)}},maybeResetSession:function(a,b){BOOMR.debug("Current session meta:\n"+BOOMR.utils.objectToString(BOOMR.session),"rt");BOOMR.debug("Timers: t_start="+b+", sessionLoad="+c.loadTime+", sessionError="+c.oboError+", lastAction="+c.lastActionTime,"rt");BOOMR.removeVar("rt.srst");var d=0;BOOMR.session.start&&BOOMR.session.length&&(d=(BOOMR.now()-BOOMR.session.start)/BOOMR.session.length);var e=1e3*c.session_exp;if(!BOOMR.session.start||b&&BOOMR.session.start>b||a-(c.lastActionTime||BOOMR.t_start)>e||d>e){BOOMR.addVar("rt.srst",BOOMR.session.ID+"-"+BOOMR.session.start+":"+BOOMR.session.length+":"+c.oboError+":"+c.loadTime+":"+b+":"+c.lastActionTime+":"+a+":"+c.sessionHistory.join(","));c.addedVars.push("rt.srst");BOOMR.session.start=b||BOOMR.t_lstart||BOOMR.t_start;BOOMR.session.length=0;BOOMR.session.rate_limited=!1;c.loadTime=0;c.oboError=0;c.beacon_url=c.next_beacon_url;c.lastActionTime=a;c.sessionHistory=[];c.updateCookie({rl:void 0,sl:BOOMR.session.length,ss:BOOMR.session.start,tt:c.loadTime,obo:c.oboError,bcn:c.beacon_url,sh:c.sessionHistory.join(",")})}BOOMR.debug("New session meta:\n"+BOOMR.utils.objectToString(BOOMR.session),"rt");BOOMR.debug("Timers: t_start="+b+", sessionLoad="+c.loadTime+", sessionError="+c.oboError,"rt")},initFromCookie:function(){var a,c;c=BOOMR.utils.getSubCookies(BOOMR.utils.getCookie(this.cookie));if(c){c.s=Math.max(+c.ld||0,Math.max(+c.ul||0,+c.cl||0));BOOMR.debug("Read from cookie "+BOOMR.utils.objectToString(c),"rt");if(c.s&&(c.r||c.nu)){this.r=c.r;a=BOOMR.utils.hashQueryString(b.URL,!0);BOOMR.debug(this.r+" =?= "+this.r2,"rt");BOOMR.debug(c.s+" c.s&&(this.t_fb_approx=parseInt(c.hd,10))}else this.t_start=this.t_fb_approx=void 0}c.s&&(this.lastActionTime=c.s);this.refreshSession(c);this.updateCookie({s:void 0,r:void 0,nu:void 0,ul:void 0,cl:void 0,hd:void 0,ld:void 0,rl:void 0});this.maybeResetSession(BOOMR.now())}},incrementSessionDetails:function(){BOOMR.session.length++;isNaN(c.timers.t_done.delta)?c.oboError++:c.loadTime+=c.timers.t_done.delta;c.sessionHistory.unshift(BOOMR.now()+"="+BOOMR.session.length+":"+c.oboError+":"+c.loadTime);c.sessionHistory.length>5&&(c.sessionHistory.length=5)},getBoomerangTimings:function(){function a(a,b){var c=Math.round(a?a:0),d=Math.round(b?b:0);c=0===c?0:c-d;return c?c:""}var b,d,e,f,g;if(BOOMR.t_start){BOOMR.plugins.RT.startTimer("boomerang",BOOMR.t_start);BOOMR.plugins.RT.endTimer("boomerang",BOOMR.t_end);BOOMR.plugins.RT.endTimer("boomr_fb",BOOMR.t_start);if(BOOMR.t_lstart){BOOMR.plugins.RT.endTimer("boomr_ld",BOOMR.t_lstart);BOOMR.plugins.RT.setTimer("boomr_lat",BOOMR.t_start-BOOMR.t_lstart)}}try{if(window&&"performance"in window&&window.performance&&"function"==typeof window.performance.getEntriesByName){d={"rt.bmr":BOOMR.url};d["rt.cnf"]=BOOMR.config_url;for(e in d)if(d.hasOwnProperty(e)&&d[e]){b=window.performance.getEntriesByName(d[e]);if(!b||0===b.length||!b[0])continue;b=b[0];f=a(b.startTime,0);g=[f,a(b.responseEnd,f),a(b.responseStart,f),a(b.requestStart,f),a(b.connectEnd,f),a(b.secureConnectionStart,f),a(b.connectStart,f),a(b.domainLookupEnd,f),a(b.domainLookupStart,f),a(b.redirectEnd,f),a(b.redirectStart,f)].join(",").replace(/,+$/,"");BOOMR.addVar(e,g);c.addedVars.push(e)}}}catch(h){BOOMR.addError(h,"rt.getBoomerangTimings")}},checkPreRender:function(){if("prerender"!==BOOMR.visibilityState())return!1;BOOMR.plugins.RT.startTimer("t_load",this.navigationStart);BOOMR.plugins.RT.endTimer("t_load");BOOMR.plugins.RT.startTimer("t_prerender",this.navigationStart);BOOMR.plugins.RT.startTimer("t_postrender");return!0},initFromNavTiming:function(){var b,c,d;if(!this.navigationStart){c=BOOMR.getPerformance();c&&c.navigation&&(this.navigationType=c.navigation.type);if(c&&c.timing)b=c.timing;else if(a.chrome&&a.chrome.csi&&a.chrome.csi().startE){b={navigationStart:a.chrome.csi().startE};d="csi"}else if(a.gtbExternal&&a.gtbExternal.startE()){b={navigationStart:a.gtbExternal.startE()};d="gtb"}if(b){BOOMR.addVar("rt.start",d||"navigation");this.navigationStart=b.navigationStart||b.fetchStart||void 0;this.responseStart=b.responseStart||void 0;navigator.userAgent.match(/Firefox\/[78]\./)&&(this.navigationStart=b.unloadEventStart||b.fetchStart||void 0)}else BOOMR.warn("This browser doesn't support the WebTiming API","rt")}},validateLoadTimestamp:function(a,b,c){var d;if(b&&b.timing&&b.timing.loadEventEnd)return b.timing.loadEventEnd;if(!("xhr"!==c||b&&BOOMR.utils.inArray(b.initiator,BOOMR.constants.BEACON_TYPE_SPAS)))return a;if(BOOMR.loadedLate){d=BOOMR.getPerformance();if(!d||!d.timing)return BOOMR.t_onload||BOOMR.t_lstart||BOOMR.t_start||a;if(d.timing.loadEventStart&&d.timing.loadEventStartb?BOOMR.addVar("t_page.inv",1):BOOMR.plugins.RT.setTimer("t_page",b-e)}if("load"===a&&c.timers.hasOwnProperty("t_postrender")){BOOMR.plugins.RT.endTimer("t_postrender");BOOMR.plugins.RT.endTimer("t_prerender")}return!0},setSupportingTimestamps:function(a){a&&BOOMR.addVar("rt.tstart",a);"number"==typeof c.navigationStart&&c.navigationStart!==a&&BOOMR.addVar("rt.nstart",c.navigationStart);"number"==typeof c.t_start&&c.t_start!==a&&BOOMR.addVar("rt.cstart",c.t_start);BOOMR.addVar("rt.bstart",BOOMR.t_start);BOOMR.t_lstart&&BOOMR.addVar("rt.blstart",BOOMR.t_lstart);BOOMR.addVar("rt.end",c.timers.t_done.end)},determineTStart:function(a,b){var d;if("xhr"===a){b&&b.name&&c.timers[b.name]?d=c.timers[b.name].start:b&&b.timing&&b.timing.requestStart&&(d=b.timing.requestStart);"undefined"==typeof d&&b&&BOOMR.utils.inArray(b.initiator,BOOMR.constants.BEACON_TYPE_SPAS)?BOOMR.addVar("rt.start","none"):BOOMR.addVar("rt.start","manual");c.cached_xhr_start=d}else{if(c.navigationStart)d=c.navigationStart;else if(c.t_start&&2!==c.navigationType){d=c.t_start;BOOMR.addVar("rt.start","cookie")}else if(c.cached_t_start)d=c.cached_t_start;else{BOOMR.addVar("rt.start","none");d=void 0}c.cached_t_start=d}BOOMR.debug("Got start time: "+d,"rt");return d},page_ready:function(){this.onloadfired=!0},check_visibility:function(){"visible"===BOOMR.visibilityState()&&(c.visiblefired=!0)},prerenderToVisible:function(){if(c.onloadfired&&c.autorun){BOOMR.debug("Transitioned from prerender to "+BOOMR.visibilityState(),"rt");BOOMR.addVar("vis.pre","1");BOOMR.plugins.RT.done(null,"visible")}},page_unload:function(a){BOOMR.debug("Unload called when unloadfired = "+this.unloadfired,"rt");this.unloadfired||BOOMR.plugins.RT.done(a,"unload");this.updateCookie({r:b.URL},"beforeunload"===a.type?"ul":"hd");this.unloadfired=!0},_iterable_click:function(a,b,d,e){var f;if(d){BOOMR.debug(a+" called with "+d.nodeName,"rt");for(;d&&d.nodeName.toUpperCase()!==b;)d=d.parentNode;if(d&&d.nodeName.toUpperCase()===b){BOOMR.debug("passing through","rt");this.refreshSession();this.maybeResetSession(BOOMR.now());f=e(d);this.updateCookie({nu:f},"cl");BOOMR.addVar("nu",BOOMR.utils.cleanupURL(f));c.addedVars.push("nu")}}},onclick:function(a){c._iterable_click("Click","A",a,function(a){return a.href})},onerror:function(){this.onloadfired&&(c.complete=!0)},onsubmit:function(a){c._iterable_click("Submit","FORM",a,function(a){var c=a.getAttribute("action")||b.URL||"";return c.match(/\?/)?c:c+"?"})},onconfig:function(a){a.beacon_url&&(c.beacon_url=a.beacon_url);if(a.RT){a.RT.oboError&&!isNaN(a.RT.oboError)&&a.RT.oboError>c.oboError&&(c.oboError=a.RT.oboError);if(a.RT.loadTime&&!isNaN(a.RT.loadTime)&&a.RT.loadTime>c.loadTime){c.loadTime=a.RT.loadTime;isNaN(c.timers.t_done.delta)||(c.loadTime+=c.timers.t_done.delta)}}},domloaded:function(){BOOMR.plugins.RT.endTimer("t_domloaded")},clear:function(){BOOMR.removeVar("rt.start");if(c.addedVars&&c.addedVars.length>0){BOOMR.removeVar(c.addedVars);c.addedVars=[]}},spaNavigation:function(){c.onloadfired=!0}};BOOMR.plugins.RT={init:function(d){BOOMR.debug("init RT","rt");a!==BOOMR.window&&(a=BOOMR.window);if(a&&a.document){b=a.document;BOOMR.utils.pluginConfig(c,d,"RT",["cookie","cookie_exp","session_exp","strict_referrer"]);d&&"undefined"!=typeof d.autorun&&(c.autorun=d.autorun);if(d&&d.beacon_url){(!c.beacon_url||d.force_beacon_url)&&(c.beacon_url=d.beacon_url);c.next_beacon_url=d.beacon_url}"undefined"!=typeof b&&(c.r=c.r2=BOOMR.utils.hashQueryString(b.referrer,!0));c.initFromCookie();if(c.initialized)return this;c.complete=!1;c.timers={};c.check_visibility();BOOMR.subscribe("page_ready",c.page_ready,null,c);BOOMR.subscribe("visibility_changed",c.check_visibility,null,c);BOOMR.subscribe("prerender_to_visible",c.prerenderToVisible,null,c);BOOMR.subscribe("page_ready",this.done,"load",this);BOOMR.subscribe("xhr_load",this.done,"xhr",this);BOOMR.subscribe("dom_loaded",c.domloaded,null,c);BOOMR.subscribe("page_unload",c.page_unload,null,c);BOOMR.subscribe("click",c.onclick,null,c);BOOMR.subscribe("form_submit",c.onsubmit,null,c);BOOMR.subscribe("before_beacon",this.addTimersToBeacon,"beacon",this);BOOMR.subscribe("onbeacon",c.clear,null,c);BOOMR.subscribe("onerror",c.onerror,null,c);BOOMR.subscribe("onconfig",c.onconfig,null,c);BOOMR.subscribe("spa_navigation",c.spaNavigation,null,c);BOOMR.getBeaconURL=function(){return c.beacon_url};c.initialized=!0;return this}},startTimer:function(a,b){if(a){"t_page"===a&&this.endTimer("t_resp",b);c.timers[a]={start:"number"==typeof b?b:BOOMR.now()}}return this},endTimer:function(a,b){if(a){c.timers[a]=c.timers[a]||{};void 0===c.timers[a].end&&(c.timers[a].end="number"==typeof b?b:BOOMR.now())}return this},setTimer:function(a,b,d){a&&("undefined"!=typeof d?c.timers[a]={start:b,end:d,delta:d-b}:c.timers[a]={delta:b});return this},addTimersToBeacon:function(a,b){var d,e,f=[];for(d in c.timers)if(c.timers.hasOwnProperty(d)){e=c.timers[d];if("number"!=typeof e.delta){"number"!=typeof e.start&&(e.start="xhr"===b?c.cached_xhr_start:c.cached_t_start);e.delta=e.end-e.start}if(isNaN(e.delta))continue;if(c.basic_timers.hasOwnProperty(d)){BOOMR.addVar(d,e.delta);c.addedVars.push(d)}else f.push(d+"|"+e.delta)}if(f.length){BOOMR.addVar("t_other",f.join(","));c.addedVars.push("t_other")}if("beacon"===b){c.timers={};c.complete=!1}},done:function(a,b){BOOMR.debug("Called done: "+b,"rt");var d,e,f=BOOMR.now(),g=!1;c.complete=!1;e=c.validateLoadTimestamp(f,a,b);if(("load"===b||"visible"===b||"xhr"===b)&&!c.setPageLoadTimers(b,e,a))return this;("load"===b||"visible"===b||"xhr"===b&&a&&BOOMR.utils.inArray(a.initiator,BOOMR.constants.BEACON_TYPE_SPAS))&&c.getBoomerangTimings();d=c.determineTStart(b,a);c.refreshSession();c.maybeResetSession(e,d);this.endTimer("t_done",e);a&&"xhr"===a.initiator&&this.setTimer("t_done",a.timing.requestStart,a.timing.loadEventEnd);BOOMR.removeVar("t_done","t_page","t_resp","t_postrender","t_prerender","t_load","t_other","rt.tstart","rt.nstart","rt.cstart","rt.bstart","rt.end","rt.subres","rt.abld","http.errno","http.method","xhr.sync","rt.ss","rt.sl","rt.tt","rt.lt");c.setSupportingTimestamps(d);this.addTimersToBeacon(null,b);BOOMR.setReferrer(c.r,c.r2);"xhr"===b&&a&&a&&a.data&&(a=a.data);if("xhr"===b&&a){g=a.subresource;if(a.url){BOOMR.addVar("u",BOOMR.utils.cleanupURL(a.url.replace(/#.*/,"")));c.addedVars.push("u")}a.status&&(a.status<-1||a.status>=400)&&BOOMR.addVar("http.errno",a.status);a.method&&"GET"!==a.method&&BOOMR.addVar("http.method",a.method);a.headers&&BOOMR.addVar("http.hdr",a.headers);a.synchronous&&BOOMR.addVar("xhr.sync",1);a.initiator&&BOOMR.addVar("http.initiator",a.initiator);c.addedVars.push("http.errno","http.method","http.hdr","xhr.sync","http.initiator")}if(g&&"passive"!==g){BOOMR.addVar("rt.subres",1);c.addedVars.push("rt.subres")}if("load"===b||"visible"===b||"xhr"===b&&!g||"unload"===b&&!c.onloadfired&&c.autorun){c.incrementSessionDetails();c.updateCookie(null,"ld")}BOOMR.addVar({"rt.tt":c.loadTime,"rt.obo":c.oboError,"rt.sh":c.sessionHistory.join(",")});c.addedVars.push("rt.tt","rt.obo","rt.sh");c.updateCookie();if("unload"===b){BOOMR.addVar("rt.quit","");c.onloadfired||BOOMR.addVar("rt.abld","");c.visiblefired||BOOMR.addVar("rt.ntvu","")}c.complete=!0;BOOMR.sendBeacon(c.beacon_url);return this},is_complete:function(){return c.complete},updateCookie:function(){c.updateCookie()},getCookie:function(){var a;if(!c.cookie)return!1;a=BOOMR.utils.getSubCookies(BOOMR.utils.getCookie(c.cookie))||{};return a},navigationStart:function(){c.navigationStart||c.initFromNavTiming();return c.navigationStart}}}}(window);!function(){function a(a){BOOMR.debug(a,"CrossDomain")}if(!BOOMR.plugins.CrossDomain){var b=BOOMR.window;if(b){var c=BOOMR.window.document,d=864e5,e={enabled:!1,cross_domain_url:void 0,session_transferred:!1,debug:!1,iframe_name:"boomerang-cross-domain-session-fetch",iframe:void 0,sending:!1,session:{ID:void 0,start:void 0,length:void 0},beacon_url:"",session_transferred_time:0,plugin_start:0,session_transfer_timedout:!1,session_transfer_timeout:1500,session_transfer_complete:!1,setup:function(a){var d=BOOMR.session;if(BOOMR.plugins.RT){var f=BOOMR.plugins.RT.getCookie();if(f){f.obo&&(d.obo=f.obo);f.tt&&(d.tt=f.tt)}}var g=BOOMR.utils.objectToString(BOOMR.session,"&");a=a+"?"+g;c.body.appendChild(e.buildIFrame(a,e.iframe_name));b.addEventListener?b.addEventListener("message",e.onIFrameMessage):b.attachEvent("onmessage",e.onIFrameMessage)},onIFrameMessage:function(d){var f;if(b.JSON){try{f=b.JSON.parse(d.data)}catch(g){a("JSON parsing failed. exiting...");return}if(f&&e.cross_domain_url.indexOf(d.origin)>=-1){e.session={ID:f.si,start:parseInt(f.ss,10),length:parseInt(f.sl,10)};e.session_transferred_time=BOOMR.now();f.bcn?BOOMR.fireEvent("onconfig",{beacon_url:f.bcn,RT:{oboError:f.obo?parseInt(f.obo,10):0,loadTime:f.tt?parseInt(f.tt,10):0}}):BOOMR.fireEvent("onconfig",{beacon_url:BOOMR.getBeaconURL()});a("Session transferred at: "+e.session_transferred_time+" session data is: "+BOOMR.utils.objectToString(e.session));e.session_transferred=!0;BOOMR.sendBeacon();setTimeout(function(){e.debug||c.body.removeChild(c.getElementById(e.iframe_name))},0)}}},buildIFrame:function(b,d){var e;a("Adding IFrame!");try{e=c.createElement("