-
Notifications
You must be signed in to change notification settings - Fork 1
/
perfbar-min.user.js
485 lines (409 loc) · 293 KB
/
perfbar-min.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
// ==UserScript==
// @name PerfBar-Min
// @namespace http://nicj.net
// @version 1.0
// @author Nic Jansma, Charlie Vazac
// @grant GM_addStyle
// @grant GM_setValue
// @grant GM_getValue
// @run-at document-start
// @include *
// @noframes
// ==/UserScript==
// alias unsafeWindow
var UW = unsafeWindow;
(function() {
//
// Utility functions
//
function setState(name, value) {
GM_setValue("perfbar-" + name, value);
}
function getState(name) {
return GM_getValue("perfbar-" + name);
}
//
// Local Members
//
var initialized = false;
//
// Constants
//
// toolbar dimensions
var TOOLBAR_HEIGHT = 80;
// Continuity: How long to wait after Onload to calculate TTI
UW.CONTINUITY_WAIT_AFTER_ONLOAD = 30000;
//
// Toolbar
//
var toolBar = (function() {
//
// Local members
//
// toolbar div
var toolBar$;
// toolbar top
var toolBarTop = 0;
// each section
var sections = [];
var $ = UW.jQuery;
/**
* Initializes the graph
*/
function init() {
if (toolBar$) {
return;
}
$ = UW.jQuery;
cssobj({
"#perfbar": {
color: "white",
"font-size": "60px",
"font-family": "Monaco,Menlo,Consolas,\"Courier New\",monospace",
"line-height": "65px",
margin: 0,
padding: 0,
position: 'fixed',
"z-index": Number.MAX_SAFE_INTEGER,
"text-align": "center"
},
".perfbar-section": {
background: "#404040",
opacity: 0.95,
display: "inline-block",
height: "100%",
padding: "5px 0 0 5px",
"margin-left": "5px",
"border-left": "solid 2px #ccc",
"&:first-child": {
"border-left": "none",
"margin-left": 0,
}
},
".perfbar-section-title": {
display: "inline-block",
"font-weight": "bold"
},
".perfbar-component": {
display: "inline-block",
padding: "0 5px 0 5px",
"border-right": "1px solid #aaa",
"&:last-child": {
"border-right": "none"
}
},
".perfbar-component-title": {
display: "inline-block",
color: "#aaa",
padding: "0 20px 0 0"
},
".perfbar-component-value": {
display: "inline-block",
"font-weight": "bold",
padding: "0 5px 0 0",
"transition": "all 0.3s ease"
},
"button.perfbar-button": {
display: "inline-block",
height: "22px",
margin: "0 5px 0 5px",
padding: "0 5px",
"font-size": "12px",
background: "#999",
border: "1px solid #666",
"&.active": {
background: "green",
},
"transition": "background 0.3s ease"
},
".context-menu-input>label>input[type=checkbox], .context-menu-input>label>input[type=radio]": {
display: "inline-block"
},
".context-menu-list > li.context-menu-item": {
"font-size": "12px",
"font-family": "Monaco,Menlo,Consolas,\"Courier New\",monospace",
},
".context-menu-item.context-menu-hover": {
"background-color": "#bbb !important"
}
});
var initialHeight = TOOLBAR_HEIGHT;
// graph template
toolBar$ = $('<div id="perfbar">')
.css({
height: initialHeight,
top: $(window).height() - initialHeight
});
// fill the screen width
toolBar$.width($(window).width());
// add our graph to the body
$('body').prepend(toolBar$);
// Make sure to update the height on resize
$(window).resize(updateToolbarHeight);
}
function updateToolbarHeight() {
if (!toolBar$) {
return;
}
// recalculate the top to position it on layout change
var top = $(window).height() - toolBar$.height();
if (top != toolBarTop) {
toolBarTop = top;
toolBar$.css("top", toolBarTop + "px");
}
}
function register(section, components, css) {
if (!sections[section]) {
// create the dom
var section$ = $("<div>").addClass("perfbar-section").css(css || {});
sections[section] = {
components: {},
$: section$
};
toolBar$.append(sections[section].$);
(components || []).forEach(function(comp) {
var name = comp.name ? comp.name : comp;
var title = comp.title ? comp.title : name;
// create the dom
var div$ = $("<div>").addClass("perfbar-component");
div$.append($("<div>").addClass("perfbar-component-title").text(name).attr('title', title));
div$.append($("<div>").addClass("perfbar-component-value").text("--").attr('title', title));
sections[section].components[name] = {
$: div$
};
sections[section].$.append(sections[section].components[name].$);
});
}
}
function update(section, component, text, css) {
var el$ = sections[section].components[component].$.find(".perfbar-component-value");
// pop new values in first with a change of color
if (el$.text() != text && !css) {
el$.css("color", "#0d0");
setTimeout(function() {
el$.css("color", "white");
}, 1000);
}
el$.css("text-decoration", "underline");
setTimeout(function() {
el$.css("text-decoration", "none");
}, 1000);
if (css) {
el$.css(css);
}
el$.text(text);
}
function addButton(name, callback) {
// create the dom
var div$ = $("<button>").addClass("perfbar-button").text(name);
toolBar$.append(div$);
if (callback) {
div$.on("click", callback);
}
return div$;
}
function addContextMenu(section, component, callback) {
if (!sections[section].components[component].$.contextMenu) {
setTimeout(function() {
addContextMenu(section, component, callback);
}, 100);
return;
}
sections[section].components[component].$
.contextMenu({
selector: "*",
trigger: 'hover',
build: callback
});
}
function findServerTimingEntryByName(rt, seek) {
return (rt.serverTiming || []).find(function ({name, metric}) {
return name === seek || metric === seek
})
}
function hasPermissiveTAO(rt) {
return rt.encodedBodySize > 0
}
return {
init: init,
register: register,
update: update,
addButton: addButton,
addContextMenu: addContextMenu,
hasPermissiveTAO: hasPermissiveTAO,
formatResourceData: function (count, bytes) {
return `${count}# ${Math.round(bytes / 1024)}KB`
},
cachedInBrowser: function (rt) {
return hasPermissiveTAO(rt)
? rt.transferSize === 0
: rt.duration < 30
},
cachedAtEdge: function (rt) {
let origin
const entry = findServerTimingEntryByName(rt, 'origin')
if (entry) {
origin = entry.description === 'true'
}
return origin === false
},
getStaticResources: function () {
if (!UW.BOOMR || !UW.BOOMR.plugins || !UW.BOOMR.plugins.ResourceTiming) {
return []
}
var ret = UW.BOOMR.plugins.ResourceTiming.getFilteredResourceTiming()
var entries = Array.isArray(ret) ? ret : ret.entries
return entries.filter(function ({name, initiatorType}) {
if (initiatorType === 'html') return false
if (initiatorType === 'xmlhttprequest') {
if (name.indexOf('akstat.io') > -1) {
return false
}
}
return true
})
},
calcEdgeTime: function (rt) {
let edgeTime = 0;
['cret', 'ctt'].forEach(function (name) {
const entry = findServerTimingEntryByName(rt, name)
if (entry) {
edgeTime += entry.duration || entry.value
}
})
return edgeTime
}
};
})();
//
// Components
//
var components = [];
//
// Events
//
components.push((function(tb) {
var metricUpdated = {};
function updateTiming(name, start, end) {
if (metricUpdated[name]) {
return;
}
if (start && end) {
tb.update("Events", name, end - start);
metricUpdated[name] = true;
}
}
function updateTimings() {
if (!UW.BOOMR || !UW.BOOMR.plugins || !UW.BOOMR.plugins.Continuity) {
return setTimeout(updateTimings, 1000);
}
var tti = UW.BOOMR.plugins.Continuity.metrics.timeToInteractive();
updateTiming("Load", performance.timing.navigationStart, performance.timing.loadEventStart);
if (tti) {
updateTiming("TTI", performance.timing.navigationStart, performance.timing.navigationStart + tti);
}
if (!performance.timing.loadEventStart || !tti) {
setTimeout(updateTimings, 100);
}
}
function init() {
tb.register("Events", [
{name: "Load", title: "Load Time"},
{name: "TTI", title: "Time to Interactive"}
]);
setTimeout(updateTimings, 100);
}
return {
init: init
};
})(toolBar));
//
// General initialization
//
function init() {
if (initialized) {
return;
}
if (!UW.jQuery || !UW.cssobj) {
// try again soon
setTimeout(init, 100);
return;
}
if (!UW.BOOMR || !UW.BOOMR.plugins) {
initEmbeddedBoomerang();
}
toolBar.init();
for (var i = 0; i < components.length; i++) {
try {
components[i].init();
} catch (e) {
console.error(e);
}
}
initialized = true;
}
// set config to enable Continuity
UW.BOOMR_config = UW.BOOMR_config || {};
UW.BOOMR_config.Continuity = UW.BOOMR_config.Continuity || {};
UW.BOOMR_config.Continuity.enabled = true;
UW.BOOMR_config.Continuity.waitAfterOnload = UW.CONTINUITY_WAIT_AFTER_ONLOAD;
// check to see if we can initialize as soon as the readystate changes
document.addEventListener('readystatechange', init, false);
})();
//
// ==================================================================
// External Dependencies:
// 1. jQuery
// 2. CSSOM
// 3. Boomerang plugins (ServerTiming, ResourceTiming, Continuity)
// ==================================================================
//
// 1. jQuery - load after onload to ensure we don't overwrite the page's version
window.addEventListener("load", function(event) {
if (typeof UW.jQuery === "undefined") {
/*! jQuery v2.2.4 | (c) jQuery Foundation | jquery.org/license */
!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof UW?UW:this,function(a,b){var c=[],d=a.document,e=c.slice,f=c.concat,g=c.push,h=c.indexOf,i={},j=i.toString,k=i.hasOwnProperty,l={},m="2.2.4",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return e.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:e.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a){return n.each(this,a)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(e.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:g,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=a&&a.toString();return!n.isArray(a)&&b-parseFloat(b)+1>=0},isPlainObject:function(a){var b;if("object"!==n.type(a)||a.nodeType||n.isWindow(a))return!1;if(a.constructor&&!k.call(a,"constructor")&&!k.call(a.constructor.prototype||{},"isPrototypeOf"))return!1;for(b in a);return void 0===b||k.call(a,b)},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?i[j.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=d.createElement("script"),b.text=a,d.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(s(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):g.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:h.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,g=0,h=[];if(s(a))for(d=a.length;d>g;g++)e=b(a[g],g,c),null!=e&&h.push(e);else for(g in a)e=b(a[g],g,c),null!=e&&h.push(e);return f.apply([],h)},guid:1,proxy:function(a,b){var c,d,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(d=e.call(arguments,2),f=function(){return a.apply(b||this,d.concat(e.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:l}),"function"==typeof Symbol&&(n.fn[Symbol.iterator]=c[Symbol.iterator]),n.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){i["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=!!a&&"length"in a&&a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ga(),z=ga(),A=ga(),B=function(a,b){return a===b&&(l=!0),0},C=1<<31,D={}.hasOwnProperty,E=[],F=E.pop,G=E.push,H=E.push,I=E.slice,J=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},K="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",L="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",N="\\["+L+"*("+M+")(?:"+L+"*([*^$|!~]?=)"+L+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+M+"))|)"+L+"*\\]",O=":("+M+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+N+")*)|.*)\\)|)",P=new RegExp(L+"+","g"),Q=new RegExp("^"+L+"+|((?:^|[^\\\\])(?:\\\\.)*)"+L+"+$","g"),R=new RegExp("^"+L+"*,"+L+"*"),S=new RegExp("^"+L+"*([>+~]|"+L+")"+L+"*"),T=new RegExp("="+L+"*([^\\]'\"]*?)"+L+"*\\]","g"),U=new RegExp(O),V=new RegExp("^"+M+"$"),W={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),TAG:new RegExp("^("+M+"|[*])"),ATTR:new RegExp("^"+N),PSEUDO:new RegExp("^"+O),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+L+"*(even|odd|(([+-]|)(\\d*)n|)"+L+"*(?:([+-]|)"+L+"*(\\d+)|))"+L+"*\\)|)","i"),bool:new RegExp("^(?:"+K+")$","i"),needsContext:new RegExp("^"+L+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+L+"*((?:-\\d)?\\d*)"+L+"*\\)|)(?=[^-]|$)","i")},X=/^(?:input|select|textarea|button)$/i,Y=/^h\d$/i,Z=/^[^{]+\{\s*\[native \w/,$=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,_=/[+~]/,aa=/'|\\/g,ba=new RegExp("\\\\([\\da-f]{1,6}"+L+"?|("+L+")|.)","ig"),ca=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},da=function(){m()};try{H.apply(E=I.call(v.childNodes),v.childNodes),E[v.childNodes.length].nodeType}catch(ea){H={apply:E.length?function(a,b){G.apply(a,I.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fa(a,b,d,e){var f,h,j,k,l,o,r,s,w=b&&b.ownerDocument,x=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==x&&9!==x&&11!==x)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==x&&(o=$.exec(a)))if(f=o[1]){if(9===x){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(w&&(j=w.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(o[2])return H.apply(d,b.getElementsByTagName(a)),d;if((f=o[3])&&c.getElementsByClassName&&b.getElementsByClassName)return H.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==x)w=b,s=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(aa,"\\$&"):b.setAttribute("id",k=u),r=g(a),h=r.length,l=V.test(k)?"#"+k:"[id='"+k+"']";while(h--)r[h]=l+" "+qa(r[h]);s=r.join(","),w=_.test(a)&&oa(b.parentNode)||b}if(s)try{return H.apply(d,w.querySelectorAll(s)),d}catch(y){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(Q,"$1"),b,d,e)}function ga(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ha(a){return a[u]=!0,a}function ia(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ja(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function ka(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||C)-(~a.sourceIndex||C);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function la(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function na(a){return ha(function(b){return b=+b,ha(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function oa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=fa.support={},f=fa.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fa.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ia(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ia(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Z.test(n.getElementsByClassName),c.getById=ia(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(ba,ca);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Z.test(n.querySelectorAll))&&(ia(function(a){o.appendChild(a).innerHTML="<a id='"+u+"'></a><select id='"+u+"-\r\\' msallowcapture=''><option selected=''></option></select>",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+L+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+L+"*(?:value|"+K+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ia(function(a){var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+L+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Z.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ia(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",O)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Z.test(o.compareDocumentPosition),t=b||Z.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?J(k,a)-J(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?J(k,a)-J(k,b):0;if(e===f)return ka(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?ka(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},fa.matches=function(a,b){return fa(a,null,null,b)},fa.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(T,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fa(b,n,null,[a]).length>0},fa.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fa.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&D.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fa.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fa.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fa.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fa.selectors={cacheLength:50,createPseudo:ha,match:W,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(ba,ca),a[3]=(a[3]||a[4]||a[5]||"").replace(ba,ca),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fa.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fa.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return W.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&U.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(ba,ca).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+L+")"+a+"("+L+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fa.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(P," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fa.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ha(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=J(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ha(function(a){var b=[],c=[],d=h(a.replace(Q,"$1"));return d[u]?ha(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ha(function(a){return function(b){return fa(a,b).length>0}}),contains:ha(function(a){return a=a.replace(ba,ca),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ha(function(a){return V.test(a||"")||fa.error("unsupported lang: "+a),a=a.replace(ba,ca).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Y.test(a.nodeName)},input:function(a){return X.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:na(function(){return[0]}),last:na(function(a,b){return[b-1]}),eq:na(function(a,b,c){return[0>c?c+b:c]}),even:na(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:na(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:na(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:na(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=la(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=ma(b);function pa(){}pa.prototype=d.filters=d.pseudos,d.setFilters=new pa,g=fa.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){c&&!(e=R.exec(h))||(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=S.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(Q," ")}),h=h.slice(c.length));for(g in d.filter)!(e=W[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fa.error(a):z(a,i).slice(0)};function qa(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function ra(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j,k=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(j=b[u]||(b[u]={}),i=j[b.uniqueID]||(j[b.uniqueID]={}),(h=i[d])&&h[0]===w&&h[1]===f)return k[2]=h[2];if(i[d]=k,k[2]=a(b,c,g))return!0}}}function sa(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function ta(a,b,c){for(var d=0,e=b.length;e>d;d++)fa(a,b[d],c);return c}function ua(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function va(a,b,c,d,e,f){return d&&!d[u]&&(d=va(d)),e&&!e[u]&&(e=va(e,f)),ha(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||ta(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ua(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ua(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?J(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ua(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):H.apply(g,r)})}function wa(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ra(function(a){return a===b},h,!0),l=ra(function(a){return J(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ra(sa(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return va(i>1&&sa(m),i>1&&qa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(Q,"$1"),c,e>i&&wa(a.slice(i,e)),f>e&&wa(a=a.slice(e)),f>e&&qa(a))}m.push(c)}return sa(m)}function xa(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=F.call(i));u=ua(u)}H.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&fa.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ha(f):f}return h=fa.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wa(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xa(e,d)),f.selector=a}return f},i=fa.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(ba,ca),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=W.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(ba,ca),_.test(j[0].type)&&oa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qa(j),!a)return H.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||_.test(a)&&oa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ia(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ia(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||ja("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ia(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ja("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ia(function(a){return null==a.getAttribute("disabled")})||ja(K,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fa}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.uniqueSort=n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},v=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},w=n.expr.match.needsContext,x=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,y=/^.[^:#\[\.,]*$/;function z(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(y.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return h.call(b,a)>-1!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(z(this,a||[],!1))},not:function(a){return this.pushStack(z(this,a||[],!0))},is:function(a){return!!z(this,"string"==typeof a&&w.test(a)?n(a):a||[],!1).length}});var A,B=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,C=n.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||A,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:B.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),x.test(e[1])&&n.isPlainObject(b))for(e in b)n.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&f.parentNode&&(this.length=1,this[0]=f),this.context=d,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?void 0!==c.ready?c.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};C.prototype=n.fn,A=n(d);var D=/^(?:parents|prev(?:Until|All))/,E={children:!0,contents:!0,next:!0,prev:!0};n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=w.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?h.call(n(a),this[0]):h.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.uniqueSort(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function F(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return u(a,"parentNode")},parentsUntil:function(a,b,c){return u(a,"parentNode",c)},next:function(a){return F(a,"nextSibling")},prev:function(a){return F(a,"previousSibling")},nextAll:function(a){return u(a,"nextSibling")},prevAll:function(a){return u(a,"previousSibling")},nextUntil:function(a,b,c){return u(a,"nextSibling",c)},prevUntil:function(a,b,c){return u(a,"previousSibling",c)},siblings:function(a){return v((a.parentNode||{}).firstChild,a)},children:function(a){return v(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(E[a]||n.uniqueSort(e),D.test(a)&&e.reverse()),this.pushStack(e)}});var G=/\S+/g;function H(a){var b={};return n.each(a.match(G)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?H(a):n.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h<f.length)f[h].apply(c[0],c[1])===!1&&a.stopOnFalse&&(h=f.length,c=!1)}a.memory||(c=!1),b=!1,e&&(f=c?[]:"")},j={add:function(){return f&&(c&&!b&&(h=f.length-1,g.push(c)),function d(b){n.each(b,function(b,c){n.isFunction(c)?a.unique&&j.has(c)||f.push(c):c&&c.length&&"string"!==n.type(c)&&d(c)})}(arguments),c&&!b&&i()),this},remove:function(){return n.each(arguments,function(a,b){var c;while((c=n.inArray(b,f,c))>-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?n.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().progress(c.notify).done(c.resolve).fail(c.reject):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=e.call(arguments),d=c.length,f=1!==d||a&&n.isFunction(a.promise)?d:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(d){b[a]=this,c[a]=arguments.length>1?e.call(arguments):d,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(d>1)for(i=new Array(d),j=new Array(d),k=new Array(d);d>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().progress(h(b,j,i)).done(h(b,k,c)).fail(g.reject):--f;return f||g.resolveWith(k,c),g.promise()}});var I;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(I.resolveWith(d,[n]),n.fn.triggerHandler&&(n(d).triggerHandler("ready"),n(d).off("ready"))))}});function J(){d.removeEventListener("DOMContentLoaded",J),a.removeEventListener("load",J),n.ready()}n.ready.promise=function(b){return I||(I=n.Deferred(),"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(n.ready):(d.addEventListener("DOMContentLoaded",J),a.addEventListener("load",J))),I.promise(b)},n.ready.promise();var K=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)K(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},L=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function M(){this.expando=n.expando+M.uid++}M.uid=1,M.prototype={register:function(a,b){var c=b||{};return a.nodeType?a[this.expando]=c:Object.defineProperty(a,this.expando,{value:c,writable:!0,configurable:!0}),a[this.expando]},cache:function(a){if(!L(a))return{};var b=a[this.expando];return b||(b={},L(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[b]=c;else for(d in b)e[d]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=a[this.expando];if(void 0!==f){if(void 0===b)this.register(a);else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in f?d=[b,e]:(d=e,d=d in f?[d]:d.match(G)||[])),c=d.length;while(c--)delete f[d[c]]}(void 0===b||n.isEmptyObject(f))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!n.isEmptyObject(b)}};var N=new M,O=new M,P=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Q=/[A-Z]/g;function R(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Q,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:P.test(c)?n.parseJSON(c):c;
}catch(e){}O.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return O.hasData(a)||N.hasData(a)},data:function(a,b,c){return O.access(a,b,c)},removeData:function(a,b){O.remove(a,b)},_data:function(a,b,c){return N.access(a,b,c)},_removeData:function(a,b){N.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=O.get(f),1===f.nodeType&&!N.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),R(f,d,e[d])));N.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){O.set(this,a)}):K(this,function(b){var c,d;if(f&&void 0===b){if(c=O.get(f,a)||O.get(f,a.replace(Q,"-$&").toLowerCase()),void 0!==c)return c;if(d=n.camelCase(a),c=O.get(f,d),void 0!==c)return c;if(c=R(f,d,void 0),void 0!==c)return c}else d=n.camelCase(a),this.each(function(){var c=O.get(this,d);O.set(this,d,b),a.indexOf("-")>-1&&void 0!==c&&O.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){O.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=N.get(a,b),c&&(!d||n.isArray(c)?d=N.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return N.get(a,c)||N.access(a,c,{empty:n.Callbacks("once memory").add(function(){N.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=N.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var S=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=new RegExp("^(?:([+-])=|)("+S+")([a-z%]*)$","i"),U=["Top","Right","Bottom","Left"],V=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)};function W(a,b,c,d){var e,f=1,g=20,h=d?function(){return d.cur()}:function(){return n.css(a,b,"")},i=h(),j=c&&c[3]||(n.cssNumber[b]?"":"px"),k=(n.cssNumber[b]||"px"!==j&&+i)&&T.exec(n.css(a,b));if(k&&k[3]!==j){j=j||k[3],c=c||[],k=+i||1;do f=f||".5",k/=f,n.style(a,b,k+j);while(f!==(f=h()/i)&&1!==f&&--g)}return c&&(k=+k||+i||0,e=c[1]?k+(c[1]+1)*c[2]:+c[2],d&&(d.unit=j,d.start=k,d.end=e)),e}var X=/^(?:checkbox|radio)$/i,Y=/<([\w:-]+)/,Z=/^$|\/(?:java|ecma)script/i,$={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};$.optgroup=$.option,$.tbody=$.tfoot=$.colgroup=$.caption=$.thead,$.th=$.td;function _(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function aa(a,b){for(var c=0,d=a.length;d>c;c++)N.set(a[c],"globalEval",!b||N.get(b[c],"globalEval"))}var ba=/<|&#?\w+;/;function ca(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],o=0,p=a.length;p>o;o++)if(f=a[o],f||0===f)if("object"===n.type(f))n.merge(m,f.nodeType?[f]:f);else if(ba.test(f)){g=g||l.appendChild(b.createElement("div")),h=(Y.exec(f)||["",""])[1].toLowerCase(),i=$[h]||$._default,g.innerHTML=i[1]+n.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;n.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",o=0;while(f=m[o++])if(d&&n.inArray(f,d)>-1)e&&e.push(f);else if(j=n.contains(f.ownerDocument,f),g=_(l.appendChild(f),"script"),j&&aa(g),c){k=0;while(f=g[k++])Z.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),l.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",l.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var da=/^key/,ea=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,fa=/^([^.]*)(?:\.(.+)|)/;function ga(){return!0}function ha(){return!1}function ia(){try{return d.activeElement}catch(a){}}function ja(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)ja(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=ha;else if(!e)return a;return 1===f&&(g=e,e=function(a){return n().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=n.guid++)),a.each(function(){n.event.add(this,b,e,d,c)})}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return"undefined"!=typeof n&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(G)||[""],j=b.length;while(j--)h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=N.hasData(a)&&N.get(a);if(r&&(i=r.events)){b=(b||"").match(G)||[""],j=b.length;while(j--)if(h=fa.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&N.remove(a,"handle events")}},dispatch:function(a){a=n.event.fix(a);var b,c,d,f,g,h=[],i=e.call(arguments),j=(N.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())a.rnamespace&&!a.rnamespace.test(g.namespace)||(a.handleObj=g,a.data=g.data,d=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==d&&(a.result=d)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&("click"!==a.type||isNaN(a.button)||a.button<1))for(;i!==this;i=i.parentNode||this)if(1===i.nodeType&&(i.disabled!==!0||"click"!==a.type)){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>-1:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,e,f,g=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||d,e=c.documentElement,f=c.body,a.pageX=b.clientX+(e&&e.scrollLeft||f&&f.scrollLeft||0)-(e&&e.clientLeft||f&&f.clientLeft||0),a.pageY=b.clientY+(e&&e.scrollTop||f&&f.scrollTop||0)-(e&&e.clientTop||f&&f.clientTop||0)),a.which||void 0===g||(a.which=1&g?1:2&g?3:4&g?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,e,f=a.type,g=a,h=this.fixHooks[f];h||(this.fixHooks[f]=h=ea.test(f)?this.mouseHooks:da.test(f)?this.keyHooks:{}),e=h.props?this.props.concat(h.props):this.props,a=new n.Event(g),b=e.length;while(b--)c=e[b],a[c]=g[c];return a.target||(a.target=d),3===a.target.nodeType&&(a.target=a.target.parentNode),h.filter?h.filter(a,g):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==ia()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===ia()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?ga:ha):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={constructor:n.Event,isDefaultPrevented:ha,isPropagationStopped:ha,isImmediatePropagationStopped:ha,isSimulated:!1,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=ga,a&&!this.isSimulated&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=ga,a&&!this.isSimulated&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=ga,a&&!this.isSimulated&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return e&&(e===d||n.contains(d,e))||(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),n.fn.extend({on:function(a,b,c,d){return ja(this,a,b,c,d)},one:function(a,b,c,d){return ja(this,a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return b!==!1&&"function"!=typeof b||(c=b,b=void 0),c===!1&&(c=ha),this.each(function(){n.event.remove(this,a,c,b)})}});var ka=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,la=/<script|<style|<link/i,ma=/checked\s*(?:[^=]|=\s*.checked.)/i,na=/^true\/(.*)/,oa=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function pa(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function qa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function ra(a){var b=na.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function sa(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(N.hasData(a)&&(f=N.access(a),g=N.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}O.hasData(a)&&(h=O.access(a),i=n.extend({},h),O.set(b,i))}}function ta(a,b){var c=b.nodeName.toLowerCase();"input"===c&&X.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function ua(a,b,c,d){b=f.apply([],b);var e,g,h,i,j,k,m=0,o=a.length,p=o-1,q=b[0],r=n.isFunction(q);if(r||o>1&&"string"==typeof q&&!l.checkClone&&ma.test(q))return a.each(function(e){var f=a.eq(e);r&&(b[0]=q.call(this,e,f.html())),ua(f,b,c,d)});if(o&&(e=ca(b,a[0].ownerDocument,!1,a,d),g=e.firstChild,1===e.childNodes.length&&(e=g),g||d)){for(h=n.map(_(e,"script"),qa),i=h.length;o>m;m++)j=e,m!==p&&(j=n.clone(j,!0,!0),i&&n.merge(h,_(j,"script"))),c.call(a[m],j,m);if(i)for(k=h[h.length-1].ownerDocument,n.map(h,ra),m=0;i>m;m++)j=h[m],Z.test(j.type||"")&&!N.access(j,"globalEval")&&n.contains(k,j)&&(j.src?n._evalUrl&&n._evalUrl(j.src):n.globalEval(j.textContent.replace(oa,"")))}return a}function va(a,b,c){for(var d,e=b?n.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||n.cleanData(_(d)),d.parentNode&&(c&&n.contains(d.ownerDocument,d)&&aa(_(d,"script")),d.parentNode.removeChild(d));return a}n.extend({htmlPrefilter:function(a){return a.replace(ka,"<$1></$2>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(l.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=_(h),f=_(a),d=0,e=f.length;e>d;d++)ta(f[d],g[d]);if(b)if(c)for(f=f||_(a),g=g||_(h),d=0,e=f.length;e>d;d++)sa(f[d],g[d]);else sa(a,h);return g=_(h,"script"),g.length>0&&aa(g,!i&&_(a,"script")),h},cleanData:function(a){for(var b,c,d,e=n.event.special,f=0;void 0!==(c=a[f]);f++)if(L(c)){if(b=c[N.expando]){if(b.events)for(d in b.events)e[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);c[N.expando]=void 0}c[O.expando]&&(c[O.expando]=void 0)}}}),n.fn.extend({domManip:ua,detach:function(a){return va(this,a,!0)},remove:function(a){return va(this,a)},text:function(a){return K(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.appendChild(a)}})},prepend:function(){return ua(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=pa(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return ua(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(_(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return K(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!la.test(a)&&!$[(Y.exec(a)||["",""])[1].toLowerCase()]){a=n.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(_(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return ua(this,arguments,function(b){var c=this.parentNode;n.inArray(this,a)<0&&(n.cleanData(_(this)),c&&c.replaceChild(b,this))},a)}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),f=e.length-1,h=0;f>=h;h++)c=h===f?this:this.clone(!0),n(e[h])[b](c),g.apply(d,c.get());return this.pushStack(d)}});var wa,xa={HTML:"block",BODY:"block"};function ya(a,b){var c=n(b.createElement(a)).appendTo(b.body),d=n.css(c[0],"display");return c.detach(),d}function za(a){var b=d,c=xa[a];return c||(c=ya(a,b),"none"!==c&&c||(wa=(wa||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=wa[0].contentDocument,b.write(),b.close(),c=ya(a,b),wa.detach()),xa[a]=c),c}var Aa=/^margin/,Ba=new RegExp("^("+S+")(?!px)[a-z%]+$","i"),Ca=function(b){var c=b.ownerDocument.defaultView;return c&&c.opener||(c=a),c.getComputedStyle(b)},Da=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e},Ea=d.documentElement;!function(){var b,c,e,f,g=d.createElement("div"),h=d.createElement("div");if(h.style){h.style.backgroundClip="content-box",h.cloneNode(!0).style.backgroundClip="",l.clearCloneStyle="content-box"===h.style.backgroundClip,g.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",g.appendChild(h);function i(){h.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;position:relative;display:block;margin:auto;border:1px;padding:1px;top:1%;width:50%",h.innerHTML="",Ea.appendChild(g);var d=a.getComputedStyle(h);b="1%"!==d.top,f="2px"===d.marginLeft,c="4px"===d.width,h.style.marginRight="50%",e="4px"===d.marginRight,Ea.removeChild(g)}n.extend(l,{pixelPosition:function(){return i(),b},boxSizingReliable:function(){return null==c&&i(),c},pixelMarginRight:function(){return null==c&&i(),e},reliableMarginLeft:function(){return null==c&&i(),f},reliableMarginRight:function(){var b,c=h.appendChild(d.createElement("div"));return c.style.cssText=h.style.cssText="-webkit-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",h.style.width="1px",Ea.appendChild(g),b=!parseFloat(a.getComputedStyle(c).marginRight),Ea.removeChild(g),h.removeChild(c),b}})}}();function Fa(a,b,c){var d,e,f,g,h=a.style;return c=c||Ca(a),g=c?c.getPropertyValue(b)||c[b]:void 0,""!==g&&void 0!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),c&&!l.pixelMarginRight()&&Ba.test(g)&&Aa.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f),void 0!==g?g+"":g}function Ga(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}var Ha=/^(none|table(?!-c[ea]).+)/,Ia={position:"absolute",visibility:"hidden",display:"block"},Ja={letterSpacing:"0",fontWeight:"400"},Ka=["Webkit","O","Moz","ms"],La=d.createElement("div").style;function Ma(a){if(a in La)return a;var b=a[0].toUpperCase()+a.slice(1),c=Ka.length;while(c--)if(a=Ka[c]+b,a in La)return a}function Na(a,b,c){var d=T.exec(b);return d?Math.max(0,d[2]-(c||0))+(d[3]||"px"):b}function Oa(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+U[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+U[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+U[f]+"Width",!0,e))):(g+=n.css(a,"padding"+U[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+U[f]+"Width",!0,e)));return g}function Pa(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=Ca(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=Fa(a,b,f),(0>e||null==e)&&(e=a.style[b]),Ba.test(e))return e;d=g&&(l.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Oa(a,b,c||(g?"border":"content"),d,f)+"px"}function Qa(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=N.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&V(d)&&(f[g]=N.access(d,"olddisplay",za(d.nodeName)))):(e=V(d),"none"===c&&e||N.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=Fa(a,"opacity");return""===c?"1":c}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=T.exec(c))&&e[1]&&(c=W(a,b,e),f="number"),null!=c&&c===c&&("number"===f&&(c+=e&&e[3]||(n.cssNumber[h]?"":"px")),l.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Ma(h)||h),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=Fa(a,b,d)),"normal"===e&&b in Ja&&(e=Ja[b]),""===c||c?(f=parseFloat(e),c===!0||isFinite(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?Ha.test(n.css(a,"display"))&&0===a.offsetWidth?Da(a,Ia,function(){return Pa(a,b,d)}):Pa(a,b,d):void 0},set:function(a,c,d){var e,f=d&&Ca(a),g=d&&Oa(a,b,d,"border-box"===n.css(a,"boxSizing",!1,f),f);return g&&(e=T.exec(c))&&"px"!==(e[3]||"px")&&(a.style[b]=c,c=n.css(a,b)),Na(a,c,g)}}}),n.cssHooks.marginLeft=Ga(l.reliableMarginLeft,function(a,b){return b?(parseFloat(Fa(a,"marginLeft"))||a.getBoundingClientRect().left-Da(a,{marginLeft:0},function(){return a.getBoundingClientRect().left}))+"px":void 0}),n.cssHooks.marginRight=Ga(l.reliableMarginRight,function(a,b){return b?Da(a,{display:"inline-block"},Fa,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+U[d]+b]=f[d]||f[d-2]||f[0];return e}},Aa.test(a)||(n.cssHooks[a+b].set=Na)}),n.fn.extend({css:function(a,b){return K(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=Ca(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Qa(this,!0)},hide:function(){return Qa(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){V(this)?n(this).show():n(this).hide()})}});function Ra(a,b,c,d,e){return new Ra.prototype.init(a,b,c,d,e)}n.Tween=Ra,Ra.prototype={constructor:Ra,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||n.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Ra.propHooks[this.prop];return a&&a.get?a.get(this):Ra.propHooks._default.get(this)},run:function(a){var b,c=Ra.propHooks[this.prop];return this.options.duration?this.pos=b=n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ra.propHooks._default.set(this),this}},Ra.prototype.init.prototype=Ra.prototype,Ra.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[n.cssProps[a.prop]]&&!n.cssHooks[a.prop]?a.elem[a.prop]=a.now:n.style(a.elem,a.prop,a.now+a.unit)}}},Ra.propHooks.scrollTop=Ra.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},n.fx=Ra.prototype.init,n.fx.step={};var Sa,Ta,Ua=/^(?:toggle|show|hide)$/,Va=/queueHooks$/;function Wa(){return a.setTimeout(function(){Sa=void 0}),Sa=n.now()}function Xa(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=U[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ya(a,b,c){for(var d,e=(_a.tweeners[b]||[]).concat(_a.tweeners["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Za(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&V(a),q=N.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?N.get(a,"olddisplay")||za(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Ua.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?za(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=N.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;N.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ya(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function $a(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function _a(a,b,c){var d,e,f=0,g=_a.prefilters.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Sa||Wa(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{},easing:n.easing._default},c),originalProperties:b,originalOptions:c,startTime:Sa||Wa(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?(h.notifyWith(a,[j,1,0]),h.resolveWith(a,[j,b])):h.rejectWith(a,[j,b]),this}}),k=j.props;for($a(k,j.opts.specialEasing);g>f;f++)if(d=_a.prefilters[f].call(j,a,k,j.opts))return n.isFunction(d.stop)&&(n._queueHooks(j.elem,j.opts.queue).stop=n.proxy(d.stop,d)),d;return n.map(k,Ya,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(_a,{tweeners:{"*":[function(a,b){var c=this.createTween(a,b);return W(c.elem,a,T.exec(b),c),c}]},tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.match(G);for(var c,d=0,e=a.length;e>d;d++)c=a[d],_a.tweeners[c]=_a.tweeners[c]||[],_a.tweeners[c].unshift(b)},prefilters:[Za],prefilter:function(a,b){b?_a.prefilters.unshift(a):_a.prefilters.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,null!=d.queue&&d.queue!==!0||(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(V).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=_a(this,n.extend({},a),f);(e||N.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=N.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Va.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));!b&&c||n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=N.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Xa(b,!0),a,d,e)}}),n.each({slideDown:Xa("show"),slideUp:Xa("hide"),slideToggle:Xa("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Sa=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Sa=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Ta||(Ta=a.setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){a.clearInterval(Ta),Ta=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(b,c){return b=n.fx?n.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",l.checkOn=""!==a.value,l.optSelected=c.selected,b.disabled=!0,l.optDisabled=!c.disabled,a=d.createElement("input"),a.value="t",a.type="radio",l.radioValue="t"===a.value}();var ab,bb=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return K(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),e=n.attrHooks[b]||(n.expr.match.bool.test(b)?ab:void 0)),void 0!==c?null===c?void n.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=n.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!l.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(G);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)}}),ab={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=bb[b]||n.find.attr;bb[b]=function(a,b,d){var e,f;return d||(f=bb[b],bb[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,bb[b]=f),e}});var cb=/^(?:input|select|textarea|button)$/i,db=/^(?:a|area)$/i;n.fn.extend({prop:function(a,b){return K(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&n.isXMLDoc(a)||(b=n.propFix[b]||b,e=n.propHooks[b]),
void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=n.find.attr(a,"tabindex");return b?parseInt(b,10):cb.test(a.nodeName)||db.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),l.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var eb=/[\t\r\n\f]/g;function fb(a){return a.getAttribute&&a.getAttribute("class")||""}n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,fb(this)))});if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,fb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(G)||[];while(c=this[i++])if(e=fb(c),d=1===c.nodeType&&(" "+e+" ").replace(eb," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=n.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):n.isFunction(a)?this.each(function(c){n(this).toggleClass(a.call(this,c,fb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=n(this),f=a.match(G)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=fb(this),b&&N.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":N.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+fb(c)+" ").replace(eb," ").indexOf(b)>-1)return!0;return!1}});var gb=/\r/g,hb=/[\x20\t\r\n\f]+/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(gb,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a)).replace(hb," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&(l.optDisabled?!c.disabled:null===c.getAttribute("disabled"))&&(!c.parentNode.disabled||!n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(n.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>-1:void 0}},l.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var ib=/^(?:focusinfocus|focusoutblur)$/;n.extend(n.event,{trigger:function(b,c,e,f){var g,h,i,j,l,m,o,p=[e||d],q=k.call(b,"type")?b.type:b,r=k.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!ib.test(q+n.event.triggered)&&(q.indexOf(".")>-1&&(r=q.split("."),q=r.shift(),r.sort()),l=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=r.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},f||!o.trigger||o.trigger.apply(e,c)!==!1)){if(!f&&!o.noBubble&&!n.isWindow(e)){for(j=o.delegateType||q,ib.test(j+q)||(h=h.parentNode);h;h=h.parentNode)p.push(h),i=h;i===(e.ownerDocument||d)&&p.push(i.defaultView||i.parentWindow||a)}g=0;while((h=p[g++])&&!b.isPropagationStopped())b.type=g>1?j:o.bindType||q,m=(N.get(h,"events")||{})[b.type]&&N.get(h,"handle"),m&&m.apply(h,c),m=l&&h[l],m&&m.apply&&L(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=q,f||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!L(e)||l&&n.isFunction(e[q])&&!n.isWindow(e)&&(i=e[l],i&&(e[l]=null),n.event.triggered=q,e[q](),n.event.triggered=void 0,i&&(e[l]=i)),b.result}},simulate:function(a,b,c){var d=n.extend(new n.Event,c,{type:a,isSimulated:!0});n.event.trigger(d,null,b)}}),n.fn.extend({trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),l.focusin="onfocusin"in a,l.focusin||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a))};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=N.access(d,b);e||d.addEventListener(a,c,!0),N.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=N.access(d,b)-1;e?N.access(d,b,e):(d.removeEventListener(a,c,!0),N.remove(d,b))}}});var jb=a.location,kb=n.now(),lb=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||n.error("Invalid XML: "+b),c};var mb=/#.*$/,nb=/([?&])_=[^&]*/,ob=/^(.*?):[ \t]*([^\r\n]*)$/gm,pb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,qb=/^(?:GET|HEAD)$/,rb=/^\/\//,sb={},tb={},ub="*/".concat("*"),vb=d.createElement("a");vb.href=jb.href;function wb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(G)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function xb(a,b,c,d){var e={},f=a===tb;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function yb(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function zb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function Ab(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:jb.href,type:"GET",isLocal:pb.test(jb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":ub,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?yb(yb(a,n.ajaxSettings),b):yb(n.ajaxSettings,a)},ajaxPrefilter:wb(sb),ajaxTransport:wb(tb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m=n.ajaxSetup({},c),o=m.context||m,p=m.context&&(o.nodeType||o.jquery)?n(o):n.event,q=n.Deferred(),r=n.Callbacks("once memory"),s=m.statusCode||{},t={},u={},v=0,w="canceled",x={readyState:0,getResponseHeader:function(a){var b;if(2===v){if(!h){h={};while(b=ob.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===v?g:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return v||(a=u[c]=u[c]||a,t[a]=b),this},overrideMimeType:function(a){return v||(m.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>v)for(b in a)s[b]=[s[b],a[b]];else x.always(a[x.status]);return this},abort:function(a){var b=a||w;return e&&e.abort(b),z(0,b),this}};if(q.promise(x).complete=r.add,x.success=x.done,x.error=x.fail,m.url=((b||m.url||jb.href)+"").replace(mb,"").replace(rb,jb.protocol+"//"),m.type=c.method||c.type||m.method||m.type,m.dataTypes=n.trim(m.dataType||"*").toLowerCase().match(G)||[""],null==m.crossDomain){j=d.createElement("a");try{j.href=m.url,j.href=j.href,m.crossDomain=vb.protocol+"//"+vb.host!=j.protocol+"//"+j.host}catch(y){m.crossDomain=!0}}if(m.data&&m.processData&&"string"!=typeof m.data&&(m.data=n.param(m.data,m.traditional)),xb(sb,m,c,x),2===v)return x;k=n.event&&m.global,k&&0===n.active++&&n.event.trigger("ajaxStart"),m.type=m.type.toUpperCase(),m.hasContent=!qb.test(m.type),f=m.url,m.hasContent||(m.data&&(f=m.url+=(lb.test(f)?"&":"?")+m.data,delete m.data),m.cache===!1&&(m.url=nb.test(f)?f.replace(nb,"$1_="+kb++):f+(lb.test(f)?"&":"?")+"_="+kb++)),m.ifModified&&(n.lastModified[f]&&x.setRequestHeader("If-Modified-Since",n.lastModified[f]),n.etag[f]&&x.setRequestHeader("If-None-Match",n.etag[f])),(m.data&&m.hasContent&&m.contentType!==!1||c.contentType)&&x.setRequestHeader("Content-Type",m.contentType),x.setRequestHeader("Accept",m.dataTypes[0]&&m.accepts[m.dataTypes[0]]?m.accepts[m.dataTypes[0]]+("*"!==m.dataTypes[0]?", "+ub+"; q=0.01":""):m.accepts["*"]);for(l in m.headers)x.setRequestHeader(l,m.headers[l]);if(m.beforeSend&&(m.beforeSend.call(o,x,m)===!1||2===v))return x.abort();w="abort";for(l in{success:1,error:1,complete:1})x[l](m[l]);if(e=xb(tb,m,c,x)){if(x.readyState=1,k&&p.trigger("ajaxSend",[x,m]),2===v)return x;m.async&&m.timeout>0&&(i=a.setTimeout(function(){x.abort("timeout")},m.timeout));try{v=1,e.send(t,z)}catch(y){if(!(2>v))throw y;z(-1,y)}}else z(-1,"No Transport");function z(b,c,d,h){var j,l,t,u,w,y=c;2!==v&&(v=2,i&&a.clearTimeout(i),e=void 0,g=h||"",x.readyState=b>0?4:0,j=b>=200&&300>b||304===b,d&&(u=zb(m,x,d)),u=Ab(m,u,x,j),j?(m.ifModified&&(w=x.getResponseHeader("Last-Modified"),w&&(n.lastModified[f]=w),w=x.getResponseHeader("etag"),w&&(n.etag[f]=w)),204===b||"HEAD"===m.type?y="nocontent":304===b?y="notmodified":(y=u.state,l=u.data,t=u.error,j=!t)):(t=y,!b&&y||(y="error",0>b&&(b=0))),x.status=b,x.statusText=(c||y)+"",j?q.resolveWith(o,[l,y,x]):q.rejectWith(o,[x,y,t]),x.statusCode(s),s=void 0,k&&p.trigger(j?"ajaxSuccess":"ajaxError",[x,m,j?l:t]),r.fireWith(o,[x,y]),k&&(p.trigger("ajaxComplete",[x,m]),--n.active||n.event.trigger("ajaxStop")))}return x},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax(n.extend({url:a,type:b,dataType:e,data:c,success:d},n.isPlainObject(a)&&a))}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return n.isFunction(a)?this.each(function(b){n(this).wrapInner(a.call(this,b))}):this.each(function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return!n.expr.filters.visible(a)},n.expr.filters.visible=function(a){return a.offsetWidth>0||a.offsetHeight>0||a.getClientRects().length>0};var Bb=/%20/g,Cb=/\[\]$/,Db=/\r?\n/g,Eb=/^(?:submit|button|image|reset|file)$/i,Fb=/^(?:input|select|textarea|keygen)/i;function Gb(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||Cb.test(a)?d(a,e):Gb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Gb(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Gb(c,a[c],b,e);return d.join("&").replace(Bb,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Fb.test(this.nodeName)&&!Eb.test(a)&&(this.checked||!X.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(Db,"\r\n")}}):{name:b.name,value:c.replace(Db,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Hb={0:200,1223:204},Ib=n.ajaxSettings.xhr();l.cors=!!Ib&&"withCredentials"in Ib,l.ajax=Ib=!!Ib,n.ajaxTransport(function(b){var c,d;return l.cors||Ib&&!b.crossDomain?{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Hb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=n("<script>").prop({charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&f("error"===a.type?404:200,a.type)}),d.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Jb=[],Kb=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Jb.pop()||n.expando+"_"+kb++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Kb.test(b.url)?"url":"string"==typeof b.data&&0===(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Kb.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Kb,"$1"+e):b.jsonp!==!1&&(b.url+=(lb.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){void 0===f?n(a).removeProp(e):a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Jb.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||d;var e=x.exec(a),f=!c&&[];return e?[b.createElement(e[1])]:(e=ca([a],b,f),f&&f.length&&n(f).remove(),n.merge([],e.childNodes))};var Lb=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Lb)return Lb.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>-1&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e||"GET",dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).always(c&&function(a,b){g.each(function(){c.apply(this,f||[a.responseText,b,a])})}),this},n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};function Mb(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,n.extend({},h))),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(e=d.getBoundingClientRect(),c=Mb(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent;while(a&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Ea})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(a,b){var c="pageYOffset"===b;n.fn[a]=function(d){return K(this,function(a,d,e){var f=Mb(a);return void 0===e?f?f[b]:a[d]:void(f?f.scrollTo(c?f.pageXOffset:e,c?e:f.pageYOffset):a[d]=e)},a,d,arguments.length)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=Ga(l.pixelPosition,function(a,c){return c?(c=Fa(a,b),Ba.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return K(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.extend({bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)},size:function(){return this.length}}),n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Nb=a.jQuery,Ob=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Ob),b&&a.jQuery===n&&(a.jQuery=Nb),n},b||(a.jQuery=a.$=n),n});
}
});
// 2. CSSOM - Very likely it won't already be on the page
if (!UW.cssobj) {
/* cssobj v1.2.1 */
UW.cssobj = function(){"use strict";function e(e){return!isNaN(parseFloat(e))&&isFinite(e)}function t(e,t){return{}.hasOwnProperty.call(e,t)}function n(e,n){e=e||{};for(var r in n)!t(n,r)||r in e||(e[r]=n[r]);return e}function r(e){return e.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()})}function o(e){return e.charAt(0).toUpperCase()+e.substr(1)}function a(e,n,r){e[n]=e[n]||{};for(var o=arguments,a=2;a<o.length;a++){r=o[a];for(var i in r)t(r,i)&&(e[n][i]=r[i])}return e[n]}function i(e,t,n,r,o){e[t]=t in e?[].concat(e[t]):[],o&&e[t].indexOf(n)>-1||(r?e[t].unshift(n):e[t].push(n))}function u(e,t,n,r,o){for(var a,u,c=e,f=[];c;){if(t(c)){if(r)for(a=0;a<f.length;a++)i(c,r,f[a],!1,!0);f[0]&&o&&(f[0][o]=c),f.unshift(c)}c=c.parent}for(a=0;a<f.length;a++)u=f[a],f[a]=n?u[n]:u;return f}function c(e,t){if(e.indexOf(t)<0)return[e];for(var n,r=0,o=0,a="",i=0,u=[];n=e.charAt(r);r++)a?n==a&&(a=""):('"'!=n&&"'"!=n||(a=n),"("!=n&&"["!=n||o++,")"!=n&&"]"!=n||o--,o||n!=t||(u.push(e.substring(i,r)),i=r+1));return u.concat(e.substring(i))}function f(e){return"string"==typeof e&&e||"number"==typeof e&&isFinite(e)}function l(e){return O.call(e)==_||O.call(e)==G}function s(e){return"function"==typeof e}function d(e,n,r,o){if(o&&(n.nodes=[],n.ref={},r&&(n.diff={})),r=r||{},r.obj=e,O.call(e)==G){var u=[];r.at=S.exec(r.key);for(var f=0;f<e.length;f++){var v=r[f],m=d(e[f],n,r[f]||{parent:r,src:e,parentNode:u,index:f});n.diff&&v!=m&&i(n.diff,m?"added":"removed",m||v),u.push(m)}return u}var g=r.prevVal=r.lastVal;if(N in e){var y=s(e[N])?e[N](!r.disabled,r,n):e[N];if(!y)return;r.test=y}var E=r.children=r.children||{};r.lastRaw=r.rawVal||{},r.lastVal={},r.rawVal={},r.prop={},r.diff={},e[k]&&(n.ref[e[k]]=r);var R=0|e[C],x=[],b=function(e,t,r){var o=t in E,u=a(E,t,r);u.selPart=u.selPart||c(t,",");var f=d(e,n,u);f&&(E[t]=f),g&&(o?!f&&i(n.diff,"removed",E[t]):f&&i(n.diff,"added",f)),f||delete r.parent.children[t]};"selText"in r||p(r,n);for(var T in e)if(t(e,T))if(!l(e[T])||O.call(e[T])==G&&!l(e[T][0])){if("@"==T[0]){b([].concat(e[T]).reduce(function(e,t){return e[t]=";",e},{}),T,{parent:r,src:e,key:T,inline:!0});continue}var w=function(t){t!=N&&h(r,e,t,n)};R?x.push([w,T]):w(T)}else b(e[T],T,{parent:r,src:e,key:T});if(g){for(T in E)T in e||(i(n.diff,"removed",E[T]),delete E[T]);var P=function(){var e=V(r.lastVal),t=V(g).filter(function(t){return e.indexOf(t)<0});t.length&&(r.diff.removed=t),V(r.diff).length&&i(n.diff,"changed",r)};R?x.push([P,null]):P()}return R&&i(n,"_order",{order:R,func:x}),n.nodes.push(r),r}function p(e,t){var n=t.config,r=u(e,function(e){return e.key}).pop();if(e.parentRule=u(e.parent,function(e){return e.type==$}).pop()||null,r){var o,a=r.key,i=a.match(F);i?(e.type=$,e.at=i.pop(),(o="media"==e.at)&&(e.selPart=c(a.replace(F,""),",")),e.groupText=o?"@"+e.at+v(u(e,function(e){return e.type==$},"selPart","selChild","selParent"),""," and"):a,e.selText=u(e,function(e){return e.selText&&!e.at},"selText").pop()||""):S.test(a)?(e.type="at",e.selText=a):e.selText=""+v(u(r,function(e){return e.selPart&&!e.at},"selPart","selChild","selParent"),""," ",!0),e.selText=m(n,"selector",e.selText,e,t),e.selText&&(e.selTextPart=c(e.selText,",")),e!==r&&(e.ruleNode=r)}}function h(n,r,o,a,u){var c=n.prevVal,d=n.lastVal,p=e(o)?u:o,v=n.lastRaw[p],g=c&&c[p],y={node:n,result:a};v&&(y.raw=v[0]),[].concat(r[o]).forEach(function(e){y.cooked=g,y.raw=v=s(e)?e(y):e;var r=m(a.config,"value",v,p,n,a,u);if(l(r))for(var o in r)t(r,o)&&h(n,r,o,a,p);else i(n.rawVal,p,v,!0),f(r)&&(i(n.prop,p,r,!0),g=d[p]=r)}),c&&(p in c?c[p]!=d[p]&&i(n.diff,"changed",p):i(n.diff,"added",p))}function v(e,t,n,r){return e.length?e[0].reduce(function(o,a){var i,u=t?t+n:t;return r?u=(i=c(a,"&")).length>1?i.join(t):u+a:u+=a,o.concat(v(e.slice(1),u,n,r))},[]):t}function m(e,t){var n=[].slice.call(arguments,2),r=e.plugins;return[].concat(r).reduce(function(e,r){return r[t]?r[t].apply(null,[e].concat(n)):e},n.shift())}function g(e){e._order&&(e._order.sort(function(e,t){return e.order-t.order}).forEach(function(e){e.func.forEach(function(e){e[0](e[1])})}),delete e._order)}function y(e){return e=n(e,{plugins:[],intros:[]}),function(t,n){var r=function(t,n){return arguments.length>1&&(o.state=n||{}),t&&(o.obj=s(t)?t():t),o.root=d(a({},"",o.intro,o.obj),o,o.root,!0),g(o),o=m(e,"post",o),s(e.onUpdate)&&e.onUpdate(o),o},o={intro:{},update:r,config:e};return[].concat(e.intros).forEach(function(e){a(o,"intro",s(e)?e(o):e)}),r(t,n||e.state),o}}function E(e,t,n){var r=e.getElementById(t),o=e.getElementsByTagName("head")[0];if(r){if(n.append)return r;r.parentNode&&r.parentNode.removeChild(r)}if(r=e.createElement("style"),o.appendChild(r),r.setAttribute("id",t),n.attrs)for(var a in n.attrs)r.setAttribute(a,n.attrs[a]);return r}function R(e){var t=e.prop;return Object.keys(t).map(function(n){if("$"==n[0])return"";for(var r,o="",a=t[n].length;a--;)r=t[n][a],o+=e.inline?n:b(n,!0)+":"+r+";";return o})}function x(e){if(!(e in z||"-"==e[0]))for(var t,n=o(e),r=M.length;r--;)if((t=M[r]+n)in z)return t}function b(e,t){if("$"==e[0])return"";var n=B[e]||(B[e]=x(e)||e);return t?r(U.test(n)?o(n):"float"==e&&e||n):n}function T(e,t,n){var r,o=/^(.*)!(important)\s*$/i.exec(n),a=b(t),i=b(t,!0);o?(r=o[1],o=o[2],e.setProperty?e.setProperty(i,r,o):(e[i.toUpperCase()]=n,e.cssText=e.cssText)):e[a]=n}function w(e){function t(e){var t=v.indexOf(e);t>-1&&(e.mediaEnabled=!1,g(e),v.splice(t,1)),[e.omGroup].concat(e.omRule).forEach(p)}(e=e||{}).vendors&&(M=e.vendors);var n=e.id||"cssobj"+A(),r=e.frame,o=r?r.contentDocument||r.contentWindow.document:document,a=E(o,n,e),i=a.sheet||a.styleSheet,u=/page/i,c=function(e){return!!e&&(u.test(e.at)||e.parentRule&&u.test(e.parentRule.at))},f=function(e){var t="omGroup"in e?e:e.parentRule;return t&&t.omGroup||i},l=function(e){return!e.parentRule||null!==e.parentRule.omGroup},s=function(e,t,n){return e.deleteRule?e.deleteRule(t.keyText||n):e.removeRule(n)},d=function(e){for(var t=e.cssRules||e.rules,n=t.length;n--;)s(e,t[n],n)},p=function(e){if(e){var t=e.parentRule||i,n=t.cssRules||t.rules;[].some.call(n,function(n,r){if(n===e)return s(t,e,r),!0})}},h=function(e,t,n){if(n){var r=f(e),o=e.parentRule;if(l(e))return e.omRule=L(r,t,n,e);if(o){if(o.mediaEnabled)return[].concat(e.omRule).forEach(p),e.omRule=L(r,t,n,e);e.omRule&&(e.omRule.forEach(p),delete e.omRule)}}},v=[],m=function(){v.forEach(function(e){e.mediaEnabled=e.mediaTest(o),g(e)})};window.attachEvent?window.attachEvent("onresize",m):window.addEventListener&&window.addEventListener("resize",m,!0);var g=function(t,n){if(t){if(t.constructor===Array)return t.map(function(e){g(e,n)});if((!t.key||"$"!=t.key[0])&&t.prop){if("media"==t.at&&t.selParent&&t.selParent.postArr)return t.selParent.postArr.push(t);t.postArr=[];var r=t.children,a="group"==t.type;if(c(t)&&(n=n||[]),a&&!c(t)){var u=t.obj.$groupTest,f="media"==t.at&&e.media;if(u||f){t.omGroup=null;var s=u||f&&function(n){var r=e.media;return!r||t.selPart.some(function(e){return new RegExp(r,"i").test(e.trim())})}||function(){return!0};try{var d=s(o);t.mediaTest=s,t.mediaEnabled=d,v.push(t)}catch(e){}}else[""].concat(M).some(function(e){return t.omGroup=L(i,"@"+(e?"-"+e.toLowerCase()+"-":e)+t.groupText.slice(1),[],t).pop()||null})}var p=t.selTextPart,m=R(t);m.join("")&&(c(t)||h(t,p,m),n&&n.push(p?p+" {"+m.join("")+"}":m));for(var y in r)""===y?t.postArr.push(r[y]):g(r[y],n);a&&c(t)&&l(t)&&(h(t,t.groupText,n),n=null);var E=t.postArr;delete t.postArr,E.map(function(e){g(e,n)})}}},y=e.media;return{post:function(n){var r=y!=e.media;if(y=e.media,m(),n.cssdom=a,!n.diff||r)r&&(v=[],d(i)),g(n.root);else{var o=n.diff;o.added&&o.added.forEach(function(e){g(e)}),o.removed&&o.removed.forEach(function(e){e.selChild&&e.selChild.forEach(t),t(e)}),o.changed&&o.changed.forEach(function(e){var t=e.omRule,n=e.diff;t||(t=h(e,e.selTextPart,R(e))),[].concat(n.added,n.changed).forEach(function(n){n&&t&&t.forEach(function(t){try{T(t.style,n,e.prop[n][0])}catch(e){}})}),n.removed&&n.removed.forEach(function(e){var n=b(e);n&&t&&t.forEach(function(e){try{e.style.removeProperty?e.style.removeProperty(n):e.style.removeAttribute(n)}catch(e){}})})})}return n}}}function P(e){var t=(e=e||{}).space="string"!=typeof e.space?"function"==typeof e.random?e.random():A():e.space,n=e.localNames=e.localNames||{},r=function(e){return"!"==e[0]?e.substr(1):e in n?n[e]:e+t},o=function(e){for(var t,n,o=c(e,"."),a=o[0],i=1,u=o.length;i<u;i++)(t=o[i])?a+="."+((n=t.search(I))<0?r(t):r(t.substr(0,n))+t.substr(n)):a+=".";return a},a=function(e){return o(e.replace(/\s+\.?/g,".").replace(/^([^:\s.])/i,".$1")).replace(/\./g," ")};return{selector:function(e,r,i){return r.at?e:(i.mapSel||(i.space=t,i.localNames=n,i.mapSel=o,i.mapClass=a),o(e))}}}function j(e,t,n){var r=(t=t||{}).local;return t.local=r?r&&"object"==typeof r?r:{}:{space:""},t.plugins=[].concat(t.plugins||[],P(t.local),w(t.cssom)),y(t)(e,n)}var A=function(){var e=0;return function(t){return e++,"_"+(t||"")+Math.floor(Math.random()*Math.pow(2,32)).toString(36)+e+"_"}}(),k="$id",C="$order",N="$test",$="group",V=Object.keys,O={}.toString,G=O.call([]),_=O.call({}),F=/^@(media|document|supports|page|[\w-]*keyframes)/i,S=/^\s*@/i,L=function(e,t,n,r){var o=/@import/i.test(r.selText),a=e.cssRules||e.rules,i=0,u=[];return(r.inline?n.map(function(e){return[r.selText," ",e]}):[[t,"{",n.join(""),"}"]]).forEach(function(n){if(e.cssRules)try{i=o?0:a.length,e.appendRule?e.appendRule(n.join("")):e.insertRule(n.join(""),i),u.push(a[i])}catch(e){}else e.addRule&&[].concat(t).forEach(function(t){try{o?(i=e.addImport(n[2]),u.push(e.imports[i])):/^\s*@/.test(t)||(e.addRule(t,n[2],a.length),u.push(a[a.length-1]))}catch(e){}})}),u},M=["Webkit","Moz","ms","O"],U=new RegExp("^(?:"+M.join("|")+")[A-Z]"),z=document.createElement("div").style,B={float:function(e){for(var t=e.length;t--;)if(e[t]in z)return e[t]}(["styleFloat","cssFloat","float"])},I=/[ \~\\@$%^&\*\(\)\+\=,/';\:"?><[\]\\{}|`]/;return j.version="1.2.1",j}();
}
// 3. Boomerang plugins
function initEmbeddedBoomerang() {
//
// Check if Boomerang is already on the page
//
if (UW.BOOMR && UW.BOOMR.version) {
return;
}
//
// Check if the Boomerang Async loader snippet is on the page
//
var foundBoomerang = false;
try {
var frms = document.getElementsByTagName("iframe");
for (var i = 0; i < frms.length; i++) {
try {
if (frms[i].contentWindow.document.getElementById("boomr-if-as")) {
foundBoomerang = true;
}
} catch (e) {
// NOP
}
}
}
catch (e) {
// NOP
}
if (foundBoomerang) {
// let the real Boomerang do the heavy lifting
return;
}
/* Boomerang Version: 1.571.0 b6042ad58ed5e3d5254653e63beeab81eeab2730 */
function BOOMR_check_doc_domain(a){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(b){BOOMR.isCrossOriginError(b)||BOOMR.addError(b,"BOOMR_check_doc_domain.domainFix")}a=document.domain}if(-1!==a.indexOf(".")){try{window.parent.document;return}catch(b){document.domain=a}try{window.parent.document;return}catch(b){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=a;a.parent!==a&&document.getElementById("boomr-if-as")&&"script"===document.getElementById("boomr-if-as").nodeName.toLowerCase()&&(a=a.parent);d=a.document;a.BOOMR||(a.BOOMR={});BOOMR=a.BOOMR;if(!BOOMR.version){BOOMR.version="1.571.0";BOOMR.window=a;BOOMR.boomerang_frame=i;BOOMR.plugins||(BOOMR.plugins={});!function(){try{void 0!==new a.CustomEvent("CustomEvent")&&(e=function(b,c){return new a.CustomEvent(b,c)})}catch(b){}try{!e&&d.createEvent&&d.createEvent("CustomEvent")&&(e=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){}!e&&d.createEventObject&&(e=function(a,b){var c=d.createEventObject();c.type=c.propertyName=a;c.detail=b.detail;return c});e||(e=function(){})}();f=function(a,b,c){function f(){try{d.dispatchEvent?d.dispatchEvent(g):d.fireEvent&&d.fireEvent("onpropertychange",g)}catch(b){BOOMR.debug("Error when dispatching "+a)}}var g=e(a,{detail:b});g&&(c?BOOMR.setImmediate(f):f())};if(void 0!==d.hidden){g="visibilityState";h="visibilitychange"}else if(void 0!==d.mozHidden){g="mozVisibilityState";h="mozvisibilitychange"}else if(void 0!==d.msHidden){g="msVisibilityState";h="msvisibilitychange"}else if(void 0!==d.webkitHidden){g="webkitVisibilityState";h="webkitvisibilitychange"}b={beacon_url:"",beacon_urls_allowed:["^//[a-z0-9]+\\.akstat\\.io/?$"],beacon_type:"AUTO",beacon_auth_key:"Authorization",beacon_auth_token:void 0,site_domain:a.location.hostname.replace(/.*?([^.]+\.[^.]+)\.?$/,"$1").toLowerCase(),user_ip:"",autorun:!0,hasSentPageLoadBeacon:!1,r:void 0,r2:void 0,events:{page_ready:[],page_unload:[],before_unload:[],dom_loaded:[],visibility_changed:[],prerender_to_visible:[],before_beacon:[],beacon:[],page_load_beacon:[],xhr_load:[],click:[],form_submit:[],config:[],xhr_init:[],spa_init:[],spa_navigation:[],xhr_send:[],xhr_error:[],error:[],xhr_send:[],netinfo:[],rage_click:[]},public_events:{before_beacon:"onBeforeBoomerangBeacon",beacon:"onBoomerangBeacon",onboomerangloaded:"onBoomerangLoaded"},translate_events:{onbeacon:"beacon",onconfig:"config",onerror:"error",onxhrerror:"xhr_error"},listenerCallbacks:{},vars:{},singleBeaconVars:{},varPriority:{"-1":{},1:{}},errors:{},disabled_plugins:{},localStorageSupported:!1,LOCAL_STORAGE_PREFIX:"_boomr_",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,g;a=a.toLowerCase();this.translate_events[a]&&(a=this.translate_events[a]);if(this.events.hasOwnProperty(a)){this.public_events.hasOwnProperty(a)&&f(this.public_events[a],b);e=this.events[a];"before_beacon"!==a&&"beacon"!==a&&BOOMR.real_sendBeacon();g=e.length;for(c=0;c<g;c++)try{d=e[c];d.fn.call(d.scope,b,d.cb_data)}catch(h){BOOMR.addError(h,"fireEvent."+a+"<"+c+">")}for(c=0;c<g;c++)if(e[c].once){e.splice(c,1);g--;c--}}},spaNavigation:function(){b.onloadfired=!0},beaconUrlAllowed:function(a){if(!b.beacon_urls_allowed||0===b.beacon_urls_allowed.length)return!0;for(var c=0;c<b.beacon_urls_allowed.length;c++){if(new RegExp(b.beacon_urls_allowed[c]).exec(a))return!0}return!1},checkLocalStorageSupport:function(){var c=b.LOCAL_STORAGE_PREFIX+"clss";b.localStorageSupported=!1;if(a.JSON&&a.localStorage)try{a.localStorage.setItem(c,c);b.localStorageSupported=a.localStorage.getItem(c)===c;a.localStorage.removeItem(c)}catch(d){b.localStorageSupported=!1}}};c={t_start:BOOMR_start,t_end:void 0,url:"",config_url:null,loadedLate:!1,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:{hasPostMessageSupport:function(){return!(!a.postMessage||"function"!=typeof a.postMessage&&"object"!=typeof a.postMessage)},objectToString:function(a,b,c){var d,e=[];if(!a||"object"!=typeof a)return a;void 0===b&&(b="\n\t");c||(c=0);if(BOOMR.utils.isArray(a)){for(d=0;d<a.length;d++)c>0&&null!==a[d]&&"object"==typeof a[d]?e.push(this.objectToString(a[d],b+("\n\t"===b?"\t":""),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\t"===b?"\t":""),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||void 0===b){BOOMR.debug("Invalid parameters or site domain: "+a+"/"+b+"/"+BOOMR.session.domain);BOOMR.addVar("nocookie",1);return!1}e=this.objectToString(b,"&");f=a+'="'+e+'"';if(f.length<500){h=[f,"path=/","domain="+BOOMR.session.domain];if("number"==typeof c){i=new Date;i.setTime(i.getTime()+1e3*c);i=i.toGMTString();h.push("expires="+i)}d.cookie=h.join("; ");g=this.getCookie(a);if(e===g||void 0===g&&"number"==typeof c&&c<=0)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);BOOMR.addVar("nocookie",1);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;c<d;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)},getLocalStorage:function(c){var d,e;if(!c||!b.localStorageSupported)return null;try{d=a.localStorage.getItem(b.LOCAL_STORAGE_PREFIX+c);if(null===d)return;e=a.JSON.parse(d)}catch(f){BOOMR.warn(f);return null}if(!e||"object"!=typeof e.items){this.removeLocalStorage(c);return null}if(!("number"==typeof e.expires&&BOOMR.now()>=e.expires))return e.items;this.removeLocalStorage(c)},setLocalStorage:function(c,d,e){var f,g,h;if(!c||!b.localStorageSupported||"object"!=typeof d)return!1;f={items:d};"number"==typeof e&&(f.expires=BOOMR.now()+1e3*e);g=a.JSON.stringify(f);if(g.length<5e4){try{a.localStorage.setItem(b.LOCAL_STORAGE_PREFIX+c,g);h=a.localStorage.getItem(b.LOCAL_STORAGE_PREFIX+c);if(g===h)return!0}catch(i){}BOOMR.warn("Saved storage value doesn't match what we tried to set:\n"+g+"\n"+h)}else BOOMR.warn("Storage items too large: "+g.length+" "+g);return!1},removeLocalStorage:function(c){if(!c||!b.localStorageSupported)return!1;try{a.localStorage.removeItem(b.LOCAL_STORAGE_PREFIX+c);return!0}catch(d){}return!1},cleanupURL:function(a,c){if(!a||BOOMR.utils.isArray(a))return"";b.strip_query_string&&(a=a.replace(/\?.*/,"?qs-redacted"));if(void 0!==c&&a&&a.length>c){var d=a.indexOf("?");a=-1!==d&&d<c?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;e<d.length;e++)if(void 0!==b[c][d[e]]){a[d[e]]=b[c][d[e]];f++}return f>0},arrayFilter:function(a,b){var c=[];if(!(this.isArray(a)||a&&"number"==typeof a.length)||"function"!=typeof b)return c;if("function"==typeof a.filter)c=a.filter(b);else for(var d,e=-1,f=a.length;++e<f;){d=a[e];b(d,e,a)&&(c[c.length]=d)}return c},arrayFind:function(a,b){if((this.isArray(a)||a&&"number"==typeof a.length)&&"function"==typeof b){if("function"==typeof a.find)return a.find(b);for(var c,d=-1,e=a.length;++d<e;){c=a[d];if(b(c,d,a))return c}}},isMutationObserverSupported:function(){return!(a&&a.navigator&&a.navigator.userAgent&&a.navigator.userAgent.match(/Trident.*rv[ :]*11\./))&&a&&a.MutationObserver&&"function"==typeof a.MutationObserver},addObserver:function(a,b,c,d,e,f){function g(a){var b=!1;if(h.timer){clearTimeout(h.timer);h.timer=null}if(d){b=d.call(f,a,e);b||(d=null)}if(!b&&h.observer){h.observer.disconnect();h.observer=null}"number"==typeof b&&b>0&&(h.timer=setTimeout(g,b))}var h={observer:null,timer:null};if(!this.isMutationObserverSupported()||!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,e){var f=!1;if(a.addEventListener){e&&BOOMR.browser.supportsPassive()&&(f={capture:!1,passive:!0});a.addEventListener(c,d,f)}else 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;e<b.listenerCallbacks[c].length;e++)if(d===b.listenerCallbacks[c][e].fn&&a===b.listenerCallbacks[c][e].el){b.listenerCallbacks[c].splice(e,1);return}},isArray:function(a){return"[object Array]"===Object.prototype.toString.call(a)},inArray:function(a,b){var c;if(void 0===a||void 0===b||!b.length)return!1;for(c=0;c<b.length;c++)if(b[c]===a)return!0;return!1},getQueryParamValue:function(a,b){var c,d,e,f;if(!a)return null;if("string"==typeof b){c=BOOMR.window.document.createElement("a");c.href=b}else c="object"==typeof b&&"string"==typeof b.search?b:BOOMR.window.location;d=c.search.slice(1).split(/&/);for(e=0;e<d.length;e++)if(d[e]){f=d[e].split("=");if(f.length&&f[0]===a)return f.length>1?decodeURIComponent(f.splice(1).join("=").replace(/\+/g," ")):""}return null},generateUUID:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(a){var b=16*Math.random()|0;return("x"===a?b:3&b|8).toString(16)})},generateId:function(a){return"xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx".substr(0,a||40).replace(/x/g,function(a){var a=(Math.random()||.01).toString(36);return"0"===a?"0":a.substr(2,1)})},serializeForUrl:function(a){if(BOOMR.utils.Compression&&BOOMR.utils.Compression.jsUrl)return BOOMR.utils.Compression.jsUrl(a);if(window.JSON)return JSON.stringify(a);BOOMR.debug("JSON is not supported");return""},getMyURL:function(){var a,b=document.currentScript||document.getElementById("boomr-if-as")||document.getElementById("boomr-scr-as");if(b)return b.src;var c,d=document.getElementsByTagName("script");for(c=d.length;c--;)if("interactive"===d[c].readyState)return d[c].src;try{throw new Error}catch(e){if("stack"in e){a=this.arrayFilter(e.stack.split(/\n/),function(a){return a.match(/https?:\/\//)});if(a&&a.length)return a[0].replace(/.*(https?:\/\/.+?)(:\d+)+\D*$/m,"$1")}}return""},scroll:function(){var b=void 0!==a.pageXOffset,c="CSS1Compat"===(a.document.compatMode||""),d={x:0,y:0};if(b)if("function"==typeof a.pageXOffset){d.x=a.pageXOffset();d.y=a.pageYOffset()}else{d.x=a.pageXOffset;d.y=a.pageYOffset}else if(c){d.x=a.document.documentElement.scrollLeft;d.y=a.document.documentElement.scrollTop}else{d.x=a.document.body.scrollLeft;d.y=a.document.body.scrollTop}"number"==typeof d.sx&&(d.sx=Math.round(d.sx));"number"==typeof d.sy&&(d.sy=Math.round(d.sy));return d},windowHeight:function(){return a.innerHeight||a.document.documentElement.clientHeight||a.document.body.clientHeight},windowWidth:function(){return a.innerWidth||a.document.documentElement.clientWidth||a.document.body.clientWidth}},browser:{results:{},supportsPassive:function(){if(void 0===BOOMR.browser.results.supportsPassive){BOOMR.browser.results.supportsPassive=!1;if(!Object.defineProperty)return!1;try{var a=Object.defineProperty({},"passive",{get:function(){BOOMR.browser.results.supportsPassive=!0}});window.addEventListener("test",null,a)}catch(b){}}return BOOMR.browser.results.supportsPassive}},init:function(c){var e,f,g=["autorun","beacon_auth_key","beacon_auth_token","beacon_url","beacon_type","site_domain","strip_query_string","user_ip"];BOOMR_check_doc_domain();c||(c={});void 0!==c.log&&(this.log=c.log);this.log||(this.log=function(){});if(!this.pageId){this.pageId=BOOMR.utils.generateId(8);BOOMR.debug("Generated PageID: "+this.pageId)}if(c.primary&&b.handlers_attached)return this;void 0!==c.site_domain&&(this.session.domain=c.site_domain);void 0!==c.autorun&&(b.autorun=c.autorun);for(f in this.plugins)if(this.plugins.hasOwnProperty(f)){if(c[f]&&c[f].hasOwnProperty("enabled")&&!1===c[f].enabled){b.disabled_plugins[f]=1;"function"==typeof this.plugins[f].disable&&this.plugins[f].disable();continue}if(b.disabled_plugins[f]){if(!c[f]||!c[f].hasOwnProperty("enabled")||!0!==c[f].enabled)continue;"function"==typeof this.plugins[f].enable&&this.plugins[f].enable();delete b.disabled_plugins[f]}if("function"==typeof this.plugins[f].init)try{this.plugins[f].init(c)}catch(i){BOOMR.addError(i,f+".init")}}for(e=0;e<g.length;e++)void 0!==c[g[e]]&&(b[g[e]]=c[g[e]]);if(b.handlers_attached)return this;if(!b.onloadfired&&(void 0===c.autorun||!1!==c.autorun)){BOOMR.hasBrowserOnloadFired()&&(BOOMR.loadedLate=!0);BOOMR.attach_page_ready(BOOMR.page_ready_autorun)}BOOMR.utils.addListener(a,"DOMContentLoaded",function(){b.fireEvent("dom_loaded")});BOOMR.fireEvent("config",c);BOOMR.subscribe("config",function(a){a.beacon_url&&(b.beacon_url=a.beacon_url)});BOOMR.subscribe("spa_navigation",b.spaNavigation,null,b);!function(){var c,e;if(void 0!==h){BOOMR.utils.addListener(d,h,function(){b.fireEvent("visibility_changed")});b.lastVisibilityState=BOOMR.visibilityState();BOOMR.subscribe("visibility_changed",function(){var a=BOOMR.visibilityState();BOOMR.lastVisibilityEvent[a]=BOOMR.now();BOOMR.debug("Visibility changed from "+b.lastVisibilityState+" to "+a);if("prerender"===b.lastVisibilityState&&"prerender"!==a){BOOMR.addVar("vis.pre","1");b.fireEvent("prerender_to_visible")}b.lastVisibilityState=a})}BOOMR.utils.addListener(d,"mouseup",b.xb_handler("click"));c=d.getElementsByTagName("form");for(e=0;e<c.length;e++)BOOMR.utils.addListener(c[e],"submit",b.xb_handler("form_submit"));a.onpagehide||null===a.onpagehide||BOOMR.utils.addListener(a,"unload",function(){BOOMR.window=a=null})}();b.handlers_attached=!0;return this},attach_page_ready:function(b){BOOMR.hasBrowserOnloadFired()?this.setImmediate(b,null,null,BOOMR):a.onpagehide||null===a.onpagehide?BOOMR.utils.addListener(a,"pageshow",b):BOOMR.utils.addListener(a,"load",b)},page_ready_autorun:function(a){b.autorun&&BOOMR.page_ready(a,!0)},page_ready:function(c,d){var e;if(!d&&"number"==typeof c){e=c;c=null}c||(c=a.event);c||(c={name:"load"});if(d){if("number"==typeof a.BOOMR_page_ready){c.timing=c.timing||{};c.timing.loadEventEnd=a.BOOMR_page_ready;BOOMR.addVar("pr",1,!0)}}else{c.timing=c.timing||{};e?c.timing.loadEventEnd=e:"number"==typeof a.BOOMR_page_ready?c.timing.loadEventEnd=a.BOOMR_page_ready:c.timing.loadEventEnd=BOOMR.now();BOOMR.addVar("pr",1,!0)}if(b.onloadfired)return this;b.fireEvent("page_ready",c);b.onloadfired=!0;return this},hasBrowserOnloadFired:function(){var b=BOOMR.getPerformance();return d.readyState&&"complete"===d.readyState||b&&b.timing&&b.timing.loadEventStart>0||a.BOOMR_onload>0},onloadFired:function(){return b.onloadfired},setImmediate:function(b,c,d,e){var f,g;f=function(){b.call(e||null,c,d||{},g);f=null};a.requestIdleCallback?a.requestIdleCallback(f,{timeout:1e3}):a.setImmediate?a.setImmediate(f):setTimeout(f,10)},now:function(){return Date.now||function(){return(new Date).getTime()}}(),getPerformance:function(){try{if(BOOMR.window)return"performance"in BOOMR.window&&BOOMR.window.performance?BOOMR.window.performance:BOOMR.window.msPerformance||BOOMR.window.webkitPerformance||BOOMR.window.mozPerformance}catch(a){}},hrNow: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},visibilityState:void 0===g?function(){return"visible"}:function(){return d[g]},lastVisibilityEvent:{},registerEvent:function(a){if(b.events.hasOwnProperty(a))return this;b.events[a]=[];return this},disable:function(){b.clearEvents();b.clearListeners()},fireEvent:function(a,c){return b.fireEvent(a,c)},subscribe:function(c,d,e,f,g){var h,i,j;c=c.toLowerCase();b.translate_events[c]&&(c=b.translate_events[c]);b.events.hasOwnProperty(c)||(b.events[c]=[]);j=b.events[c];for(h=0;h<j.length;h++){i=j[h];if(i&&i.fn===d&&i.cb_data===e&&i.scope===f)return this}j.push({fn:d,cb_data:e||{},scope:f||null,once:g||!1});"page_ready"===c&&b.onloadfired&&b.autorun&&this.setImmediate(d,null,e,f);"page_unload"!==c&&"before_unload"!==c||function(){var g,h=j.length;g=function(g){d&&d.call(f,g||a.event,e);"page_unload"===c&&h===b.events[c].length&&BOOMR.real_sendBeacon()};"page_unload"===c&&(a.onpagehide||null===a.onpagehide?BOOMR.utils.addListener(a,"pagehide",g):BOOMR.utils.addListener(a,"unload",g));BOOMR.utils.addListener(a,"beforeunload",g)}();return this},addError:function(a,c,d){var e,f=BOOMR.plugins.Errors;if(f&&f.is_supported())if("string"==typeof a)f.send({message:a,extra:d,functionName:c,noStack:!0},f.VIA_APP,f.SOURCE_BOOMERANG);else{"string"==typeof c&&(a.functionName=c);void 0!==d&&(a.extra=d);f.send(a,f.VIA_APP,f.SOURCE_BOOMERANG)}else{if("string"!=typeof a){e=String(a);e.match(/^\[object/)&&(e=a.name+": "+(a.description||a.message).replace(/\r\n$/,""));a=e}void 0!==c&&(a="["+c+":"+BOOMR.now()+"] "+a);d&&(a+=":: "+d);b.errors[a]?b.errors[a]++:b.errors[a]=1}},isCrossOriginError:function(a){return"SecurityError"===a.name||"TypeError"===a.name&&"Permission denied"===a.message||"Error"===a.name&&a.message&&a.message.match(/^(Permission|Access is) denied/)||-2146828218===a.number},addVar:function(a,c,d){if("string"==typeof a)b.vars[a]=c;else if("object"==typeof a){var e,f=a;for(e in f)f.hasOwnProperty(e)&&(b.vars[e]=f[e])}d&&(b.singleBeaconVars[a]=1);return this},appendVar:function(a,b){var c=BOOMR.getVar(a)||"";c&&(c+=",");BOOMR.addVar(a,c+b);return this},removeVar:function(a){var c,d;if(!arguments.length)return this;d=1===arguments.length&&BOOMR.utils.isArray(a)?a:arguments;for(c=0;c<d.length;c++)b.vars.hasOwnProperty(d[c])&&delete b.vars[d[c]];return this},hasVar:function(a){return b.vars.hasOwnProperty(a)},getVar:function(a){return b.vars[a]},setVarPriority:function(a,c){if("number"!=typeof c||1!==Math.abs(c))return this;b.varPriority[c][a]=1;return this},setReferrer:function(a,c){b.r=a;b.r2=c&&a!==c?c:void 0},requestStart:function(a){var b=BOOMR.now();BOOMR.plugins.RT.startTimer("xhr_"+a,b);return{loaded:function(c){BOOMR.responseEnd(a,b,c)}}},readyToSend:function(){var a;for(a in this.plugins)if(this.plugins.hasOwnProperty(a)){if(b.disabled_plugins[a])continue;if("function"==typeof this.plugins[a].readyToSend&&!1===this.plugins[a].readyToSend()){BOOMR.debug("Plugin "+a+" is not ready to send");return!1}}return!0},responseEnd:function(a,c,d,e){c="number"==typeof c?c:BOOMR.now();e="number"==typeof e?e:BOOMR.now();if(BOOMR.readyToSend())if(BOOMR.hasSentPageLoadBeacon()||BOOMR.utils.inArray(a.initiator,BOOMR.constants.BEACON_TYPE_SPAS))if("object"==typeof a){if(!a.url){BOOMR.debug("BOOMR.responseEnd: First argument must have a url property if it's an object");return}b.fireEvent("xhr_load",a)}else{BOOMR.real_sendBeacon();BOOMR.addVar("xhr.pg",a);BOOMR.plugins.RT.startTimer("xhr_"+a,c);b.fireEvent("xhr_load",{name:"xhr_"+a,data:d,timing:{loadEventEnd:e}})}else BOOMR.subscribe("page_load_beacon",function(){BOOMR.responseEnd(a,c,d,e)},null,BOOMR,!0);else{BOOMR.debug("Attempted to call responseEnd before all plugins were Ready to Send, trying again...");setTimeout(function(){BOOMR.responseEnd(a,c,d,e)},1e3)}},uninstrumentXHR:function(){},instrumentXHR:function(){},sendBeacon:function(a){a&&(b.beacon_url_override=a);if(!b.beaconQueued){b.beaconQueued=!0;BOOMR.setImmediate(BOOMR.real_sendBeacon,null,null,BOOMR)}return!0},real_sendBeacon:function(){var c,e,f=[],g={};if(!b.beaconQueued)return!1;b.beaconQueued=!1;BOOMR.debug("Checking if we can send beacon");for(c in this.plugins)if(this.plugins.hasOwnProperty(c)){if(b.disabled_plugins[c])continue;if(!this.plugins[c].is_complete(b.vars)){BOOMR.debug("Plugin "+c+" is not complete, deferring beacon send");return!1}}if(!(window&&window.Image&&window.navigator&&BOOMR.window)){BOOMR.debug("DOM not fully available, not sending a beacon");return!1}var h=BOOMR.utils.inArray(b.vars["http.initiator"],BOOMR.constants.BEACON_TYPE_SPAS),i=void 0===b.vars["http.initiator"]||h;b.vars.pgu||(b.vars.pgu=h?d.URL:d.URL.replace(/#.*/,""));b.vars.pgu=BOOMR.utils.cleanupURL(b.vars.pgu);b.vars.u&&!h||(b.vars.u=b.vars.pgu);b.vars.pgu===b.vars.u&&delete b.vars.pgu;b.r?b.vars.r=BOOMR.utils.cleanupURL(b.r):delete b.vars.r;b.r2?b.vars.r2=BOOMR.utils.cleanupURL(b.r2):delete b.vars.r2;b.vars.v=BOOMR.version;b.vars["rt.si"]=BOOMR.session.ID+"-"+Math.round(BOOMR.session.start/1e3).toString(36);b.vars["rt.ss"]=BOOMR.session.start;b.vars["rt.sl"]=BOOMR.session.length;if(BOOMR.visibilityState()){b.vars["vis.st"]=BOOMR.visibilityState();BOOMR.lastVisibilityEvent.visible&&(b.vars["vis.lv"]=BOOMR.now()-BOOMR.lastVisibilityEvent.visible);BOOMR.lastVisibilityEvent.hidden&&(b.vars["vis.lh"]=BOOMR.now()-BOOMR.lastVisibilityEvent.hidden)}b.vars["ua.plt"]=navigator.platform;b.vars["ua.vnd"]=navigator.vendor;this.pageId&&(b.vars.pid=this.pageId);if(a!==window){e="if";b.vars[e]=""}for(c in b.errors)b.errors.hasOwnProperty(c)&&f.push(c+(b.errors[c]>1?" (*"+b.errors[c]+")":""));f.length>0&&(b.vars.errors=f.join("\n"));b.errors={};b.fireEvent("before_beacon",b.vars);for(c in b.vars)b.vars.hasOwnProperty(c)&&(g[c]=b.vars[c]);BOOMR.removeVar("qt");for(var j in b.singleBeaconVars)b.singleBeaconVars.hasOwnProperty(j)&&BOOMR.removeVar(j);b.singleBeaconVars={};if(!b.hasSentPageLoadBeacon&&i){b.hasSentPageLoadBeacon=!0;BOOMR.setImmediate(function(){b.fireEvent("page_load_beacon",g)})}if(BOOMR.session.rate_limited){BOOMR.debug("Skipping because we're rate limited");return!1}BOOMR.sendBeaconData(g);return!0},hasSentPageLoadBeacon:function(){return b.hasSentPageLoadBeacon},sendBeaconData:function(c){var d,e,f,g,h,i=[],j=[],k=!0;BOOMR.debug("Ready to send beacon: "+BOOMR.utils.objectToString(c));b.beacon_url=b.beacon_url_override||b.beacon_url;if(!b.beacon_url){BOOMR.debug("No beacon URL, so skipping.");return!1}if(!b.beaconUrlAllowed(b.beacon_url)){BOOMR.debug("Beacon URL not allowed: "+b.beacon_url);return!1}if(0===c.length)return!1;b.fireEvent("beacon",c);i=this.getVarsOfPriority(c,-1);j=this.getVarsOfPriority(c,1);d=i.concat(this.getVarsOfPriority(c,0),j);e=d.join("&");b.beacon_url.match(/^\/\//)&&(b.beacon_url="https:"+b.beacon_url);f=b.beacon_url+(b.beacon_url.indexOf("?")>-1?"&":"?")+e;("POST"===b.beacon_type||f.length>BOOMR.constants.MAX_GET_LENGTH)&&(k=!1);if(a&&a.navigator&&"function"==typeof a.navigator.sendBeacon&&"function"==typeof a.Blob){var l=new a.Blob([e+"&sb=1"],{type:"application/x-www-form-urlencoded"});if(a.navigator.sendBeacon(b.beacon_url,l))return!0}BOOMR.orig_XMLHttpRequest||a&&a.XMLHttpRequest||(k=!0);if(k){try{g=new Image}catch(m){BOOMR.debug("Image is not a constructor, not sending a beacon");return!1}g.src=f}else{h=new(BOOMR.window.orig_XMLHttpRequest||BOOMR.orig_XMLHttpRequest||BOOMR.window.XMLHttpRequest);try{this.sendXhrPostBeacon(h,e)}catch(m){h=new BOOMR.boomerang_frame.XMLHttpRequest;this.sendXhrPostBeacon(h,e)}}return!0},hasSentPageLoadBeacon:function(){return b.hasSentPageLoadBeacon},sendXhrPostBeacon:function(a,c){a.open("POST",b.beacon_url);a.setRequestHeader("Content-type","application/x-www-form-urlencoded");if(void 0!==b.beacon_auth_token){void 0===b.beacon_auth_key&&(b.beacon_auth_key="Authorization");a.setRequestHeader(b.beacon_auth_key,b.beacon_auth_token)}a.send(c)},getVarsOfPriority:function(a,c){var d,e=[];if(0!==c){for(d in b.varPriority[c])if(b.varPriority[c].hasOwnProperty(d)&&a.hasOwnProperty(d)){e.push(this.getUriEncodedVar(d,a[d]));delete a[d]}}else for(d in a)a.hasOwnProperty(d)&&e.push(this.getUriEncodedVar(d,a[d]));return e},getUriEncodedVar:function(a,b){void 0!==b&&null!==b||(b="");"object"==typeof b&&(b=BOOMR.utils.serializeForUrl(b));return encodeURIComponent(a)+"="+encodeURIComponent(b)},getResourceTiming:function(a,b){var c,d=BOOMR.getPerformance();try{if(d&&"function"==typeof d.getEntriesByName){c=d.getEntriesByName(a);if(c&&c.length){"function"==typeof b&&c.sort(b);return c[c.length-1]}}}catch(e){}}};c.url=c.utils.getMyURL();delete BOOMR_start;if("number"==typeof BOOMR_lstart){c.t_lstart=BOOMR_lstart;delete BOOMR_lstart}else"number"==typeof BOOMR.window.BOOMR_lstart&&(c.t_lstart=BOOMR.window.BOOMR_lstart);"number"==typeof BOOMR.window.BOOMR_onload&&(c.t_onload=BOOMR.window.BOOMR_onload);!function(){var a;"object"==typeof console&&void 0!==console.log?c.log=function(a,b,c){console.log("("+BOOMR.now()+") {"+BOOMR.pageId+"}: "+c+": ["+b+"] "+a)}:c.log=function(){};a=function(a){return function(b,c){this.log(b,a,"boomerang"+(c?"."+c:""));return this}};c.debug=a("debug");c.info=a("info");c.warn=a("warn");c.error=a("error")}();try{var j=c.getPerformance();j&&"function"==typeof j.now&&/\[native code\]/.test(String(j.now))&&j.timing&&j.timing.navigationStart&&(c.now=function(){return Math.round(j.now()+j.timing.navigationStart)})}catch(k){}b.checkLocalStorageSupport();!function(){var a;for(a in c)c.hasOwnProperty(a)&&(BOOMR[a]=c[a]);BOOMR.xhr_excludes||(BOOMR.xhr_excludes={})}();f("onBoomerangLoaded",{BOOMR:BOOMR},!0)}}(UW);!function(){if(!BOOMR.plugins.ConfigOverride){var a={safeConfigOverride:function(b,c,d){for(var e in c)if(b.hasOwnProperty(e)&&c.hasOwnProperty(e)&&("object"!=typeof c[e]||"object"==typeof b[e]))if("object"==typeof b[e]&&"object"==typeof c[e]){d[e]=d[e]||{};a.safeConfigOverride(b[e],c[e],d[e])}else{d[e]=b[e];BOOMR.addVar("c.o","")}},allowedConfigOverrides:{Angular:{enabled:!0},Ember:{enabled:!0},Backbone:{enabled:!0},History:{enabled:!0,auto:!0,disableHardNav:!0},PageParams:{enabled:!0,pageGroups:!0,customMetrics:!0,customDimensions:!0,customTimers:!0,abTests:!0,defaultDecimal:!0,defaultThousands:!0,xhr:!0,pci:!0,pciBlacklist:!0},CrossDomain:{cross_domain_url:!0,sending:!0,session_transfer_timeout:!0},IFrameDelay:{enabled:!0,monitoredCount:!0,registerParent:!0},instrument_xhr:!0,RT:{cookie:!0,session_exp:!0},BW:{base_url:!0,enabled:!0,test_https:!0},ResourceTiming:{enabled:!0,clearOnBeacon:!0,trimUrls:!0,serverTiming:!0},AutoXHR:{alwaysSendXhr:!0,filters:!0},Errors:{enabled:!0,onError:!0,monitorGlobal:!0,monitorNetwork:!0,monitorConsole:!0,monitorEvents:!0,monitorTimeout:!0,sendAfterOnload:!0,maxErrors:!0,sendInterval:!0},TPAnalytics:{enabled:!0},Continuity:{enabled:!0,monitorLongTasks:!0,monitorPageBusy:!0,monitorFrameRate:!0,monitorInteractions:!0,monitorStats:!0,afterOnload:!0,afterOnloadMaxLength:!0,afterOnloadMinWait:5e3,waitAfterOnload:!0,ttiWaitForFrameworkReady:!0,ttiWaitForHeroImages:!0,sendLog:!0,logMaxEntries:100,sendTimeline:!0},UserTiming:{enabled:!0},LOGN:{storeConfig:!0},autorun:!0}};BOOMR.plugins.ConfigOverride={init:function(b){if(BOOMR.window&&BOOMR.window.BOOMR_config){BOOMR.debug("Found BOOMR_config on global scope: "+BOOMR.utils.objectToString(BOOMR.window.BOOMR_config),"ConfigOverride");a.safeConfigOverride(BOOMR.window.BOOMR_config,a.allowedConfigOverrides,b)}return this},is_complete:function(){return!0}}}}();!function(){function a(a){BOOMR.debug(a,"Continuity")}function b(a){var b=window.UserTimingCompression||BOOMR.window.UserTimingCompression;return b?b.jsUrl(a):window.JSON?JSON.stringify(a):""}function c(a,b,c,d,e){var i,j,k,l,m,n="",q=0;if(!c||!BOOMR.utils.Compression)return"";if(0===c.length)return"";if(b){void 0===c[d]&&(c[d]=0);for(i=d+1;i<=e;i++)void 0===c[i]&&(c[i]=c[i-1])}for(i=d;i<=e;i++){q="number"!=typeof c[i]||isNaN(c[i])?0:c[i];a===f?k=q<=63?o.charAt(q):p+q.toString(36)+p:a===g?k=q.toString(36):a===h&&(k=q<99?q<=9?"0"+Math.max(q,0):q:"__");if(i+3<=e&&(c[i+1]===q||0===q&&void 0===c[i+1])&&(c[i+2]===q||0===q&&void 0===c[i+2])&&(c[i+3]===q||0===q&&void 0===c[i+3])){j=1;for(;i<e&&(c[i+1]===q||0===q&&void 0===c[i+1]);){j++;i++}l="*"+j.toString(36)+"*"+k}else l=k;if(0!==q||i!==e){a===g&&m&&(n+=",");m=!0;n+=l}}return m?a.toString()+n:""}if(!BOOMR.plugins.Continuity){var d=100,e=500,f=0,g=1,h=2,i=0,j=1,k=2,l=3,m=4,n=5,o="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_",p=".",q=BOOMR.getPerformance(),r={},s=q&&q.timing&&q.timing.navigationStart?q.timing.navigationStart:BOOMR.now(),t=function(a){function b(a,b,c){z[a]||(z[a]=[]);A[a]={compressMode:b||f,backfillLast:c}}function e(){return Math.floor((BOOMR.now()-a)/d)}function g(a,b,c){void 0===c&&(c=e());z[a]&&(z[a][c]=b)}function h(a,b,c){void 0===c&&(c=e());void 0===b&&(b=1);if(z[a]){z[a][c]||(z[a][c]=0);z[a][c]+=b}}function i(a,b,c){void 0===b&&(b=e());B.push({type:a,time:b,val:c});B.length>impl.logMaxEntries&&Array.prototype.splice.call(B,0,B.length-impl.logMaxEntries)}function j(b,c){var e,f=0,g=0,h=1/0,i=0,j=Math.floor((c-a)/d);if(!z[b])return 0;for(var k in z[b]){k=parseInt(k,10);if(k>=j&&z[b].hasOwnProperty(k)){e=z[b][k];f++;g+=e;h=Math.min(h,e);i=Math.max(i,e)}}return{total:g,count:f,min:h,max:i}}function k(a){var b,c,d,e,f,g,h=0;if(!BOOMR.window||!BOOMR.window.document||"function"!=typeof BOOMR.window.document.querySelectorAll)return 0;if(!q||"function"!=typeof q.getEntriesByType)return 0;b=a+", "+a+" * img";c=BOOMR.window.document.querySelectorAll(b);if(c&&c.length)for(d=0;d<c.length;d++){f=c[d].src;if(f){g=q.getEntriesByName(f);if(g&&g.length)for(e=0;e<g.length;e++)h=Math.max(h,g[e].responseEnd)}}return h?Math.floor(h+s):0}function l(){var a=0;if(impl.ttiWaitForFrameworkReady){if(!impl.frameworkReady)return;a=impl.frameworkReady}if(BOOMR.plugins.PaintTiming&&BOOMR.plugins.PaintTiming.is_supported()&&q&&q.timeOrigin){var b=BOOMR.plugins.PaintTiming.getTimingFor("first-contentful-paint");b||(b=BOOMR.plugins.PaintTiming.getTimingFor("first-paint"));b&&(a=Math.max(a,Math.round(b+q.timeOrigin)))}else if(q&&q.timing&&q.timing.msFirstPaint)a=Math.max(a,q.timing.msFirstPaint);else if(BOOMR.window&&BOOMR.window.chrome&&"function"==typeof BOOMR.window.chrome.loadTimes){var c=BOOMR.window.chrome.loadTimes();c&&c.firstPaintTime&&(a=Math.max(a,1e3*c.firstPaintTime))}q&&q.timing&&q.timing.domContentLoadedEventEnd&&(a=Math.max(a,q.timing.domContentLoadedEventEnd));if(impl.ttiWaitForHeroImages){E=k(impl.ttiWaitForHeroImages);E&&(a=Math.max(a,E))}return a}function m(){for(var a="",b=0;b<B.length;b++){var c=B[b];0!==b&&(a+="|");a+=c.type;a+=Math.round(c.time-s).toString(36);for(var d in c.val)if(c.val.hasOwnProperty(d)){a+=","+d;"number"==typeof c.val[d]?a+=c.val[d].toString(36):a+=c.val[d]}}""!==a&&impl.addToBeacon("c.l",a)}function n(b,f){return c(A[b].compressMode,A[b].backfillLast,z[b],0!==f?Math.floor((f-a)/d):0,e())}function o(a){var b,c;for(b in z)if(z.hasOwnProperty(b)){c=n(b,a);""!==c&&impl.addToBeacon("c.t."+b,c)}}function p(b){var c=e(),f=0,g=0;impl.sendLog&&void 0!==b&&m();impl.sendTimeline&&void 0!==b&&o(b);if(!C){if(!D){D=l();if(!D)return}impl.addToBeacon("c.tti.vr",r.timeToVisuallyReady());impl.addToBeacon("c.tti.fr",r.timeToFrameworkReady());impl.addToBeacon("c.tti.hi",r.timeToHeroImagesReady());if(z.longtask||z.fps||z.busy){var h=Math.floor((D-a)/d);for(f=h;f<=c;f++)if(z.longtask&&z.longtask[f])g=0;else if(z.fps&&(!z.fps[f]||z.fps[f]<x))g=0;else if(z.busy&&z.busy[f]>y)g=0;else if(z.interdly&&z.interdly[f])g=0;else{g++;if(g>=v){C=a+(f-v)*d;C=Math.max(C,D);break}}C>0&&impl.addToBeacon("c.tti",r.timeToInteractive())}}}function t(){z={};B=[]}function u(){for(var a in z)z.hasOwnProperty(a)&&(z[a]=[]);B=[]}var v=5,w=20,x=w/(1e3/d),y=50,z={},A={},B=[],C=0,D=0,E=0;BOOMR.fpsLog&&BOOMR.fpsLog.length&&(a=BOOMR.fpsLog[0]+s);r.timeToInteractive=function(){if(C)return C-s};r.timeToVisuallyReady=function(){if(D)return D-s};r.timeToHeroImagesReady=function(){if(impl.ttiWaitForHeroImages&&E)return E-s};r.timeToFrameworkReady=function(){if(impl.ttiWaitForFrameworkReady&&impl.frameworkReady)return impl.frameworkReady-s};r.log=function(){return B};return{register:b,set:g,log:i,increment:h,getTimeBucket:e,getStats:j,analyze:p,stop:t,onBeacon:u}},u=function(a,c){function d(a){var b,d;if(p){b=a.getEntries();Array.prototype.push.apply(o,b);for(d=0;d<b.length;d++)q+=b[d].duration;c.increment("longtask",b.length)}}function e(){return o}function g(){o=[];q=0}function h(a){var c,d,e,f,g,h=[],i=[];if(0!==o.length){for(c=0;c<o.length;c++){e=o[c];f={s:Math.round(e.startTime).toString(36),d:Math.round(e.duration).toString(36),n:k[e.name]?k[e.name]:0};i=[];for(d=0;d<e.attribution.length;d++){g=e.attribution[d];if("script"!==g.name||"iframe"!==g.containerType||g.containerName||g.containerId||g.containerSrc){var j=g.containerName?g.containerName:void 0,n=g.containerId?g.containerId:void 0;j===n&&(j=void 0);var p=void 0===n?g.containerSrc:void 0;i.push({a:l[g.name]?l[g.name]:0,t:m[g.containerType]?m[g.containerType]:0,n:j,i:n,s:p})}}i.length>0&&(f.a=i);h.push(f)}impl.addToBeacon("c.lt.n",r.longTasksCount(),!0);impl.addToBeacon("c.lt.tt",r.longTasksTime());impl.addToBeacon("c.lt",b(h))}}function i(){p=!1;n.disconnect();g()}function j(){g()}if(a.PerformanceObserver&&a.PerformanceLongTaskTiming){var k={unknown:0,self:1,"same-origin-ancestor":2,"same-origin-descendant":3,"same-origin":4,"cross-origin-ancestor":5,"cross-origin-descendant":6,"cross-origin-unreachable":7,"multiple-contexts":8},l={unknown:0,script:1,layout:2},m={unknown:0,iframe:1,embed:2,object:3},n=new a.PerformanceObserver(d);try{n.observe({entryTypes:["longtask"]})}catch(s){return}c.register("longtask",f);var o=[],p=!0,q=0;r.longTasksTime=function(){return q};r.longTasksCount=function(){return o.length};return{getTasks:e,clearTasks:g,analyze:h,stop:i,onBeacon:j}}},v=function(a,b){function c(){var a=BOOMR.now(),b=a-n;n=a;if(b>2*i+j){var c=Math.floor((b-i)/i);o+=c;p+=c;b-=c*i}o++;b>i+j&&p++}function d(){var a=b.getTimeBucket(),c=a,d=0;if(0!==o){for(;o>l+1&&d<=m;){b.set("busy",100,--c);o-=l;p=Math.max(p-l,0);q+=l;s+=l;d++}q+=o;s+=p;b.set("busy",Math.round(p/o*100),a);o=0;p=0}}function e(a){impl.addToBeacon("c.b",r.pageBusy())}function f(){t=!1;if(u){clearInterval(u);u=!1}if(v){clearInterval(v);v=!1}}function g(){q=0;s=0}b.register("busy",h);var i=32,j=4,k=100,l=Math.floor(k/i),m=100,n=BOOMR.now(),o=0,p=0,q=0,s=0,t=!0,u=!1,v=!1;r.pageBusy=function(){return 0===q?0:Math.round(s/q*100)};u=setInterval(c,i);v=setInterval(d,k);return{analyze:e,stop:f,onBeacon:g}},w=function(a,b){function c(d){if(n){d-j>=k&&m++;j=d;l++;b.increment("fps");a.requestAnimationFrame(c)}}function e(a){impl.addToBeacon("c.f",r.fps());impl.addToBeacon("c.f.d",r.fpsDuration());impl.addToBeacon("c.f.m",r.fpsMinimum());impl.addToBeacon("c.f.l",r.fpsLongFrames());impl.addToBeacon("c.f.s",r.fpsStart())}function g(){n=!1;i=0}function h(){n&&(i=BOOMR.now());l=0;m=0}b.register("fps",f);var i,j,k=50,l=0,m=0,n=!0;if(BOOMR.fpsLog&&BOOMR.fpsLog.length){j=i=BOOMR.fpsLog[0]+s;for(var o=0;o<BOOMR.fpsLog.length;o++){var p=s+BOOMR.fpsLog[o];b.increment("fps",1,Math.floor((p-i)/d));p-j>=k&&m++;j=p}l=BOOMR.fpsLog.length;delete BOOMR.fpsLog}else i=BOOMR.now();a.requestAnimationFrame(c);r.fps=function(){var a=r.fpsDuration();if(a)return Math.floor(l/(a/1e3))};r.fpsDuration=function(){if(i)return BOOMR.now()-i};r.fpsMinimum=function(){if(r.fpsDuration()){var a=b.getStats("fps",i).min;return a!==1/0?a:void 0}};r.fpsLongFrames=function(){return m};r.fpsStart=function(){return i?i.toString(36):0};return{analyze:e,stop:g,onBeacon:h}},x=function(a,b,c){function e(a){var d=BOOMR.now();t++;d-w>m&&v++;w=d;var e=BOOMR.utils.scroll().y,f=Math.abs(o-e);u+=f;b.increment("scroll",f);if(0===p||Math.abs(p-e)>n){b.log(i,d,{y:e});p=e}c.interact("scroll",d,a);q+=Math.round(f/A*100);s+=Math.round(f/A*100);o=e}function g(){var a=Math.min(q,100);0!==a&&b.set("scrollpct",a);q=0}function j(a){impl.addToBeacon("c.s",r.scrollCount());impl.addToBeacon("c.s.p",r.scrollPct());impl.addToBeacon("c.s.y",r.scrollPixels());impl.addToBeacon("c.s.d",r.scrollDistinct())}function k(){if(x){clearInterval(x);x=!1}BOOMR.utils.removeListener(a,"scroll",e)}function l(){s=0;t=0;u=0;v=0}if(a&&a.document&&a.document.body&&a.document.documentElement){var m=2e3,n=20,o=0,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=!1,y=a.document.body,z=a.document.documentElement;b.register("scroll",f);b.register("scrollpct",h);var A=Math.max(y.scrollHeight,y.offsetHeight,z.clientHeight,z.scrollHeight,z.offsetHeight)-BOOMR.utils.windowHeight();r.scrollPct=function(){return s};r.scrollCount=function(){return t};r.scrollDistinct=function(){return v};r.scrollPixels=function(){return u};BOOMR.utils.addListener(a,"scroll",e,!0);x=setInterval(g,d);return{analyze:j,stop:k,onBeacon:l}}},y=function(a,b,c){function d(a){var d=BOOMR.now(),e=a.clientX,f=a.clientY;l++;var g=Math.round(Math.sqrt(Math.pow(p-f,2)+Math.pow(o-e,2)));if(q===a.target||g<=i){m++;if(m+1>=k){n++;BOOMR.fireEvent("rage_click",a)}}else m=0;o=e;p=f;q=a.target;b.increment("click");b.log(j,d,{x:e,y:f});c.interact("click",d,a)}function e(a){impl.addToBeacon("c.c",r.clicksCount());impl.addToBeacon("c.c.r",r.clicksRage())}function g(){BOOMR.utils.removeListener(a.document,"click",d)}function h(){l=0;m=0;n=0}b.register("click",f);var i=10,k=3,l=0,m=0,n=0,o=0,p=0,q=null;r.clicksCount=function(){return l};r.clicksRage=function(){return n};BOOMR.utils.addListener(a.document,"click",d,!0);return{analyze:e,stop:g,onBeacon:h}},z=function(a,b,c){function d(a){var d=BOOMR.now();i++;27===a.keyCode&&j++;b.increment("key");b.log(l,d);c.interact("key",d,a)}function e(a){impl.addToBeacon("c.k",r.keyCount());impl.addToBeacon("c.k.e",r.keyEscapes())}function g(){BOOMR.utils.removeListener(a.document,"keydown",d)}function h(){i=0;j=0}b.register("key",f);var i=0,j=0;r.keyCount=function(){return i};r.keyEscapes=function(){return j};BOOMR.utils.addListener(a.document,"keydown",d,!0);return{analyze:e,stop:g,onBeacon:h}},A=function(a,b,c){function e(a){var c=(BOOMR.now(),a.clientX),d=a.clientY,e=Math.round(Math.sqrt(Math.pow(q-d,2)+Math.pow(p-c,2))),f=Math.round(e/z*100);u+=f;v+=f;w+=e;p=c;q=d;b.increment("mouse",e)}function g(){var a=Math.min(u,100);0!==a&&b.set("mousepct",a);u=0}function i(){if(s!==p||t!==q){if(Math.round(Math.sqrt(Math.pow(t-q,2)+Math.pow(s-p,2)))>=n){b.log(k,BOOMR.now(),{x:p,y:q});s=p;t=q}}}function j(a){impl.addToBeacon("c.m.p",r.mousePct());impl.addToBeacon("c.m.n",r.mousePixels())}function l(){if(x){clearInterval(x);x=!1}if(y){clearInterval(y);y=!1}BOOMR.utils.removeListener(a.document,"mousemove",e)}function m(){v=0;w=0}b.register("mouse",f);b.register("mousepct",h);var n=10,o=250,p=0,q=0,s=0,t=0,u=0,v=0,w=0,x=!1,y=!1,z=Math.round(Math.sqrt(Math.pow(BOOMR.utils.windowHeight(),2)+Math.pow(BOOMR.utils.windowWidth(),2)));r.mousePct=function(){return v};r.mousePixels=function(){return w};x=setInterval(g,d);y=setInterval(i,o);BOOMR.utils.addListener(a.document,"mousemove",e,!0);return{analyze:j,stop:l,onBeacon:m}},B=function(b,c,d){function e(b,d,e){d=d||BOOMR.now();if(x){t++;p||(p=d);var f=0;if(e&&e.timeStamp){f=e.timeStamp>14e11?d-e.timeStamp:d-s-e.timeStamp;u+=f;null===q&&(q=Math.round(f));if(f>m){c.increment("interdly");v++;w+=f}}c.increment("inter");if(!C&&impl.afterOnloadMonitoring){z=BOOMR.now();if(!y){a("Interaction detected, sending a beacon after "+n+" ms");y=z;B=setTimeout(i,o)}if(A){a("Clearing previous interaction timeout");clearTimeout(A);A=!1}A=setTimeout(i,n)}}}function g(){C=!0;h()}function h(){if(A){clearTimeout(A);A=!1}if(B){clearTimeout(B);B=!1}}function i(){a("Sending interaction beacon");h();BOOMR.fireEvent("interaction");impl.addToBeacon("rt.tstart",y);impl.addToBeacon("rt.end",z);impl.addToBeacon("rt.start","manual");impl.addToBeacon("http.initiator","interaction");BOOMR.sendBeacon()}function j(a){impl.addToBeacon("c.ttfi",r.timeToFirstInteraction());impl.addToBeacon("c.i.dc",r.interactionDelayed());impl.addToBeacon("c.i.dt",r.interactionDelayedTime());impl.addToBeacon("c.i.a",r.interactionAvgDelay());null!==q&&impl.addToBeacon("c.fid",r.firstInputDelay(),!0)}function k(){x=!1}function l(){w=0;v=0;t=0;u=0;y=0;z=0;C=!1;h()}c.register("inter",f);c.register("interdly",f);var m=50,n=d,o=3e4,p=0,q=null,t=0,u=0,v=0,w=0,x=!0,y=0,z=0,A=!1,B=!1,C=!1;r.interactionDelayed=function(){return v};r.interactionDelayedTime=function(){return Math.round(w)};r.interactionAvgDelay=function(){if(t>0)return Math.round(u/t)};r.timeToFirstInteraction=function(){if(p)return p-s};r.firstInputDelay=function(){if(null!==q)return q};BOOMR.subscribe("spa_init",g,null,impl);return{interact:e,analyze:j,stop:k,onBeacon:l}},C=function(a,b,c){function d(){g=!1}b.register("vis",f);var e={visible:0,hidden:1,prerender:2,unloaded:3},g=!0;BOOMR.subscribe("visibility_changed",function(a){var d=BOOMR.now();if(g){b.increment("vis");b.log(m,d,{s:e[BOOMR.visibilityState()]});c.interact("vis",d,a)}});return{stop:d}},D=function(a,b,c){function d(a){var d=BOOMR.now();if(g){b.increment("orn");b.log(n,d,{a:screen.orientation.angle});c.interact("orn",d,a)}}function e(){g=!1;BOOMR.utils.removeListener(a,"orientationchange",d)}b.register("orn",f);var g=!0;BOOMR.utils.addListener(a,"orientationchange",d,!0);return{stop:e}},E=function(a,b){function c(){var a=q&&q.memory&&q.memory.usedJSHeapSize;a&&b.set("mem",a);r=s.length;b.set("domsz",l.documentElement.innerHTML.length);b.set("domln",r);if(p>0){var c=Math.min(Math.round(p/r*100),100);b.set("mut",c);p=0}}function d(){m&&o&&b.set("bat",o.level)}function e(a){a.forEach(function(a){if("childList"===a.type)for(var b=0;b<a.addedNodes.length;b++){var c=a.addedNodes[b];p++;p+=c.getElementsByTagName?c.getElementsByTagName("*").length:0}})}function i(){m=!1;if(n){clearInterval(n);n=!1}j&&j.disconnect();o&&o.onlevelchange&&(o.onlevelchange=null);s=null}b.register("mem",g,!0);b.register("bat",h,!0);b.register("domsz",g,!0);b.register("domln",g,!0);b.register("mut",f);var j,k=1e3,l=a.document,m=!0,n=!1,o=null,p=0,r=0,s=l.getElementsByTagName("*");n=setInterval(c,k);a.navigator&&"function"==typeof a.navigator.getBattery&&a.navigator.getBattery().then(function(a){o=a;o.onlevelchange&&(o.onlevelchange=d)});if("function"==typeof a.MutationObserver){j=new a.MutationObserver(e);j.observe(l,{childList:!0,subtree:!0})}return{stop:i}};impl={monitorLongTasks:!0,monitorPageBusy:!0,monitorFrameRate:!0,monitorInteractions:!0,monitorStats:!0,afterOnload:!1,afterOnloadMaxLength:6e4,afterOnloadMinWait:5e3,waitAfterOnload:!1,ttiWaitForFrameworkReady:!1,ttiWaitForHeroImages:!1,sendLog:!0,sendTimeline:!0,logMaxEntries:100,initialized:!1,complete:!1,isSpa:!1,firedPageReady:!1,afterOnloadMonitoring:!1,frameworkReady:null,timeline:null,ttiMethod:null,longTaskMonitor:null,pageBusyMonitor:null,frameRateMonitor:null,interactionMonitor:null,scrollMonitor:null,clickMonitor:null,keyMonitor:null,mouseMonitor:null,visibilityMonitor:null,orientationMonitor:null,statsMonitor:null,addedVars:[],monitors:["timeline","longTaskMonitor","pageBusyMonitor","frameRateMonitor","scrollMonitor","keyMonitor","clickMonitor","mouseMonitor","interactionMonitor","visibilityMonitor","orientationMonitor","statsMonitor"],timeOfLastBeacon:0,hasAddedDataToBeacon:!1,onBeforeBeacon:function(){impl.runAllAnalyzers()},runAllAnalyzers:function(){var a,b;if(!impl.hasAddedDataToBeacon){for(a=0;a<impl.monitors.length;a++){b=impl[impl.monitors[a]];b&&"function"==typeof b.analyze&&b.analyze(impl.timeOfLastBeacon)}impl.addToBeacon("c.lb",impl.timeOfLastBeacon?impl.timeOfLastBeacon.toString(36):0);impl.timeOfLastBeacon=BOOMR.now();impl.hasAddedDataToBeacon=!0}},onBeacon:function(){var a;if(impl.addedVars&&impl.addedVars.length>0){BOOMR.removeVar(impl.addedVars);impl.addedVars=[]}for(a=0;a<impl.monitors.length;a++){var b=impl[impl.monitors[a]];if(b){impl.afterOnload||"function"==typeof b.stop&&b.stop();"function"==typeof b.onBeacon&&b.onBeacon()}}impl.hasAddedDataToBeacon=!1},onXhrLoad:function(a){a&&BOOMR.utils.inArray(a.initiator,BOOMR.constants.BEACON_TYPE_SPAS)&&(impl.isSpa=!0);a&&"spa_hard"===a.initiator&&impl.onPageReady()},onPageReady:function(){impl.firedPageReady=!0;if(impl.afterOnload&&impl.monitorInteractions){impl.afterOnloadMonitoring=!0;impl.isSpa||"number"!=typeof impl.afterOnloadMaxLength||setTimeout(function(){impl.afterOnloadMonitoring=!1},impl.afterOnloadMaxLength)}if(impl.waitAfterOnload){var a=BOOMR.now();setTimeout(function b(){if(BOOMR.now()-a>impl.waitAfterOnload){impl.complete=!0;BOOMR.sendBeacon()}else{impl.timeline.analyze();if(r.timeToInteractive()){impl.complete=!0;BOOMR.sendBeacon()}else setTimeout(b,e)}},e)}else impl.complete=!0},addToBeacon:function(a,b,c){if(0!==b&&void 0!==b||c){BOOMR.addVar(a,b);impl.addedVars.push(a)}else BOOMR.removeVar(a)}};BOOMR.plugins.Continuity={init:function(a){BOOMR.utils.pluginConfig(impl,a,"Continuity",["monitorLongTasks","monitorPageBusy","monitorFrameRate","monitorInteractions","monitorStats","afterOnload","afterOnloadMaxLength","afterOnloadMinWait","waitAfterOnload","ttiWaitForFrameworkReady","ttiWaitForHeroImages","sendLog","logMaxEntries","sendTimeline"]);if(impl.initialized)return this;impl.initialized=!0;impl.timeline=new t(BOOMR.now());if(BOOMR.window){if(impl.monitorLongTasks&&BOOMR.window.PerformanceObserver&&BOOMR.window.PerformanceLongTaskTiming){impl.longTaskMonitor=new u(BOOMR.window,impl.timeline);impl.ttiMethod="lt"}if(impl.monitorFrameRate&&"function"==typeof BOOMR.window.requestAnimationFrame){impl.frameRateMonitor=new w(BOOMR.window,impl.timeline);impl.ttiMethod||(impl.ttiMethod="raf")}if(impl.monitorPageBusy&&(!BOOMR.window.PerformanceObserver||!BOOMR.window.PerformanceLongTaskTiming||!impl.monitorLongTasks)){impl.pageBusyMonitor=new v(BOOMR.window,impl.timeline);impl.ttiMethod||(impl.ttiMethod="b")}if(impl.monitorInteractions){impl.interactionMonitor=new B(BOOMR.window,impl.timeline,impl.afterOnloadMinWait);impl.scrollMonitor=new x(BOOMR.window,impl.timeline,impl.interactionMonitor);impl.keyMonitor=new z(BOOMR.window,impl.timeline,impl.interactionMonitor);impl.clickMonitor=new y(BOOMR.window,impl.timeline,impl.interactionMonitor);impl.mouseMonitor=new A(BOOMR.window,impl.timeline,impl.interactionMonitor);impl.visibilityMonitor=new C(BOOMR.window,impl.timeline,impl.interactionMonitor);impl.orientationMonitor=new D(BOOMR.window,impl.timeline,impl.interactionMonitor)}impl.monitorStats&&(impl.statsMonitor=new E(BOOMR.window,impl.timeline,impl.interactionMonitor))}BOOMR.addVar("c.e",s.toString(36));BOOMR.addVar("c.tti.m",impl.ttiMethod);BOOMR.subscribe("before_beacon",impl.onBeforeBeacon,null,impl);BOOMR.subscribe("beacon",impl.onBeacon,null,impl);BOOMR.subscribe("page_ready",impl.onPageReady,null,impl);BOOMR.subscribe("xhr_load",impl.onXhrLoad,null,impl);return this},is_complete:function(a){return impl.complete||a&&"error"===a["http.initiator"]},frameworkReady:function(){impl.frameworkReady=BOOMR.now()},metrics:r}}}();!function(){function a(a){try{return a.frames.length}catch(b){return 0}}var b,c,d,e,f,g;if(!BOOMR.plugins.PageParams){var h=".",i=",",j=/(-?(?:[1-9][\d,]*)?[0-9](?:\.\d+)?)/,k=500,l=["img","iframe","script","link","object","svg","video"],m={name:1,"honorific-prefix":1,"given-name":1,"additional-name":1,"family-name":1,"honorific-suffix":1,username:1,"new-password":1,"current-password":1,"street-address":1,country:1,"country-name":1,"postal-code":1,email:1,tel:1},n=["cc-","address-","tel-"],o=[/(?:3[47][0-9]{13})/,/(?:3(?:0[0-5]|[68][0-9])[0-9]{11})/,/(?:6(?:011|5[0-9]{2})(?:[0-9]{12}))/,/(?:(?:2131|1800|35\d{3})\d{11})/,/(?:(?:5[0678]\d\d|6304|6390|67\d\d)\d{8,15})/,/(?:(?:5[1-5][0-9]{2}|222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12})/,/(?:4[0-9]{12})(?:[0-9]{3})?/,/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/],p=function(){return{pageGroups:{varname:"h.pg",stopOnFirst:!0,isDimension:!0},abTests:{varname:"h.ab",stopOnFirst:!0,isDimension:!0},customMetrics:{cleanUpRE:j},customDimensions:{sanitizeRE:/[^\w\. \-]/g,isDimension:!0},customTimers:{cleanUpRE:j,method:BOOMR.plugins.RT&&BOOMR.plugins.RT.setTimer,ctx:BOOMR.plugins.RT,preProcessor:function(a){return Math.round("number"==typeof a?a:parseFloat(a,10))}}}},q=["src","href","data","codebase"],r={".,":j},s={".":/\./g,",":/,/g," ":/ /g,"'":/'/g};g=function(a){this.varname=a.varname;this.method=a.method||BOOMR.addVar;this.ctx=a.ctx||BOOMR;this.preProcessor=a.preProcessor;this.sanitizeRE=a.sanitizeRE||/[^\w \-]/g;this.cleanUpRE=a.cleanUpRE;this.resourceTime={};this.resources=[];this.RTSupport=!1;this.MOSupport=!1;return this};g.prototype={apply:function(a){this.preProcessor&&(a=this.preProcessor(a));if(!a&&0!==a)return!1;"function"==typeof this.method&&this.method.call(this.ctx,this.varname,a);return!0},handle:function(a,b,c){var d=this;if(!this.isValid(a))return!1;if(a.label)if("ResourceGroup"===a.type&&f.resourceGroupHandlers[a.label])d=f.resourceGroupHandlers[a.label];else{d=new g(this);d.varname=a.label}return d[a.type](a,b,c)},isValid:function(a){return a&&"object"==typeof a&&a.hasOwnProperty("type")&&"function"==typeof this[a.type]&&(this.varname||a.label)},cleanUp:function(a,b){var c,d,e,g,j=this.cleanUpRE;if(!a)return a;if(j){d=b&&b.decimal?b.decimal:f.defaultDecimal;e=b&&b.thousands?b.thousands:f.defaultThousands;if(d!==h||e!==i){g=d+e;j=r[g];if(void 0===j){j=new RegExp("(-?(?:[1-9][\\d"+e+"]*)?[0-9](?:\\"+d+"\\d+)?)");r[g]=j}}c=a.match(j);if(c&&c.length>1){a=c[1];j=s[e];if(void 0===j){j=new RegExp("\\"+e,"g");s[e]=j}a=a.replace(j,"");d!==h&&(a=a.replace(d,h));return a}return""}return a.replace(this.sanitizeRE,"")},isValidObjectMember:function(a,b){return null!==a&&("object"==typeof a||(!("function"!=typeof a||!a.hasOwnProperty(b))||!("string"!=typeof a||!a.hasOwnProperty(b))))},extractFromDOMElement:function(a,b){var c,d,e="";if(f.pci&&this.hasSensitiveData(a)){BOOMR.appendVar("pci.redacted",b.label);return!1}null===a||!a.nodeName||"INPUT"!==a.nodeName.toUpperCase()&&"TEXTAREA"!==a.nodeName.toUpperCase()&&"SELECT"!==a.nodeName.toUpperCase()?null!==a&&(e=a.textContent||a.innerText):("checkbox"!==a.type.toLowerCase()&&"radio"!==a.type.toLowerCase()||a.checked)&&(e=a.value);if(f.pci&&this.isSensitiveData(e)){BOOMR.appendVar("pci.redacted",b.label);return!1}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(g){BOOMR.debug("Bad pattern: "+b.match,"PageVars");BOOMR.debug(g,"PageVars");BOOMR.addError(g,"PageVars.URLPatternType",b.match);return!1}}}else e=this.cleanUp(e,b);return e},hasSensitiveData:function(a){var b;if(!a)return!1;if(a.nodeName&&("INPUT"===a.nodeName.toUpperCase()||"TEXTAREA"===a.nodeName.toUpperCase()||"SELECT"===a.nodeName.toUpperCase())){var c=a.autocomplete||a.getAttribute("autocomplete");if(c&&c.length){c=c.toLowerCase();if(m[c])return!0;for(b=0;b<n.length;b++)if(0===c.indexOf(n[b]))return!0}}if(f.pciBlacklist&&f.pciBlacklist.length){if(!f.pciBlacklistQueried){f.pciBlacklistMatch=this.runQuerySelector(f.pciBlacklist,d,!0);f.pciBlacklistQueried=!0}if(f.pciBlacklistMatch&&f.pciBlacklistMatch.length)for(b=0;b<f.pciBlacklistMatch.length;b++)if(a===f.pciBlacklistMatch[b])return!0}return!1},isSensitiveData:function(a){var b;if(!a||!a.length)return!1;for(b=0;b<o.length;b++)if(o[b].exec(a))return!0;return!1},execSafeRegEx:function(a,b){if(!(a instanceof RegExp))try{a=new RegExp(a,"i")}catch(c){BOOMR.debug("Error generating regex: "+c,"PageVars");BOOMR.addError(c,"PageVars.handleRegEx",a);return!1}return void 0!==b&&a.exec(b)},handleRegEx:function(a,b,c){var d,e;e=this.execSafeRegEx(a,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,b,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}b||(b=c.href);if(!e.exec(b)){d&&BOOMR.debug("No match "+e+" on "+b,"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;e<d.length;e++){f=this.nodeWalk(d[e],c[3]);if(f)return f}return null},runXPath:function(a,b){var c,e,f,g=!1;b=b||d;try{b.evaluate?c=b.evaluate(a,b,null,9,null):b.selectNodes?c=b.selectNodes(a):g=!0}catch(h){f=h;g=!0}if(!c&&g)try{if(a.match(/^\/html(?:\/\w+(?:\[\d+\])?)*$/)){a=a.slice(6);return this.nodeWalk(d,a)}if(null!==(e=a.match(/\[@id=(["'])([^"']+)\1\]((?:\/\w+(?:\[\d+\])?)*)$/))){c=b.getElementById(e[2]);return c&&e[3]?this.nodeWalk(c,e[3].slice(1)):c}if(null!==(e=a.match(/\[@class="([^"]+)"\]((?:\/\w+(?:\[\d+\])?)*)$/))){c=b.getElementsByClassName(e[1]);c&&c.length&&(c=c[0]);return c&&e[2]?this.nodeWalk(c,e[2].slice(1)):c}BOOMR.debug("Could not evaluate XPath","PageVars");if(f){BOOMR.error("Error evaluating XPath: "+f,"PageVars");BOOMR.addError(f,"PageVars.runXPath.native",a)}return null}catch(h){BOOMR.error("Error evaluating XPath: "+h,"PageVars");BOOMR.addError(h,"PageVars.runXPath.ours",a);return null}if(!c||9!==c.resultType||!c.singleNodeValue){BOOMR.debug("XPath did not return anything: "+c+", "+c.resultType+", "+c.singleNodeValue,"PageVars");return null}return c.singleNodeValue},runQuerySelector:function(a,b,c){var e;c=c||!1;b=b||d;try{if(!b.querySelector&&!b.querySelectorAll)return null;e=c?b.querySelectorAll(a):b.querySelector(a)}catch(f){BOOMR.error(""+f,"PageVars");BOOMR.addError(f,"PageVars.runQueryselector",a);return null}e||BOOMR.debug("QuerySelector '"+a+"' yielded no result!");return e},JavaScriptVar:function(a){var b;if(!this.checkURLPattern(a.parameter1))return!1;b=this.extractJavaScriptVariable(a.varName,a);if(!b){f.mayRetry.push({handler:this,data:a});return!1}return b},Custom:function(a){var b;if(!this.checkURLPattern(a.parameter2))return!1;b=this.extractJavaScriptVariable(a.parameter1,a);if(!b){f.mayRetry.push({handler:this,data:a});return!1}return b},extractJavaScriptVariable:function(a,c,d){var e,f,g,h=d||b;if(!a)return!1;BOOMR.debug("Got variable: "+a,"PageVars");e=a.split(/\[((["'])[\w,.-]*\2|\d*)\]|\./);for(g=0;g<e.length;g++)e[g]&&(e[g]=e[g].replace(/("|')/g,""));e=BOOMR.utils.arrayFilter(e,function(a){return a&&a.length>0});if(!e||0===e.length)return!1;f=h[e.shift()];try{for(;e.length&&this.isValidObjectMember(f,e[0]);){BOOMR.debug("looking at "+e[0],"PageVars");h=f;f=f[e.shift()]}}catch(i){BOOMR.addError(i,"PageVars.extractJavaScriptVariable",a+"::"+e.join("."));return!1}if(0!==e.length)return!1;if("function"==typeof f)try{f=f.call(h,this.varname)}catch(i){BOOMR.addError(i,"PageVars.extractJavaScriptVariable",a+"()");return!1}if(void 0===f||"object"==typeof f&&null!==f)return!1;BOOMR.debug("final value: "+f,"PageVars");if(!c||"boolean"!==c.match){f=this.cleanUp(String(f),c);return this.apply(f)}if("string"==typeof f){f=f.replace(/^\s+|\s+$/g,"").toLowerCase();if("0"!==f&&"false"!==f&&f)return this.apply(1)}else if(f)return this.apply(1)},URLPattern:function(a){var b;if(!a.parameter2)return!1;BOOMR.debug("Got URL Pattern: "+a.parameter1+", "+a.parameter2,"PageVars");if(!this.checkURLPattern(a.parameter1))return!1;b=BOOMR.utils.getQueryParamValue(a.parameter2,c);if(b){BOOMR.debug("final value: "+b,"PageVars");b=this.cleanUp(b);return this.apply(b)}},URLSubstringEndOfText:function(a){return this.URLSubstringTrailingText(a)},URLSubstringTrailingText:function(a){if(!a.parameter1)return!1;BOOMR.debug("Got URL Substring: "+a.parameter1+", "+a.parameter2,"PageVars");return this.handleRegEx("^"+a.parameter1.replace(/([.+?\^=!:${}()|\[\]\/\\])/g,"\\$1").replace(/([^\.])\*/g,"$1.*?").replace(/^\*/,".*")+"(.*)"+(a.parameter2||"").replace(/([.+?\^=!:${}()|\[\]\/\\])/g,"\\$1").replace(/([^\.])\*/g,"$1.*")+"$","$1",c.href)},UserAgentRegex:function(a){return this._Regex(a.parameter1,a.regex,a.replacement,navigator.userAgent)},CookieRegex:function(a){return this._Regex(a.parameter1,a.regex,a.replacement,a.cookieName?BOOMR.utils.getCookie(a.cookieName):d.cookie)},URLRegex:function(a){return this._Regex(a.parameter1,a.regex,a.replacement,c.href)},Regexp:function(a,b){var d;b&&"string"==typeof b&&(d=b.match("http(|s)://"));return d&&d.length>0?this._Regex(null,a.parameter1,a.parameter2,b):this._Regex(null,a.parameter1,a.parameter2,c.href)},_Regex:function(a,b,c,d){if(!b||!c)return!1;if(!this.checkURLPattern(a))return!1;BOOMR.debug("Got RegEx: "+a+", "+b+", "+c,"PageVars");return this.handleRegEx(b,c,d)},URLPatternType:function(a){var b;BOOMR.debug("Got URLPatternType: "+a.parameter1+", "+a.parameter2,"PageVars");if(!this.checkURLPattern(a.parameter1))return!1;if(!a.parameter1||a.parameter2||a.queryselector)if(a.queryselector){b=this.runQuerySelector(a.queryselector);if(!b)return!1;b=this.extractFromDOMElement(b,a)}else{if(!a.parameter2)return!1;b=this.runXPath(a.parameter2);if(!b)return!1;b=this.extractFromDOMElement(b,a)}else b="1";BOOMR.debug("Final value: "+b,"PageVars");return this.apply(b)},ResourceTiming:function(a){var b,c,d,g,h,i;if(!a.parameter2&&!a.url&&!a.queryselector)return!1;if(!a.start||!a.end&&"*"!==a.start)return!1;if(!e||!e.getEntriesByName){BOOMR.debug("This browser does not support ResourceTiming","PageVars");return!1}BOOMR.debug("Got ResourceTiming: "+a.parameter1+", "+a.parameter2+", "+a.url,"PageVars");if(!this.checkURLPattern(a.parameter1))return!1;"slowest"===a.parameter2||"slowest"===a.url?c="slowest":a.url?c=a.url:a.parameter2?b=this.runXPath(a.parameter2):a.queryselector&&(b=this.runQuerySelector(a.queryselector));if(b)c=b.src||b.href;else if(!c)return!1;d=this.findResource(c,null,f.deltaFromNavStart);if(!d){BOOMR.debug("No resource matched","PageVars");f.mayRetry.push({handler:this,data:a});return!1}"slowest"===c&&BOOMR.addVar("dom.res.slowest",d.name);if("*"===a.start){for(i in d)d.hasOwnProperty(i)&&i.match(/(Start|End)$/)&&d[i]>0&&BOOMR.addVar(this.varname+"."+i.replace(/^(...).*(St|En).*$/,"$1$2"),Math.round(d[i]));return this.apply(d.duration)}if(a.relative_to_nt||"navigationStart"===a.start)g=f.deltaFromNavStart;else{g=parseFloat(d[a.start],10);if(!isNaN(g)&&0===g){BOOMR.debug("Start was 0 (not supported on this resource)","PageVars");return!1}}h=parseFloat(d[a.end],10);if(isNaN(g)||isNaN(h)){BOOMR.debug("Start or 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: ns:"+f.deltaFromNavStart+", st:"+g+", en:"+h,"PageVars");BOOMR.addVar(this.varname+"_st",Math.round(g-f.deltaFromNavStart));return this.apply(h-g)},findResource:function(a,b,c){var d=this.findResources(a,b,c,1);return null===d?null:d&&d.length>0?d[0]:null},getFrameResources:function(a,b){try{a.location&&a.location.href;return"performance"in a&&a.performance&&a.performance.getEntriesByName&&a.performance.getEntriesByType?b?a.performance.getEntriesByName(b):a.performance.getEntriesByType("resource"):null}catch(c){if(BOOMR.isCrossOriginError(c))return null;try{if("TypeError"===c.name&&"Invalid calling object"===c.message&&a.document.location.pathname.match(/\.pdf$/))return null}catch(d){}BOOMR.addError(c,"PageVars.getFrameResources");return null}},findResources:function(c,d,e,f){var g,h,i,j,k,l,m,n=[];d||(d=b);e||(e=0);if("slowest"!==c){i=this.getFrameResources(d,c);if(null===i)return null;if(i&&i.length>0)for(g=0;g<i.length;g++)if(!(i[g].startTime<e)){n.push(i[g]);if(f&&n.length===f)return n}}if(c&&(-1!==c.indexOf("*")||"slowest"===c)){i=this.getFrameResources(d);if(i&&i.length>0)for(g=0;g<i.length;g++)if(!(i[g].startTime<e))if("slowest"===c)(!h||i[g].duration>h.duration)&&(h=i[g]);else if(i[g].name&&this.checkURLPattern(c,i[g].name,!1)){n.push(i[g]);if(f&&n.length===f)return n}}if(d.frames){k=a(d);for(j=0;j<k;j++){m=d.frames[j];if(m&&m!==d){l=this.findResources(c,m,e,f?f-n.length:0);if(l)for(g=0;g<l.length;g++)if("slowest"===c)(!h||l[g].duration>h.duration)&&(h=l[g]);else{n.push(l[g]);if(f&&n.length===f)return n}}}}return h?[h]:n},UserTiming:function(a){var b,c;if(!a.parameter2)return!1;if(!e||"function"!=typeof e.getEntriesByType){BOOMR.debug("This browser does not support UserTiming","PageVars");return!1}if(!this.checkURLPattern(a.parameter1))return!1;b=e.getEntriesByType("mark");for(c=0;b&&c<b.length;c++)if(!(b[c].startTime<f.deltaFromNavStart)&&b[c].name===a.parameter2)return this.apply(b[c].startTime);b=e.getEntriesByType("measure");for(c=0;b&&c<b.length;c++)if(!(b[c].startTime<f.deltaFromNavStart)&&b[c].name===a.parameter2){b[c].startTime&&BOOMR.addVar(this.varname+"_st",Math.round(b[c].startTime));return this.apply(b[c].duration)}f.mayRetry.push({handler:this,data:a})},Payload:function(a,b,c){var d,e,f,g,h,i=BOOMR.window.DOMParser,j=BOOMR.window.JSON;if(!c)return null;if(a.url&&!this.checkURLPattern(a.url,c.url))return null;if(a.parameter1&&a.parameter2){if(!c.response||!c.response.raw)return null;if("queryselector"===a.parameter1||"xpath"===a.parameter1){if(c.response.xml){"queryselector"===a.parameter1?d=this.runQuerySelector(a.parameter2,c.response.xml):"xpath"===a.parameter1&&(d=this.runXPath(a.parameter2,c.response.xml));if(!d)try{if(i){e=new i;f=e.parseFromString(c.response.raw);"queryselector"===a.parameter1?d=this.runQuerySelector(a.parameter2,f):"xpath"===a.parameter1&&(d=this.runXPath(a.parameter2,f))}}catch(l){return null}return this.apply(this.extractFromDOMElement(d,a))}}else if("json"===a.parameter1){if(c.response.json)return this.extractJavaScriptVariable(a.parameter2,a,c.response.json);if(c.response.raw)try{if(j&&"function"==typeof j.parse){var k=j.parse(c.response.raw);return this.extractJavaScriptVariable(a.parameter2,a,k)}}catch(l){return null}}else if("substring"===a.parameter1){c.response.text||c.response.raw;g=this.execSafeRegEx(a.parameter2,c.response.text);if(!g||!g.length)return!1;h=this.cleanUp(g[0]);return!!h&&this.apply(h)}}return null},ResourceGroup:function(a,b){var c,d,e,f,g,h,i,j,k=[];if(BOOMR.utils.isArray(b)){i=b[0];j=b[1]}else{i=b;j=BOOMR.window.document.URL}h=void 0!==i?i:"onload";h="load"===h?"onload":i;if(a.value){this.config=a;for(c in a.value)if(a.value.hasOwnProperty(c)&&this.checkURLPattern(c,j)&&a.value[c].resources&&a.value[c].resources.length>0){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.getEntriesByName&&"function"==typeof d.getEntriesByType&&(this.RTSupport=!0);this.MOSupport=BOOMR.utils.isMutationObserverSupported();this.eventsrc=h;if(this.RTSupport)for(e=0;e<k.length;e++){"init"!==h&&"xhr"!==h&&this.refreshResourceGroupTimings(this.lookupResources(e),e);this.MOSupport&&("init"===h||this.isOnPageEvent())&&(this.obs=this.setupMutationObserver(e))}else if(this.RTSupport||!this.MOSupport||"init"!==h&&!this.isOnPageEvent()){if(!this.RTSupport&&!this.MOSupport&&("init"===h||this.isOnPageEvent()))for(e=0;e<k.length;e++){f=this.setupListener(e);f&&(this.listener=f)}}else for(e=0;e<k.length;e++){g=this.setupMutationObserver(e);g&&(this.observer=g)}if("onload"===h&&!this.attached){this.applyTimedResources(!0);this.attached=!0}return this}},setupMutationObserver:function(a){var b=this.resourceSet[a],c=null,d=0,e=this.getNode(a),f={childList:!0,attributes:!0,subtree:!0,attributeFilter:q};if(!this.isOnPageEvent()&&"onload"===this.eventsrc)return null;"resource"===b.type&&(e=BOOMR.window.document.body);if(!e&&null===e){this.resourceSet[a].found=!1;this.resourceSet[a].fallback=!0;e=BOOMR.window.document.body}if(!e||"number"!=typeof e.length){if(e&&!this.isContainer(e)){this.resourceSet[a].found=!0;return null}this.traverseElements(e,a);BOOMR.debug("Starting a Mutation observer for Resource: "+this.config.label,"PageVars.ResourceGroup");return BOOMR.utils.addObserver(e,f,null,this.mutationCb.bind(this),a,this)}for(d=0;d<e.length;d++){c=e[d];this.traverseElements(c,a);if(!c||this.isContainer(c)){BOOMR.debug("Starting a Mutation observer for Resource: "+this.config.label,"PageVars.ResourceGroup");BOOMR.utils.addObserver(c,f,null,this.mutationCb.bind(this),a,this)}else this.resourceSet[a].found=!0}},setupListener:function(a){function b(){if(f>=k)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(),i=0,j=null;"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){if(d&&d.length>0){this.resourceSet[a].found=!0;for(i=0;i<d.length;i++){j=d[i];this.isContainer(j)?this.traverseElements(d,a):this.initResourceGroupListener(j,a)}return null}if(!d||this.isContainer(d)){this.traverseElements(d,a);e=setInterval(b,100)}else{this.resourceSet[a].found=!0;this.initResourceGroupListener(d,a)}}},findResourceChildren:function(a){var b,c,d,e=[];if(!a||!a.getElementsByTagName)return e;for(b=0;b<l.length;b++){d=a.getElementsByTagName(l[b]);for(c=0;c<d.length;c++)e.push(d[c])}return e},attachContainerElements:function(a,b){var c,d,e=this.resourceSet[b],f=[];f=this.findResourceChildren(a);for(c in f){d=this.getNodeURL(f[c]);if("resource"===e.type&&d&&this.checkURLPattern(e.value,d)){this.resourceSet[b].found=!0;this.initResourceGroupListener(f[c],b);break}"resource"!==e.type||d&&this.checkURLPattern(e.value,d)?this.initResourceGroupListener(f[c],b):!d&&this.isOnPageEvent()&&this.initResourceGroupListener(f[c],b)}},traverseElements:function(a,b){var c,d=this.resourceSet[b];c=this.getNodeURL(a);if("resource"===d.type)if(c&&this.checkURLPattern(d.value,c)){this.resourceSet[b].found=!0;this.initResourceGroupListener(a,b)}else this.isContainer(a)&&this.attachContainerElements(a,b);else if(this.isContainer(a)&&!d.fallback){this.resourceSet[b].found=!0;this.attachContainerElements(a,b)}else if(!this.isContainer(a)){this.resourceSet[b].found=!0;this.initResourceGroupListener(a,b)}},mutationCb:function(a,b){var c,d,e,f,g,h,i=(this.resourceSet[b],[]);if(a&&a.length>0){for(e=0;e<a.length;e++){d=a[e];if(d.addedNodes&&d.addedNodes.length>0){g=d.addedNodes;for(h=0;h<g.length;h++)i.push(g[h])}}if(i&&i.length>0){c=this.getNode(b);this.RTSupport&&this.refreshResourceGroupTimings(this.lookupResources(b),b);for(f=0;f<i.length;f++)this.traverseElements(i[f],b);if(c&&!c.hasOwnProperty("length")&&this.obs&&this.obs.observer&&this.resourceSet[b].fallback){BOOMR.debug("Re-Starting MO since we found the node for the ResourceSet","PageVars.ResourceGroup");this.resourceSet[b].fallback=!1;this.obs.observer.disconnect();clearTimeout(this.obs.timer);this.setupMutationObserver(b)}}}},isOnPageEvent:function(a){return a?"spa"===a||"spa_hard"===a||"xhr"===a:"spa"===this.eventsrc||"spa_hard"===this.eventsrc||"xhr"===this.eventsrc},resourceSetIsResolved:function(){var a=this.getUnresolvedIndex();return"boolean"==typeof a||"number"!=typeof a&&void 0},getUnresolvedIndex:function(){var a=0;for(a;a<this.resourceSet.length;a++)if(!this.resourceSet[a].found)return a;return!1},hasUnresolvedAddVar:function(){if(!this.resourceSetIsResolved()){var a=this.getUnresolvedIndex();BOOMR.addVar(this.varname+"_rg.err","nf|"+a);this.resolved=!1;BOOMR.debug("Resource Group '"+this.config.label+"' has not been resolved fully, not going to apply timer!","PageVars.ResourceGroup");return!0}return!1},applyTimedResources:function(a){if(isNaN(this.resourceTime.start)||isNaN(this.resourceTime.stop)){BOOMR.debug("Resource Group '"+this.config.label+"' start or stop time were not numeric ("+this.resourceTime.start+","+this.resourceTime.stop+")","PageVars.ResourceGroup");return!1}if(0===this.resourceTime.stop){BOOMR.debug("Resource Group '"+this.config.label+"' stop time was 0, this should not happen!","PageVars.ResourceGroup");BOOMR.addVar(this.varname+"_rg.err","ne|-");return!1}if(this.hasUnresolvedAddVar())return!1;this.resolved=!0;BOOMR.removeVar(this.varname+"_rg.err");a&&BOOMR.debug("Resource Group '"+this.config.label+"' final values: "+(this.resourceTime.stop-this.resourceTime.start),"PageVars.ResourceGroup");BOOMR.addVar(this.varname+"_st",Math.round(this.resourceTime.start));if(this.obs&&this.obs.observer){this.obs.observer.disconnect();clearTimeout(this.obs.timer)}return this.apply(this.resourceTime.stop-this.resourceTime.start)},lookupResources:function(a){var b,c,d,e,f=this.resourceSet[a],g=this.getNode(a),h=[],i=0,j=0,k=this.getStartTime(a);if(g&&void 0===g.length){this.resourceSet[a].found=!0;b=this.getNodeURL(g);if(b)h=this.findResources(b);else{c=this.findChildElements(g);for(var l=0;l<c.length;l++)h.push(this.findResource(this.getNodeURL(c[l])))}}else if(g&&"number"==typeof g.length&&g.length>0&&!g[0][k]&&"resource"!==f.type)for(i=0;i<g.length;i++){d=g[i];if(this.isContainer(d))this.traverseElements(d,a);else{e=this.findResources(this.getNodeURL(d));if(e){this.resourceSet[a].found=!0;for(j=0;j<e.length;j++)h.push(e[j])}}}else if(g&&"number"==typeof g.length){g.length>0&&(this.resourceSet[a].found=!0);return g}return h},refreshResourceGroupTimings:function(a,b){if(a&&a.length>0){for(var c=0;c<a.length;c++)this.updateResourceGroupDelta(a[c],b);this.applyTimedResources()||BOOMR.debug("Applying timed Resources failed","PageParams.ResourceGroup")}},isContainer:function(a){var b;if(a&&"string"==typeof a.nodeName){b=this.getNodeURL(a);return!b}},getNode:function(a){var b,c=this.resourceSet[a];switch(c.type){case"xpath":b=this.runXPath(c.value);break;case"queryselector":b=this.runQuerySelector(c.value,!1,!0);break;case"resource":this.RTSupport&&(b=this.findResources(c.value));break;default:BOOMR.debug("Found Item of unknown type ("+c.type+"), skipping...","PageVars")}b||(this.resourceSet[a].found=!1);return b},findChildElements:function(a){var b,c,d,e=[];for(d in l){b=a.getElementsByTagName(l[d]);for(c=0;c<b.length;c++)e.push(b[c])}return e},getNodeURL:function(a){var b;if(!a)return null;switch(a.nodeName){case"IMG":case"IFRAME":case"SCRIPT":case"LINK":case"OBJECT":case"SVG":for(var c=0;c<q.length;c++){b=a[q[c]];if("string"==typeof b&&b.length>0)return b}break;default:return null}},getStartTime:function(a){var b=this.resourceSet[a],c="fetchStart";b.start&&(c=b.start);return c},updateResourceGroupDelta:function(a,b){var c,d=this.getStartTime(b);if(a){c=a.responseEnd;if(!c){BOOMR.debug("Tried to update ResourceGroup delta with unfinished resource! Using now as responseEnd","PageVars.ResourceGroup");c=BOOMR.hrNow()}"navigationStart"!==d?(!this.resourceTime.start||this.resourceTime.start>a[d])&&(this.resourceTime.start=a[d]):this.resourceTime.start=f.deltaFromNavStart;(!this.resourceTime.stop||this.resourceTime.stop<c)&&(this.resourceTime.stop=c);BOOMR.debug("New Resource Times for resource: '"+this.config.label+"' start("+this.resourceTime.start+") , stop ("+this.resourceTime.stop+") delta("+(this.resourceTime.stop-this.resourceTime.start)+")","PageVars.ResourceGroup")}},initResourceGroupListener:function(a,b){var c,d=this.resourceSet[b],e=this.getStartTime(b);a._bmr_rg=a._bmr_rg||{};a._bmr_rg[e]=a._bmr_rg[e]?a._bmr_rg[e]:BOOMR.hrNow();if(a._bmr_rg_resource){if(a._bmr_rg_resource&&!a._bmr_rg_resource.hasOwnProperty("length")){c=a._bmr_rg_resource;a._bmr_rg_resource=[]}a._bmr_rg_resource.push(c,d);this.addResourceGroupListener(a,b)}else{a._bmr_rg_resource=d;this.addResourceGroupListener(a,b)}},addResourceGroupListener:function(a,b){function c(a){var c,f=a.target?a.target:a.srcElement,g=d.getNodeURL(f),h=d.getStartTime(b);if(d.RTSupport)if("resource"===e.type&&g&&d.checkURLPattern(e.value,g)){c=d.findResources(g);if(c&&c.length>0){d.resourceSet[b].found=!0;d.refreshResourceGroupTimings(c,b)}}else d.refreshResourceGroupTimings(d.findResources(d.getNodeURL(f)),b);else{g=d.getNodeURL(f);if("resource"===e.type&&g&&d.checkURLPattern(e.value,g)){f._bmr_rg.responseEnd=f._bmr_rg.responseEnd||BOOMR.hrNow();d.updateResourceGroupDelta(f._bmr_rg,b)}else if(f._bmr_rg&&f._bmr_rg.responseEnd&&f._bmr_rg[h])d.updateResourceGroupDelta(f._bmr_rg,b);else{f._bmr_rg.responseEnd=f._bmr_rg.responseEnd||BOOMR.hrNow();d.updateResourceGroupDelta(f._bmr_rg,b)}}d.applyTimedResources()}var d=this,e=this.resourceSet[b];a.complete?c({target:a}):a.addEventListener?a.addEventListener("load",c):a.attachEvent&&a.attachEvent("onload",c)}};BOOMR.utils.runXPath=g.prototype.runXPath;BOOMR.utils.runQuerySelector=g.prototype.runQuerySelector;g.prototype.XPath=g.prototype.URLPatternType;g.prototype.URLQueryParam=g.prototype.URLPattern;f={pageGroups:[],abTests:[],customTimers:[],customMetrics:[],customDimensions:[],xhrPageGroups:[],resourceGroupHandlers:{},complete:!1,initialized:!1,configReceived:!1,rerunAfterConfig:!1,unloadFired:!1,onloadfired:!1,defaultDecimal:h,defaultThousands:i,hasXhrOn:!1,hasXhrIgnore:!1,autorun:!0,pci:!1,pciBlacklist:[],pciBlacklistQueried:!1,pciBlacklistMatch:[],beaconQueue:[],mayRetry:[],deltaFromNavStart:0,matchPageGroupList:function(a,b,c){var d,e=0;for(e=0;e<b.length;e++){d=c.handle(b[e],a);BOOMR.debug("Found XHR PageParam matching URL: "+BOOMR.utils.objectToString(d),"PageParams");if(d)return!0}return!1},excludeXhrFilter:function(a){var b,c,d,e=0,h=!1;if(!f.xhr)return!1;b=p();b.pageGroups.varname="xhr.pg";c=f.hasXhrOn?f.xhrPageGroups:f.pageGroups;var i=new g(b.pageGroups);i.method=null;if("match"===f.xhr){for(e=0;e<c.length;e++){d=i.handle(c[e],a.href);if(d&&!c[e].ignore){h=!0;break}}if(!h){BOOMR.debug("excludeXhrFilter: No matching rule found for XHR, skipping: "+BOOMR.utils.objectToString(d),"PageParams");return!0}return!1}if("none"===f.xhr)return!0;if("all"===f.xhr||"subresource"===f.xhr)for(e=0;e<c.length;e++)if(c[e].ignore){d=i.handle(c[e],a.href);if(d){BOOMR.debug("excludeXhrFilter: Ignore rule found for XHR, skipping: "+BOOMR.utils.objectToString(d),"PageParams");return!0}}return!1},done:function(a,e){var h,i,j,k,l,m,n,o=f,q=!1;if(f.configReceived){j=p();if("xhr"===e||"error"===e||!this.complete){BOOMR_check_doc_domain();if("xhr"===e&&a&&!BOOMR.utils.inArray(a.initiator,BOOMR.constants.BEACON_TYPE_SPAS)){o=f.extractXHRParams(a,j);if(null===o)return;f.complete=!1;l=a.data?a.data:a;if(l.url){c=d.createElement("a");c.href=l.url;m=f.matchPageGroupList(c.href,f.hasXhrOn?f.xhrPageGroups:f.pageGroups,new g(j.pageGroups));"subresource"!==f.xhr||m||(a.subresource="active");f.hasXhrOn?o.pageGroups=f.xhrPageGroups:o.pageGroups=f.pageGroups;j.pageGroups.varname="xhr.pg";j.pageGroups.preProcessor=function(b){if(b&&b.match(/_subresource$/)){b=b.replace(/_subresource$/,"");a.subresource="passive"}return b}}}else{c=b.location;this.complete=!0}"error"===e&&(q=!0);f.clearMetrics();f.mayRetry=[];if("xhr"===e&&a&&"spa"===a.initiator&&a.timing&&a.timing.requestStart){n=BOOMR.plugins.RT&&BOOMR.plugins.RT.navigationStart&&BOOMR.plugins.RT.navigationStart()||BOOMR.t_lstart||BOOMR.t_start;f.deltaFromNavStart=a.timing.requestStart-n}else f.deltaFromNavStart=0;for(i in j)if(j.hasOwnProperty(i)){k=new g(j[i]);if(q&&!j[i].isDimension)continue;if("xhr"===e&&"pageGroups"===i&&l&&l.pg&&"string"==typeof l.pg){BOOMR.debug("Found data.pg on data param "+l.pg,"PageParams");k.apply(l.pg);continue}for(h=0;h<o[i].length;h++)if("xhr"===e||!o[i][h].only_xhr){var r="xhr"===e&&a&&BOOMR.utils.inArray(a.initiator,BOOMR.constants.BEACON_TYPE_SPAS)?a.initiator:e;if(k.handle(o[i][h],r,l)&&j[i].stopOnFirst){o[i][h].subresource&&"xhr"===e&&a&&(a.subresource="active");break}}}BOOMR.sendBeacon()}}else f.rerunAfterConfig={edata:a,ename:e}},retry:function(){var a,b,c,d=f.mayRetry;f.mayRetry=[];for(a=0;a<d.length;a++)if(d[a]){c=b=null;try{b=d[a].handler;c=d[a].data;b[c.type](c)}catch(e){BOOMR.addError(e,"PageVars.retry."+(c?c.type:"?")+"."+(b?b.varname:"?"))}}},initResourceGroupHandlers:function(a){var b,c,d,e=p();if(e.hasOwnProperty("customTimers")){c=new g(e.customTimers);for(var h=0;h<f.customTimers.length;h++)if("ResourceGroup"===f.customTimers[h].type){b=f.customTimers[h];if(b.label&&!f.resourceGroupHandlers.hasOwnProperty(b.label)){d=c.handle(b,a);d&&(f.resourceGroupHandlers[b.label]=d)}}}},removeResolvedResourceGroupHandlers:function(){var a;for(a in f.resourceGroupHandlers)f.resourceGroupHandlers.hasOwnProperty(a)&&f.resourceGroupHandlers[a].resolved&&delete f.resourceGroupHandlers[a]},clearMetrics:function(){var a,b;for(a=0;a<f.customMetrics.length;a++){b=f.customMetrics[a].label;BOOMR.removeVar(b)}BOOMR.removeVar("dom.res.slowest");for(a=0;a<f.customTimers.length;a++){b=f.customTimers[a].label+"_st";BOOMR.removeVar(b)}BOOMR.removeVar("h.pg","h.ab","xhr.pg","pci.redacted");f.pciBlacklistQueried=!1},onload:function(){this.onloadfired=!0},extractXHRParams:function(a,b){var c,d,e,h,i,j,k,l,m,n,o;if(!a)return null;o=a.data?a.data:a;if(!(o.url||o.timers&&o.timers.length||o.metrics&&o.metrics.length||o.dimensions&&o.dimensions.length))return null;c={pageGroups:[],abTests:f.abTests,customTimers:[],customMetrics:[],customDimensions:[]};d={timers:{impl:"customTimers",data:o.timers},metrics:{impl:"customMetrics",data:o.metrics},dimensions:{impl:"customDimensions",data:o.dimensions}};for(e in d)if(d.hasOwnProperty(e)){h=d[e];if(h.data&&h.data.length)for(m=0;m<h.data.length;m++){k=h.data[m].split(/\s*=\s*/);i=k[0];j=k[1];for(l=0;l<f[h.impl].length;l++)if(f[h.impl][l].name===i)if(void 0===j)c[h.impl].push(f[h.impl][l]);else{n=new g(b[h.impl]);n.varname=f[h.impl].label;n.apply(n.cleanUp(j));n=null}}else if(o.url)for(l=0;l<f[h.impl].length;l++)f[h.impl][l].xhr_ok&&c[h.impl].push(f[h.impl][l])}return c},onunload:function(){f.unloadFired=!0;return this},onBeforeBeacon:function(a){a&&"error"===a["http.initiator"]&&f.done({},"error")},prerenderToVisible:function(){this.complete=!1;this.done({},"load")},runPageParamsHandler:function(a,b){var d,e,h,i=p()[a],j=f[a];c=BOOMR.window.location;i.method=b;e=new g(i);for(d=0;d<j.length;d++)if(!j[d].only_xhr){h=e.handle(j[d],"custom");if(h&&i.stopOnFirst)return h}},runAllDimensions:function(a){f.runPageParamsHandler("pageGroups",a);f.runPageParamsHandler("abTests",a);f.runPageParamsHandler("customDimensions",a)},sendMetric:function(a,b){if("string"==typeof a&&(void 0===b||"number"==typeof b)){void 0===b&&(b=1);var c={};c[a]=b;f.sendMetrics(c)}},sendMetrics:function(a){"object"==typeof a&&f.addToBeaconQueue({metrics:a})},sendTimer:function(a,b){if("string"==typeof a&&"number"==typeof b){var c={};c[a]=b;f.sendTimers(c)}},sendTimers:function(a){"object"==typeof a&&f.addToBeaconQueue({timers:a})},sendAll:function(a){"object"==typeof a&&f.addToBeaconQueue(a)},addToBeaconQueue:function(a){a.timestamp||(a.timestamp=BOOMR.now());a.vars||(a.vars={});f.configReceived?f.runAllDimensions(function(b,c){a.vars[b]=c}):a.needsDimensions=!0;f.beaconQueue.push(a);BOOMR.setImmediate(f.processBeaconQueue)},processBeaconQueue:function(a){var b,c,d,e,g={},h=!1,i=!1;if(0!==f.beaconQueue.length&&f.configReceived){b=f.beaconQueue.shift();g["rt.tstart"]=b.timestamp;g["rt.end"]=b.timestamp;g["http.initiator"]="api_custom_"+(b.timers?"timer":"metric");if(b.metrics)for(d in b.metrics)if(b.metrics.hasOwnProperty(d)){h=!1;for(c=0;c<f.customMetrics.length;c++)if(d===f.customMetrics[c].name){h=i=!0;g[f.customMetrics[c].label]=b.metrics[d];break}h||BOOMR.warn("Custom Metric "+d+" not found")}if(b.timers)for(d in b.timers)if(b.timers.hasOwnProperty(d)){h=!1;for(c=0;c<f.customTimers.length;c++)if(d===f.customTimers[c].name){h=i=!0;g.t_other?g.t_other+=",":g.t_other="";g.t_other+=f.customTimers[c].label+"|"+b.timers[d];break}h||BOOMR.warn("Custom Timer "+d+" not found")}if(i){for(var e in b.vars)b.vars.hasOwnProperty(e)&&(g[e]=b.vars[e]);f.sendBeacon(g);BOOMR.setImmediate(f.processBeaconQueue)}else BOOMR.warn("No data found to send, aborting Custom beacon")}},sendBeacon:function(a){a.d=BOOMR.session.domain;a["h.key"]=BOOMR.getVar("h.key");a["h.d"]=BOOMR.getVar("h.d");a["h.cr"]=BOOMR.getVar("h.cr");a["h.t"]=BOOMR.getVar("h.t");a.pid=BOOMR.pageId;a["rt.start"]="manual";if(BOOMR.session&&!1!==BOOMR.session.ID){a["rt.si"]=BOOMR.session.ID+"-"+Math.round(BOOMR.session.start/1e3).toString(36);a["rt.ss"]=BOOMR.session.start;a["rt.sl"]=BOOMR.session.length}a.api=1;a["api.v"]=2;a["api.l"]="boomr";a.v=BOOMR.version;BOOMR.fireEvent("before_custom_beacon",a);BOOMR.sendBeaconData(a)}};BOOMR.sendMetric=f.sendMetric;BOOMR.sendMetrics=f.sendMetrics;BOOMR.sendTimer=f.sendTimer;BOOMR.sendTimers=f.sendTimers;BOOMR.sendAll=f.sendAll;BOOMR.plugins.PageParams={init:function(a){var g=["pageGroups","abTests","customTimers","customMetrics","customDimensions","autorun","defaultDecimal","defaultThousands","xhr","pci","pciBlacklist"],h=0,i=[];b=BOOMR.window;c=b.location;d=b.document;e=BOOMR.getPerformance();BOOMR.utils.pluginConfig(f,a,"PageParams",g);f.complete=!1;if(f.pageGroups&&f.pageGroups.length>0)for(h=0;h<f.pageGroups.length;h++)if(f.pageGroups[h]){if(f.pageGroups[h].on&&f.pageGroups[h].on.indexOf("xhr")>-1||f.pageGroups[h].ignore){f.xhrPageGroups.push(f.pageGroups[h]);f.hasXhrOn=!0;f.pageGroups[h].ignore&&(f.hasXhrIgnore=!0);if(f.pageGroups[h].on&&1===f.pageGroups[h].on.length||f.pageGroups[h].ignore)continue}i.push(f.pageGroups[h])}f.pageGroups=i;void 0!==a.autorun&&(f.autorun=a.autorun);f.pci&&BOOMR.addVar("pci",1);if(f.initialized){f.configReceived=!0;f.initResourceGroupHandlers("init");for(var j=0;j<f.beaconQueue.length;j++)if(f.beaconQueue[j].needsDimensions){f.runAllDimensions(function(a,b){f.beaconQueue[j].vars[a]=b});delete f.beaconQueue[j].needsDimensions}if(f.rerunAfterConfig){BOOMR.debug("Re-running now that config came in");f.done(f.rerunAfterConfig.edata,f.rerunAfterConfig.ename);f.rerunAfterConfig=!1;return}}BOOMR.setImmediate(f.processBeaconQueue);if(f.onloadfired)f.autorun&&f.done("load");else{BOOMR.subscribe("page_ready",f.onload,"load",f);BOOMR.subscribe("page_ready",f.done,"load",f);BOOMR.subscribe("prerender_to_visible",f.prerenderToVisible,"load",f);BOOMR.subscribe("spa_init",f.initResourceGroupHandlers);BOOMR.subscribe("xhr_init",f.initResourceGroupHandlers)}if(!f.initialized){BOOMR.subscribe("before_unload",f.onunload,null,f);BOOMR.subscribe("before_unload",f.done,"unload",f);BOOMR.subscribe("beacon",f.clearMetrics,null,f);BOOMR.subscribe("beacon",f.removeResolvedResourceGroupHandlers);BOOMR.subscribe("xhr_load",f.done,"xhr",f);BOOMR.subscribe("before_beacon",f.onBeforeBeacon,null,f);BOOMR.plugins.AutoXHR&&BOOMR.plugins.AutoXHR.addExcludeFilter(f.excludeXhrFilter,f,"BOOMR.plugins.PageParams.PageGroups");f.initialized=!0}return this},is_complete:function(){f.mayRetry.length>0&&f.retry();return f.configReceived||f.unloadFired},readyToSend:function(){return f.configReceived||f.unloadFired}}}}();!function(){function a(a){BOOMR.debug("(url: "+BOOMR.window.location.href+"): "+a,"IFrameDelay")}if(!BOOMR.plugins.IFrameDelay){var b={registerParent:!1,monitoredCount:0,finishedCount:0,runningCount:0,messages:{start:"boomrIframeLoading",done:"boomrIframeLoaded"},checkRunningFrames:function(){setTimeout(function(){if(b.monitoredCount!==b.runningCount){a("monitoredCount("+b.monitoredCount+") did not match registered running count("+b.runningCount+")");b.monitoredCount=b.runningCount;b.checkCompleteness()}},50)},onIFrameMessage:function(c){a("Received message: '"+c.data+"' from child IFrame");if(c&&c.data&&"string"==typeof c.data){c.data===b.messages.start&&(b.runningCount+=1);if(c.data===b.messages.done){b.runningCount-=1;b.finishedCount+=1;b.checkCompleteness()}}},checkCompleteness:function(){if(b.is_complete()){BOOMR.addVar("ifdl.done",BOOMR.now());BOOMR.addVar("ifdl.ct",b.finishedCount);BOOMR.addVar("ifdl.r",b.runningCount);BOOMR.addVar("ifdl.mon",b.monitoredCount);BOOMR.page_ready()}},is_complete:function(){return!(b.enabled&&!b.registerParent)||b.finishedCount===b.monitoredCount&&0===b.runningCount}};BOOMR.plugins.IFrameDelay={init:function(c){BOOMR.utils.pluginConfig(b,c,"IFrameDelay",["enabled","registerParent","monitoredCount"]);if(BOOMR.utils.hasPostMessageSupport())if(b.registerParent){a("Found registerParent=true, trying to notify parent window");BOOMR.window.parent.postMessage(b.messages.start,"*");BOOMR.subscribe("page_load_beacon",function(a){BOOMR.window.parent.postMessage(b.messages.done,"*")})}else if(!b.registerParent&&b.monitoredCount&&b.monitoredCount>0){BOOMR.utils.addListener(BOOMR.window,"message",b.onIFrameMessage);BOOMR.attach_page_ready(b.checkRunningFrames)}else{a("Missing configuration. Setting monitored, finished and running to 0 and closing this plugin");b.finishedCount=b.monitoredCount=b.runningCount=0}},is_complete:function(){return b.is_complete()}}}}();!function(){function a(a){BOOMR.debug(a,"AutoXHR")}function b(a){if(!a)return null;a.href=a.href;var b=a.pathname;"/"!==b.charAt(0)&&(b="/"+b);return b}function c(a){if(a.href){if(a.href.match(/^(about:|javascript:|data:)/i))return!0;if(0===a.href.indexOf(BOOMR.getBeaconURL()))return!0}return BOOMR.xhr_excludes.hasOwnProperty(a.href)||BOOMR.xhr_excludes.hasOwnProperty(a.hostname)||BOOMR.xhr_excludes.hasOwnProperty(b(a))}function d(){this.watch=0;this.timer=null;this.pending_events=[];this.lastSpaLocation=null}function e(){BOOMR.subscribe("click",function(){if(!n){var a={timing:{},initiator:"click"};if(BOOMR.orig_XMLHttpRequest&&BOOMR.orig_XMLHttpRequest!==BOOMR.window.XMLHttpRequest){a.timing.requestStart=BOOMR.now();k.addEvent(a)}}})}function f(){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;d.start()}else{BOOMR.orig_XMLHttpRequest=BOOMR.window.orig_XMLHttpRequest||BOOMR.window.XMLHttpRequest;d.start();e();BOOMR.proxy_XMLHttpRequest=function(){var a,b,c,d={timing:{},initiator:"xhr"},e=!1,f=!1;a=new BOOMR.orig_XMLHttpRequest;b=a.open;c=a.send;a.open=function(c,g,h){function loadFinished(){var a,b,c,e,f=!1,g=BOOMR.now();if(!d.timing.loadEventEnd){d.status&&BOOMR.fireEvent("xhr_error",d);d.timing.loadEventEnd=g;a=BOOMR.getResourceTiming(d.url,function(a,b){return a.responseEnd-b.responseEnd});if(a){b=BOOMR.getPerformance().timing.navigationStart;d.timing.loadEventEnd=BOOMR.now();c=Math.floor(b+a.startTime);if(d.timing.requestStart-c>=2)f=!1;else{if(0!==a.responseEnd){e=Math.floor(b+a.responseEnd);if(e<=d.timing.loadEventEnd){d.timing.responseEnd=e;f=!0;d.restiming=a}}if(f){d.timing.requestStart=c;d.timing.fetchStart=c;0!==a.responseStart&&(d.timing.responseStart=Math.floor(b+a.responseStart))}}}d.index>-1?k.load_finished(d.index,d.timing.responseEnd):m.alwaysSendXhr?k.sendResource(d):n&&!o||k.addEvent(d)}}function i(b,c){a.addEventListener(b,function(){if("readystatechange"===b){d.timing[p[a.readyState]]=BOOMR.now();if(4===a.readyState&&0!==a.status){(a.status<200||a.status>=400)&&(d.status=a.status);d.response={text:""===a.responseType||"text"===a.responseType?a.responseText:null,xml:""===a.responseType||"document"===a.responseType?a.responseXML:null,raw:a.response,json:a.responseJSON};loadFinished()}}else{d.status=void 0===c?a.status:c;loadFinished()}},!1)}l.href=g;if(m.excludeFilter(l)){f=!0;BOOMR.debug("Exclude found for resource: "+l.href+" Skipping instrumentation!","AutoXHR");return b.apply(a,arguments)}f=!1;void 0===h&&(h=!0);BOOMR.fireEvent("xhr_init","xhr");if(!e){h&&i("readystatechange");i("load");i("timeout",r);i("error",t);i("abort",s)}d.url=l.href;d.method=c;delete d.status;h||(d.synchronous=!0);e=!0;try{return b.apply(a,arguments)}catch(j){d.status=u;loadFinished();throw j}};a.send=function(b){if(f)return c.apply(a,arguments);a.resource.requestPayload=b;BOOMR.fireEvent("xhr_send",a);d.timing.requestStart=BOOMR.now();n&&k.watch&&!m.alwaysSendXhr&&k.add_event_resource(d);return void 0===d.status||d.status!==u?c.apply(a,arguments):void 0};a.resource=d;return a};BOOMR.proxy_XMLHttpRequest.UNSENT=0;BOOMR.proxy_XMLHttpRequest.OPENED=1;BOOMR.proxy_XMLHttpRequest.HEADERS_RECEIVED=2;BOOMR.proxy_XMLHttpRequest.LOADING=3;BOOMR.proxy_XMLHttpRequest.DONE=4;BOOMR.proxy_XMLHttpRequest.prototype=BOOMR.orig_XMLHttpRequest.prototype;BOOMR.window.XMLHttpRequest=BOOMR.proxy_XMLHttpRequest}}function g(){BOOMR.orig_XMLHttpRequest&&BOOMR.orig_XMLHttpRequest!==BOOMR.window.XMLHttpRequest&&(BOOMR.window.XMLHttpRequest=BOOMR.orig_XMLHttpRequest)}function h(a){a.initiator="xhr";BOOMR.responseEnd(a)}var i,j,k,l,m,n=!1,o=!1,p=["uninitialized","open","responseStart","domInteractive","responseEnd"],q=1e3,r=-1001,s=-999,t=-998,u=-997,v=["xmlhttprequest","script"];if(!BOOMR.plugins.AutoXHR){i=BOOMR.window;if(i&&i.XMLHttpRequest&&(new i.XMLHttpRequest).addEventListener){d.stop=function(){d.pause();d.observer=null};d.pause=function(){if(d.observer&&d.observer.observer&&!d.isPaused){d.isPaused=!0;d.observer.observer.disconnect()}};d.resume=function(){if(d.observer&&d.observer.observer&&d.isPaused){d.isPaused=!1;d.observer.observer.observe(j,d.observer.config)}};d.start=function(){if(!d.observer){var a={childList:!0,attributes:!0,subtree:!0,attributeFilter:["src","href"]};d.observer=BOOMR.utils.addObserver(j,a,null,k.mutation_cb,null,k);if(d.observer){d.observer.config=a;BOOMR.subscribe("page_unload",d.stop,null,d)}}};d.prototype.addEvent=function(a){var b,c,e,f={type:a.initiator,resource:a,nodes_to_wait:0,total_nodes:0,resources:[],complete:!1},g=this.pending_events.length;for(b=g-1;b>=0;b--)if(this.pending_events[b]&&!this.pending_events[b].complete){c=this.pending_events[b];e=b;break}if(c)if("click"===c.type)0!==c.nodes_to_wait&&c.resource.url||(this.pending_events[b]=void 0);else if("xhr"===c.type){if("click"===f.type)return null}else if(BOOMR.utils.inArray(c.type,BOOMR.constants.BEACON_TYPE_SPAS)){if("xhr"===f.type)return null;if(BOOMR.utils.inArray(f.type,BOOMR.constants.BEACON_TYPE_SPAS)){BOOMR.debug("Aborting previous SPA navigation");c.resource.timing.loadEventEnd=BOOMR.now();c.aborted=!0;this.sendEvent(e)}}this.watch++;this.pending_events.push(f);if(d.observer){BOOMR.utils.inArray(f.type,BOOMR.constants.BEACON_TYPE_SPAS)?this.setTimeout(q,g):this.setTimeout(50,g);return g}if(BOOMR.utils.inArray(f.type,BOOMR.constants.BEACON_TYPE_SPAS)){d.start();this.setTimeout(q,g);return g}a.url&&a.timing.loadEventEnd&&this.sendEvent(g);return null};d.prototype.sendEvent=function(b){var c=this.pending_events[b],d=this,e=BOOMR.now();if(c&&!c.complete){this.clearTimeout();if(BOOMR.readyToSend()){c.complete=!0;this.watch--;c.resource.resources=c.resources;BOOMR.utils.inArray(c.type,BOOMR.constants.BEACON_TYPE_SPAS)&&(c.resource.url=j.URL);if("spa"===c.type&&0===c.total_nodes&&c.resource.url===d.lastSpaLocation){a("SPA beacon cancelled, no URL change or resources triggered");this.pending_events[b]=void 0;return}if(BOOMR.utils.inArray(c.type,BOOMR.constants.BEACON_TYPE_SPAS)){d.lastSpaLocation=c.resource.url;c.forced||0!==c.total_nodes||(c.resource.timing.loadEventEnd=e-q)}this.sendResource(c.resource,b)}else setTimeout(function(){d.sendEvent(b)},500)}};d.prototype.sendResource=function(a,b){var c=this,d=c.pending_events[b],e=a.timing?a.timing.requestStart:void 0,f=function(d,f){d&&(a.timing.loadEventEnd=f||BOOMR.now());BOOMR.real_sendBeacon();a.onComplete&&a.onComplete(a);if(BOOMR.plugins.ResourceTiming&&BOOMR.plugins.ResourceTiming.is_enabled()&&a.timing&&a.timing.requestStart){var g=BOOMR.plugins.ResourceTiming.getCompressedResourceTiming(a.timing.requestStart,a.timing.loadEventEnd);BOOMR.plugins.ResourceTiming.addToBeacon(g)}if(BOOMR.utils.inArray(a.initiator,BOOMR.constants.BEACON_TYPE_SPAS)){c.calculateSpaTimings(a);if("number"==typeof b&&c.pending_events[b].aborted){BOOMR.addVar("pgu",j.URL);BOOMR.addVar("rt.quit","");BOOMR.addVar("rt.abld","");m.addedVars.push("pgu","rt.quit","rt.abld")}}BOOMR.responseEnd(a,e,a);"number"==typeof b&&(c.pending_events[b]=void 0)};if(a.wait)a.waitComplete=function(){f(!0)};else{if("spa_hard"===a.initiator&&(!d||!d.aborted)&&j&&j.readyState&&"complete"!==j.readyState){BOOMR.window.addEventListener("load",function(){var a=BOOMR.now();BOOMR.setImmediate(function(){f(!0,a)})});return}f(!1)}};d.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.navigationStart}else{if(!BOOMR.plugins.ResourceTiming||!BOOMR.plugins.ResourceTiming.is_supported())return;var c=BOOMR.plugins.ResourceTiming.getFilteredResourceTiming(a.timing.requestStart,a.timing.loadEventEnd,m.spaBackEndResources).entries,d=Math.round(a.timing.loadEventEnd-a.timing.requestStart);if(!c||!c.length){a.timers={t_resp:0,t_page:d,t_done:d};return}for(var e=a.timing.loadEventEnd-b.timing.navigationStart,f=0;f<c.length;f++)if(c[f].responseStart>e){c[f].responseStart=e;c[f].responseEnd=e}else c[f].responseEnd>e&&(c[f].responseEnd=e);var g=Math.round(BOOMR.plugins.ResourceTiming.calculateResourceTimingUnion(c)),h=d-g;if(g<0||d<0||h<0){BOOMR.addError("Incorrect SPA time calculation");return}a.timers={t_resp:g,t_page:h,t_done:d}}};d.prototype.setTimeout=function(a,b){var c=this;if(a){this.clearTimeout();this.timer=setTimeout(function(){c.timedout(b)},a)}};d.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}};d.prototype.clearTimeout=function(){if(this.timer){clearTimeout(this.timer);this.timer=null}};d.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=void 0!==b?b:c._bmr.res||0;if(!c._bmr.end[b]){c._bmr.end[b]=e;this.load_finished(d,e)}}};d.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)}}};d.prototype.wait_for_node=function(a,b){var c,d,e,f,g,h,i=this,j=!1,k=!1;if(a.nodeName.toUpperCase().match(/^(IMG|SCRIPT|IFRAME|IMAGE)$/)||"LINK"===a.nodeName&&a.rel&&a.rel.match(/\<stylesheet\>/i)){a._bmr&&"number"==typeof a._bmr.res&&a._bmr.end[a._bmr.res]&&(k=!0);g=a.src||a.getAttribute("xlink:href")||a.href;if("IMG"===a.nodeName){if(a.naturalWidth&&!k)return!1;if(""===a.getAttribute("src"))return!1}if(!g||g.match(/^(about:|javascript:|data:)/i))return!1;c=this.pending_events[b];if(!c)return!1;h=c.resources.length;a._bmr||(a._bmr={end:{}});c.urls||(c.urls={});if(c.urls[g])return!1;if("SCRIPT"===a.nodeName&&n)return!1;if(!c.resource.url){l.href=g;if(m.excludeFilter(l)){BOOMR.debug("Exclude for "+l.href+" matched. Excluding","AutoXHR");return!1}c.resource.url=l.href}a._bmr.res=h;a._bmr.idx=b;delete a._bmr.end[h];a.addEventListener("load",function(a){i.load_cb(a,h)});a.addEventListener("error",function(a){i.load_cb(a,h)});c.nodes_to_wait++;this.clearTimeout();c.total_nodes++;c.resources.push(a);c.urls[g]=1;j=!0}else a.nodeType===Node.ELEMENT_NODE&&["IMAGE","IMG"].forEach(function(c){d=a.getElementsByTagName(c);if(d&&d.length)for(e=0,f=d.length;e<f;e++)j|=this.wait_for_node(d[e],b)},this);return j};d.prototype.add_event_resource=function(a){var b,c=this.pending_events.length-1;if(c<0)return-1;b=this.pending_events[c];if(!b)return-1;if(!a)return-1;b.nodes_to_wait++;b.total_nodes++;a.index=c;return c};d.prototype.mutation_cb=function(a){var b,c,d;if(!this.watch)return!0;b=this;c=this.pending_events.length-1;if(c<0||!this.pending_events[c])return!0;d=this.pending_events[c];void 0===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;e<f;e++)d.interesting|=b.wait_for_node(a.addedNodes[e],c);f=a.removedNodes.length;for(e=0;e<f;e++){g=a.removedNodes[e];"IFRAME"===g.nodeName&&g._bmr&&b.load_cb({target:g,type:"removed"})}}})}if(!d.interesting&&!this.timeoutExtended){this.setTimeout(1e3,c);this.timeoutExtended=!0}return!0};d.prototype.queue_is_empty=function(){return 0===this.nodesWaitingFor()};d.prototype.nodesWaitingFor=function(){if(0===this.pending_events.length)return 0;var a=this.pending_events.length-1;return this.pending_events[a]?this.pending_events[a].nodes_to_wait:0};d.prototype.completeEvent=function(){var a,b,c=BOOMR.now();if(0!==this.pending_events.length){a=this.pending_events.length-1;b=this.pending_events[a];if(b){b.resource.timing.loadEventEnd=c;b.forced=!0;this.sendEvent(a)}}};k=new d;m={spaBackEndResources:v,alwaysSendXhr:!1,excludeFilters:[],initialized:!1,addedVars:[],excludeFilter:function(b){var c,d,e;if(!b||!b.href)return!1;for(c=0;c<m.excludeFilters.length;c++)if("function"==typeof m.excludeFilters[c].cb){e=m.excludeFilters[c].ctx;m.excludeFilters[c].name&&a("Running filter: "+m.excludeFilters[c].name+" on URL: "+b.href);try{d=m.excludeFilters[c].cb.call(e,b);if(d){BOOMR.debug("Found matching filter at: "+m.excludeFilters[c].name+" for URL: "+b.href,"AutoXHR");return!0}}catch(f){BOOMR.addError(f,"BOOMR.plugins.AutoXHR.impl.excludeFilter()")}}return!1},clear:function(){if(m.addedVars&&m.addedVars.length>0){BOOMR.removeVar(m.addedVars);m.addedVars=[]}}};BOOMR.plugins.AutoXHR={is_complete:function(){return!0},init:function(a){function b(a){if(a.length)for(d=0;d<a.length;d++)h(a[d]);else h(a)}var d,e;if(BOOMR.window&&BOOMR.window.document){j=BOOMR.window.document;l=BOOMR.window.document.createElement("A");BOOMR.utils.pluginConfig(m,a,"AutoXHR",["spaBackEndResources","alwaysSendXhr"]);BOOMR.instrumentXHR=f;BOOMR.uninstrumentXHR=g;if(!m.initialized){this.addExcludeFilter(c,null,"shouldExcludeXhr");m.initialized=!0}if(a&&a.AutoXHR&&a.AutoXHR.excludeFilters&&a.AutoXHR.excludeFilters.length>0)for(e=0;e<a.AutoXHR.excludeFilters.length;e++)m.excludeFilters.push(a.AutoXHR.excludeFilters[e]);o=a.instrument_xhr;if(BOOMR.plugins.SPA&&BOOMR.plugins.SPA.supported_frameworks){var i=BOOMR.plugins.SPA.supported_frameworks();for(d=0;d<i.length;d++){var k=i[d];if(a[k]&&a[k].enabled){n=!0;break}}}if(m.alwaysSendXhr&&o&&BOOMR.xhr&&"function"==typeof BOOMR.xhr.stop){var p=BOOMR.xhr.stop(b);p&&p.length&&BOOMR.setImmediate(b,p)}if(n){m.alwaysSendXhr||(o=!1);o&&BOOMR.instrumentXHR()}else o?BOOMR.instrumentXHR():!1===o&&BOOMR.uninstrumentXHR();BOOMR.registerEvent("xhr_error");BOOMR.subscribe("beacon",m.clear,null,m)}},getMutationHandler:function(){return k},getPathname:b,enableAutoXhr:function(){o||BOOMR.instrumentXHR();o=!0},addExcludeFilter:function(a,b,c){m.excludeFilters.push({cb:a,ctx:b,name:c})}}}}}();!function(){function a(a){BOOMR.debug(a,"spa")}var b,c=!1,d=!1,e=!1,f=!1,g=!1,h=!0,i=!1,j=!1,k=!1,l=[],m=!1;if(!BOOMR.plugins.SPA&&BOOMR.plugins.AutoXHR){var n={spaHardMissedOnComplete:function(a){m=!1;var b,c,d=BOOMR.getPerformance();if(d&&d.timing&&d.timing.navigationStart&&d.timing.loadEventEnd){b=d.timing.navigationStart;c=d.timing.loadEventEnd}else b=BOOMR.t_start;BOOMR.addVar("spa.missed","1");BOOMR.plugins.RT.clearTimer("t_done");a.timing.requestStart=b;0===a.resources.length&&c&&(a.timing.loadEventEnd=c)},onBeacon:function(){BOOMR.removeVar("spa.missed","spa.forced","spa.waiting")}};BOOMR.plugins.SPA={is_complete:function(){return!m},init:function(a){if(a&&a.instrument_xhr){g=a.instrument_xhr;e&&g&&BOOMR.plugins.AutoXHR.enableAutoXhr()}if(!d){d=!0;BOOMR.subscribe("beacon",n.onBeacon,null,n)}},register:function(a){l.push(a)},supported_frameworks:function(){return l},onLoadSpaHardMissed:function(){if(!e){f=!0;g&&BOOMR.plugins.AutoXHR.enableAutoXhr();m=!0;k?m=!1:BOOMR.plugins.SPA.route_change(n.spaHardMissedOnComplete)}},hook:function(b,d){d=d||{};a("Hooked");if(c)return this;"function"==typeof d.routeFilter&&(i=d.routeFilter);"function"==typeof d.routeChangeWaitFilter&&(j=d.routeChangeWaitFilter);d.disableHardNav&&(k=d.disableHardNav);b&&BOOMR.attach_page_ready(this.onLoadSpaHardMissed);c=!0;return this},route_change:function(c,d){a("Route Change");var l=!1;if(i)try{if(!i.apply(null,d)){a("Route filter returned false; not tracking this route");return}}catch(p){BOOMR.addError(p,"SPA.route_change.routeFilter")}e=!0;var m=f?BOOMR.now():BOOMR.plugins.RT.navigationStart(),n=BOOMR.window.document.URL,o={timing:{requestStart:m},initiator:h&&!k?"spa_hard":"spa",url:n};h=!1;if(!f||"function"==typeof c){f=!0;o.onComplete=function(a){if(!l){l=!0;BOOMR.fireEvent("spa_navigation")}"function"==typeof c&&c(a)}}if(j)try{if(j.apply(null,arguments)){o.wait=!0;b=o}}catch(p){BOOMR.addError(p,"SPA.route_change.routeChangeWaitFilter")}o.index=BOOMR.plugins.AutoXHR.getMutationHandler().addEvent(o);g&&BOOMR.plugins.AutoXHR.enableAutoXhr()},last_location:function(a){lastLocationChange=a},current_spa_nav:function(){return f?"spa":"spa_hard"},wait_complete:function(){if(b){b.wait=!1;b.waitComplete&&b.waitComplete();b=null}},markNavigationComplete:function(){a("Navigation being marked complete");var b=BOOMR.plugins.AutoXHR.getMutationHandler();if(b){BOOMR.addVar("spa.forced","1");BOOMR.addVar("spa.waiting",b.nodesWaitingFor());b.completeEvent()}}}}}();!function(){function a(a){function b(b){BOOMR.debug(a.$id+": "+b,"angular")}function h(){var a=BOOMR.now();a-e>50&&BOOMR.plugins.SPA.route_change.call(null,null,arguments);e=a;clearTimeout(f);f=!1}if(void 0===a)return!1;if(!BOOMR.plugins.AutoXHR||!BOOMR.plugins.SPA)return!1;a.$on("$routeChangeStart",function(a,e,f){if(c){b("$routeChangeStart: "+(e?e.templateUrl:""));h(a,e,f);g=!0}else d=!0});a.$on("$locationChangeStart",function(a,d){if(c){b("$locationChangeStart: "+d);BOOMR.fireEvent("spa_init",[BOOMR.plugins.SPA.current_spa_nav(),d]);g||(f=setTimeout(h,0))}});a.$on("$stateChangeStart",function(a,e,f,i,j){if(c){b("$stateChangeStart: "+e);h(a,e,f,i,j);g=!0}else d=!0});return!0}var b=!1,c=!0,d=!1,e=0,f=!1,g=!1;if(!BOOMR.plugins.Angular&&void 0!==BOOMR.plugins.SPA){BOOMR.plugins.SPA.register("Angular");BOOMR.plugins.Angular={is_complete:function(){return!0},hook:function(c,d,e){if(b)return this;if(a(c)){BOOMR.plugins.SPA.hook(d,e);b=!0}return this},disable:function(){c=!1;return this},enable:function(){c=!0;if(b&&d){d=!1;BOOMR.plugins.SPA.route_change()}return this}}}}();!function(){function a(a){function b(a){BOOMR.debug(a,"backbone")}if(void 0===BOOMR.window.Backbone||void 0===a)return!1;if(!BOOMR.plugins.AutoXHR||!BOOMR.plugins.SPA)return!1;b("Startup");a.on("route",function(){if(c){BOOMR.fireEvent("spa_init",[BOOMR.plugins.SPA.current_spa_nav(),BOOMR.window.document.URL]);b("route");BOOMR.plugins.SPA.route_change()}else d=!0});return!0}var b=!1,c=!0,d=!1;if(!BOOMR.plugins.Backbone&&void 0!==BOOMR.plugins.SPA){BOOMR.plugins.SPA.register("Backbone");BOOMR.plugins.Backbone={is_complete:function(){return!0},hook:function(c,d,e){if(b)return this;if(a(c)){BOOMR.plugins.SPA.hook(d,e);b=!0}return this},disable:function(){c=!1;return this},enable:function(){c=!0;if(b&&d){d=!1;BOOMR.plugins.SPA.route_change()}return this}}}}();!function(){function a(a){function b(a){BOOMR.debug(a,"Ember")}function f(a){this._super(a);if(!d){e=!0;return!0}b("beforeModel");if(a&&a.intent&&a.intent.url){b("[beforeModel] LastLocation: "+a.intent.url);a.promise.then(function(){BOOMR.fireEvent("spa_init",[BOOMR.plugins.SPA.current_spa_nav(),BOOMR.window.document.URL])})}if(!c){BOOMR.plugins.SPA.route_change();c=!0}return!0}function g(a){this._super(a);if(!d){e=!0;return!0}b("willTransition");if(a&&a.intent&&a.intent.url){b("[willTransition] LastLocation: "+a.intent.url);a.promise.then(function(){BOOMR.fireEvent("spa_init",[BOOMR.plugins.SPA.current_spa_nav(),BOOMR.window.document.URL])})}if(!c){BOOMR.plugins.SPA.route_change();c=!0}return!0}function h(a){this._super(a);if(!d)return!0;b("didTransition");c=!1}if(void 0===a)return!1;if(!BOOMR.plugins.AutoXHR||!BOOMR.plugins.SPA)return!1;b("Startup");a.ApplicationRoute?a.ApplicationRoute.reopen({beforeModel:f,actions:{willTransition:g,didTransition:h}}):a.ApplicationRoute=BOOMR.window.Ember.Route.extend({beforeModel:f,actions:{willTransition:g,didTransition:h}});return!0}var b=!1,c=!1,d=!0,e=!1;if(!BOOMR.plugins.Ember&&void 0!==BOOMR.plugins.SPA){BOOMR.plugins.SPA.register("Ember");BOOMR.plugins.Ember={is_complete:function(){return!0},hook:function(c,d,e){if(b)return this;if(a(c)){BOOMR.plugins.SPA.hook(d,e);b=!0}return this},disable:function(){d=!1;return this},enable:function(){d=!0;if(b&&e){e=!1;BOOMR.plugins.SPA.route_change()}return this}}}}();!function(){function a(a){BOOMR.debug(a,"History")}function b(){if(d.enabled){if(d.disableHardNav&&!BOOMR.onloadFired())return;if(d.routeChangeInProgress)a("routeChangeInProgress, not triggering");else{a("routeChange triggered, sending route_change() event");d.routeChangeInProgress=!0;BOOMR.plugins.SPA.route_change()}}else{a("Not enabled - we've missed a routeChange");d.hadMissedRouteChange=!0;d.routeChangeInProgress=!1}}function c(c){function e(a,b){d.routeChangeInProgress||(a&&b?BOOMR.fireEvent("spa_init",[BOOMR.plugins.SPA.current_spa_nav(),b]):a&&!b&&BOOMR.fireEvent("spa_init",[BOOMR.plugins.SPA.current_spa_nav(),a]))}c||(c=BOOMR.window.history);var f={listen:c.listen,transitionTo:c.transitionTo,pushState:c.pushState,setState:c.setState,replaceState:c.replaceState,go:c.go};c.setState=function(){a("setState");b();f.setState.apply(this,arguments)};c.listen=function(){a("listen");b();f.listen.apply(this,arguments)};c.transitionTo=function(){a("transitionTo");b();f.transitionTo.apply(this,arguments)};c.pushState=function(c,d,g){a("pushState");e(d,g);b();f.pushState.apply(this,arguments)};c.replaceState=function(c,d,g){a("replaceState");e(d,g);b();f.replaceState.apply(this,arguments)};c.go=function(){a("go");b();f.go.apply(this,arguments)};BOOMR.window.addEventListener("hashchange",function(c){a("hashchange");!d.routeChangeInProgress&&c&&BOOMR.fireEvent("spa_init",[BOOMR.plugins.SPA.current_spa_nav(),c.newURL]);b()});BOOMR.subscribe("beacon",function(){a("Beacon sending, resetting routeChangeInProgress.");d.routeChangeInProgress=!1});return!0}var d={auto:!1,enabled:!0,hooked:!1,routeHooked:!1,hadMissedRouteChange:!1,routeChangeInProgress:!1,disableHardNav:!1};if(!BOOMR.plugins.History&&void 0!==BOOMR.plugins.SPA&&void 0!==BOOMR.plugins.AutoXHR&&BOOMR.window&&BOOMR.window.history){BOOMR.plugins.SPA.register("History");BOOMR.plugins.History={is_complete:function(){return!0},hook:function(a,b,e){e=e||{};e.disableHardNav=d.disableHardNav;if(d.hooked)return this;if(c(a)){BOOMR.plugins.SPA.hook(b,e);d.hooked=!0}return this},init:function(a){BOOMR.utils.pluginConfig(d,a,"History",["auto","enabled","disableHardNav"]);d.auto&&d.enabled&&this.hook(void 0,!0,{})},disable:function(){d.enabled=!1;return this},enable:function(){d.enabled=!0;if(d.hooked&&d.hadMissedRouteChange){d.hadMissedRouteChange=!1;BOOMR.plugins.SPA.route_change();d.routeChangeInProgress=!0;a("Hooked and hadMissedRouteChange sending route_change!")}return this}}}}();!function(a){var b,c,d=1800;if(!BOOMR.plugins.RT){c={onloadfired:!1,unloadfired:!1,visiblefired:!1,initialized:!1,complete:!1,autorun:!0,timers:{},cookie:"RT",cookie_exp:604800,session_exp:d,strict_referrer:!0,navigationType:0,navigationStart:void 0,responseStart:void 0,loadTime:0,oboError:0,sessionHistory:[],t_start:void 0,cached_t_start:void 0,cached_xhr_start:void 0,t_fb_approx:void 0,r:void 0,r2:void 0,beacon_url:void 0,next_beacon_url:void 0,basic_timers:{t_done:1,t_resp:1,t_page:1},crossdomain_sending:!1,addedVars:[],updateCookie:function(a,b){var e,f,g,h;if(!this.cookie)return!1;g=BOOMR.utils.getSubCookies(BOOMR.utils.getCookie(this.cookie))||{};for(h in g)g.hasOwnProperty(h)&&(isNaN(parseInt(h,10))||delete g[h]);if("object"==typeof a)for(h in a)if(a.hasOwnProperty(h))if(void 0===a[h])g.hasOwnProperty(h)&&delete g[h];else{"nu"!==h&&"r"!==h||(a[h]=BOOMR.utils.hashQueryString(a[h],!0));g[h]=a[h]}g.dm=BOOMR.session.domain;g.si=BOOMR.session.ID;g.ss=BOOMR.session.start;g.sl=BOOMR.session.length;c.session_exp!==d&&(g.se=c.session_exp);BOOMR.session.rate_limited&&(g.rl=1);g.tt=this.loadTime;g.obo=this.oboError;this.sessionHistory&&(g.sh=this.sessionHistory.join(","));f=BOOMR.now();if(b){g[b]=f;c.lastActionTime=f}this.beacon_url&&(g.bcn=this.beacon_url);BOOMR.debug("Setting cookie (timer="+b+")\n"+BOOMR.utils.objectToString(g),"rt");if(!BOOMR.utils.setCookie(this.cookie,g,this.cookie_exp)){BOOMR.error("cannot set start cookie","rt");return!1}e=BOOMR.now();if(e-f>50){BOOMR.utils.removeCookie(this.cookie);BOOMR.error("took more than 50ms to set cookie... aborting: "+f+" -> "+e,"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)||d);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");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.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.cl+15),"rt");BOOMR.debug(c.nu+" =?= "+a,"rt");if(!this.strict_referrer||c.nu&&c.nu===a&&c.s<+c.cl+15||c.s===+c.ul&&this.r===this.r2){this.t_start=c.s;+c.hd>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.debug("Incrementing Session Details... ","RT");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||0),d=Math.round(b||0);c=0===c?0:c-d;return 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.fetchStart=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;d=BOOMR.getPerformance();return d&&d.timing?d.timing.loadEventEnd?d.timing.loadEventEnd:a:BOOMR.t_onload||BOOMR.t_lstart||BOOMR.t_start||a},setPageLoadTimers:function(a,b,d){var e,f;if("xhr"!==a){c.initFromCookie();c.initFromNavTiming();if(c.checkPreRender())return!1}if("xhr"===a){if(d.timers)for(var g in d.timers)d.timers.hasOwnProperty(g)&&BOOMR.plugins.RT.setTimer(g,d.timers[g]);else if(d&&d.timing){f=d.timing.fetchStart;(void 0===f||d.timing.responseEnd>=f)&&(e=d.timing.responseEnd)}}else c.responseStart?c.responseStart>=c.navigationStart&&c.responseStart>=c.fetchStart&&(e=c.responseStart):c.timers.hasOwnProperty("t_page")?BOOMR.plugins.RT.endTimer("t_page"):c.t_fb_approx&&(e=c.t_fb_approx);if(e){f?BOOMR.plugins.RT.setTimer("t_resp",f,e):BOOMR.plugins.RT.endTimer("t_resp",e);"load"===a&&c.timers.t_load?BOOMR.plugins.RT.setTimer("t_page",c.timers.t_load.end-e):b<e?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);void 0===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})},markComplete: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);d&&d.CrossDomain&&d.CrossDomain.sending&&(c.crossdomain_sending=!0);if(a&&a.document){b=a.document;BOOMR.utils.pluginConfig(c,d,"RT",["cookie","cookie_exp","session_exp","strict_referrer"]);d&&void 0!==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}void 0!==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("beacon",c.clear,null,c);BOOMR.subscribe("error",c.markComplete,null,c);BOOMR.subscribe("config",c.onconfig,null,c);BOOMR.subscribe("spa_navigation",c.spaNavigation,null,c);BOOMR.subscribe("interaction",c.markComplete,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},clearTimer:function(a){a&&delete c.timers[a];return this},setTimer:function(a,b,d){a&&(c.timers[a]=void 0!==d?{start:b,end:d,delta:d-b}:{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&&"spa_hard"===a.initiator)&&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","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.crossdomain_sending){c.incrementSessionDetails();c.updateCookie(null,"ld")}BOOMR.addVar({"rt.tt":c.loadTime,"rt.obo":c.oboError});c.addedVars.push("rt.tt","rt.obo");c.updateCookie();if("unload"===b){BOOMR.addVar("rt.quit","");if(!c.onloadfired){BOOMR.addVar("rt.abld","");c.addedVars.push("rt.abld")}c.visiblefired||BOOMR.addVar("rt.ntvu","")}c.complete=!0;BOOMR.sendBeacon(c.beacon_url);return this},is_complete:function(a){return c.complete||a&&"error"===a["http.initiator"]},updateCookie:function(){c.updateCookie()},getCookie:function(){var a;if(!c.cookie)return!1;a=BOOMR.utils.getSubCookies(BOOMR.utils.getCookie(c.cookie))||{};return a},incrementSessionDetails:function(){c.incrementSessionDetails()},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},session_transferred_time:0,plugin_start:0,session_transfer_timedout:!1,session_transfer_timeout:5e3,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)}}a=a+"#"+BOOMR.utils.objectToString(d,"&");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&&-1!==e.cross_domain_url.indexOf(d.origin)){try{f=b.JSON.parse(d.data)}catch(g){a("JSON parsing failed. exiting...");return}if(f){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("config",{beacon_url:f.bcn,RT:{oboError:f.obo?parseInt(f.obo,10):0,loadTime:f.tt?parseInt(f.tt,10):0}}):BOOMR.fireEvent("config",{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||null===c.getElementById(e.iframe_name)||c.body.removeChild(c.getElementById(e.iframe_name))},0)}}},buildIFrame:function(b,d){var e;a("Adding IFrame!");try{e=c.createElement("<IFRAME>")}catch(f){e=c.createElement("IFRAME")}e.id=d;e.src=b;e.style.display="none";return e}};BOOMR.plugins.CrossDomain={init:function(f){var g,h;if(BOOMR.plugins.RT&&!f.primary){f.CrossDomain&&(e.enabled=!0);BOOMR.utils.pluginConfig(e,f,"CrossDomain",["cross_domain_url","sending","session_transfer_timeout","debug"]);if(e.enabled&&!e.session_transferred){e.plugin_start=BOOMR.now();if(BOOMR.utils.hasPostMessageSupport()){if(!e.sending&&e.enabled){e.cross_domain_url&&(e.cross_domain_url=e.cross_domain_url.replace(/^\s+|\s+$/g,""));if(!e.cross_domain_url){e.enabled=!1;return}g=c.createElement("a");g.href=e.cross_domain_url;if(g.href===BOOMR.window.location.href||!g.href.match(/^https?:\/\//)){e.enabled=!1;return}e.cross_domain_url=g.href;a("CrossDomain frame for URL: "+e.cross_domain_url);e.setup(e.cross_domain_url);setTimeout(function(){if(!e.session_transferred){e.session_transfer_timedout=!0;e.session_transferred=!0;e.debug||c.body.removeChild(c.getElementById(e.iframe_name));a("Session transfer timedout. Setting transferred and setting timedout flag!");BOOMR.sendBeacon()}},e.session_transfer_timeout)}if(e.sending&&e.enabled){BOOMR.disable();a("Client preparing to send postMessage");var i=b.location.hash.substring(1,b.location.hash.length);a("Session Data passed via Query: "+i);var j=i.split("&"),k={};for(h=0;h<j.length;h++){var l=j[h].split("=");l&&l.hasOwnProperty("length")&&l.length>=2&&(k[l[0]]=l[1])}var m={start:k.start,length:k.length,ID:k.ID},n={obo:k.obo,tt:k.tt};try{m.start=parseInt(m.start);m.length=parseInt(m.length);if(("number"!=typeof BOOMR.session.start||m.start<BOOMR.session.start)&&m.length>=BOOMR.session.length&&m.start>BOOMR.now()-d){BOOMR.session.start=m.start;BOOMR.session.ID&&"string"!=typeof m.ID||(BOOMR.session.ID=m.ID)}BOOMR.plugins.RT.updateCookie();n.obo=parseInt(n.obo);n.tt=parseInt(n.tt);isNaN(n.obo)||isNaN(n.tt)||this.updateCookie(n)}catch(r){}var o=BOOMR.session.start;o||(o=BOOMR.plugins.RT.navigationStart()||BOOMR.t_lstart||BOOMR.t_start);var p=BOOMR.plugins.RT.getCookie();if(!b.JSON){a("JSON not available, not going to try and serialize message!");return}var q=b.JSON.stringify(p);b.parent.postMessage(q,"*");a("Sending data: session "+q);e.session_transferred=!0}}else{e.session_transferred=!0;e.enabled=!1;a("postMessage support is not available. Bailing..")}}}},updateCookie:function(a){BOOMR.plugins.RT&&BOOMR.fireEvent("config",{RT:{oboError:a.obo,loadTime:a.tt}})},is_complete:function(){if(e.sending)return!0;if(e.session_transfer_complete)return!0;if(e.session&&!e.session_transfer_timedout&&e.enabled&&e.session_transferred){if(!isNaN(e.session.start)&&e.session.start>BOOMR.now()-d&&e.session.start<("number"==typeof BOOMR.session.start?BOOMR.session.start:BOOMR.now())){BOOMR.session.start=e.session.start;if(!isNaN(e.session.length)&&e.session.length>BOOMR.session.length){BOOMR.session.length=e.session.length;BOOMR.plugins.RT.incrementSessionDetails()}BOOMR.session.ID=e.session.ID;BOOMR.plugins.RT&&BOOMR.plugins.RT.updateCookie()}a("It took "+(e.session_transferred_time-e.plugin_start)+" miliseconds to transfer session data.");BOOMR.addVar("rt.sstr_dur",e.session_transferred_time-e.plugin_start);e.session_transfer_complete=!0}if(e.session_transfer_timedout){a("Session transfer timedout setting rt.sstr_to to 1");BOOMR.addVar("rt.sstr_to",1)}return e.session_transferred||!e.enabled}}}}}();!function(){var a,b;if(!BOOMR.plugins.BW){b=[{name:"image-0.png",size:11773,timeout:1400},{name:"image-1.png",size:40836,timeout:1200},{name:"image-2.png",size:165544,timeout:1300},{name:"image-3.png",size:382946,timeout:1500},{name:"image-4.png",size:1236278,timeout:1200},{name:"image-5.png",size:4511798,timeout:1200},{name:"image-6.png",size:9092136,timeout:1200}];b.end=b.length;b.start=0;b.l={name:"image-l.gif",size:35,timeout:1e3};a={base_url:"",timeout:15e3,nruns:5,latency_runs:10,user_ip:"",block_beacon:!1,test_https:!1,cookie_exp:604800,cookie:"BA",results:[],latencies:[],latency:null,runs_left:0,aborted:!1,complete:!0,running:!1,initialized:!1,ncmp:function(a,b){return a-b},iqr:function(a){var b,c,d,e,f=a.length-1,g=[];b=(a[Math.floor(.25*f)]+a[Math.ceil(.25*f)])/2;c=(a[Math.floor(.75*f)]+a[Math.ceil(.75*f)])/2;d=1.5*(c-b);if(0===d)return a;f++;for(e=0;e<f&&a[e]<c+d;e++)a[e]>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<b;a++){h+=g[a];i+=g[a]*g[a]}c=Math.round(h/b);e=Math.sqrt(i/b-h*h/(b*b));f=(1.96*e/Math.sqrt(b)).toFixed(2);e=e.toFixed(2);d=Math.round((g[Math.floor(b/2)]+g[Math.ceil(b/2)])/2);return{mean:c,median:d,stddev:e,stderr:f}},calc_bw:function(){var a,c,d,e,f,g,h,i,j,k,l,m,n,o,p=0,q=[],r=[],s=0,t=0,u=0,v=0,w=[];for(a=0;a<this.nruns;a++)if(this.results[a]&&this.results[a].r){d=this.results[a].r;m=0;for(c=d.length-1;c>=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<p;a++){if(a<q.length){s+=q[a];t+=Math.pow(q[a],2)}if(a<r.length){u+=r[a];v+=Math.pow(r[a],2)}}p=q.length;e=Math.round(s/p);f=Math.sqrt(t/p-Math.pow(s/p,2));g=Math.round(1.96*f/Math.sqrt(p));f=Math.round(f);p=q.length-1;h=Math.round((q[Math.floor(p/2)]+q[Math.ceil(p/2)])/2);if(r.length<1){BOOMR.debug("not enough valid corrected datapoints, falling back to uncorrected","bw");w.push("l=="+r.length);i=e;j=f;k=g;l=h}else{p=r.length;i=Math.round(u/p);j=Math.sqrt(v/p-Math.pow(u/p,2));k=(1.96*j/Math.sqrt(p)).toFixed(2);j=j.toFixed(2);p=r.length-1;l=Math.round((r[Math.floor(p/2)]+r[Math.ceil(p/2)])/2)}BOOMR.debug("amean: "+e+", median: "+h,"bw");BOOMR.debug("corrected amean: "+i+", median: "+l,"bw");return{mean:e,stddev:f,stderr:g,median:h,mean_corrected:i,stddev_corrected:j,stderr_corrected:k,median_corrected:l,debug_info:w}},load_img:function(a,c,d){function e(b){return function(){d&&d.call(j,a,h,c,b);if(null!==b){i.onload=i.onerror=null;i=null;clearTimeout(g);j=d=null}}}var f=this.base_url+b[a].name+"?t="+BOOMR.utils.generateId(10),g=0,h=0,i=new Image,j=this;i.onload=e(!0);i.onerror=e(!1);g=setTimeout(e(null),b[a].timeout+Math.min(400,this.latency?this.latency.mean:400));h=BOOMR.now();i.src=f},lat_loaded:function(a,b,c,d){if(c===this.latency_runs+1){if(null!==d){var e=BOOMR.now()-b;this.latencies.push(e)}0===this.latency_runs&&(this.latency=this.calc_latency());BOOMR.setImmediate(this.iterate,null,null,this)}},img_loaded:function(a,c,d,e){if(d===this.runs_left+1&&!this.results[this.nruns-d].r[a])if(null!==e){var f={start:c,end:BOOMR.now(),t:null,state:e,run:d};e&&(f.t=f.end-f.start);this.results[this.nruns-d].r[a]=f;if(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.PaintTiming){var a={"first-paint":"fp","first-contentful-paint":"fcp"},b={initialized:!1,complete:!1,supported:null,timingCache:{},done:function(){var c,d,e;if(this.complete)return this;c=BOOMR.getPerformance();if(c&&"function"==typeof c.getEntriesByType){d=c.getEntriesByType("paint");if(d&&d.length){BOOMR.info("This user agent supports PaintTiming","pt");for(e=0;e<d.length;e++){b.timingCache[d[e].name]=d[e].startTime;a[d[e].name]&&BOOMR.addVar("pt."+a[d[e].name],Math.floor(d[e].startTime),!0)}this.complete=!0;BOOMR.sendBeacon()}}else this.complete=!0}};BOOMR.plugins.PaintTiming={init:function(){if(!this.is_supported()){b.complete=!0;b.initialized=!0}if(!b.initialized){BOOMR.subscribe("page_ready",b.done,null,b);BOOMR.subscribe("xhr_load",b.done,null,b);BOOMR.subscribe("before_unload",b.done,null,b);b.initialized=!0}return this},is_complete:function(){return!0},is_enabled:function(){return b.initialized&&this.is_supported()},is_supported:function(){var a;if(null!==b.supported)return b.supported;var a=BOOMR.getPerformance();b.supported=a&&void 0!==window.PerformancePaintTiming&&"function"==typeof a.getEntriesByType;return b.supported},getTimingFor:function(a){var c,d,e;if(b.timingCache[a])return b.timingCache[a];if(this.is_supported()){var c=BOOMR.getPerformance();if(c&&"function"==typeof c.getEntriesByType){d=c.getEntriesByType("paint");if(d&&d.length)for(e=0;e<d.length;e++)if(d[e].name===a){b.timingCache[a]=d[e].startTime;return b.timingCache[a]}}}}}}}();!function(){function a(a,b){if("number"==typeof b&&0!==b)return Math.floor((a||0)+b)}if(!BOOMR.plugins.NavigationTiming){var b={complete:!1,sendBeacon:function(){this.complete=!0;BOOMR.sendBeacon()},xhr_done:function(a){var c;if(a&&"spa_hard"===a.initiator)b.done(a);else if(a&&"spa"===a.initiator)b.sendBeacon();else{var d,e,f=(BOOMR.window,{});if(a){a.data&&(a=a.data);c=BOOMR.getPerformance();if(c&&a.restiming){f={nt_red_st:a.restiming.redirectStart,nt_red_end:a.restiming.redirectEnd,nt_fet_st:a.restiming.fetchStart,nt_dns_st:a.restiming.domainLookupStart,nt_dns_end:a.restiming.domainLookupEnd,nt_con_st:a.restiming.connectStart,nt_con_end:a.restiming.connectEnd,nt_req_st:a.restiming.requestStart,nt_res_st:a.restiming.responseStart,nt_res_end:a.restiming.responseEnd};a.restiming.secureConnectionStart&&(f.nt_ssl_st=a.restiming.secureConnectionStart);for(e in f)if(f.hasOwnProperty(e)&&f[e]){f[e]+=c.timing.navigationStart;f[e]=Math.floor(f[e])}}if(a.timing){d=a.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{b.addedVars.push.apply(b.addedVars,Object.keys(f))}catch(g){}b.sendBeacon()}}},done:function(){var c,d,e,f,g,h=BOOMR.window,i={},j=0;if(this.complete)return this;b.addedVars=[];c=BOOMR.getPerformance();if(c){if("function"==typeof c.getEntriesByType){f=c.getEntriesByType("navigation");if(f&&f.length){BOOMR.info("This user agent supports NavigationTiming2","nt");f=f[0];j=c.timing?c.timing.navigationStart:0}else f=void 0}if(!f&&c.timing){BOOMR.info("This user agent supports NavigationTiming","nt");f=c.timing}if(f){i={nt_nav_st:c.timing?c.timing.navigationStart:0,nt_red_st:a(j,f.redirectStart),nt_red_end:a(j,f.redirectEnd),nt_fet_st:a(j,f.fetchStart),nt_dns_st:a(j,f.domainLookupStart),nt_dns_end:a(j,f.domainLookupEnd),nt_con_st:a(j,f.connectStart),nt_con_end:a(j,f.connectEnd),nt_req_st:a(j,f.requestStart),nt_res_st:a(j,f.responseStart),nt_res_end:a(j,f.responseEnd),nt_domloading:a(j,f.domLoading),nt_domint:a(j,f.domInteractive),nt_domcontloaded_st:a(j,f.domContentLoadedEventStart),nt_domcontloaded_end:a(j,f.domContentLoadedEventEnd),nt_domcomp:a(j,f.domComplete),nt_load_st:a(j,f.loadEventStart),nt_load_end:a(j,f.loadEventEnd),nt_unload_st:a(j,f.unloadEventStart),nt_unload_end:a(j,f.unloadEventEnd)};!i.nt_domloading&&c&&c.timing&&c.timing.domLoading&&(i.nt_domloading=c.timing.domLoading);f.secureConnectionStart&&(i.nt_ssl_st=a(j,f.secureConnectionStart));c.timing&&c.timing.msFirstPaint&&(i.nt_first_paint=c.timing.msFirstPaint);f.workerStart&&(i.nt_worker_start=a(j,f.workerStart));if(f.decodedBodySize||f.transferSize){i.nt_enc_size=f.encodedBodySize;i.nt_dec_size=f.decodedBodySize;i.nt_trn_size=f.transferSize}f.nextHopProtocol&&(i.nt_protocol=f.nextHopProtocol)}if(!i.nt_first_paint&&BOOMR.plugins.PaintTiming){g=BOOMR.plugins.PaintTiming.getTimingFor("first-paint");g&&(i.nt_first_paint=a(j,g))}if((!i.nt_protocol||!i.nt_first_paint)&&h.chrome&&"function"==typeof h.chrome.loadTimes){e=h.chrome.loadTimes();if(e){i.nt_spdy=e.wasFetchedViaSpdy?1:0;i.nt_cinf=e.connectionInfo;"number"==typeof e.firstPaintTime&&0!==e.firstPaintTime&&(i.nt_first_paint=Math.round(1e3*e.firstPaintTime))}}if(c.navigation){d=c.navigation;i.nt_red_cnt=d.redirectCount;i.nt_nav_type=d.type}for(k in i)i.hasOwnProperty(k)&&void 0===i[k]&&delete i[k];BOOMR.addVar(i);if(f&&(f.requestStart&&f.navigationStart&&f.requestStart<f.navigationStart||f.responseStart&&f.navigationStart&&f.responseStart<f.navigationStart||f.responseStart&&f.fetchStart&&f.responseStart<f.fetchStart||f.navigationStart&&f.fetchStart<f.navigationStart||f.responseEnd&&f.responseEnd>BOOMR.now()+864e5)){BOOMR.addVar("nt_bad",1);b.addedVars.push("nt_bad")}try{b.addedVars.push.apply(b.addedVars,Object.keys(i))}catch(l){}}b.sendBeacon()},clear:function(){if(b.addedVars&&b.addedVars.length>0){BOOMR.removeVar(b.addedVars);b.addedVars=[]}this.complete=!1},prerenderToVisible:function(){this.complete=!1;this.done()}};BOOMR.plugins.NavigationTiming={init:function(){if(!b.initialized){BOOMR.subscribe("page_ready",b.done,null,b);BOOMR.subscribe("prerender_to_visible",b.prerenderToVisible,null,b);BOOMR.subscribe("xhr_load",b.xhr_done,null,b);BOOMR.subscribe("before_unload",b.done,null,b);BOOMR.subscribe("beacon",b.clear,null,b);b.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;d<w.xssBreakWords.length;d++)c=c.replace(w.xssBreakWords[d],"$1"+A+"$2");if(a.hasOwnProperty(b)){e=a[b];f=c.split("");h=j;for(d=0;d<f.length;d++){g=f[d];i=h[g];void 0===i?h=h[g]=d===f.length-1?e:{}:"string"==typeof i?h=h[g]={"|":i}:d===f.length-1?h[g]["|"]=e:h=h[g]}}}return j}function b(a,c){var d,e,f,g=0,h=[];for(d in a)a.hasOwnProperty(d)&&h.push(d);for(var i=0;i<h.length;i++){d=h[i];if("object"==typeof a[d]){e=b(a[d],!1);if(e){delete a[d];if(d===A){d=e.name;g++}else d+=e.name;a[d]=e.value}}g++}if(1===g){if(c){f={};f[d]=a[d];return f}return{name:d,value:a[d]}}return!!c&&a}function c(a,b){"number"!=typeof a&&(a=0);"number"!=typeof b&&(b=0);var c=Math.round(a||0),d=Math.round(b||0);return 0===c?0:c-d}function d(a){try{a.location&&a.location.href;a.document;if("performance"in a&&a.performance)return!0}catch(b){}return!1}function e(a){var b=0;d(a)&&a.performance.timing&&a.performance.timing.navigationStart&&(b=a.performance.timing.navigationStart);return b}function f(a,b,c,h,j){function k(a){return w.serverTiming&&a.serverTiming||[]}var l,n,o,p,q,r,s,t,u,v,x,z=[],A={},B={};void 0===b&&(b=!0);void 0===c&&(c=0);void 0===h&&(h=0);if(h>10)return z;try{if(!d(a))return z;o=e(a);v=i(a,j);x=a.document.createElement("a");g(x,A,"script");g(x,B,"link");r=a.document.getElementsByTagName("iframe");if(r&&r.length)for(l=0;l<r.length;l++){p=e(r[l].contentWindow);q=0;p>o&&(q=c+(p-o));x.href=r[l].src;z=z.concat(f(r[l].contentWindow,!1,q,h+1,v[x.href]))}if("function"!=typeof a.performance.getEntriesByType)return z;if(b){n=a.performance.getEntriesByType("navigation");if(n&&1===n.length){s=n[0];z.push({name:a.location.href,startTime:0,initiatorType:"html",redirectStart:s.redirectStart,redirectEnd:s.redirectEnd,fetchStart:s.fetchStart,domainLookupStart:s.domainLookupStart,domainLookupEnd:s.domainLookupEnd,connectStart:s.connectStart,secureConnectionStart:s.secureConnectionStart,connectEnd:s.connectEnd,requestStart:s.requestStart,responseStart:s.responseStart,responseEnd:s.responseEnd,workerStart:s.workerStart,encodedBodySize:s.encodedBodySize,decodedBodySize:s.decodedBodySize,transferSize:s.transferSize,serverTiming:k(s)})}else if(a.performance.timing){t=a.performance.timing;0!==t.navigationStart&&t.responseEnd<=t.navigationStart+36e5&&z.push({name:a.location.href,startTime:0,initiatorType:"html",redirectStart:t.redirectStart?t.redirectStart-t.navigationStart:0,redirectEnd:t.redirectEnd?t.redirectEnd-t.navigationStart:0,fetchStart:t.fetchStart?t.fetchStart-t.navigationStart:0,domainLookupStart:t.domainLookupStart?t.domainLookupStart-t.navigationStart:0,domainLookupEnd:t.domainLookupEnd?t.domainLookupEnd-t.navigationStart:0,connectStart:t.connectStart?t.connectStart-t.navigationStart:0,secureConnectionStart:t.secureConnectionStart?t.secureConnectionStart-t.navigationStart:0,connectEnd:t.connectEnd?t.connectEnd-t.navigationStart:0,requestStart:t.requestStart?t.requestStart-t.navigationStart:0,responseStart:t.responseStart?t.responseStart-t.navigationStart:0,responseEnd:t.responseEnd?t.responseEnd-t.navigationStart:0})}}var C=a.performance.getEntriesByType("resource"),D=[];for(l=0;C&&l<C.length;l++){t=C[l];u={name:t.name,initiatorType:t.initiatorType,startTime:t.startTime+c,redirectStart:t.redirectStart?t.redirectStart+c:0,redirectEnd:t.redirectEnd?t.redirectEnd+c:0,fetchStart:t.fetchStart?t.fetchStart+c:0,domainLookupStart:t.domainLookupStart?t.domainLookupStart+c:0,domainLookupEnd:t.domainLookupEnd?t.domainLookupEnd+c:0,connectStart:t.connectStart?t.connectStart+c:0,secureConnectionStart:t.secureConnectionStart?t.secureConnectionStart+c:0,connectEnd:t.connectEnd?t.connectEnd+c:0,requestStart:t.requestStart?t.requestStart+c:0,responseStart:t.responseStart?t.responseStart+c:0,responseEnd:t.responseEnd?t.responseEnd+c:0,workerStart:t.workerStart?t.workerStart+c:0,encodedBodySize:t.encodedBodySize,decodedBodySize:t.decodedBodySize,transferSize:t.transferSize,serverTiming:k(t),visibleDimensions:v[t.name],latestTime:m(t)};if(("script"===t.initiatorType||"link"===t.initiatorType)&&A[t.name]){var E=A[t.name];u.scriptAttrs=(E.async?F:0)|(E.defer?G:0);for(;1===E.nodeType&&"BODY"!==E.nodeName;)E=E.parentNode;u.scriptAttrs|="BODY"===E.nodeName?H:0}"link"===t.initiatorType&&B[t.name]&&BOOMR.utils.arrayFind(B[t.name].rel.split(/[\u0009\u000A\u000C\u000D\u0020]+/),function(a){a=a.toLowerCase();if(y[a]){u.linkAttrs=y[a];return!0}});D.push(u)}z=z.concat(D)}catch(I){return z}return z}function g(a,b,c){Array.prototype.forEach.call(a.ownerDocument.getElementsByTagName(c),function(c){a.href=c.src||c.href;a.href.match(/^https?:\/\//)&&(b[a.href]=c)})}function h(a){return"number"==typeof a&&0!==a?a.toString(36):"string"==typeof a?a:""}function i(a,b){var c,d,e=["img","iframe","image"],f={},g=a.document,h=g.createElement("A");b=b||[0,0,0,0];c=b[3]+(void 0!==a.pageXOffset)?a.pageXOffset:(g.documentElement||g.body.parentNode||g.body).scrollLeft;d=b[2]+(void 0!==a.pageYOffset)?a.pageYOffset:(g.documentElement||g.body.parentNode||g.body).scrollTop;e.forEach(function(a){var b,e,i,j,k=g.getElementsByTagName(a);for(e=0;e<k.length;e++){b=k[e];if(b){j=b.src||b.getAttribute("src")||b.getAttribute("xlink:href");h.href=j;j=h.href;if(j&&!f[j]){i=b.getBoundingClientRect();if((i.height||b.offsetHeight)&&(i.width||b.offsetWidth)){f[j]=[i.height||b.offsetHeight,i.width||b.offsetWidth,Math.round(i.top+d),Math.round(i.left+c)];!b.naturalHeight&&!b.naturalWidth||f[j][0]===b.naturalHeight&&f[j][1]===b.naturalWidth||f[j].push(b.naturalHeight,b.naturalWidth)}}}}});return f}function j(a,b,c){var d,g,h=f(BOOMR.window,!0,0,0),i=e(BOOMR.window),j={};if(!h||!h.length)return{entries:[]};h.sort(function(a,b){return a.startTime-b.startTime});var k=[];for(d=0;d<h.length;d++){g=h[d];if(0!==g.name.indexOf("about:")&&0!==g.name.indexOf("javascript:")&&0!==g.name.indexOf("res:")&&!(g.name.indexOf(BOOMR.url)>-1||g.name.indexOf(BOOMR.config_url)>-1||"function"==typeof BOOMR.getBeaconURL&&BOOMR.getBeaconURL()&&g.name.indexOf(BOOMR.getBeaconURL())>-1||a&&i+g.startTime<a)){if(b&&i+g.startTime>b)break;if(void 0===c||"*"===c||!c.length||g.initiatorType&&BOOMR.utils.inArray(g.initiatorType,c)){r(j,g.serverTiming);k.push(g)}}}var l=s(j);return{entries:k,serverTiming:{lookup:l,indexed:t(l)}}}function k(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(h).join(",").replace(/,+$/,"")}return""}function l(a,b){var c,d,e;if(a&&b)for(c=0;c<b.length;c++){e=b[c];if("string"==typeof e){d=a.indexOf(e);if(-1!==d){a=a.substr(0,d+e.length)+"...";break}}else e instanceof RegExp&&e.test(a)&&(a=a.replace(e,"$1")+"...")}return BOOMR.utils.cleanupURL(a,w.urlLimit)}function m(a){return a.responseEnd?a.responseEnd:a.responseStart&&a.startTime?a.responseStart+.2*(a.responseStart-a.startTime):1/0}function n(d,e){var f,g,i,m,n,o={},p={},q=j(d,e,w.trackedResourceTypes),r=q.entries,s=q.serverTiming;if(!r||!r.length)return{restiming:{},servertiming:[]};for(f=0;f<r.length;f++){g=r[f];i=x[g.initiatorType];void 0===i&&(i=0);n=i+[c(g.startTime,0),c(g.responseEnd,g.startTime),c(g.responseStart,g.startTime),c(g.requestStart,g.startTime),c(g.connectEnd,g.startTime),c(g.secureConnectionStart,g.startTime),c(g.connectStart,g.startTime),c(g.domainLookupEnd,g.startTime),c(g.domainLookupStart,g.startTime),c(g.redirectEnd,g.startTime),c(g.redirectStart,g.startTime)].map(h).join(",").replace(/,+$/,"");var t=k(g);""!==t&&(n+=B+D+t);g.hasOwnProperty("scriptAttrs")&&(n+=B+E+g.scriptAttrs);g.serverTiming&&g.serverTiming.length&&(n+=B+I+g.serverTiming.reduce(function(a,b,c){var d=String(void 0!==b.duration?b.duration:b.value);"0."===d.substring(0,2)&&(d=d.substring(1));var e=b.name||b.metric,f=u(s.indexed[e].index,s.indexed[e].descriptions[b.description]);a+=(c>0?",":"")+d+f;return a},""));g.hasOwnProperty("linkAttrs")&&(n+=B+J+g.linkAttrs);m=l(g.name,w.trimUrls);void 0!==o[m]?o[m]+="|"+n:g.visibleDimensions?o[m]=B+C+g.visibleDimensions.map(Math.round).map(h).join(",").replace(/,+$/,"")+"|"+n:o[m]=n;if(g.visibleDimensions){p[g.latestTime]||(p[g.latestTime]=[]);p[g.latestTime].push(g.visibleDimensions)}}return{restiming:b(a(o),!0),servertiming:s.lookup}}function o(a){var b=[];if(!a||!a.length)return b;for(var c=0;c<a.length;c++){var d=a[c];c!==a.length-1&&d.fetchStart===a[c+1].fetchStart||b.push({fetchStart:d.fetchStart,responseEnd:d.responseStart||d.responseEnd})}return b}function p(a){var b;if(!a||!a.length)return 0;a.sort(function(a,b){return a.fetchStart!==b.fetchStart?a.fetchStart-b.fetchStart:(a.responseStart||a.responseEnd)-(b.responseStart||b.responseEnd)});var c=o(a),d=[],e=0;for(b=0;b<c.length;b++){var f=c[b];f.fetchStart<e&&(f.fetchStart=e);if(f.fetchStart<f.responseEnd){d.push(f);e=f.responseEnd}}var g=o(d),h=0;for(b=0;b<g.length;b++)h+=g[b].responseEnd-g[b].fetchStart;return h}function q(a,b){var c;if("undefined"!=typeof JSON){BOOMR.removeVar("restiming");BOOMR.removeVar("servertiming");c=n(a,b);if(c){BOOMR.info("Client supports Resource Timing API","restiming");v(c)}}}function r(a,b){(b||[]).forEach(function(b){var c=b.name||b.metric;void 0===a[c]&&(a[c]={count:0,counts:{}});var d=a[c];d.counts[b.description]=d.counts[b.description]||0;d.counts[b.description]++;d.count++})}function s(a){return Object.keys(a).sort(function(b,c){return a[c].count-a[b].count}).reduce(function(b,c){var d=Object.keys(a[c].counts).sort(function(b,d){return a[c].counts[d]-a[c].counts[b]});b.push(1===d.length&&""===d[0]?c:[c].concat(d));return b},[])}function t(a){return a.reduce(function(a,b,c){var d,e;if(Array.isArray(b)){d=b[0];e=b.slice(1).reduce(function(a,b,c){a[b]=c;return a},{})}else{d=b;e={"":0}}a[d]={index:c,descriptions:e};return a},{})}function u(a,b){var c="";a&&(c+=a);b&&(c+="."+b);c.length&&(c=":"+c);return c}function v(a){BOOMR.addVar("restiming",JSON.stringify(a.restiming));a.servertiming.length&&BOOMR.addVar("servertiming",BOOMR.utils.serializeForUrl(a.servertiming))}var w;if(!BOOMR.plugins.ResourceTiming){var x={other:0,img:1,link:2,script:3,css:4,xmlhttprequest:5,html:6,image:7,beacon:8,fetch:9,iframe:"a",subdocument:"a"},y={prefetch:1,preload:2,prerender:3,stylesheet:4},z=[/(h)(ref)/gi,/(s)(rc)/gi,/(a)(ction)/gi],A="\n",B="*",C="0",D="1",E="2",F=1,G=2,H=4,I="3",J="4";w={complete:!1,sentNavBeacon:!1,initialized:!1,supported:null,xhr_load:function(){if(!this.complete){this.complete=!0;BOOMR.sendBeacon()}},xssBreakWords:z,urlLimit:500,clearOnBeacon:!1,trimUrls:[],trackedResourceTypes:"*",serverTiming:!0,done:function(){if(!this.sentNavBeacon){q();this.complete=!0;this.sentNavBeacon=!0;BOOMR.sendBeacon()}},onBeacon:function(a){var b=BOOMR.getPerformance();a.hasOwnProperty("restiming")&&BOOMR.removeVar("restiming");a.hasOwnProperty("servertiming")&&BOOMR.removeVar("servertiming");if(w.clearOnBeacon&&b){var c=b.clearResourceTimings||b.webkitClearResourceTimings;c&&"function"==typeof c&&c.call(b)}},prerenderToVisible:function(){this.sentNavBeacon=!1;this.done()}};BOOMR.plugins.ResourceTiming={init:function(a){BOOMR.utils.pluginConfig(w,a,"ResourceTiming",["xssBreakWords","clearOnBeacon","urlLimit","trimUrls","trackedResourceTypes","serverTiming"]);if(w.initialized)return this;if(this.is_supported()){BOOMR.subscribe("page_ready",w.done,null,w);BOOMR.subscribe("prerender_to_visible",w.prerenderToVisible,null,w);BOOMR.subscribe("xhr_load",w.xhr_load,null,w);BOOMR.subscribe("beacon",w.onBeacon,null,w);BOOMR.subscribe("before_unload",w.done,null,w)}else w.complete=!0;w.initialized=!0;return this},is_complete:function(){return!0},is_enabled:function(){return w.initialized&&this.is_supported()},is_supported:function(){var a;if(null!==w.supported)return w.supported;var a=BOOMR.getPerformance();w.supported=a&&"function"==typeof a.getEntriesByType&&void 0!==window.PerformanceResourceTiming;return w.supported},getCompressedResourceTiming:n,getFilteredResourceTiming:j,calculateResourceTimingUnion:p,addResourceTimingToBeacon:q,addToBeacon:v}}}();!function(){function a(){var a;for(a in c)if(void 0!==b[a]){BOOMR.removeVar("mob."+c[a]);b[a]&&BOOMR.addVar("mob."+c[a],b[a])}}var b,c={type:"ct",bandwidth:"bw",metered:"mt",effectiveType:"etype",downlinkMax:"lm",downlink:"dl",rtt:"rtt",saveData:"sd"};if("function"==typeof BOOMR.addVar){"object"==typeof navigator&&(b=navigator.connection||navigator.mozConnection||navigator.webkitConnection||navigator.msConnection);if(b){b.addEventListener&&b.addEventListener("change",function(){a();BOOMR.fireEvent("netinfo",b)});a()}}}();!function(){function a(a,b){var c,e,f,g,h;try{c=d.getElementsByTagName(a);e=c.length;if(b&&b.length){f={};f[b[0]]=e;for(g=2;e>0&&g<arguments.length&&g-1<b.length;g++){h=arguments[g];if("function"==typeof h)try{c=BOOMR.utils.arrayFilter(c,h);if(c.length!==e){e=c.length;f[b[g-1]]=e}}catch(i){BOOMR.addError(i,"Memory.nodeList."+a+".filter["+(g-2)+"]")}}}return f||e}catch(i){BOOMR.addError(i,"Memory.nodeList."+a);return 0}}function b(a,b,c){if(a)try{b()}catch(d){BOOMR.addError(d,"Memory.done."+c)}}var c,d,e,f,g,h,i,j={};if(!BOOMR.plugins.Memory){i={done:function(){if(c){BOOMR.removeVar("dom.res");b(!0,function(){var a,b,c={};if(j&&"function"==typeof j.getEntriesByType){a=j.getEntriesByType("resource");if(a&&a.length){BOOMR.addVar("dom.res",a.length);b=BOOMR.window.document.createElement("a");[].forEach.call(a,function(a){b.href=a.name;c[b.hostname]=!0});BOOMR.addVar("dom.doms",Object.keys(c).length)}}},"resources");e&&BOOMR.addVar({"mem.total":e.totalJSHeapSize,"mem.limit":e.jsHeapSizeLimit,"mem.used":e.usedJSHeapSize});b(f,function(){BOOMR.addVar({"scr.xy":f.width+"x"+f.height,"scr.bpp":f.colorDepth+"/"+(f.pixelDepth||"")});f.orientation&&BOOMR.addVar("scr.orn",f.orientation.angle+"/"+f.orientation.type);c.devicePixelRatio>1&&BOOMR.addVar("scr.dpx",c.devicePixelRatio);var a=BOOMR.utils.scroll();(a.x||a.y)&&BOOMR.addVar("scr.sxy",a.x+"x"+a.y)},"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<<b|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<<c%32;b[14+(c+64>>>9<<4)]=c;var h,i,j,k,l,m=1732584193,n=-271733879,o=-1732584194,p=271733878;for(h=0;h<b.length;h+=16){i=m;j=n;k=o;l=p;m=d(m,n,o,p,b[h],7,-680876936);p=d(p,m,n,o,b[h+1],12,-389564586);o=d(o,p,m,n,b[h+2],17,606105819);n=d(n,o,p,m,b[h+3],22,-1044525330);m=d(m,n,o,p,b[h+4],7,-176418897);p=d(p,m,n,o,b[h+5],12,1200080426);o=d(o,p,m,n,b[h+6],17,-1473231341);n=d(n,o,p,m,b[h+7],22,-45705983);m=d(m,n,o,p,b[h+8],7,1770035416);p=d(p,m,n,o,b[h+9],12,-1958414417);o=d(o,p,m,n,b[h+10],17,-42063);n=d(n,o,p,m,b[h+11],22,-1990404162);m=d(m,n,o,p,b[h+12],7,1804603682);p=d(p,m,n,o,b[h+13],12,-40341101);o=d(o,p,m,n,b[h+14],17,-1502002290);n=d(n,o,p,m,b[h+15],22,1236535329);m=e(m,n,o,p,b[h+1],5,-165796510);p=e(p,m,n,o,b[h+6],9,-1069501632);o=e(o,p,m,n,b[h+11],14,643717713);n=e(n,o,p,m,b[h],20,-373897302);m=e(m,n,o,p,b[h+5],5,-701558691);p=e(p,m,n,o,b[h+10],9,38016083);o=e(o,p,m,n,b[h+15],14,-660478335);n=e(n,o,p,m,b[h+4],20,-405537848);m=e(m,n,o,p,b[h+9],5,568446438);p=e(p,m,n,o,b[h+14],9,-1019803690);o=e(o,p,m,n,b[h+3],14,-187363961);n=e(n,o,p,m,b[h+8],20,1163531501);m=e(m,n,o,p,b[h+13],5,-1444681467);p=e(p,m,n,o,b[h+2],9,-51403784);o=e(o,p,m,n,b[h+7],14,1735328473);n=e(n,o,p,m,b[h+12],20,-1926607734);m=f(m,n,o,p,b[h+5],4,-378558);p=f(p,m,n,o,b[h+8],11,-2022574463);o=f(o,p,m,n,b[h+11],16,1839030562);n=f(n,o,p,m,b[h+14],23,-35309556);m=f(m,n,o,p,b[h+1],4,-1530992060);p=f(p,m,n,o,b[h+4],11,1272893353);o=f(o,p,m,n,b[h+7],16,-155497632);n=f(n,o,p,m,b[h+10],23,-1094730640);m=f(m,n,o,p,b[h+13],4,681279174);p=f(p,m,n,o,b[h],11,-358537222);o=f(o,p,m,n,b[h+3],16,-722521979);n=f(n,o,p,m,b[h+6],23,76029189);m=f(m,n,o,p,b[h+9],4,-640364487);p=f(p,m,n,o,b[h+12],11,-421815835);o=f(o,p,m,n,b[h+15],16,530742520);n=f(n,o,p,m,b[h+2],23,-995338651);m=g(m,n,o,p,b[h],6,-198630844);p=g(p,m,n,o,b[h+7],10,1126891415);o=g(o,p,m,n,b[h+14],15,-1416354905);n=g(n,o,p,m,b[h+5],21,-57434055);m=g(m,n,o,p,b[h+12],6,1700485571);p=g(p,m,n,o,b[h+3],10,-1894986606);o=g(o,p,m,n,b[h+10],15,-1051523);n=g(n,o,p,m,b[h+1],21,-2054922799);m=g(m,n,o,p,b[h+8],6,1873313359);p=g(p,m,n,o,b[h+15],10,-30611744);o=g(o,p,m,n,b[h+6],15,-1560198380);n=g(n,o,p,m,b[h+13],21,1309151649);m=g(m,n,o,p,b[h+4],6,-145523070);p=g(p,m,n,o,b[h+11],10,-1120210379);o=g(o,p,m,n,b[h+2],15,718787259);n=g(n,o,p,m,b[h+9],21,-343485551);m=a(m,i);n=a(n,j);o=a(o,k);p=a(p,l)}return[m,n,o,p]}function i(a){var b,c="";for(b=0;b<32*a.length;b+=8)c+=String.fromCharCode(a[b>>5]>>>b%32&255);return c}function j(a){var b,c=[];c[(a.length>>2)-1]=void 0;for(b=0;b<c.length;b+=1)c[b]=0;for(b=0;b<8*a.length;b+=8)c[b>>5]|=(255&a.charCodeAt(b/8))<<b%32;return c}function k(a){return i(h(j(a),8*a.length))}function l(a,b){var c,d,e=j(a),f=[],g=[];f[15]=g[15]=void 0;e.length>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<a.length;c+=1){b=a.charCodeAt(c);e+=d.charAt(b>>>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)}BOOMR.utils=BOOMR.utils||{};BOOMR.utils&&BOOMR.utils.md5||(BOOMR.utils.MD5=s)}();!function(){BOOMR.utils=BOOMR.utils||{};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<b.length;e++)e in b&&(d[e]=a.jsUrl(b[e])||"~null");return"~("+(d.join("")||"~")+")"}for(var f in b)if(b.hasOwnProperty(f)){var g=a.jsUrl(b[f]);g&&d.push(c(f)+g)}return"~("+d.sort().join("~")+")";default:return}}}}();!function(a,b){"use strict";a.ErrorStackParser=b()}(this,function(){"use strict";function a(a,b,c){if("function"==typeof Array.prototype.map)return a.map(b,c);for(var d=new Array(a.length),e=0;e<a.length;e++)d[e]=b.call(c,a[e]);return d}function b(a,b,c){if("function"==typeof Array.prototype.filter)return a.filter(b,c);for(var d=[],e=0;e<a.length;e++)b.call(c,a[e])&&d.push(a[e]);return d}var c=/(^|@)\S+\:\d+/,d=/^\s*at .*(\S+\:\d+|\(native\))/m,e=/^(eval@)?(\[native code\])?$/;return{parse:function(a){if(void 0!==a.stacktrace||void 0!==a["opera#sourceloc"])return this.parseOpera(a);if(a.stack&&a.stack.match(d))return this.parseV8OrIE(a);if(a.stack)return this.parseFFOrSafari(a);throw new Error("Cannot parse given Error object")},extractLocation:function(a){if(-1===a.indexOf(":"))return[a];var b=a.replace(/[\(\)\s]/g,"").split(":"),c=b.pop(),d=b[b.length-1];if(!isNaN(parseFloat(d))&&isFinite(d)){var e=b.pop();return[b.join(":"),e,c]}return[b.join(":"),c,void 0]},parseV8OrIE:function(c){return a(b(c.stack.split("\n"),function(a){return!!a.match(d)},this),function(a){a.indexOf("(eval ")>-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<f;e+=2){var g=b.exec(c[e]);g&&d.push({fileName:g[2],lineNumber:g[1],source:c[e]})}return d},parseOpera10:function(a){for(var b=/Line (\d+).*script (?:in )?(\S+)(?:: In function (\S+))?$/i,c=a.stacktrace.split("\n"),d=[],e=0,f=c.length;e<f;e+=2){var g=b.exec(c[e]);g&&d.push({functionName:g[3]||void 0,fileName:g[2],lineNumber:g[1],source:c[e]})}return d},parseOpera11:function(d){return a(b(d.stack.split("\n"),function(a){return!!a.match(c)&&!a.match(/^Error created at/)},this),function(a){var b,c=a.split("@"),d=this.extractLocation(c.pop()),e=c.shift()||"",f=e.replace(/<anonymous function(: (\w+))?>/,"$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=["Object.send","b.send","wrap","Anonymous function"],e=["/boomerang"],f=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,g,h){var i,j,k,l,m,n,o,p,q=!1,r=BOOMR.now();if(!b)return null;if(b.stack){b.stack.length>f&&(b.stack=b.stack.substr(0,f));j=ErrorStackParser.parse(b);if(j&&j.length){if(b.generatedStack){if(j.length>=4&&j[1].functionName&&-1!==j[1].functionName.indexOf("createStackForSend")){j=j.slice(3);q=!0}if(j.length>=3&&j[0].functionName&&-1!==j[0].functionName.indexOf("createStackForSend")){j=j[1].fileName===j[2].fileName?j.slice(3):j.slice(2);q=!0}if(j.length>=1&&j[0].functionName&&-1!==j[0].functionName.indexOf("BOOMR_plugins_errors")){j=j.slice(1);q=!0}}for(k=0;k<j.length;k++){o=j[k];p=o.functionName;n=!1;if(p){for(l=0;l<c.length;l++)if(-1!==p.indexOf(c[l])){j.splice(k,1);q=!0;k--;n=!0;break}if(!n&&o.fileName)for(l=0;l<e.length;l++)if(-1!==o.fileName.indexOf(e[l]))for(m=0;m<d.length;m++)if(-1!==p.indexOf(d[m])){j.splice(k,1);q=!0;k--;n=!0;break}}}if(j.length){i=j[0];(q||void 0===b.lineNumber)&&(b.lineNumber=i.lineNumber);(q||void 0===b.columnNumber)&&(b.columnNumber=i.columnNumber);(q||void 0===b.functionName)&&(b.functionName=i.functionName);(q||void 0===b.fileName)&&(b.fileName=i.fileName)}b.stack&&(b.stack=b.stack.replace(/\s\s+/g," "))}}else(b.functionName||b.fileName||b.lineNumber||b.columnNumber)&&(j=[{lineNumber:b.lineNumber,columnNumber:b.columnNumber,fileName:b.fileName,functionName:b.functionName}]);b.message&&-1!==b.message.indexOf("ReferenceError:")&&"Error"===b.name&&(b.name="ReferenceError");return new a({code:b.code?b.code:void 0,message:b.message?b.message:void 0,functionName:b.functionName?b.functionName:void 0,fileName:b.fileName?b.fileName:void 0,lineNumber:b.lineNumber?b.lineNumber:void 0,columnNumber:b.columnNumber?b.columnNumber:void 0,stack:b.stack?b.stack:void 0,type:b.name?b.name:void 0,source:h,via:g,frames:j,extra:b.extra?b.extra:void 0,timestamp:b.timestamp?b.timestamp:r})};b={onError:void 0,monitorGlobal:!0,monitorNetwork:!0,monitorConsole:!0,monitorEvents:!0,monitorTimeout:!0,sendAfterOnload:!1,maxErrors:10,sendInterval:1e3,sendIntervalDuringLoad:2500,sendIntervalId:-1,maxEvents:10,isDuringLoad:!0,initialized:!1,supported:!1,autorun:!0,errors:[],q:[],events:[],send:function(a,c,d){function createStackForSend(){try{throw Error(a)}catch(f){a=f;a.generatedStack=!0;a.timestamp=a.timestamp||e;b.addError(a,c,d)}}var e=BOOMR.now();if(a&&!0!==a.reported){a.reported=!0;c=c||BOOMR.plugins.Errors.VIA_APP;d=d||BOOMR.plugins.Errors.SOURCE_APP;if(a.stack||a.noStack){a.timestamp=a.timestamp||e;b.addError(a,c,d)}else createStackForSend()}},addError:function(c,d,e){var f,g,h=!1,i=BOOMR.now();if(b.isDuringLoad||b.sendAfterOnload){if(b.onError){try{f=b.onError(c)}catch(j){f=!1}if(!f)return}if(!(b.errors.length>=b.maxErrors)){g=a.fromError(c,d,e);h=b.mergeDuplicateErrors(b.errors,g,!1);BOOMR.fireEvent("error",h||g);b.mergeDuplicateErrors(b.q,g,!0);if(!(b.isDuringLoad&&b.autorun||-1!==b.sendIntervalId)){if(h)return;b.sendIntervalId=setTimeout(function(){b.sendIntervalId=-1;if(0!==b.q.length){BOOMR.addVar("http.initiator","error");BOOMR.addVar("api",1);b.addErrorsToBeacon();if(b.isDuringLoad){BOOMR.addVar("rt.tstart",i);BOOMR.addVar("rt.end",i);BOOMR.addVar("rt.start","manual")}BOOMR.sendBeacon()}},b.isDuringLoad?b.sendIntervalDuringLoad:b.sendInterval)}}}},findDuplicateError:function(a,b){if(BOOMR.utils.isArray(a)&&void 0!==b)for(var c=0;c<a.length;c++)if(a[c].equals(b))return a[c]},mergeDuplicateErrors:function(a,c,d){if(BOOMR.utils.isArray(a)&&void 0!==c){var e=b.findDuplicateError(a,c);if(e){d&&(e.count+=c.count);return e}a.push(c)}},onBeacon:function(){BOOMR.removeVar("err");BOOMR.removeVar("api");BOOMR.removeVar("http.initiator")},pageReady:function(){b.isDuringLoad=!1},getErrors:function(){return 0!==b.errors.length&&b.errors},getErrorsForUrl:function(a){a=b.compressErrors(a);return BOOMR.utils.serializeForUrl(a)},addErrorsToBeacon:function(){if(b.q.length){var a=this.getErrorsForUrl(b.q);a&&BOOMR.addVar("err",a);b.q=[]}},beforeBeacon:function(){b.addErrorsToBeacon()},wrapFn:function(a,c,d,e,f){var g=c[a];if("function"==typeof g){var h;"addEventListener"===a&&(h=c.removeEventListener);c[a]=function(){try{var i=Array.prototype.slice.call(arguments),j=i[e],k=d?this===window?BOOMR.window:this:c,l=b.wrap(j,k,f);i[e]=l;if("addEventListener"===a){if(!b.trackFn(k,i[0],j,i[2],l))return;h&&h.apply(k,arguments)}return g.apply(k,i)}catch(m){b.send(m,f);throw m}}}},trackFn:function(a,c,d,e,f){if(!a)return!1;if(-1!==b.trackedFnIdx(a,c,d,e))return!1;a._bmrEvents||(a._bmrEvents=[]);e=!0===(e&&e.capture||e);a._bmrEvents.push([c,d,e,f]);return!0},trackedFnIdx:function(a,b,c,d){var e,f;if(a){a._bmrEvents||(a._bmrEvents=[]);d=!0===(d&&d.capture||d);for(e=0;e<a._bmrEvents.length;e++){f=a._bmrEvents[e];if(f[0]===b&&f[1]===c&&f[2]===d)return e}return-1}},wrapRemoveEventListener:function(a){var c,d,e="removeEventListener",f=a[e];"function"==typeof f&&(a[e]=function(a,e,g){c=b.trackedFnIdx(this,a,e,g);if(-1!==c){d=this._bmrEvents[c][3];f.call(this,a,d,g);this._bmrEvents.splice(c,1)}else f.call(this,a,e,g)})},wrap:function(a,c,d){if("function"!=typeof a)return a;d=d||BOOMR.plugins.Errors.VIA_APP;BOOMR_check_doc_domain();return function(){try{return a.apply(c,arguments)}catch(e){if(-2146823277===e.number&&(d===BOOMR.plugins.Errors.VIA_EVENTHANDLER||d===BOOMR.plugins.Errors.VIA_TIMEOUT))return;b.send(e,d);throw e}}},test:function(){var a,c,d;if(0!==arguments.length){a=arguments[0];if("function"==typeof a){c=arguments.length>1?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;b<a.length;b++){d=a[b];j={};1!==d.count&&(j.n=d.count);if("number"==typeof d.timestamp){k=d.timestamp;j.d=d.timestamp.toString(36)}if(d.frames.length){j.f=[];for(c=0;c<d.frames.length;c++){e=d.frames[c];e.lineNumber&&(e.lineNumber=parseInt(e.lineNumber,10));e.columnNumber&&(e.columnNumber=parseInt(e.columnNumber,10));g={l:e.lineNumber,c:e.columnNumber};"string"==typeof e.fileName&&(-1!==e.fileName.indexOf(i)?g.wo=e.fileName.replace(i,""):g.w=e.fileName);"string"==typeof e.functionName&&(g.f=e.functionName);j.f.push(g)}}if(d.events.length){j.e=[];for(c=0;c<d.events.length;c++){f=d.events[c];h={t:f.type,d:k?k-f.timestamp:f.timestamp};if(f.type===BOOMR.plugins.Errors.EVENT_CLICK){f.id&&(h.i=f.id);f.name&&(h.n=f.name);f.tagName&&(h.g=f.tagName)}else if(f.type===BOOMR.plugins.Errors.EVENT_NETWORK){f.url&&(h.u=f.url);f.method&&(h.m=f.method);f.result&&(h.r=f.result)}else if(f.type===BOOMR.plugins.Errors.EVENT_LOG){f.severity&&(h.s=f.severity);f.message&&(h.m=f.message)}j.e.push(h)}}d.source!==BOOMR.plugins.Errors.SOURCE_APP&&(j.s=d.source);void 0!==d.via&&d.via!==BOOMR.plugins.Errors.VIA_APP&&(j.v=d.via);void 0!==d.type&&"Error"!==d.type&&(j.t=d.type);d.code&&(j.c=d.code);d.message&&(j.m=d.message);d.extra&&(j.x=d.extra);a[b]=j}return a}};var g=BOOMR.plugins.Errors={init:function(a){BOOMR.utils.pluginConfig(b,a,"Errors",["onError","monitorGlobal","monitorNetwork","monitorConsole","monitorEvents","monitorTimeout","sendAfterOnload","sendInterval","maxErrors"]);if(b.initialized)return this;a&&void 0!==a.autorun&&(b.autorun=a.autorun);b.initialized=!0;b.supported=!0;if(!b.supported)return this;BOOMR.subscribe("before_beacon",b.beforeBeacon,null,b);BOOMR.subscribe("beacon",b.onBeacon,null,b);BOOMR.subscribe("page_ready",b.pageReady,null,b);BOOMR.registerEvent("error");if(b.monitorGlobal)try{BOOMR.globalOnError?BOOMR.window.onerror&&!BOOMR.window.onerror._bmr&&(BOOMR.globalOnError=BOOMR.window.onerror):BOOMR.globalOnError=BOOMR.window.onerror;BOOMR.window.onerror=function(a,c,d,e,f){void 0!==f&&null!==f?b.send(f,g.VIA_GLOBAL_EXCEPTION_HANDLER):b.send({message:a,fileName:c,lineNumber:d,columnNumber:e,noStack:!0},g.VIA_GLOBAL_EXCEPTION_HANDLER);"function"==typeof BOOMR.globalOnError&&BOOMR.globalOnError.apply(window,arguments)};if(BOOMR.globalErrors){for(var c=0;c<BOOMR.globalErrors.length;c++)b.send(BOOMR.globalErrors[c],g.VIA_GLOBAL_EXCEPTION_HANDLER);delete BOOMR.globalErrors}}catch(e){BOOMR.debug("Exception in the window.onerror handler","Errors")}b.monitorNetwork&&BOOMR.subscribe("xhr_error",function(a){b.send({code:a.status,message:a.url,noStack:!0},g.VIA_NETWORK)});if(b.monitorConsole){BOOMR.window.console||(BOOMR.window.console={});var d=BOOMR.window.console.error;try{BOOMR.window.console.error=function(){var a=Array.prototype.slice.call(arguments);1===a.length?b.send(b.normalizeToString(a[0]),g.VIA_CONSOLE):b.send(b.normalizeToString(a),g.VIA_CONSOLE);"function"==typeof d&&("function"==typeof d.apply?d.apply(this,a):d(a[0],a[1],a[2]))}}catch(f){BOOMR.debug("Exception in the window.console.error handler","Errors")}}if(b.monitorEvents)if(BOOMR.window.EventTarget){b.wrapFn("addEventListener",BOOMR.window.EventTarget.prototype,!0,1,g.VIA_EVENTHANDLER);b.wrapRemoveEventListener(BOOMR.window.EventTarget.prototype)}else{if(BOOMR.window){b.wrapFn("addEventListener",BOOMR.window,!1,1,g.VIA_EVENTHANDLER);b.wrapRemoveEventListener(BOOMR.window)}if(BOOMR.window.Node){b.wrapFn("addEventListener",BOOMR.window.Node.prototype,!0,1,g.VIA_EVENTHANDLER);b.wrapRemoveEventListener(BOOMR.window.Node.prototype)}if(BOOMR.window.XMLHttpRequest){b.wrapFn("addEventListener",BOOMR.window.XMLHttpRequest.prototype,!0,1,g.VIA_EVENTHANDLER);b.wrapRemoveEventListener(BOOMR.window.XMLHttpRequest.prototype)}}if(b.monitorTimeout){b.wrapFn("setTimeout",BOOMR.window,!1,0,g.VIA_TIMEOUT);b.wrapFn("setInterval",BOOMR.window,!1,0,g.VIA_TIMEOUT)}return this},is_complete:function(){return!0},is_supported:function(){return b.initialized&&b.supported},SOURCE_APP:1,SOURCE_BOOMERANG:2,VIA_APP:1,VIA_GLOBAL_EXCEPTION_HANDLER:2,VIA_NETWORK:3,VIA_CONSOLE:4,VIA_EVENTHANDLER:5,VIA_TIMEOUT:6,EVENT_CLICK:1,EVENT_NETWORK:2,EVENT_LOG:3,send:b.send,wrap:b.wrap,test:b.test,BoomerangError:a}}}();!function(){"use strict";function a(a){BOOMR.warn(a,"TPAnalytics")}if(!BOOMR.plugins.TPAnalytics){var b={addedVars:[],clientids:!1,dropParams:[],googleAnalytics:function(){var c,d,e,f,g,h={},i=BOOMR.window,j=["utm_source","utm_medium","utm_term","utm_content","utm_campaign"];if(b.clientids){if("function"==typeof i.ga)try{i.ga(function(a){a&&(h.clientid=a.get("clientId"))});if(!h.clientid&&"function"==typeof i.ga.getAll){g=i.ga.getAll();g&&g.length>0&&(h.clientid=g[0].get("clientId"))}}catch(k){a("googleAnalytics: "+k)}if(!h.clientid){f=BOOMR.utils.getCookie("_ga");if(f){f=f.split(".");f&&4===f.length&&(h.clientid=f[2]+"."+f[3])}else{f=BOOMR.utils.getCookie("__utma");if(f){f=f.split(".");f&&6===f.length&&(h.clientid=f[1]+"."+f[2])}}}}for(c=0;c<j.length;c++){d=j[c];e=BOOMR.utils.getQueryParamValue(d);e&&(h[d]=e)}return h},adobeAnalytics:function(){var c,d,e,f,g,h={},i=BOOMR.window,j=/AMCV_([A-Z0-9]+)%40AdobeOrg/,k=/\|([^\[]+)/;if(void 0!==i._satellite||"function"==typeof i.mboxCreate||"function"==typeof i.Visitor||"object"==typeof i.s){if(b.clientids)if("object"==typeof i.s&&"object"==typeof i.s.visitor&&"function"==typeof i.s.visitor.getAnalyticsVisitorID&&"function"==typeof i.s.visitor.getMarketingCloudVisitorID)try{d=i.s.visitor.getMarketingCloudVisitorID();d&&(h.mid=d);c=i.s.visitor.getAnalyticsVisitorID();c&&(h.aid=i.s.visitor.getAnalyticsVisitorID())}catch(l){a("adobeAnalytics: "+l)}else{e=j.exec(i.document.cookie);if(e&&"function"==typeof i.Visitor&&"function"==typeof i.Visitor.getInstance)try{f=i.Visitor.getInstance(e[1]+"@AdobeOrg");if(f&&"function"==typeof f.getAnalyticsVisitorID&&"function"==typeof f.getMarketingCloudVisitorID){d=f.getMarketingCloudVisitorID();d&&(h.mid=d);c=f.getAnalyticsVisitorID();c&&(h.aid=f.getAnalyticsVisitorID())}}catch(l){a("adobeAnalytics: "+l)}else{c=BOOMR.utils.getCookie("s_vi");if(c){g=k.exec(c);c=g&&g.length>0?g[1]:""}else c=BOOMR.utils.getCookie("s_fid");c&&(h.aid=c)}}if("object"==typeof i.s){"string"==typeof i.s.campaign&&i.s.campaign&&(h.campaign=i.s.campaign);"string"==typeof i.s.purchaseID&&i.s.purchaseID&&(h.purchaseid=i.s.purchaseID)}}return h},ibmAnalytics:function(){var c,d,e,f,g,h,i={},j=BOOMR.window,k={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(b.clientids&&"function"==typeof j.cmRetrieveUserID)try{j.cmRetrieveUserID(function(a){i.coreid=a})}catch(l){a("ibmAnalytics: "+l)}for(f in k)if(k.hasOwnProperty(f)){c=BOOMR.utils.getQueryParamValue(f);if(c){g=k[f][0];h=k[f][1];d=g.exec(c);if(d&&d.length>h.length)for(e=0;e<h.length;e++)d[e+1]&&(i[h[e]]=decodeURIComponent(d[e+1]))}}return i},pageReady:function(){this.addedVars=[];var a,c,d,e,f={ga:this.googleAnalytics,aa:this.adobeAnalytics,ia:this.ibmAnalytics};for(a in f){c=f[a]();for(var d in c){var e="tp."+a+"."+d;if(!BOOMR.utils.inArray(e,this.dropParams)){BOOMR.addVar(e,c[d]);b.addedVars.push(e)}}}this.addedVars.length>0&&BOOMR.sendBeacon()},onBeacon:function(){if(this.addedVars&&this.addedVars.length>0){BOOMR.removeVar(this.addedVars);this.addedVars=[]}}};BOOMR.plugins.TPAnalytics={init:function(a){BOOMR.utils.pluginConfig(b,a,"TPAnalytics",["clientids","dropParams"]);if(!b.initialized){BOOMR.utils.isArray(b.dropParams)||(b.dropParams=[]);BOOMR.subscribe("page_ready",b.pageReady,null,b);BOOMR.subscribe("beacon",b.onBeacon,null,b);BOOMR.subscribe("prerender_to_visible",b.pageReady,null,b);b.initialized=!0}return this},is_complete:function(){return!0}}}}();!function(a){"use strict";var b,c;if(void 0!==a){b=a;c=b.UserTimingCompression}else b={};var d,e=d={};e.noConflict=function(){b.UserTimingCompression=c;return e};e.trimTiming=function(a,b){"number"!=typeof a&&(a=0);"number"!=typeof b&&(b=0);var c=Math.round(a),d=Math.round(b);return 0===c?0:c-d};e.toBase36=function(a){return"number"==typeof a?a.toString(36):""};e.findUserTimingForFrame=function(a){var b;if(!a)return[];try{a.location&&a.location.href;if(!("performance"in a&&a.performance&&a.performance.getEntriesByType))return b;b=a.performance.getEntriesByType("mark");b=b.concat(a.performance.getEntriesByType("measure"))}catch(c){return b}return b};e.compressUserTiming=function(a,b){var c,e,f,g=0,h={};b=b||{};if(!a||!a.length)return[];for(c=0;c<a.length;c++){e=a[c];void 0===h[e.name]&&(h[e.name]=[]);"mark"===e.entryType?h[e.name].push({startTime:e.startTime}):"measure"===e.entryType&&h[e.name].push({startTime:e.startTime,duration:e.duration})}for(var i in h)if(h.hasOwnProperty(i)){if(b.map&&void 0===b.map[i])continue;var j=h[i];if(b.map&&void 0!==b.map[i]){delete h[i];i=b.map[i]}g=0;for(c=0;c<j.length;c++){var k=j[c];f=d.toBase36(d.trimTiming(k.startTime,g));"0"===f&&(f="");var l=f;if("number"==typeof k.duration){var m=d.toBase36(Math.round(k.duration));l+="_";"0"!==m&&(l+=m)}g=k.startTime;j[c]=l}h[i]=d.compressArray(j)}return h};e.convertToTrie=function(a){var b,c,d,e,f,g,h,i={};if(!a)return{};for(b in a)if(a.hasOwnProperty(b)){d=a[b];e=b.split("");g=i;for(c=0;c<e.length;c++){f=e[c];h=g[f];void 0===h?g=g[f]=c===e.length-1?d:{}:"string"==typeof h?g=g[f]={"!":h}:c===e.length-1?g[f]["!"]=d:g=g[f]}}return i};e.optimizeTrie=function(a,b){var c,d,e,f=0;if(!a)return{};for(c in a){if("object"==typeof a[c]){d=this.optimizeTrie(a[c],!1);if(d){delete a[c];c+=d.name;a[c]=d.value}}f++}if(1===f){if(b){e={};e[c]=a[c];return e}return{name:c,value:a[c]}}return!!b&&a};e.compressArray=function(a){var b=0,c="";if(!a||0===a.length||a.constructor!==Array)return"";for(var d=0;d<a.length;d++){var e=a[d];if(d<a.length-1&&e===a[d+1])b++;else if(b>0){c+=(""!==c?".":"")+e+"*";b>=2&&(c+=b+1);b=0}else c+=(""!==c?".":"")+e}return/^\d+$/.test(c)?parseInt(c,10):c};e.getCompressedUserTiming=function(b){var c,e;b=b||{};c=b.window||a;e=this.findUserTimingForFrame(c);b.from&&(e=e.filter(function(a){return a.startTime+a.duration>=b.from}));b.to&&(e=e.filter(function(a){return a.startTime<=b.to}));return d.compressUserTiming(e,b)};e.compressForUri=function(a){if("object"!=typeof a)return"";var b=!1;for(var c in a)if(a.hasOwnProperty(c)){if(isNaN(c)){b=!1;break}b=!0}if(b)return"1"+d.flattenMap(a);var e=d.convertToTrie(a),f=d.optimizeTrie(e,!0),g=d.jsUrl(f),h=d.flattenArray(a);if("string"!=typeof h||0===h.length)return"";var i=encodeURIComponent(g),j=encodeURIComponent(h);return i.length<j.length?g:"0"+h};e.flattenArray=function(a){var b=[];if("object"!=typeof a)return"";for(var c in a)if(a.hasOwnProperty(c)){var d=(a[c]+"").replace("~","%7E");c=c.replace("~","%7E");b.push(c+"~"+d)}b=b.join("~");return b};e.flattenMap=function(a){var b=[];if("object"!=typeof a)return"";for(var c in a)if(a.hasOwnProperty(c)){var e=parseInt(c,10),f=d.toBase36(e);if(e>1331)continue;if(f.length>1){f=d.toBase36(e-36);f="-"+(1===f.length?"0":"")+f}b.push(f+a[c])}b.sort();b=b.join("~");return b};e.jsUrl=function(a){function b(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}switch(typeof a){case"number":return isFinite(a)?"~"+a:"~null";case"string":return"~'"+b(a);case"boolean":return"~"+a;case"object":return a?Array.isArray(a)?"~("+(a.map(function(a){return d.jsUrl(a)||"~null"}).join("")||"~")+")":"~("+Object.keys(a).map(function(c){var e=d.jsUrl(a[c]);return e&&b(c)+e}).filter(function(a){return a}).sort().join("~")+")":"~null";default:return}};"function"==typeof define&&define.amd?define([],function(){return e}):"undefined"!=typeof module&&module.exports?module.exports=e:void 0!==b&&(b.UserTimingCompression=e)}("undefined"!=typeof window?window:void 0);!function(){if(!BOOMR.plugins.UserTiming){var a={complete:!1,initialized:!1,supported:!1,options:{from:0,window:BOOMR.window},getUserTiming:function(){var b,c,d=BOOMR.hrNow(),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("beacon",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 UserTiming 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<b.length;c++){var d=b[c];d&&(BOOMR.utils.isArray(d)?a(d):"object"==typeof d&&BOOMR.utils.isArray(d.arguments)&&a(d.arguments,d.callback,d.thisArg))}}var c=BOOMR.window.BOOMR_mq;BOOMR.utils.isArray(c)&&b(c);BOOMR.window.BOOMR_mq={push:function(){b(arguments)}}}();!function(a){function b(){if(!k){k=!0;l=!1;(m||BOOMR.onloadFired()&&"prerender"!==BOOMR.visibilityState())&&BOOMR.sendBeacon()}}function c(a){var b=function(){throw new Exception("No JSON.parse available")};window.JSON&&"function"==typeof JSON.parse?b=JSON.parse:BOOMR.window&&(BOOMR.window.JSON&&"function"==typeof BOOMR.window.JSON.parse?b=BOOMR.window.JSON.parse:"function"==typeof BOOMR.window.json_parse&&(b=BOOMR.window.json_parse));try{return b(a)}catch(c){}return null}function d(a){if(a.session_id){BOOMR.session.ID=a.session_id;delete a.session_id}for(var b=["h.key","h.d","h.t","h.cr"],c=0;c<b.length;c++)if(a[b[c]]){BOOMR.addVar(b[c],a[b[c]]);delete a[b[c]]}BOOMR.init(a);return!0}function e(b,e){a.BOOMR_configt=BOOMR.now();var g,h=c(b);if(h){g=e?BOOMR.utils.getLocalStorage("LOGN")||{}:{};for(var i in h)h.hasOwnProperty(i)&&(g[i]=h[i]);(r.storeConfig||h.LOGN&&h.LOGN.storeConfig)&&BOOMR.utils.setLocalStorage("LOGN",g,q);e||setTimeout(f,p);BOOMR.debug("Loading config from JSON response","LOGN");return d(h)}return!1}function f(){var c,g,l,m=i.createElement("A"),n=BOOMR.getBeaconURL?BOOMR.getBeaconURL():"",o=[];if(!k){l=BOOMR.utils.getLocalStorage("LOGN");if(l){BOOMR.debug("Loading config from localStorage","LOGN");if(d(l)){BOOMR.addVar("t_configls",Math.round(BOOMR.hrNow()));BOOMR.setImmediate(b)}}}for(c in BOOMR.plugins)BOOMR.plugins.hasOwnProperty(c)&&o.push(encodeURIComponent(c));h=BOOMR.now();g="https://c.go-mpulse.net/api/config.json";g+="?key="+BOOMR.getVar("h.key")+"&d="+encodeURIComponent(j)+"&t="+Math.round(h/3e5)+"&v="+BOOMR.version+(a===window?"":"&if=")+"&sl="+(BOOMR.session.length>0?1:0)+"&si="+BOOMR.session.ID+"-"+Math.round(BOOMR.session.start/1e3).toString(36)+(k?"&r=":"")+(n?"&bcn="+encodeURIComponent(n):"")+(k?"":"&plugins="+o.join(","));g+="&acao=";m.href=g;BOOMR.config_url=m.href;!function(a){if(window.XDomainRequest){var b=new XDomainRequest;b.open("GET",g);b.onload=function(){e(b.responseText,a)};b.send()}else{var c=new XMLHttpRequest;c.open("GET",g,!0);c.onreadystatechange=function(){4===c.readyState&&200===c.status&&e(c.responseText,a)};c.send(null)}}(k);k&&setTimeout(function(){f()},p)}function g(){BOOMR.removeVar("t_configjs");BOOMR.removeVar("t_configfb");BOOMR.removeVar("t_configls")}var h,i=document,j=a.location.hostname,k=!1,l=!1,m=!0,n=!1,o=a.BOOMR_LOGN_always,p=a.BOOMR_CONFIG_RELOAD_TIMEOUT||33e4,q=a.BOOMR_CONFIG_STORE_TIMEOUT||48e4;ready=!1;if(!BOOMR.plugins.LOGN&&!1!==o&&(void 0!==o||j&&"localhost"!==j&&!j.match(/\.\d+$/)&&!j.match(/^mhtml/)&&!j.match(/^file:\//))){var r={storeConfig:!1};BOOMR.plugins.LOGN={init:function(c){var d;BOOMR.utils.pluginConfig(r,c,"LOGN",["storeConfig"]);if(k||BOOMR.session.rate_limited)return this;if(c){if(c.rate_limited){BOOMR.session.rate_limited=!0;return this}void 0!==c.autorun&&(m=c.autorun)}if(l){BOOMR.fireEvent("config",c);ready=!0;BOOMR.setImmediate(b);if(h){BOOMR.addVar("t_configjs",BOOMR.now()-h);if("number"==typeof BOOMR_configt){BOOMR.addVar("t_configfb",BOOMR_configt-h);delete BOOMR_configt}}return this}BOOMR.registerEvent("config");a&&a.BOOMR_API_key?d=a.BOOMR_API_key:i&&BOOMR.url&&-1!==BOOMR.url.lastIndexOf("/")&&(d=BOOMR.url.substr(BOOMR.url.lastIndexOf("/")+1));if(d){BOOMR.addVar("h.key",d);if(!n&&BOOMR.plugins&&BOOMR.plugins.AutoXHR&&"function"==typeof BOOMR.plugins.AutoXHR.addExcludeFilter){BOOMR.plugins.AutoXHR.addExcludeFilter(function(a){return!!(a&&a.href&&a.href.indexOf(this)>-1)},d,"ConfigXHRRequestFilter");n=!0}BOOMR.setVarPriority("h.d",-1);BOOMR.setVarPriority("h.key",-1);BOOMR.setVarPriority("h.t",-1);BOOMR.setVarPriority("h.cr",1);BOOMR.subscribe("beacon",g,null,null);l=!0;BOOMR.setImmediate(f);return this}BOOMR.error("API key could not be detected from script URL or BOOMR_API_key, exiting")},is_complete:function(){return ready},readyToSend:function(){return BOOMR.hasVar("h.cr")},isJson:!0}}}(BOOMR.window);BOOMR.init({primary:!0,log:null,site_domain:"",wait:!0,site_domain:null,ResourceTiming:{enabled:!1},Angular:{enabled:!1},Ember:{enabled:!1},Backbone:{enabled:!1},History:{enabled:!1},Errors:{enabled:!1},TPAnalytics:{enabled:!1},UserTiming:{enabled:!1},Continuity:{enabled:!1},IFrameDelay:{enabled:!1}});BOOMR.t_end=(new Date).getTime();
BOOMR.init();
}