/* jQuery v1.9.1 | (c) 2005, 2012 jQuery Foundation, Inc. | jquery.org/license //@ sourceMappingURL=jquery.min.map modernizr 3.3.1 (Custom Build) | MIT * https://modernizr.com/download/?-eventlistener-picture-printshiv-setclasses ! picturefill - v3.0.2 - 2016-02-12 https://scottjehl.github.io/picturefill/ Copyright (c) 2016 https://github.com/scottjehl/picturefill/blob/master/Authors.txt; Licensed MIT /#IFDEF perf_marker_global || log_define_timing */ 'use strict'; (function (B, t) { function p(d) { var h = d.length, n = k.type(d); return k.isWindow(d) ? !1 : 1 === d.nodeType && h ? !0 : "array" === n || "function" !== n && (0 === h || "number" == typeof h && 0 < h && h - 1 in d) } function I(d) { var h = uc[d] = {}; return k.each(d.match(oa) || [], function (n, v) { h[v] = !0 }), h } function x(d, h, n, v) { if (k.acceptData(d)) { var y, z, D = k.expando, H = "string" == typeof h, M = d.nodeType, Q = M ? k.cache : d, L = M ? d[D] : d[D] && D; if (L && Q[L] && (v || Q[L].data) || !H || n !== t) return L || (M ? d[D] = L = da.pop() || k.guid++ : L = D), Q[L] || (Q[L] = {}, M || (Q[L].toJSON = k.noop)), ("object" == typeof h || "function" == typeof h) && (v ? Q[L] = k.extend(Q[L], h) : Q[L].data = k.extend(Q[L].data, h)), y = Q[L], v || (y.data || (y.data = {}), y = y.data), n !== t && (y[k.camelCase(h)] = n), H ? (z = y[h], null == z && (z = y[k.camelCase(h)])) : z = y, z } } function u(d, h, n) { if (k.acceptData(d)) { var v, y, z = d.nodeType, D = z ? k.cache : d, H = z ? d[k.expando] : k.expando; if (D[H]) { if (h && (y = n ? D[H] : D[H].data)) { k.isArray(h) ? h = h.concat(k.map(h, k.camelCase)) : h in y ? h = [h] : (h = k.camelCase(h), h = h in y ? [h] : h.split(" ")); var M = 0; for (v = h.length; v > M; M++)delete y[h[M]]; if (!(n ? m : k.isEmptyObject)(y)) return } (n || (delete D[H].data, m(D[H]))) && (z ? k.cleanData([d], !0) : k.support.deleteExpando || D != D.window ? delete D[H] : D[H] = null) } } } function w(d, h, n) { if (n === t && 1 === d.nodeType) { var v = "data-" + h.replace(Uc, "-$1").toLowerCase(); if (n = d.getAttribute(v), "string" == typeof n) { try { n = "true" === n ? !0 : "false" === n ? !1 : "null" === n ? null : +n + "" === n ? +n : Vc.test(n) ? k.parseJSON(n) : n } catch (y) { } k.data(d, h, n) } else n = t } return n } function m(d) { for (var h in d) if (("data" !== h || !k.isEmptyObject(d[h])) && "toJSON" !== h) return !1; return !0 } function f() { return !0 } function q() { return !1 } function l(d, h) { do d = d[h]; while (d && 1 !== d.nodeType); return d } function c(d, h, n) { if (h = h || 0, k.isFunction(h)) return k.grep(d, function (y, z) { return !!h.call(y, z, y) === n }); if (h.nodeType) return k.grep(d, function (y) { return y === h === n }); if ("string" == typeof h) { var v = k.grep(d, function (y) { return 1 === y.nodeType }); if (Wc.test(h)) return k.filter(h, v, !n); h = k.filter(h, v) } return k.grep(d, function (y) { return 0 <= k.inArray(y, h) === n }) } function a(d) { var h = vc.split("|"); d = d.createDocumentFragment(); if (d.createElement) for (; h.length;)d.createElement(h.pop()); return d } function b(d, h) { return d.getElementsByTagName(h)[0] || d.appendChild(d.ownerDocument.createElement(h)) } function e(d) { var h = d.getAttributeNode("type"); return d.type = (h && h.specified) + "/" + d.type, d } function g(d) { var h = Xc.exec(d.type); return h ? d.type = h[1] : d.removeAttribute("type"), d } function r(d, h) { for (var n, v = 0; null != (n = d[v]); v++)k._data(n, "globalEval", !h || k._data(h[v], "globalEval")) } function A(d, h) { if (1 === h.nodeType && k.hasData(d)) { var n, v; var y = k._data(d); d = k._data(h, y); var z = y.events; if (z) for (n in delete d.handle, d.events = {}, z) for (y = 0, v = z[n].length; v > y; y++)k.event.add(h, n, z[n][y]); d.data && (d.data = k.extend({}, d.data)) } } function F(d, h) { var n, v, y = 0, z = typeof d.getElementsByTagName !== Ja ? d.getElementsByTagName(h || "*") : typeof d.querySelectorAll !== Ja ? d.querySelectorAll(h || "*") : t; if (!z) for (z = [], n = d.childNodes || d; null != (v = n[y]); y++)!h || k.nodeName(v, h) ? z.push(v) : k.merge(z, F(v, h)); return h === t || h && k.nodeName(d, h) ? k.merge([d], z) : z } function K(d) { cc.test(d.type) && (d.defaultChecked = d.checked) } function R(d, h) { if (h in d) return h; for (var n = h.charAt(0).toUpperCase() + h.slice(1), v = h, y = wc.length; y--;)if (h = wc[y] + n, h in d) return h; return v } function U(d, h) { return d = h || d, "none" === k.css(d, "display") || !k.contains(d.ownerDocument, d) } function ha(d, h) { for (var n, v, y, z = [], D = 0, H = d.length; H > D; D++)v = d[D], v.style && (z[D] = k._data(v, "olddisplay"), n = v.style.display, h ? (z[D] || "none" !== n || (v.style.display = ""), "" === v.style.display && U(v) && (z[D] = k._data(v, "olddisplay", T(v.nodeName)))) : z[D] || (y = U(v), (n && "none" !== n || !y) && k._data(v, "olddisplay", y ? n : k.css(v, "display")))); for (D = 0; H > D; D++)v = d[D], v.style && (h && "none" !== v.style.display && "" !== v.style.display || (v.style.display = h ? z[D] || "" : "none")); return d } function na(d, h, n) { return (d = Yc.exec(h)) ? Math.max(0, d[1] - (n || 0)) + (d[2] || "px") : h } function C(d, h, n, v, y) { h = n === (v ? "border" : "content") ? 4 : "width" === h ? 1 : 0; for (var z = 0; 4 > h; h += 2)"margin" === n && (z += k.css(d, n + Eb[h], !0, y)), v ? ("content" === n && (z -= k.css(d, "padding" + Eb[h], !0, y)), "margin" !== n && (z -= k.css(d, "border" + Eb[h] + "Width", !0, y))) : (z += k.css(d, "padding" + Eb[h], !0, y), "padding" !== n && (z += k.css(d, "border" + Eb[h] + "Width", !0, y))); return z } function O(d, h, n) { var v = !0, y = "width" === h ? d.offsetWidth : d.offsetHeight, z = Fb(d), D = k.support.boxSizing && "border-box" === k.css(d, "boxSizing", !1, z); if (0 >= y || null == y) { if (y = Gb(d, h, z), (0 > y || null == y) && (y = d.style[h]), Tb.test(y)) return y; v = D && (k.support.boxSizingReliable || y === d.style[h]); y = parseFloat(y) || 0 } return y + C(d, h, n || (D ? "border" : "content"), v, z) + "px" } function T(d) { var h = ja, n = xc[d]; return n || (n = aa(d, h), "none" !== n && n || (Pb = (Pb || k("\x3ciframe frameborder\x3d'0' width\x3d'0' height\x3d'0'/\x3e").css("cssText", "display:block !important")).appendTo(h.documentElement), h = (Pb[0].contentWindow || Pb[0].contentDocument).document, h.write("\x3c!doctype html\x3e\x3chtml\x3e\x3cbody\x3e"), h.close(), n = aa(d, h), Pb.detach()), xc[d] = n), n } function aa(d, h) { d = k(h.createElement(d)).appendTo(h.body); h = k.css(d[0], "display"); return d.remove(), h } function pa(d, h, n, v) { var y; if (k.isArray(h)) k.each(h, function (z, D) { n || Zc.test(d) ? v(d, D) : pa(d + "[" + ("object" == typeof D ? z : "") + "]", D, n, v) }); else if (n || "object" !== k.type(h)) v(d, h); else for (y in h) pa(d + "[" + y + "]", h[y], n, v) } function X(d) { return function (h, n) { "string" != typeof h && (n = h, h = "*"); var v = 0, y = h.toLowerCase().match(oa) || []; if (k.isFunction(n)) for (; h = y[v++];)"+" === h[0] ? (h = h.slice(1) || "*", (d[h] = d[h] || []).unshift(n)) : (d[h] = d[h] || []).push(n) } } function ea(d, h, n, v) { function y(H) { var M; return z[H] = !0, k.each(d[H] || [], function (Q, L) { Q = L(h, n, v); return "string" != typeof Q || D || z[Q] ? D ? !(M = Q) : t : (h.dataTypes.unshift(Q), y(Q), !1) }), M } var z = {}, D = d === dc; return y(h.dataTypes[0]) || !z["*"] && y("*") } function fa(d, h) { var n, v, y = k.ajaxSettings.flatOptions || {}; for (v in h) h[v] !== t && ((y[v] ? d : n || (n = {}))[v] = h[v]); return n && k.extend(!0, d, n), d } function Ba() { try { return new B.XMLHttpRequest } catch (d) { } } function hb() { return setTimeout(function () { Jb = t }), Jb = k.now() } function sb(d, h) { k.each(h, function (n, v) { for (var y = (Qb[n] || []).concat(Qb["*"]), z = 0, D = y.length; D > z && !y[z].call(d, n, v); z++); }) } function tb(d, h, n) { var v, y = 0, z = Ub.length, D = k.Deferred().always(function () { delete H.elem }), H = function () { if (v) return !1; var Q = Jb || hb(); Q = Math.max(0, M.startTime + M.duration - Q); for (var L = 1 - (Q / M.duration || 0), W = 0, Z = M.tweens.length; Z > W; W++)M.tweens[W].run(L); return D.notifyWith(d, [M, L, Q]), 1 > L && Z ? Q : (D.resolveWith(d, [M]), !1) }, M = D.promise({ elem: d, props: k.extend({}, h), opts: k.extend(!0, { specialEasing: {} }, n), originalProperties: h, originalOptions: n, startTime: Jb || hb(), duration: n.duration, tweens: [], createTween: function (Q, L) { Q = k.Tween(d, M.opts, Q, L, M.opts.specialEasing[Q] || M.opts.easing); return M.tweens.push(Q), Q }, stop: function (Q) { var L = 0, W = Q ? M.tweens.length : 0; if (v) return this; for (v = !0; W > L; L++)M.tweens[L].run(1); return Q ? D.resolveWith(d, [M, Q]) : D.rejectWith(d, [M, Q]), this } }); n = M.props; for (Qa(n, M.opts.specialEasing); z > y; y++)if (h = Ub[y].call(M, d, n, M.opts)) return h; return sb(M, n), k.isFunction(M.opts.start) && M.opts.start.call(d, M), k.fx.timer(k.extend(H, { elem: d, anim: M, queue: M.opts.queue })), M.progress(M.opts.progress).done(M.opts.done, M.opts.complete).fail(M.opts.fail).always(M.opts.always) } function Qa(d, h) { var n, v, y, z, D; for (y in d) if (v = k.camelCase(y), z = h[v], n = d[y], k.isArray(n) && (z = n[1], n = d[y] = n[0]), y !== v && (d[v] = n, delete d[y]), D = k.cssHooks[v], D && "expand" in D) for (y in n = D.expand(n), delete d[v], n) y in d || (d[y] = n[y], h[y] = z); else h[v] = z } function za(d, h, n, v, y) { return new za.prototype.init(d, h, n, v, y) } function Ha(d, h) { var n = { height: d }, v = 0; for (h = h ? 1 : 0; 4 > v; v += 2 - h) { var y = Eb[v]; n["margin" + y] = n["padding" + y] = d } return h && (n.opacity = n.width = d), n } function ab(d) { return k.isWindow(d) ? d : 9 === d.nodeType ? d.defaultView || d.parentWindow : !1 } var La, Ja = typeof t, ja = B.document, xb = B.location, db = B.jQuery, N = B.$, S = {}, da = [], Y = da.concat, ma = da.push, qa = da.slice, Ma = da.indexOf, xa = S.toString, la = S.hasOwnProperty, sa = "1.9.1".trim, k = function (d, h) { return new k.fn.init(d, h, $c) }, Ia = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, oa = /\S+/g, Ga = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, bb = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/, pb = /^<(\w+)\s*\/?>(?:<\/\1>|)$/, vb = /^[\],:{}\s]*$/, Ra = /(?:^|:|,)(?:\s*\[)+/g, kb = /\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g, qb = /"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g, Rb = /^-ms-/, Kb = /-([\da-z])/gi, Vb = function (d, h) { return h.toUpperCase() }, zb = function (d) { (ja.addEventListener || "load" === d.type || "complete" === ja.readyState) && (yc(), k.ready()) }, yc = function () { ja.addEventListener ? (ja.removeEventListener("DOMContentLoaded", zb, !1), B.removeEventListener("load", zb, !1)) : (ja.detachEvent("onreadystatechange", zb), B.detachEvent("onload", zb)) }; k.fn = k.prototype = { jquery: "1.9.1", constructor: k, init: function (d, h, n) { var v, y; if (!d) return this; if ("string" == typeof d) { if (v = "\x3c" === d.charAt(0) && "\x3e" === d.charAt(d.length - 1) && 3 <= d.length ? [null, d, null] : bb.exec(d), !v || !v[1] && h) return !h || h.jquery ? (h || n).find(d) : this.constructor(h).find(d); if (v[1]) { if (h = h instanceof k ? h[0] : h, k.merge(this, k.parseHTML(v[1], h && h.nodeType ? h.ownerDocument || h : ja, !0)), pb.test(v[1]) && k.isPlainObject(h)) for (v in h) k.isFunction(this[v]) ? this[v](h[v]) : this.attr(v, h[v]); return this } if (y = ja.getElementById(v[2]), y && y.parentNode) { if (y.id !== v[2]) return n.find(d); this.length = 1; this[0] = y } return this.context = ja, this.selector = d, this } return d.nodeType ? (this.context = this[0] = d, this.length = 1, this) : k.isFunction(d) ? n.ready(d) : (d.selector !== t && (this.selector = d.selector, this.context = d.context), k.makeArray(d, this)) }, selector: "", length: 0, size: function () { return this.length }, toArray: function () { return qa.call(this) }, get: function (d) { return null == d ? this.toArray() : 0 > d ? this[this.length + d] : this[d] }, pushStack: function (d) { d = k.merge(this.constructor(), d); return d.prevObject = this, d.context = this.context, d }, each: function (d, h) { return k.each(this, d, h) }, ready: function (d) { return k.ready.promise().done(d), this }, slice: function () { return this.pushStack(qa.apply(this, arguments)) }, first: function () { return this.eq(0) }, last: function () { return this.eq(-1) }, eq: function (d) { var h = this.length; d = +d + (0 > d ? h : 0); return this.pushStack(0 <= d && h > d ? [this[d]] : []) }, map: function (d) { return this.pushStack(k.map(this, function (h, n) { return d.call(h, n, h) })) }, end: function () { return this.prevObject || this.constructor(null) }, push: ma, sort: [].sort, splice: [].splice }; k.fn.init.prototype = k.fn; k.extend = k.fn.extend = function () { var d, h, n, v, y = arguments[0] || {}, z = 1, D = arguments.length, H = !1; "boolean" == typeof y && (H = y, y = arguments[1] || {}, z = 2); "object" == typeof y || k.isFunction(y) || (y = {}); for (D === z && (y = this, --z); D > z; z++)if (null != (n = arguments[z])) for (h in n) { var M = y[h]; var Q = n[h]; y !== Q && (H && Q && (k.isPlainObject(Q) || (d = k.isArray(Q))) ? (d ? (d = !1, v = M && k.isArray(M) ? M : []) : v = M && k.isPlainObject(M) ? M : {}, y[h] = k.extend(H, v, Q)) : Q !== t && (y[h] = Q)) } return y }; k.extend({ noConflict: function (d) { return B.$ === k && (B.$ = N), d && B.jQuery === k && (B.jQuery = db), k }, isReady: !1, readyWait: 1, holdReady: function (d) { d ? k.readyWait++ : k.ready(!0) }, ready: function (d) { if (!0 === d ? !--k.readyWait : !k.isReady) { if (!ja.body) return setTimeout(k.ready); k.isReady = !0; !0 !== d && 0 < --k.readyWait || (La.resolveWith(ja, [k]), k.fn.trigger && k(ja).trigger("ready").off("ready")) } }, isFunction: function (d) { return "function" === k.type(d) }, isArray: Array.isArray || function (d) { return "array" === k.type(d) }, isWindow: function (d) { return null != d && d == d.window }, isNumeric: function (d) { return !isNaN(parseFloat(d)) && isFinite(d) }, type: function (d) { return null == d ? d + "" : "object" == typeof d || "function" == typeof d ? S[xa.call(d)] || "object" : typeof d }, isPlainObject: function (d) { if (!d || "object" !== k.type(d) || d.nodeType || k.isWindow(d)) return !1; try { if (d.constructor && !la.call(d, "constructor") && !la.call(d.constructor.prototype, "isPrototypeOf")) return !1 } catch (n) { return !1 } for (var h in d); return h === t || la.call(d, h) }, isEmptyObject: function (d) { for (var h in d) return !1; return !0 }, error: function (d) { throw Error(d); }, parseHTML: function (d, h, n) { if (!d || "string" != typeof d) return null; "boolean" == typeof h && (n = h, h = !1); h = h || ja; var v = pb.exec(d); n = !n && []; return v ? [h.createElement(v[1])] : (v = k.buildFragment([d], h, n), n && k(n).remove(), k.merge([], v.childNodes)) }, parseJSON: function (d) { return B.JSON && B.JSON.parse ? B.JSON.parse(d) : null === d ? d : "string" == typeof d && (d = k.trim(d), d && vb.test(d.replace(kb, "@").replace(qb, "]").replace(Ra, ""))) ? Function("return " + d)() : (k.error("Invalid JSON: " + d), t) }, parseXML: function (d) { var h, n; if (!d || "string" != typeof d) return null; try { B.DOMParser ? (n = new DOMParser, h = n.parseFromString(d, "text/xml")) : (h = new ActiveXObject("Microsoft.XMLDOM"), h.async = "false", h.loadXML(d)) } catch (v) { h = t } return h && h.documentElement && !h.getElementsByTagName("parsererror").length || k.error("Invalid XML: " + d), h }, noop: function () { }, globalEval: function (d) { d && k.trim(d) && (B.execScript || function (h) { B.eval.call(B, h) })(d) }, camelCase: function (d) { return d.replace(Rb, "ms-").replace(Kb, Vb) }, nodeName: function (d, h) { return d.nodeName && d.nodeName.toLowerCase() === h.toLowerCase() }, each: function (d, h, n) { var v, y = 0, z = d.length, D = p(d); if (n) if (D) for (; z > y && (v = h.apply(d[y], n), !1 !== v); y++); else for (y in d) { if (v = h.apply(d[y], n), !1 === v) break } else if (D) for (; z > y && (v = h.call(d[y], y, d[y]), !1 !== v); y++); else for (y in d) if (v = h.call(d[y], y, d[y]), !1 === v) break; return d }, trim: sa && !sa.call("\ufeff\u00a0") ? function (d) { return null == d ? "" : sa.call(d) } : function (d) { return null == d ? "" : (d + "").replace(Ga, "") }, makeArray: function (d, h) { h = h || []; return null != d && (p(Object(d)) ? k.merge(h, "string" == typeof d ? [d] : d) : ma.call(h, d)), h }, inArray: function (d, h, n) { if (h) { if (Ma) return Ma.call(h, d, n); var v = h.length; for (n = n ? 0 > n ? Math.max(0, v + n) : n : 0; v > n; n++)if (n in h && h[n] === d) return n } return -1 }, merge: function (d, h) { var n = h.length, v = d.length, y = 0; if ("number" == typeof n) for (; n > y; y++)d[v++] = h[y]; else for (; h[y] !== t;)d[v++] = h[y++]; return d.length = v, d }, grep: function (d, h, n) { var v = [], y = 0, z = d.length; for (n = !!n; z > y; y++) { var D = !!h(d[y], y); n !== D && v.push(d[y]) } return v }, map: function (d, h, n) { var v = 0, y = d.length, z = []; if (p(d)) for (; y > v; v++) { var D = h(d[v], v, n); null != D && (z[z.length] = D) } else for (v in d) D = h(d[v], v, n), null != D && (z[z.length] = D); return Y.apply([], z) }, guid: 1, proxy: function (d, h) { var n, v, y; return "string" == typeof h && (y = d[h], h = d, d = y), k.isFunction(d) ? (n = qa.call(arguments, 2), v = function () { return d.apply(h || this, n.concat(qa.call(arguments))) }, v.guid = d.guid = d.guid || k.guid++, v) : t }, access: function (d, h, n, v, y, z, D) { var H = 0, M = d.length, Q = null == n; if ("object" === k.type(n)) for (H in y = !0, n) k.access(d, h, H, n[H], !0, z, D); else if (v !== t && (y = !0, k.isFunction(v) || (D = !0), Q && (D ? (h.call(d, v), h = null) : (Q = h, h = function (L, W, Z) { return Q.call(k(L), Z) })), h)) for (; M > H; H++)h(d[H], n, D ? v : v.call(d[H], H, h(d[H], n))); return y ? d : Q ? h.call(d) : M ? h(d[0], n) : z }, now: function () { return (new Date).getTime() } }); k.ready.promise = function (d) { if (!La) if (La = k.Deferred(), "complete" === ja.readyState) setTimeout(k.ready); else if (ja.addEventListener) ja.addEventListener("DOMContentLoaded", zb, !1), B.addEventListener("load", zb, !1); else { ja.attachEvent("onreadystatechange", zb); B.attachEvent("onload", zb); var h = !1; try { h = null == B.frameElement && ja.documentElement } catch (n) { } h && h.doScroll && function v() { if (!k.isReady) { try { h.doScroll("left") } catch (y) { return setTimeout(v, 50) } yc(); k.ready() } }() } return La.promise(d) }; k.each("Boolean Number String Function Array Date RegExp Object Error".split(" "), function (d, h) { S["[object " + h + "]"] = h.toLowerCase() }); var $c = k(ja); var uc = {}; k.Callbacks = function (d) { d = "string" == typeof d ? uc[d] || I(d) : k.extend({}, d); var h, n, v, y, z, D, H = [], M = !d.once && [], Q = function (W) { n = d.memory && W; v = !0; z = D || 0; D = 0; y = H.length; for (h = !0; H && y > z; z++)if (!1 === H[z].apply(W[0], W[1]) && d.stopOnFalse) { n = !1; break } h = !1; H && (M ? M.length && Q(M.shift()) : n ? H = [] : L.disable()) }, L = { add: function () { if (H) { var W = H.length; (function Da(ta) { k.each(ta, function (cb, Ta) { cb = k.type(Ta); "function" === cb ? d.unique && L.has(Ta) || H.push(Ta) : Ta && Ta.length && "string" !== cb && Da(Ta) }) })(arguments); h ? y = H.length : n && (D = W, Q(n)) } return this }, remove: function () { return H && k.each(arguments, function (W, Z) { for (var ta; -1 < (ta = k.inArray(Z, H, ta));)H.splice(ta, 1), h && (y >= ta && y--, z >= ta && z--) }), this }, has: function (W) { return W ? -1 < k.inArray(W, H) : !(!H || !H.length) }, empty: function () { return H = [], this }, disable: function () { return H = M = n = t, this }, disabled: function () { return !H }, lock: function () { return M = t, n || L.disable(), this }, locked: function () { return !M }, fireWith: function (W, Z) { return Z = Z || [], Z = [W, Z.slice ? Z.slice() : Z], !H || v && !M || (h ? M.push(Z) : Q(Z)), this }, fire: function () { return L.fireWith(this, arguments), this }, fired: function () { return !!v } }; return L }; k.extend({ Deferred: function (d) { var h = [["resolve", "done", k.Callbacks("once memory"), "resolved"], ["reject", "fail", k.Callbacks("once memory"), "rejected"], ["notify", "progress", k.Callbacks("memory")]], n = "pending", v = { state: function () { return n }, always: function () { return y.done(arguments).fail(arguments), this }, then: function () { var z = arguments; return k.Deferred(function (D) { k.each(h, function (H, M) { var Q = M[0], L = k.isFunction(z[H]) && z[H]; y[M[1]](function () { var W = L && L.apply(this, arguments); W && k.isFunction(W.promise) ? W.promise().done(D.resolve).fail(D.reject).progress(D.notify) : D[Q + "With"](this === v ? D.promise() : this, L ? [W] : arguments) }) }); z = null }).promise() }, promise: function (z) { return null != z ? k.extend(z, v) : v } }, y = {}; return v.pipe = v.then, k.each(h, function (z, D) { var H = D[2], M = D[3]; v[D[1]] = H.add; M && H.add(function () { n = M }, h[1 ^ z][2].disable, h[2][2].lock); y[D[0]] = function () { return y[D[0] + "With"](this === y ? v : this, arguments), this }; y[D[0] + "With"] = H.fireWith }), v.promise(y), d && d.call(y, y), y }, when: function (d) { var h = 0, n = qa.call(arguments), v = n.length, y = 1 !== v || d && k.isFunction(d.promise) ? v : 0, z = 1 === y ? d : k.Deferred(), D = function (L, W, Z) { return function (ta) { W[L] = this; Z[L] = 1 < arguments.length ? qa.call(arguments) : ta; Z === M ? z.notifyWith(W, Z) : --y || z.resolveWith(W, Z) } }, H; if (1 < v) { var M = Array(v); var Q = Array(v); for (H = Array(v); v > h; h++)n[h] && k.isFunction(n[h].promise) ? n[h].promise().done(D(h, H, n)).fail(z.reject).progress(D(h, Q, M)) : --y } return y || z.resolveWith(H, n), z.promise() } }); k.support = function () { var d, h, n, v, y = ja.createElement("div"); if (y.setAttribute("className", "t"), y.innerHTML = " \x3clink/\x3e\x3ctable\x3e\x3c/table\x3e\x3ca href\x3d'/a'\x3ea\x3c/a\x3e\x3cinput type\x3d'checkbox'/\x3e", d = y.getElementsByTagName("*"), h = y.getElementsByTagName("a")[0], !d || !h || !d.length) return {}; var z = ja.createElement("select"); var D = z.appendChild(ja.createElement("option")); d = y.getElementsByTagName("input")[0]; h.style.cssText = "top:1px;float:left;opacity:.5"; var H = { getSetAttribute: "t" !== y.className, leadingWhitespace: 3 === y.firstChild.nodeType, tbody: !y.getElementsByTagName("tbody").length, htmlSerialize: !!y.getElementsByTagName("link").length, style: /top/.test(h.getAttribute("style")), hrefNormalized: "/a" === h.getAttribute("href"), opacity: /^0.5/.test(h.style.opacity), cssFloat: !!h.style.cssFloat, checkOn: !!d.value, optSelected: D.selected, enctype: !!ja.createElement("form").enctype, html5Clone: "\x3c:nav\x3e\x3c/:nav\x3e" !== ja.createElement("nav").cloneNode(!0).outerHTML, boxModel: "CSS1Compat" === ja.compatMode, deleteExpando: !0, noCloneEvent: !0, inlineBlockNeedsLayout: !1, shrinkWrapBlocks: !1, reliableMarginRight: !0, boxSizingReliable: !0, pixelPosition: !1 }; d.checked = !0; H.noCloneChecked = d.cloneNode(!0).checked; z.disabled = !0; H.optDisabled = !D.disabled; try { delete y.test } catch (M) { H.deleteExpando = !1 } d = ja.createElement("input"); d.setAttribute("value", ""); H.input = "" === d.getAttribute("value"); d.value = "t"; d.setAttribute("type", "radio"); H.radioValue = "t" === d.value; d.setAttribute("checked", "t"); d.setAttribute("name", "t"); h = ja.createDocumentFragment(); h.appendChild(d); H.appendChecked = d.checked; H.checkClone = h.cloneNode(!0).cloneNode(!0).lastChild.checked; y.attachEvent && (y.attachEvent("onclick", function () { H.noCloneEvent = !1 }), y.cloneNode(!0).click()); for (v in { submit: !0, change: !0, focusin: !0 }) y.setAttribute(h = "on" + v, "t"), H[v + "Bubbles"] = h in B || !1 === y.attributes[h].expando; return y.style.backgroundClip = "content-box", y.cloneNode(!0).style.backgroundClip = "", H.clearCloneStyle = "content-box" === y.style.backgroundClip, k(function () { var M, Q, L, W = ja.getElementsByTagName("body")[0]; W && (M = ja.createElement("div"), M.style.cssText = "border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px", W.appendChild(M).appendChild(y), y.innerHTML = "\x3ctable\x3e\x3ctr\x3e\x3ctd\x3e\x3c/td\x3e\x3ctd\x3et\x3c/td\x3e\x3c/tr\x3e\x3c/table\x3e", L = y.getElementsByTagName("td"), L[0].style.cssText = "padding:0;margin:0;border:0;display:none", n = 0 === L[0].offsetHeight, L[0].style.display = "", L[1].style.display = "none", H.reliableHiddenOffsets = n && 0 === L[0].offsetHeight, y.innerHTML = "", y.style.cssText = "box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;", H.boxSizing = 4 === y.offsetWidth, H.doesNotIncludeMarginInBodyOffset = 1 !== W.offsetTop, B.getComputedStyle && (H.pixelPosition = "1%" !== (B.getComputedStyle(y, null) || {}).top, H.boxSizingReliable = "4px" === (B.getComputedStyle(y, null) || { width: "4px" }).width, Q = y.appendChild(ja.createElement("div")), Q.style.cssText = y.style.cssText = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;", Q.style.marginRight = Q.style.width = "0", y.style.width = "1px", H.reliableMarginRight = !parseFloat((B.getComputedStyle(Q, null) || {}).marginRight)), typeof y.style.zoom !== Ja && (y.innerHTML = "", y.style.cssText = "padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;width:1px;padding:1px;display:inline;zoom:1", H.inlineBlockNeedsLayout = 3 === y.offsetWidth, y.style.display = "block", y.innerHTML = "\x3cdiv\x3e\x3c/div\x3e", y.firstChild.style.width = "5px", H.shrinkWrapBlocks = 3 !== y.offsetWidth, H.inlineBlockNeedsLayout && (W.style.zoom = 1)), W.removeChild(M), y = null) }), d = z = h = D = h = d = null, H }(); var Vc = /(?:\{[\s\S]*\}|\[[\s\S]*\])$/, Uc = /([A-Z])/g; k.extend({ cache: {}, expando: "jQuery" + ("1.9.1" + Math.random()).replace(/\D/g, ""), noData: { embed: !0, object: "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000", applet: !0 }, hasData: function (d) { return d = d.nodeType ? k.cache[d[k.expando]] : d[k.expando], !!d && !m(d) }, data: function (d, h, n) { return x(d, h, n) }, removeData: function (d, h) { return u(d, h) }, _data: function (d, h, n) { return x(d, h, n, !0) }, _removeData: function (d, h) { return u(d, h, !0) }, acceptData: function (d) { if (d.nodeType && 1 !== d.nodeType && 9 !== d.nodeType) return !1; var h = d.nodeName && k.noData[d.nodeName.toLowerCase()]; return !h || !0 !== h && d.getAttribute("classid") === h } }); k.fn.extend({ data: function (d, h) { var n, v = this[0], y = 0, z = null; if (d === t) { if (this.length && (z = k.data(v), 1 === v.nodeType && !k._data(v, "parsedAttrs"))) { for (n = v.attributes; n.length > y; y++) { var D = n[y].name; D.indexOf("data-") || (D = k.camelCase(D.slice(5)), w(v, D, z[D])) } k._data(v, "parsedAttrs", !0) } return z } return "object" == typeof d ? this.each(function () { k.data(this, d) }) : k.access(this, function (H) { return H === t ? v ? w(v, d, k.data(v, d)) : null : (this.each(function () { k.data(this, d, H) }), t) }, null, h, 1 < arguments.length, null, !0) }, removeData: function (d) { return this.each(function () { k.removeData(this, d) }) } }); k.extend({ queue: function (d, h, n) { var v; return d ? (h = (h || "fx") + "queue", v = k._data(d, h), n && (!v || k.isArray(n) ? v = k._data(d, h, k.makeArray(n)) : v.push(n)), v || []) : t }, dequeue: function (d, h) { h = h || "fx"; var n = k.queue(d, h), v = n.length, y = n.shift(), z = k._queueHooks(d, h), D = function () { k.dequeue(d, h) }; "inprogress" === y && (y = n.shift(), v--); (z.cur = y) && ("fx" === h && n.unshift("inprogress"), delete z.stop, y.call(d, D, z)); !v && z && z.empty.fire() }, _queueHooks: function (d, h) { var n = h + "queueHooks"; return k._data(d, n) || k._data(d, n, { empty: k.Callbacks("once memory").add(function () { k._removeData(d, h + "queue"); k._removeData(d, n) }) }) } }); k.fn.extend({ queue: function (d, h) { var n = 2; return "string" != typeof d && (h = d, d = "fx", n--), n > arguments.length ? k.queue(this[0], d) : h === t ? this : this.each(function () { var v = k.queue(this, d, h); k._queueHooks(this, d); "fx" === d && "inprogress" !== v[0] && k.dequeue(this, d) }) }, dequeue: function (d) { return this.each(function () { k.dequeue(this, d) }) }, delay: function (d, h) { return d = k.fx ? k.fx.speeds[d] || d : d, h = h || "fx", this.queue(h, function (n, v) { var y = setTimeout(n, d); v.stop = function () { clearTimeout(y) } }) }, clearQueue: function (d) { return this.queue(d || "fx", []) }, promise: function (d, h) { var n, v = 1, y = k.Deferred(), z = this, D = this.length, H = function () { --v || y.resolveWith(z, [z]) }; "string" != typeof d && (h = d, d = t); for (d = d || "fx"; D--;)(n = k._data(z[D], d + "queueHooks")) && n.empty && (v++, n.empty.add(H)); return H(), y.promise(h) } }); var Lb, ec = /[\t\r\n]/g, ad = /\r/g, bd = /^(?:input|select|textarea|button|object)$/i, cd = /^(?:a|area)$/i, zc = /^(?:checked|selected|autofocus|autoplay|async|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped)$/i, fc = /^(?:checked|selected)$/i, Hb = k.support.getSetAttribute, gc = k.support.input; k.fn.extend({ attr: function (d, h) { return k.access(this, k.attr, d, h, 1 < arguments.length) }, removeAttr: function (d) { return this.each(function () { k.removeAttr(this, d) }) }, prop: function (d, h) { return k.access(this, k.prop, d, h, 1 < arguments.length) }, removeProp: function (d) { return d = k.propFix[d] || d, this.each(function () { try { this[d] = t, delete this[d] } catch (h) { } }) }, addClass: function (d) { var h, n, v, y, z = 0, D = this.length; var H = "string" == typeof d && d; if (k.isFunction(d)) return this.each(function (M) { k(this).addClass(d.call(this, M, this.className)) }); if (H) for (H = (d || "").match(oa) || []; D > z; z++)if (h = this[z], n = 1 === h.nodeType && (h.className ? (" " + h.className + " ").replace(ec, " ") : " ")) { for (y = 0; v = H[y++];)0 > n.indexOf(" " + v + " ") && (n += v + " "); h.className = k.trim(n) } return this }, removeClass: function (d) { var h, n, v, y, z = 0, D = this.length; var H = 0 === arguments.length || "string" == typeof d && d; if (k.isFunction(d)) return this.each(function (M) { k(this).removeClass(d.call(this, M, this.className)) }); if (H) for (H = (d || "").match(oa) || []; D > z; z++)if (h = this[z], n = 1 === h.nodeType && (h.className ? (" " + h.className + " ").replace(ec, " ") : "")) { for (y = 0; v = H[y++];)for (; 0 <= n.indexOf(" " + v + " ");)n = n.replace(" " + v + " ", " "); h.className = d ? k.trim(n) : "" } return this }, toggleClass: function (d, h) { var n = typeof d, v = "boolean" == typeof h; return k.isFunction(d) ? this.each(function (y) { k(this).toggleClass(d.call(this, y, this.className, h), h) }) : this.each(function () { if ("string" === n) for (var y, z = 0, D = k(this), H = h, M = d.match(oa) || []; y = M[z++];)H = v ? H : !D.hasClass(y), D[H ? "addClass" : "removeClass"](y); else (n === Ja || "boolean" === n) && (this.className && k._data(this, "__className__", this.className), this.className = this.className || !1 === d ? "" : k._data(this, "__className__") || "") }) }, hasClass: function (d) { d = " " + d + " "; for (var h = 0, n = this.length; n > h; h++)if (1 === this[h].nodeType && 0 <= (" " + this[h].className + " ").replace(ec, " ").indexOf(d)) return !0; return !1 }, val: function (d) { var h, n, v, y = this[0]; if (arguments.length) return v = k.isFunction(d), this.each(function (z) { var D, H = k(this); 1 === this.nodeType && (D = v ? d.call(this, z, H.val()) : d, null == D ? D = "" : "number" == typeof D ? D += "" : k.isArray(D) && (D = k.map(D, function (M) { return null == M ? "" : M + "" })), n = k.valHooks[this.type] || k.valHooks[this.nodeName.toLowerCase()], n && "set" in n && n.set(this, D, "value") !== t || (this.value = D)) }); if (y) return n = k.valHooks[y.type] || k.valHooks[y.nodeName.toLowerCase()], n && "get" in n && (h = n.get(y, "value")) !== t ? h : (h = y.value, "string" == typeof h ? h.replace(ad, "") : null == h ? "" : h) } }); k.extend({ valHooks: { option: { get: function (d) { var h = d.attributes.value; return !h || h.specified ? d.value : d.text } }, select: { get: function (d) { for (var h, n = d.options, v = d.selectedIndex, y = "select-one" === d.type || 0 > v, z = y ? null : [], D = y ? v + 1 : n.length, H = 0 > v ? D : y ? v : 0; D > H; H++)if (h = n[H], !(!h.selected && H !== v || (k.support.optDisabled ? h.disabled : null !== h.getAttribute("disabled")) || h.parentNode.disabled && k.nodeName(h.parentNode, "optgroup"))) { if (d = k(h).val(), y) return d; z.push(d) } return z }, set: function (d, h) { var n = k.makeArray(h); return k(d).find("option").each(function () { this.selected = 0 <= k.inArray(k(this).val(), n) }), n.length || (d.selectedIndex = -1), n } } }, attr: function (d, h, n) { var v, y, z, D = d.nodeType; if (d && 3 !== D && 8 !== D && 2 !== D) return typeof d.getAttribute === Ja ? k.prop(d, h, n) : (y = 1 !== D || !k.isXMLDoc(d), y && (h = h.toLowerCase(), v = k.attrHooks[h] || (zc.test(h) ? dd : Lb)), n === t ? v && y && "get" in v && null !== (z = v.get(d, h)) ? z : (typeof d.getAttribute !== Ja && (z = d.getAttribute(h)), null == z ? t : z) : null !== n ? v && y && "set" in v && (z = v.set(d, n, h)) !== t ? z : (d.setAttribute(h, n + ""), n) : (k.removeAttr(d, h), t)) }, removeAttr: function (d, h) { var n = 0, v = h && h.match(oa); if (v && 1 === d.nodeType) for (; h = v[n++];) { var y = k.propFix[h] || h; zc.test(h) ? !Hb && fc.test(h) ? d[k.camelCase("default-" + h)] = d[y] = !1 : d[y] = !1 : k.attr(d, h, ""); d.removeAttribute(Hb ? h : y) } }, attrHooks: { type: { set: function (d, h) { if (!k.support.radioValue && "radio" === h && k.nodeName(d, "input")) { var n = d.value; return d.setAttribute("type", h), n && (d.value = n), h } } } }, propFix: { tabindex: "tabIndex", readonly: "readOnly", "for": "htmlFor", "class": "className", maxlength: "maxLength", cellspacing: "cellSpacing", cellpadding: "cellPadding", rowspan: "rowSpan", colspan: "colSpan", usemap: "useMap", frameborder: "frameBorder", contenteditable: "contentEditable" }, prop: function (d, h, n) { var v, y, z, D = d.nodeType; if (d && 3 !== D && 8 !== D && 2 !== D) return z = 1 !== D || !k.isXMLDoc(d), z && (h = k.propFix[h] || h, y = k.propHooks[h]), n !== t ? y && "set" in y && (v = y.set(d, n, h)) !== t ? v : d[h] = n : y && "get" in y && null !== (v = y.get(d, h)) ? v : d[h] }, propHooks: { tabIndex: { get: function (d) { var h = d.getAttributeNode("tabindex"); return h && h.specified ? parseInt(h.value, 10) : bd.test(d.nodeName) || cd.test(d.nodeName) && d.href ? 0 : t } } } }); var dd = { get: function (d, h) { var n = k.prop(d, h), v = "boolean" == typeof n && d.getAttribute(h); return (d = "boolean" == typeof n ? gc && Hb ? null != v : fc.test(h) ? d[k.camelCase("default-" + h)] : !!v : d.getAttributeNode(h)) && !1 !== d.value ? h.toLowerCase() : t }, set: function (d, h, n) { return !1 === h ? k.removeAttr(d, n) : gc && Hb || !fc.test(n) ? d.setAttribute(!Hb && k.propFix[n] || n, n) : d[k.camelCase("default-" + n)] = d[n] = !0, n } }; gc && Hb || (k.attrHooks.value = { get: function (d, h) { h = d.getAttributeNode(h); return k.nodeName(d, "input") ? d.defaultValue : h && h.specified ? h.value : t }, set: function (d, h, n) { return k.nodeName(d, "input") ? (d.defaultValue = h, t) : Lb && Lb.set(d, h, n) } }); Hb || (Lb = k.valHooks.button = { get: function (d, h) { return (d = d.getAttributeNode(h)) && ("id" === h || "name" === h || "coords" === h ? "" !== d.value : d.specified) ? d.value : t }, set: function (d, h, n) { var v = d.getAttributeNode(n); return v || d.setAttributeNode(v = d.ownerDocument.createAttribute(n)), v.value = h += "", "value" === n || h === d.getAttribute(n) ? h : t } }, k.attrHooks.contenteditable = { get: Lb.get, set: function (d, h, n) { Lb.set(d, "" === h ? !1 : h, n) } }, k.each(["width", "height"], function (d, h) { k.attrHooks[h] = k.extend(k.attrHooks[h], { set: function (n, v) { return "" === v ? (n.setAttribute(h, "auto"), v) : t } }) })); k.support.hrefNormalized || (k.each(["href", "src", "width", "height"], function (d, h) { k.attrHooks[h] = k.extend(k.attrHooks[h], { get: function (n) { n = n.getAttribute(h, 2); return null == n ? t : n } }) }), k.each(["href", "src"], function (d, h) { k.propHooks[h] = { get: function (n) { return n.getAttribute(h, 4) } } })); k.support.style || (k.attrHooks.style = { get: function (d) { return d.style.cssText || t }, set: function (d, h) { return d.style.cssText = h + "" } }); k.support.optSelected || (k.propHooks.selected = k.extend(k.propHooks.selected, { get: function (d) { d = d.parentNode; return d && (d.selectedIndex, d.parentNode && d.parentNode.selectedIndex), null } })); k.support.enctype || (k.propFix.enctype = "encoding"); k.support.checkOn || k.each(["radio", "checkbox"], function () { k.valHooks[this] = { get: function (d) { return null === d.getAttribute("value") ? "on" : d.value } } }); k.each(["radio", "checkbox"], function () { k.valHooks[this] = k.extend(k.valHooks[this], { set: function (d, h) { return k.isArray(h) ? d.checked = 0 <= k.inArray(k(d).val(), h) : t } }) }); var hc = /^(?:input|select|textarea)$/i, ed = /^key/, fd = /^(?:mouse|contextmenu)|click/, Ac = /^(?:focusinfocus|focusoutblur)$/, Bc = /^([^.]*)(?:\.(.+)|)$/; k.event = { global: {}, add: function (d, h, n, v, y) { var z, D, H, M, Q, L; if (D = k._data(d)) { n.handler && (H = n, n = H.handler, y = H.selector); n.guid || (n.guid = k.guid++); (z = D.events) || (z = D.events = {}); (M = D.handle) || (M = D.handle = function (Da) { return typeof k === Ja || Da && k.event.triggered === Da.type ? t : k.event.dispatch.apply(M.elem, arguments) }, M.elem = d); h = (h || "").match(oa) || [""]; for (D = h.length; D--;) { var W = Bc.exec(h[D]) || []; var Z = Q = W[1]; var ta = (W[2] || "").split(".").sort(); W = k.event.special[Z] || {}; Z = (y ? W.delegateType : W.bindType) || Z; W = k.event.special[Z] || {}; Q = k.extend({ type: Z, origType: Q, data: v, handler: n, guid: n.guid, selector: y, needsContext: y && k.expr.match.needsContext.test(y), namespace: ta.join(".") }, H); (L = z[Z]) || (L = z[Z] = [], L.delegateCount = 0, W.setup && !1 !== W.setup.call(d, v, ta, M) || (d.addEventListener ? d.addEventListener(Z, M, !1) : d.attachEvent && d.attachEvent("on" + Z, M))); W.add && (W.add.call(d, Q), Q.handler.guid || (Q.handler.guid = n.guid)); y ? L.splice(L.delegateCount++, 0, Q) : L.push(Q); k.event.global[Z] = !0 } d = null } }, remove: function (d, h, n, v, y) { var z, D, H, M, Q, L, W, Z, ta = k.hasData(d) && k._data(d); if (ta && (Q = ta.events)) { h = (h || "").match(oa) || [""]; for (M = h.length; M--;)if (D = Bc.exec(h[M]) || [], L = Z = D[1], W = (D[2] || "").split(".").sort(), L) { var Da = k.event.special[L] || {}; L = (v ? Da.delegateType : Da.bindType) || L; var cb = Q[L] || []; D = D[2] && RegExp("(^|\\.)" + W.join("\\.(?:.*\\.|)") + "(\\.|$)"); for (H = z = cb.length; z--;) { var Ta = cb[z]; !y && Z !== Ta.origType || n && n.guid !== Ta.guid || D && !D.test(Ta.namespace) || v && v !== Ta.selector && ("**" !== v || !Ta.selector) || (cb.splice(z, 1), Ta.selector && cb.delegateCount--, Da.remove && Da.remove.call(d, Ta)) } H && !cb.length && (Da.teardown && !1 !== Da.teardown.call(d, W, ta.handle) || k.removeEvent(d, L, ta.handle), delete Q[L]) } else for (L in Q) k.event.remove(d, L + h[M], n, v, !0); k.isEmptyObject(Q) && (delete ta.handle, k._removeData(d, "events")) } }, trigger: function (d, h, n, v) { var y, z, D, H, M = [n || ja], Q = la.call(d, "type") ? d.type : d; var L = la.call(d, "namespace") ? d.namespace.split(".") : []; if (D = y = n = n || ja, 3 !== n.nodeType && 8 !== n.nodeType && !Ac.test(Q + k.event.triggered) && (0 <= Q.indexOf(".") && (L = Q.split("."), Q = L.shift(), L.sort()), z = 0 > Q.indexOf(":") && "on" + Q, d = d[k.expando] ? d : new k.Event(Q, "object" == typeof d && d), d.isTrigger = !0, d.namespace = L.join("."), d.namespace_re = d.namespace ? RegExp("(^|\\.)" + L.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, d.result = t, d.target || (d.target = n), h = null == h ? [d] : k.makeArray(h, [d]), H = k.event.special[Q] || {}, v || !H.trigger || !1 !== H.trigger.apply(n, h))) { if (!v && !H.noBubble && !k.isWindow(n)) { var W = H.delegateType || Q; for (Ac.test(W + Q) || (D = D.parentNode); D; D = D.parentNode)M.push(D), y = D; y === (n.ownerDocument || ja) && M.push(y.defaultView || y.parentWindow || B) } for (L = 0; (D = M[L++]) && !d.isPropagationStopped();)d.type = 1 < L ? W : H.bindType || Q, (y = (k._data(D, "events") || {})[d.type] && k._data(D, "handle")) && y.apply(D, h), (y = z && D[z]) && k.acceptData(D) && y.apply && !1 === y.apply(D, h) && d.preventDefault(); if (d.type = Q, !(v || d.isDefaultPrevented() || H._default && !1 !== H._default.apply(n.ownerDocument, h) || "click" === Q && k.nodeName(n, "a")) && k.acceptData(n) && z && n[Q] && !k.isWindow(n)) { (y = n[z]) && (n[z] = null); k.event.triggered = Q; try { n[Q]() } catch (Z) { } k.event.triggered = t; y && (n[z] = y) } return d.result } }, dispatch: function (d) { d = k.event.fix(d); var h, n, v, y, z = qa.call(arguments); var D = (k._data(this, "events") || {})[d.type] || []; var H = k.event.special[d.type] || {}; if (z[0] = d, d.delegateTarget = this, !H.preDispatch || !1 !== H.preDispatch.call(this, d)) { var M = k.event.handlers.call(this, d, D); for (D = 0; (v = M[D++]) && !d.isPropagationStopped();)for (d.currentTarget = v.elem, y = 0; (n = v.handlers[y++]) && !d.isImmediatePropagationStopped();)d.namespace_re && !d.namespace_re.test(n.namespace) || (d.handleObj = n, d.data = n.data, h = ((k.event.special[n.origType] || {}).handle || n.handler).apply(v.elem, z), h === t || !1 !== (d.result = h) || (d.preventDefault(), d.stopPropagation())); return H.postDispatch && H.postDispatch.call(this, d), d.result } }, handlers: function (d, h) { var n, v = [], y = h.delegateCount, z = d.target; if (y && z.nodeType && (!d.button || "click" !== d.type)) for (; z != this; z = z.parentNode || this)if (1 === z.nodeType && (!0 !== z.disabled || "click" !== d.type)) { var D = []; for (n = 0; y > n; n++) { var H = h[n]; var M = H.selector + " "; D[M] === t && (D[M] = H.needsContext ? 0 <= k(M, this).index(z) : k.find(M, this, null, [z]).length); D[M] && D.push(H) } D.length && v.push({ elem: z, handlers: D }) } return h.length > y && v.push({ elem: this, handlers: h.slice(y) }), v }, fix: function (d) { if (d[k.expando]) return d; var h = d.type; var n = d, v = this.fixHooks[h]; v || (this.fixHooks[h] = v = fd.test(h) ? this.mouseHooks : ed.test(h) ? this.keyHooks : {}); var y = v.props ? this.props.concat(v.props) : this.props; d = new k.Event(n); for (h = y.length; h--;) { var z = y[h]; d[z] = n[z] } return d.target || (d.target = n.srcElement || ja), 3 === d.target.nodeType && (d.target = d.target.parentNode), d.metaKey = !!d.metaKey, v.filter ? v.filter(d, n) : d }, props: "altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "), fixHooks: {}, keyHooks: { props: ["char", "charCode", "key", "keyCode"], filter: function (d, h) { return null == d.which && (d.which = null != h.charCode ? h.charCode : h.keyCode), d } }, mouseHooks: { props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "), filter: function (d, h) { var n, v, y, z = h.button, D = h.fromElement; return null == d.pageX && null != h.clientX && (v = d.target.ownerDocument || ja, y = v.documentElement, n = v.body, d.pageX = h.clientX + (y && y.scrollLeft || n && n.scrollLeft || 0) - (y && y.clientLeft || n && n.clientLeft || 0), d.pageY = h.clientY + (y && y.scrollTop || n && n.scrollTop || 0) - (y && y.clientTop || n && n.clientTop || 0)), !d.relatedTarget && D && (d.relatedTarget = D === d.target ? h.toElement : D), d.which || z === t || (d.which = 1 & z ? 1 : 2 & z ? 3 : 4 & z ? 2 : 0), d } }, special: { load: { noBubble: !0 }, click: { trigger: function () { return k.nodeName(this, "input") && "checkbox" === this.type && this.click ? (this.click(), !1) : t } }, focus: { trigger: function () { if (this !== ja.activeElement && this.focus) try { return this.focus(), !1 } catch (d) { } }, delegateType: "focusin" }, blur: { trigger: function () { return this === ja.activeElement && this.blur ? (this.blur(), !1) : t }, delegateType: "focusout" }, beforeunload: { postDispatch: function (d) { d.result !== t && (d.originalEvent.returnValue = d.result) } } }, simulate: function (d, h, n, v) { d = k.extend(new k.Event, n, { type: d, isSimulated: !0, originalEvent: {} }); v ? k.event.trigger(d, null, h) : k.event.dispatch.call(h, d); d.isDefaultPrevented() && n.preventDefault() } }; k.removeEvent = ja.removeEventListener ? function (d, h, n) { d.removeEventListener && d.removeEventListener(h, n, !1) } : function (d, h, n) { h = "on" + h; d.detachEvent && (typeof d[h] === Ja && (d[h] = null), d.detachEvent(h, n)) }; k.Event = function (d, h) { return this instanceof k.Event ? (d && d.type ? (this.originalEvent = d, this.type = d.type, this.isDefaultPrevented = d.defaultPrevented || !1 === d.returnValue || d.getPreventDefault && d.getPreventDefault() ? f : q) : this.type = d, h && k.extend(this, h), this.timeStamp = d && d.timeStamp || k.now(), this[k.expando] = !0, t) : new k.Event(d, h) }; k.Event.prototype = { isDefaultPrevented: q, isPropagationStopped: q, isImmediatePropagationStopped: q, preventDefault: function () { var d = this.originalEvent; this.isDefaultPrevented = f; d && (d.preventDefault ? d.preventDefault() : d.returnValue = !1) }, stopPropagation: function () { var d = this.originalEvent; this.isPropagationStopped = f; d && (d.stopPropagation && d.stopPropagation(), d.cancelBubble = !0) }, stopImmediatePropagation: function () { this.isImmediatePropagationStopped = f; this.stopPropagation() } }; k.each({ mouseenter: "mouseover", mouseleave: "mouseout" }, function (d, h) { k.event.special[d] = { delegateType: h, bindType: h, handle: function (n) { var v, y = n.relatedTarget, z = n.handleObj; return (!y || y !== this && !k.contains(this, y)) && (n.type = z.origType, v = z.handler.apply(this, arguments), n.type = h), v } } }); k.support.submitBubbles || (k.event.special.submit = { setup: function () { return k.nodeName(this, "form") ? !1 : (k.event.add(this, "click._submit keypress._submit", function (d) { d = d.target; (d = k.nodeName(d, "input") || k.nodeName(d, "button") ? d.form : t) && !k._data(d, "submitBubbles") && (k.event.add(d, "submit._submit", function (h) { h._submit_bubble = !0 }), k._data(d, "submitBubbles", !0)) }), t) }, postDispatch: function (d) { d._submit_bubble && (delete d._submit_bubble, this.parentNode && !d.isTrigger && k.event.simulate("submit", this.parentNode, d, !0)) }, teardown: function () { return k.nodeName(this, "form") ? !1 : (k.event.remove(this, "._submit"), t) } }); k.support.changeBubbles || (k.event.special.change = { setup: function () { return hc.test(this.nodeName) ? (("checkbox" === this.type || "radio" === this.type) && (k.event.add(this, "propertychange._change", function (d) { "checked" === d.originalEvent.propertyName && (this._just_changed = !0) }), k.event.add(this, "click._change", function (d) { this._just_changed && !d.isTrigger && (this._just_changed = !1); k.event.simulate("change", this, d, !0) })), !1) : (k.event.add(this, "beforeactivate._change", function (d) { d = d.target; hc.test(d.nodeName) && !k._data(d, "changeBubbles") && (k.event.add(d, "change._change", function (h) { !this.parentNode || h.isSimulated || h.isTrigger || k.event.simulate("change", this.parentNode, h, !0) }), k._data(d, "changeBubbles", !0)) }), t) }, handle: function (d) { var h = d.target; return this !== h || d.isSimulated || d.isTrigger || "radio" !== h.type && "checkbox" !== h.type ? d.handleObj.handler.apply(this, arguments) : t }, teardown: function () { return k.event.remove(this, "._change"), !hc.test(this.nodeName) } }); k.support.focusinBubbles || k.each({ focus: "focusin", blur: "focusout" }, function (d, h) { var n = 0, v = function (y) { k.event.simulate(h, y.target, k.event.fix(y), !0) }; k.event.special[h] = { setup: function () { 0 === n++ && ja.addEventListener(d, v, !0) }, teardown: function () { 0 === --n && ja.removeEventListener(d, v, !0) } } }); k.fn.extend({ on: function (d, h, n, v, y) { var z, D; if ("object" == typeof d) { "string" != typeof h && (n = n || h, h = t); for (z in d) this.on(z, h, n, d[z], y); return this } if (null == n && null == v ? (v = h, n = h = t) : null == v && ("string" == typeof h ? (v = n, n = t) : (v = n, n = h, h = t)), !1 === v) v = q; else if (!v) return this; return 1 === y && (D = v, v = function (H) { return k().off(H), D.apply(this, arguments) }, v.guid = D.guid || (D.guid = k.guid++)), this.each(function () { k.event.add(this, d, v, n, h) }) }, one: function (d, h, n, v) { return this.on(d, h, n, v, 1) }, off: function (d, h, n) { var v, y; if (d && d.preventDefault && d.handleObj) return v = d.handleObj, k(d.delegateTarget).off(v.namespace ? v.origType + "." + v.namespace : v.origType, v.selector, v.handler), this; if ("object" == typeof d) { for (y in d) this.off(y, h, d[y]); return this } return (!1 === h || "function" == typeof h) && (n = h, h = t), !1 === n && (n = q), this.each(function () { k.event.remove(this, d, n, h) }) }, bind: function (d, h, n) { return this.on(d, null, h, n) }, unbind: function (d, h) { return this.off(d, null, h) }, delegate: function (d, h, n, v) { return this.on(h, d, n, v) }, undelegate: function (d, h, n) { return 1 === arguments.length ? this.off(d, "**") : this.off(h, d || "**", n) }, trigger: function (d, h) { return this.each(function () { k.event.trigger(d, h, this) }) }, triggerHandler: function (d, h) { var n = this[0]; return n ? k.event.trigger(d, h, n, !0) : t } }); (function (d, h) { function n() { var E, J = []; return E = function (G, P) { return J.push(G += " ") > Ca.cacheLength && delete E[J.shift()], E[G] = P } } function v(E) { return E[Ka] = !0, E } function y(E) { var J = Ea.createElement("div"); try { return E(J) } catch (G) { return !1 } finally { } } function z(E, J, G, P) { var V, ba, ca, ka, ia; if ((J ? J.ownerDocument || J : Va) !== Ea && Sb(J), J = J || Ea, G = G || [], !E || "string" != typeof E) return G; if (1 !== (ka = J.nodeType) && 9 !== ka) return []; if (!eb && !P) { if (V = gd.exec(E)) if (ca = V[1]) if (9 === ka) { if (ba = J.getElementById(ca), !ba || !ba.parentNode) return G; if (ba.id === ca) return G.push(ba), G } else { if (J.ownerDocument && (ba = J.ownerDocument.getElementById(ca)) && nb(J, ba) && ba.id === ca) return G.push(ba), G } else { if (V[2]) return Ab.apply(G, Mb.call(J.getElementsByTagName(E), 0)), G; if ((ca = V[3]) && Pa.getByClassName && J.getElementsByClassName) return Ab.apply(G, Mb.call(J.getElementsByClassName(ca), 0)), G } if (Pa.qsa && !Na.test(E)) { if (V = !0, ba = Ka, ca = J, ia = 9 === ka && E, 1 === ka && "object" !== J.nodeName.toLowerCase()) { ka = L(E); (V = J.getAttribute("id")) ? ba = V.replace(hd, "\\$\x26") : J.setAttribute("id", ba); ba = "[id\x3d'" + ba + "'] "; for (ca = ka.length; ca--;)ka[ca] = ba + W(ka[ca]); ca = ic.test(E) && J.parentNode || J; ia = ka.join(",") } if (ia) try { return Ab.apply(G, Mb.call(ca.querySelectorAll(ia), 0)), G } catch (Oa) { } finally { V || J.removeAttribute("id") } } } var ua; a: { E = E.replace(Wb, "$1"); var ra, va; ba = L(E); if (!P && 1 === ba.length) { if (ua = ba[0] = ba[0].slice(0), 2 < ua.length && "ID" === (ra = ua[0]).type && 9 === J.nodeType && !eb && Ca.relative[ua[1].type]) { if (J = Ca.find.ID(ra.matches[0].replace(Bb, Cb), J)[0], !J) { ua = G; break a } E = E.slice(ua.shift().value.length) } for (ka = Xb.needsContext.test(E) ? 0 : ua.length; ka-- && (ra = ua[ka], !Ca.relative[V = ra.type]);)if ((va = Ca.find[V]) && (P = va(ra.matches[0].replace(Bb, Cb), ic.test(ua[0].type) && J.parentNode || J))) { if (ua.splice(ka, 1), E = P.length && W(ua), !E) { ua = (Ab.apply(G, Mb.call(P, 0)), G); break a } break } } ua = (Cc(E, ba)(P, J, eb, G, ic.test(E)), G) } return ua } function D(E, J) { var G = J && E, P = G && (~J.sourceIndex || -2147483648) - (~E.sourceIndex || -2147483648); if (P) return P; if (G) for (; G = G.nextSibling;)if (G === J) return -1; return E ? 1 : -1 } function H(E) { return function (J) { return "input" === J.nodeName.toLowerCase() && J.type === E } } function M(E) { return function (J) { var G = J.nodeName.toLowerCase(); return ("input" === G || "button" === G) && J.type === E } } function Q(E) { return v(function (J) { return J = +J, v(function (G, P) { for (var V, ba = E([], G.length, J), ca = ba.length; ca--;)G[V = ba[ca]] && (G[V] = !(P[V] = G[V])) }) }) } function L(E, J) { var G, P, V, ba, ca; if (ba = Wa[E + " "]) return J ? 0 : ba.slice(0); ba = E; var ka = []; for (ca = Ca.preFilter; ba;) { ia && !(G = id.exec(ba)) || (G && (ba = ba.slice(G[0].length) || ba), ka.push(P = [])); var ia = !1; (G = jd.exec(ba)) && (ia = G.shift(), P.push({ value: ia, type: G[0].replace(Wb, " ") }), ba = ba.slice(ia.length)); for (V in Ca.filter) !(G = Xb[V].exec(ba)) || ca[V] && !(G = ca[V](G)) || (ia = G.shift(), P.push({ value: ia, type: V, matches: G }), ba = ba.slice(ia.length)); if (!ia) break } return J ? ba.length : ba ? z.error(E) : Wa(E, ka).slice(0) } function W(E) { for (var J = 0, G = E.length, P = ""; G > J; J++)P += E[J].value; return P } function Z(E, J, G) { var P = J.dir, V = G && "parentNode" === P, ba = Yb++; return J.first ? function (ca, ka, ia) { for (; ca = ca[P];)if (1 === ca.nodeType || V) return E(ca, ka, ia) } : function (ca, ka, ia) { var ua, ra, va, Oa = Za + " " + ba; if (ia) for (; ca = ca[P];) { if ((1 === ca.nodeType || V) && E(ca, ka, ia)) return !0 } else for (; ca = ca[P];)if (1 === ca.nodeType || V) if (va = ca[Ka] || (ca[Ka] = {}), (ra = va[P]) && ra[0] === Oa) { if (!0 === (ua = ra[1]) || ua === wa) return !0 === ua } else if (ra = va[P] = [Oa], ra[1] = E(ca, ka, ia) || wa, !0 === ra[1]) return !0 } } function ta(E) { return 1 < E.length ? function (J, G, P) { for (var V = E.length; V--;)if (!E[V](J, G, P)) return !1; return !0 } : E[0] } function Da(E, J, G, P, V) { for (var ba, ca = [], ka = 0, ia = E.length, ua = null != J; ia > ka; ka++)(ba = E[ka]) && (!G || G(ba, P, V)) && (ca.push(ba), ua && J.push(ka)); return ca } function cb(E, J, G, P, V, ba) { return P && !P[Ka] && (P = cb(P)), V && !V[Ka] && (V = cb(V, ba)), v(function (ca, ka, ia, ua) { var ra, va = [], Oa = [], ob = ka.length, Sa; if (!(Sa = ca)) { Sa = J || "*"; for (var Aa = ia.nodeType ? [ia] : ia, ib = [], Xa = 0, Zb = Aa.length; Zb > Xa; Xa++)z(Sa, Aa[Xa], ib); Sa = ib } Sa = !E || !ca && J ? Sa : Da(Sa, va, E, ia, ua); Aa = G ? V || (ca ? E : ob || P) ? [] : ka : Sa; if (G && G(Sa, Aa, ia, ua), P) { var ub = Da(Aa, Oa); P(ub, [], ia, ua); for (ia = ub.length; ia--;)(ra = ub[ia]) && (Aa[Oa[ia]] = !(Sa[Oa[ia]] = ra)) } if (ca) { if (V || E) { if (V) { ub = []; for (ia = Aa.length; ia--;)(ra = Aa[ia]) && ub.push(Sa[ia] = ra); V(null, Aa = [], ub, ua) } for (ia = Aa.length; ia--;)(ra = Aa[ia]) && -1 < (ub = V ? jc.call(ca, ra) : va[ia]) && (ca[ub] = !(ka[ub] = ra)) } } else Aa = Da(Aa === ka ? Aa.splice(ob, Aa.length) : Aa), V ? V(null, ka, Aa, ua) : Ab.apply(ka, Aa) }) } function Ta(E) { var J, G, P = E.length, V = Ca.relative[E[0].type]; var ba = V || Ca.relative[" "]; for (var ca = V ? 1 : 0, ka = Z(function (ra) { return ra === J }, ba, !0), ia = Z(function (ra) { return -1 < jc.call(J, ra) }, ba, !0), ua = [function (ra, va, Oa) { return !V && (Oa || va !== ya) || ((J = va).nodeType ? ka(ra, va, Oa) : ia(ra, va, Oa)) }]; P > ca; ca++)if (ba = Ca.relative[E[ca].type]) ua = [Z(ta(ua), ba)]; else { if (ba = Ca.filter[E[ca].type].apply(null, E[ca].matches), ba[Ka]) { for (G = ++ca; P > G && !Ca.relative[E[G].type]; G++); return cb(1 < ca && ta(ua), 1 < ca && W(E.slice(0, ca - 1)).replace(Wb, "$1"), ba, G > ca && Ta(E.slice(ca, G)), P > G && Ta(E = E.slice(G)), P > G && W(E)) } ua.push(ba) } return ta(ua) } function $b(E, J) { var G = 0, P = 0 < J.length, V = 0 < E.length, ba = function (ca, ka, ia, ua, ra) { var va, Oa, ob = [], Sa = 0, Aa = "0", ib = ca && [], Xa = null != ra, Zb = ya, ub = ca || V && Ca.find.TAG("*", ra && ka.parentNode || ka), Dc = Za += null == Zb ? 1 : Math.random() || .1; for (Xa && (ya = ka !== Ea && ka, wa = G); null != (ra = ub[Aa]); Aa++) { if (V && ra) { for (va = 0; Oa = E[va++];)if (Oa(ra, ka, ia)) { ua.push(ra); break } Xa && (Za = Dc, wa = ++G) } P && ((ra = !Oa && ra) && Sa--, ca && ib.push(ra)) } if (Sa += Aa, P && Aa !== Sa) { for (va = 0; Oa = J[va++];)Oa(ib, ob, ka, ia); if (ca) { if (0 < Sa) for (; Aa--;)ib[Aa] || ob[Aa] || (ob[Aa] = Db.call(ua)); ob = Da(ob) } Ab.apply(ua, ob); Xa && !ca && 0 < ob.length && 1 < Sa + J.length && z.uniqueSort(ua) } return Xa && (Za = Dc, ya = Zb), ib }; return P ? v(ba) : ba } function lb() { } var yb, wa, $a, ya, Ea, Fa, eb, Na, fb, Ya, nb, mb, Ka = "sizzle" + -new Date, Va = d.document, Pa = {}, Za = 0, Yb = 0, wb = n(), Wa = n(), gb = n(), jb = typeof h, Ua = [], Db = Ua.pop, Ab = Ua.push, Mb = Ua.slice, jc = Ua.indexOf || function (E) { for (var J = 0, G = this.length; G > J; J++)if (this[J] === E) return J; return -1 }; Ua = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+".replace("w", "w#"); var Ec = "\\[[\\x20\\t\\r\\n\\f]*((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)[\\x20\\t\\r\\n\\f]*(?:([*^$|!~]?\x3d)[\\x20\\t\\r\\n\\f]*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|(" + Ua + ")|)|)[\\x20\\t\\r\\n\\f]*\\]", kc = ":((?:\\\\.|[\\w-]|[^\\x00-\\xa0])+)(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|" + Ec.replace(3, 8) + ")*)|.*)\\)|)", Wb = /^[\x20\t\r\n\f]+|((?:^|[^\\])(?:\\.)*)[\x20\t\r\n\f]+$/g, id = /^[\x20\t\r\n\f]*,[\x20\t\r\n\f]*/, jd = /^[\x20\t\r\n\f]*([\x20\t\r\n\f>+~])[\x20\t\r\n\f]*/, kd = RegExp(kc), ld = RegExp("^" + Ua + "$"), Xb = { ID: /^#((?:\\.|[\w-]|[^\x00-\xa0])+)/, CLASS: /^\.((?:\\.|[\w-]|[^\x00-\xa0])+)/, NAME: /^\[name=['"]?((?:\\.|[\w-]|[^\x00-\xa0])+)['"]?\]/, TAG: RegExp("^(" + "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+".replace("w", "w*") + ")"), ATTR: RegExp("^" + Ec), PSEUDO: RegExp("^" + kc), CHILD: /^:(only|first|last|nth|nth-last)-(child|of-type)(?:\([\x20\t\r\n\f]*(even|odd|(([+-]|)(\d*)n|)[\x20\t\r\n\f]*(?:([+-]|)[\x20\t\r\n\f]*(\d+)|))[\x20\t\r\n\f]*\)|)/i, needsContext: /^[\x20\t\r\n\f]*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\([\x20\t\r\n\f]*((?:-\d)?\d*)[\x20\t\r\n\f]*\)|)(?=[^-]|$)/i }, ic = /[\x20\t\r\n\f]*[+~]/, lc = /^[^{]+\{\s*\[native code/, gd = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, md = /^(?:input|select|textarea|button)$/i, nd = /^h\d$/i, hd = /'|\\/g, od = /=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g, Bb = /\\([\da-fA-F]{1,6}[\x20\t\r\n\f]?|.)/g, Cb = function (E, J) { E = "0x" + J - 65536; return E !== E ? J : 0 > E ? String.fromCharCode(E + 65536) : String.fromCharCode(55296 | E >> 10, 56320 | 1023 & E) }; try { Mb.call(Va.documentElement.childNodes, 0)[0].nodeType } catch (E) { Mb = function (J) { for (var G, P = []; G = this[J++];)P.push(G); return P } } var pd = z.isXML = function (E) { return (E = E && (E.ownerDocument || E).documentElement) ? "HTML" !== E.nodeName : !1 }; var Sb = z.setDocument = function (E) { var J = E ? E.ownerDocument || E : Va; return J !== Ea && 9 === J.nodeType && J.documentElement ? (Ea = J, Fa = J.documentElement, eb = pd(J), Pa.tagNameNoComments = y(function (G) { return G.appendChild(J.createComment("")), !G.getElementsByTagName("*").length }), Pa.attributes = y(function (G) { G.innerHTML = "\x3cselect\x3e\x3c/select\x3e"; G = typeof G.lastChild.getAttribute("multiple"); return "boolean" !== G && "string" !== G }), Pa.getByClassName = y(function (G) { return G.innerHTML = "\x3cdiv class\x3d'hidden e'\x3e\x3c/div\x3e\x3cdiv class\x3d'hidden'\x3e\x3c/div\x3e", G.getElementsByClassName && G.getElementsByClassName("e").length ? (G.lastChild.className = "e", 2 === G.getElementsByClassName("e").length) : !1 }), Pa.getByName = y(function (G) { G.id = Ka + 0; G.innerHTML = "\x3ca name\x3d'" + Ka + "'\x3e\x3c/a\x3e\x3cdiv name\x3d'" + Ka + "'\x3e\x3c/div\x3e"; Fa.insertBefore(G, Fa.firstChild); var P = J.getElementsByName && J.getElementsByName(Ka).length === 2 + J.getElementsByName(Ka + 0).length; return Pa.getIdNotName = !J.getElementById(Ka), Fa.removeChild(G), P }), Ca.attrHandle = y(function (G) { return G.innerHTML = "\x3ca href\x3d'#'\x3e\x3c/a\x3e", G.firstChild && typeof G.firstChild.getAttribute !== jb && "#" === G.firstChild.getAttribute("href") }) ? {} : { href: function (G) { return G.getAttribute("href", 2) }, type: function (G) { return G.getAttribute("type") } }, Pa.getIdNotName ? (Ca.find.ID = function (G, P) { if (typeof P.getElementById !== jb && !eb) return (G = P.getElementById(G)) && G.parentNode ? [G] : [] }, Ca.filter.ID = function (G) { var P = G.replace(Bb, Cb); return function (V) { return V.getAttribute("id") === P } }) : (Ca.find.ID = function (G, P) { if (typeof P.getElementById !== jb && !eb) return (P = P.getElementById(G)) ? P.id === G || typeof P.getAttributeNode !== jb && P.getAttributeNode("id").value === G ? [P] : h : [] }, Ca.filter.ID = function (G) { var P = G.replace(Bb, Cb); return function (V) { return (V = typeof V.getAttributeNode !== jb && V.getAttributeNode("id")) && V.value === P } }), Ca.find.TAG = Pa.tagNameNoComments ? function (G, P) { return typeof P.getElementsByTagName !== jb ? P.getElementsByTagName(G) : h } : function (G, P) { var V = [], ba = 0; P = P.getElementsByTagName(G); if ("*" === G) { for (; G = P[ba++];)1 === G.nodeType && V.push(G); return V } return P }, Ca.find.NAME = Pa.getByName && function (G, P) { return typeof P.getElementsByName !== jb ? P.getElementsByName(name) : h }, Ca.find.CLASS = Pa.getByClassName && function (G, P) { return typeof P.getElementsByClassName === jb || eb ? h : P.getElementsByClassName(G) }, fb = [], Na = [":focus"], (Pa.qsa = lc.test(J.querySelectorAll + "")) && (y(function (G) { G.innerHTML = "\x3cselect\x3e\x3coption selected\x3d''\x3e\x3c/option\x3e\x3c/select\x3e"; G.querySelectorAll("[selected]").length || Na.push("\\[[\\x20\\t\\r\\n\\f]*(?:checked|disabled|ismap|multiple|readonly|selected|value)"); G.querySelectorAll(":checked").length || Na.push(":checked") }), y(function (G) { G.innerHTML = "\x3cinput type\x3d'hidden' i\x3d''/\x3e"; G.querySelectorAll("[i^\x3d'']").length && Na.push("[*^$]\x3d[\\x20\\t\\r\\n\\f]*(?:\"\"|'')"); G.querySelectorAll(":enabled").length || Na.push(":enabled", ":disabled"); G.querySelectorAll("*,:x"); Na.push(",.*:") })), (Pa.matchesSelector = lc.test((Ya = Fa.matchesSelector || Fa.mozMatchesSelector || Fa.webkitMatchesSelector || Fa.oMatchesSelector || Fa.msMatchesSelector) + "")) && y(function (G) { Pa.disconnectedMatch = Ya.call(G, "div"); Ya.call(G, "[s!\x3d'']:x"); fb.push("!\x3d", kc) }), Na = RegExp(Na.join("|")), fb = RegExp(fb.join("|")), nb = lc.test(Fa.contains + "") || Fa.compareDocumentPosition ? function (G, P) { var V = 9 === G.nodeType ? G.documentElement : G; P = P && P.parentNode; return G === P || !(!P || 1 !== P.nodeType || !(V.contains ? V.contains(P) : G.compareDocumentPosition && 16 & G.compareDocumentPosition(P))) } : function (G, P) { if (P) for (; P = P.parentNode;)if (P === G) return !0; return !1 }, mb = Fa.compareDocumentPosition ? function (G, P) { var V; return G === P ? ($a = !0, 0) : (V = P.compareDocumentPosition && G.compareDocumentPosition && G.compareDocumentPosition(P)) ? 1 & V || G.parentNode && 11 === G.parentNode.nodeType ? G === J || nb(Va, G) ? -1 : P === J || nb(Va, P) ? 1 : 0 : 4 & V ? -1 : 1 : G.compareDocumentPosition ? -1 : 1 } : function (G, P) { var V = 0, ba = G.parentNode, ca = P.parentNode, ka = [G], ia = [P]; if (G === P) return $a = !0, 0; if (!ba || !ca) return G === J ? -1 : P === J ? 1 : ba ? -1 : ca ? 1 : 0; if (ba === ca) return D(G, P); for (; G = G.parentNode;)ka.unshift(G); for (G = P; G = G.parentNode;)ia.unshift(G); for (; ka[V] === ia[V];)V++; return V ? D(ka[V], ia[V]) : ka[V] === Va ? -1 : ia[V] === Va ? 1 : 0 }, $a = !1, [0, 0].sort(mb), Pa.detectDuplicates = $a, Ea) : Ea }; z.matches = function (E, J) { return z(E, null, null, J) }; z.matchesSelector = function (E, J) { if ((E.ownerDocument || E) !== Ea && Sb(E), J = J.replace(od, "\x3d'$1']"), !(!Pa.matchesSelector || eb || fb && fb.test(J) || Na.test(J))) try { var G = Ya.call(E, J); if (G || Pa.disconnectedMatch || E.document && 11 !== E.document.nodeType) return G } catch (P) { } return 0 < z(J, Ea, null, [E]).length }; z.contains = function (E, J) { return (E.ownerDocument || E) !== Ea && Sb(E), nb(E, J) }; z.attr = function (E, J) { var G; return (E.ownerDocument || E) !== Ea && Sb(E), eb || (J = J.toLowerCase()), (G = Ca.attrHandle[J]) ? G(E) : eb || Pa.attributes ? E.getAttribute(J) : ((G = E.getAttributeNode(J)) || E.getAttribute(J)) && !0 === E[J] ? J : G && G.specified ? G.value : null }; z.error = function (E) { throw Error("Syntax error, unrecognized expression: " + E); }; z.uniqueSort = function (E) { var J, G = [], P = 1, V = 0; if ($a = !Pa.detectDuplicates, E.sort(mb), $a) { for (; J = E[P]; P++)J === E[P - 1] && (V = G.push(P)); for (; V--;)E.splice(G[V], 1) } return E }; var mc = z.getText = function (E) { var J, G = "", P = 0; if (J = E.nodeType) if (1 === J || 9 === J || 11 === J) { if ("string" == typeof E.textContent) return E.textContent; for (E = E.firstChild; E; E = E.nextSibling)G += mc(E) } else { if (3 === J || 4 === J) return E.nodeValue } else for (; J = E[P]; P++)G += mc(J); return G }; var Ca = z.selectors = { cacheLength: 50, createPseudo: v, match: Xb, find: {}, relative: { "\x3e": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function (E) { return E[1] = E[1].replace(Bb, Cb), E[3] = (E[4] || E[5] || "").replace(Bb, Cb), "~\x3d" === E[2] && (E[3] = " " + E[3] + " "), E.slice(0, 4) }, CHILD: function (E) { return E[1] = E[1].toLowerCase(), "nth" === E[1].slice(0, 3) ? (E[3] || z.error(E[0]), E[4] = +(E[4] ? E[5] + (E[6] || 1) : 2 * ("even" === E[3] || "odd" === E[3])), E[5] = +(E[7] + E[8] || "odd" === E[3])) : E[3] && z.error(E[0]), E }, PSEUDO: function (E) { var J, G = !E[5] && E[2]; return Xb.CHILD.test(E[0]) ? null : (E[4] ? E[2] = E[4] : G && kd.test(G) && (J = L(G, !0)) && (J = G.indexOf(")", G.length - J) - G.length) && (E[0] = E[0].slice(0, J), E[2] = G.slice(0, J)), E.slice(0, 3)) } }, filter: { TAG: function (E) { return "*" === E ? function () { return !0 } : (E = E.replace(Bb, Cb).toLowerCase(), function (J) { return J.nodeName && J.nodeName.toLowerCase() === E }) }, CLASS: function (E) { var J = wb[E + " "]; return J || (J = RegExp("(^|[\\x20\\t\\r\\n\\f])" + E + "([\\x20\\t\\r\\n\\f]|$)")) && wb(E, function (G) { return J.test(G.className || typeof G.getAttribute !== jb && G.getAttribute("class") || "") }) }, ATTR: function (E, J, G) { return function (P) { P = z.attr(P, E); return null == P ? "!\x3d" === J : J ? (P += "", "\x3d" === J ? P === G : "!\x3d" === J ? P !== G : "^\x3d" === J ? G && 0 === P.indexOf(G) : "*\x3d" === J ? G && -1 < P.indexOf(G) : "$\x3d" === J ? G && P.slice(-G.length) === G : "~\x3d" === J ? -1 < (" " + P + " ").indexOf(G) : "|\x3d" === J ? P === G || P.slice(0, G.length + 1) === G + "-" : !1) : !0 } }, CHILD: function (E, J, G, P, V) { var ba = "nth" !== E.slice(0, 3), ca = "last" !== E.slice(-4), ka = "of-type" === J; return 1 === P && 0 === V ? function (ia) { return !!ia.parentNode } : function (ia, ua, ra) { var va; ua = ba !== ca ? "nextSibling" : "previousSibling"; var Oa = ia.parentNode, ob = ka && ia.nodeName.toLowerCase(); ra = !ra && !ka; if (Oa) { if (ba) { for (; ua;) { for (va = ia; va = va[ua];)if (ka ? va.nodeName.toLowerCase() === ob : 1 === va.nodeType) return !1; var Sa = ua = "only" === E && !Sa && "nextSibling" } return !0 } if (Sa = [ca ? Oa.firstChild : Oa.lastChild], ca && ra) { ra = Oa[Ka] || (Oa[Ka] = {}); var Aa = ra[E] || []; var ib = Aa[0] === Za && Aa[1]; var Xa = Aa[0] === Za && Aa[2]; for (va = ib && Oa.childNodes[ib]; va = ++ib && va && va[ua] || (Xa = ib = 0) || Sa.pop();)if (1 === va.nodeType && ++Xa && va === ia) { ra[E] = [Za, ib, Xa]; break } } else if (ra && (Aa = (ia[Ka] || (ia[Ka] = {}))[E]) && Aa[0] === Za) Xa = Aa[1]; else for (; (va = ++ib && va && va[ua] || (Xa = ib = 0) || Sa.pop()) && ((ka ? va.nodeName.toLowerCase() !== ob : 1 !== va.nodeType) || !++Xa || (ra && ((va[Ka] || (va[Ka] = {}))[E] = [Za, Xa]), va !== ia));); return Xa -= V, Xa === P || 0 === Xa % P && 0 <= Xa / P } } }, PSEUDO: function (E, J) { var G, P = Ca.pseudos[E] || Ca.setFilters[E.toLowerCase()] || z.error("unsupported pseudo: " + E); return P[Ka] ? P(J) : 1 < P.length ? (G = [E, E, "", J], Ca.setFilters.hasOwnProperty(E.toLowerCase()) ? v(function (V, ba) { for (var ca, ka = P(V, J), ia = ka.length; ia--;)ca = jc.call(V, ka[ia]), V[ca] = !(ba[ca] = ka[ia]) }) : function (V) { return P(V, 0, G) }) : P } }, pseudos: { not: v(function (E) { var J = [], G = [], P = Cc(E.replace(Wb, "$1")); return P[Ka] ? v(function (V, ba, ca, ka) { var ia; ca = P(V, null, ka, []); for (ka = V.length; ka--;)(ia = ca[ka]) && (V[ka] = !(ba[ka] = ia)) }) : function (V, ba, ca) { return J[0] = V, P(J, null, ca, G), !G.pop() } }), has: v(function (E) { return function (J) { return 0 < z(E, J).length } }), contains: v(function (E) { return function (J) { return -1 < (J.textContent || J.innerText || mc(J)).indexOf(E) } }), lang: v(function (E) { return ld.test(E || "") || z.error("unsupported lang: " + E), E = E.replace(Bb, Cb).toLowerCase(), function (J) { var G; do if (G = eb ? J.getAttribute("xml:lang") || J.getAttribute("lang") : J.lang) return G = G.toLowerCase(), G === E || 0 === G.indexOf(E + "-"); while ((J = J.parentNode) && 1 === J.nodeType); return !1 } }), target: function (E) { var J = d.location && d.location.hash; return J && J.slice(1) === E.id }, root: function (E) { return E === Fa }, focus: function (E) { return E === Ea.activeElement && (!Ea.hasFocus || Ea.hasFocus()) && !!(E.type || E.href || ~E.tabIndex) }, enabled: function (E) { return !1 === E.disabled }, disabled: function (E) { return !0 === E.disabled }, checked: function (E) { var J = E.nodeName.toLowerCase(); return "input" === J && !!E.checked || "option" === J && !!E.selected }, selected: function (E) { return E.parentNode && E.parentNode.selectedIndex, !0 === E.selected }, empty: function (E) { for (E = E.firstChild; E; E = E.nextSibling)if ("@" < E.nodeName || 3 === E.nodeType || 4 === E.nodeType) return !1; return !0 }, parent: function (E) { return !Ca.pseudos.empty(E) }, header: function (E) { return nd.test(E.nodeName) }, input: function (E) { return md.test(E.nodeName) }, button: function (E) { var J = E.nodeName.toLowerCase(); return "input" === J && "button" === E.type || "button" === J }, text: function (E) { var J; return "input" === E.nodeName.toLowerCase() && "text" === E.type && (null == (J = E.getAttribute("type")) || J.toLowerCase() === E.type) }, first: Q(function () { return [0] }), last: Q(function (E, J) { return [J - 1] }), eq: Q(function (E, J, G) { return [0 > G ? G + J : G] }), even: Q(function (E, J) { for (var G = 0; J > G; G += 2)E.push(G); return E }), odd: Q(function (E, J) { for (var G = 1; J > G; G += 2)E.push(G); return E }), lt: Q(function (E, J, G) { for (J = 0 > G ? G + J : G; 0 <= --J;)E.push(J); return E }), gt: Q(function (E, J, G) { for (G = 0 > G ? G + J : G; J > ++G;)E.push(G); return E }) } }; for (yb in { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) Ca.pseudos[yb] = H(yb); for (yb in { submit: !0, reset: !0 }) Ca.pseudos[yb] = M(yb); var Cc = z.compile = function (E, J) { var G, P = [], V = [], ba = gb[E + " "]; if (!ba) { J || (J = L(E)); for (G = J.length; G--;)ba = Ta(J[G]), ba[Ka] ? P.push(ba) : V.push(ba); ba = gb(E, $b(V, P)) } return ba }; Ca.pseudos.nth = Ca.pseudos.eq; Ca.filters = lb.prototype = Ca.pseudos; Ca.setFilters = new lb; Sb(); z.attr = k.attr; k.find = z; k.expr = z.selectors; k.expr[":"] = k.expr.pseudos; k.unique = z.uniqueSort; k.text = z.getText; k.isXMLDoc = z.isXML; k.contains = z.contains })(B); var qd = /Until$/, rd = /^(?:parents|prev(?:Until|All))/, Wc = /^.[^:#\[\.,]*$/, Fc = k.expr.match.needsContext, sd = { children: !0, contents: !0, next: !0, prev: !0 }; k.fn.extend({ find: function (d) { var h, n, v = this.length; if ("string" != typeof d) return n = this, this.pushStack(k(d).filter(function () { for (h = 0; v > h; h++)if (k.contains(n[h], this)) return !0 })); var y = []; for (h = 0; v > h; h++)k.find(d, this[h], y); return y = this.pushStack(1 < v ? k.unique(y) : y), y.selector = (this.selector ? this.selector + " " : "") + d, y }, has: function (d) { var h, n = k(d, this), v = n.length; return this.filter(function () { for (h = 0; v > h; h++)if (k.contains(this, n[h])) return !0 }) }, not: function (d) { return this.pushStack(c(this, d, !1)) }, filter: function (d) { return this.pushStack(c(this, d, !0)) }, is: function (d) { return !!d && ("string" == typeof d ? Fc.test(d) ? 0 <= k(d, this.context).index(this[0]) : 0 < k.filter(d, this).length : 0 < this.filter(d).length) }, closest: function (d, h) { for (var n, v = 0, y = this.length, z = [], D = Fc.test(d) || "string" != typeof d ? k(d, h || this.context) : 0; y > v; v++)for (n = this[v]; n && n.ownerDocument && n !== h && 11 !== n.nodeType;) { if (D ? -1 < D.index(n) : k.find.matchesSelector(n, d)) { z.push(n); break } n = n.parentNode } return this.pushStack(1 < z.length ? k.unique(z) : z) }, index: function (d) { return d ? "string" == typeof d ? k.inArray(this[0], k(d)) : k.inArray(d.jquery ? d[0] : d, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1 }, add: function (d, h) { d = "string" == typeof d ? k(d, h) : k.makeArray(d && d.nodeType ? [d] : d); d = k.merge(this.get(), d); return this.pushStack(k.unique(d)) }, addBack: function (d) { return this.add(null == d ? this.prevObject : this.prevObject.filter(d)) } }); k.fn.andSelf = k.fn.addBack; k.each({ parent: function (d) { return (d = d.parentNode) && 11 !== d.nodeType ? d : null }, parents: function (d) { return k.dir(d, "parentNode") }, parentsUntil: function (d, h, n) { return k.dir(d, "parentNode", n) }, next: function (d) { return l(d, "nextSibling") }, prev: function (d) { return l(d, "previousSibling") }, nextAll: function (d) { return k.dir(d, "nextSibling") }, prevAll: function (d) { return k.dir(d, "previousSibling") }, nextUntil: function (d, h, n) { return k.dir(d, "nextSibling", n) }, prevUntil: function (d, h, n) { return k.dir(d, "previousSibling", n) }, siblings: function (d) { return k.sibling((d.parentNode || {}).firstChild, d) }, children: function (d) { return k.sibling(d.firstChild) }, contents: function (d) { return k.nodeName(d, "iframe") ? d.contentDocument || d.contentWindow.document : k.merge([], d.childNodes) } }, function (d, h) { k.fn[d] = function (n, v) { var y = k.map(this, h, n); return qd.test(d) || (v = n), v && "string" == typeof v && (y = k.filter(v, y)), y = 1 < this.length && !sd[d] ? k.unique(y) : y, 1 < this.length && rd.test(d) && (y = y.reverse()), this.pushStack(y) } }); k.extend({ filter: function (d, h, n) { return n && (d = ":not(" + d + ")"), 1 === h.length ? k.find.matchesSelector(h[0], d) ? [h[0]] : [] : k.find.matches(d, h) }, dir: function (d, h, n) { var v = []; for (d = d[h]; d && 9 !== d.nodeType && (n === t || 1 !== d.nodeType || !k(d).is(n));)1 === d.nodeType && v.push(d), d = d[h]; return v }, sibling: function (d, h) { for (var n = []; d; d = d.nextSibling)1 === d.nodeType && d !== h && n.push(d); return n } }); var vc = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video", td = / jQuery\d+="(?:null|\d+)"/g, Gc = RegExp("\x3c(?:" + vc + ")[\\s/\x3e]", "i"), nc = /^\s+/, Hc = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi, Ic = /<([\w:]+)/, Jc = /
\s*$/g, rb = { option: [1, "\x3cselect multiple\x3d'multiple'\x3e", "\x3c/select\x3e"], legend: [1, "\x3cfieldset\x3e", "\x3c/fieldset\x3e"], area: [1, "\x3cmap\x3e", "\x3c/map\x3e"], param: [1, "\x3cobject\x3e", "\x3c/object\x3e"], thead: [1, "\x3ctable\x3e", "\x3c/table\x3e"], tr: [2, "\x3ctable\x3e\x3ctbody\x3e", "\x3c/tbody\x3e\x3c/table\x3e"], col: [2, "\x3ctable\x3e\x3ctbody\x3e\x3c/tbody\x3e\x3ccolgroup\x3e", "\x3c/colgroup\x3e\x3c/table\x3e"], td: [3, "\x3ctable\x3e\x3ctbody\x3e\x3ctr\x3e", "\x3c/tr\x3e\x3c/tbody\x3e\x3c/table\x3e"], _default: k.support.htmlSerialize ? [0, "", ""] : [1, "X\x3cdiv\x3e", "\x3c/div\x3e"] }, oc = a(ja).appendChild(ja.createElement("div")); rb.optgroup = rb.option; rb.tbody = rb.tfoot = rb.colgroup = rb.caption = rb.thead; rb.th = rb.td; k.fn.extend({ text: function (d) { return k.access(this, function (h) { return h === t ? k.text(this) : this.empty().append((this[0] && this[0].ownerDocument || ja).createTextNode(h)) }, null, d, arguments.length) }, wrapAll: function (d) { if (k.isFunction(d)) return this.each(function (n) { k(this).wrapAll(d.call(this, n)) }); if (this[0]) { var h = k(d, this[0].ownerDocument).eq(0).clone(!0); this[0].parentNode && h.insertBefore(this[0]); h.map(function () { for (var n = this; n.firstChild && 1 === n.firstChild.nodeType;)n = n.firstChild; return n }).append(this) } return this }, wrapInner: function (d) { return k.isFunction(d) ? this.each(function (h) { k(this).wrapInner(d.call(this, h)) }) : this.each(function () { var h = k(this), n = h.contents(); n.length ? n.wrapAll(d) : h.append(d) }) }, wrap: function (d) { var h = k.isFunction(d); return this.each(function (n) { k(this).wrapAll(h ? d.call(this, n) : d) }) }, unwrap: function () { return this.parent().each(function () { k.nodeName(this, "body") || k(this).replaceWith(this.childNodes) }).end() }, append: function () { return this.domManip(arguments, !0, function (d) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || this.appendChild(d) }) }, prepend: function () { return this.domManip(arguments, !0, function (d) { 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || this.insertBefore(d, this.firstChild) }) }, before: function () { return this.domManip(arguments, !1, function (d) { this.parentNode && this.parentNode.insertBefore(d, this) }) }, after: function () { return this.domManip(arguments, !1, function (d) { this.parentNode && this.parentNode.insertBefore(d, this.nextSibling) }) }, remove: function (d, h) { for (var n, v = 0; null != (n = this[v]); v++)(!d || 0 < k.filter(d, [n]).length) && (h || 1 !== n.nodeType || k.cleanData(F(n)), n.parentNode && (h && k.contains(n.ownerDocument, n) && r(F(n, "script")), n.parentNode.removeChild(n))); return this }, empty: function () { for (var d, h = 0; null != (d = this[h]); h++) { for (1 === d.nodeType && k.cleanData(F(d, !1)); d.firstChild;)d.removeChild(d.firstChild); d.options && k.nodeName(d, "select") && (d.options.length = 0) } return this }, clone: function (d, h) { return d = null == d ? !1 : d, h = null == h ? d : h, this.map(function () { return k.clone(this, d, h) }) }, html: function (d) { return k.access(this, function (h) { var n = this[0] || {}, v = 0, y = this.length; if (h === t) return 1 === n.nodeType ? n.innerHTML.replace(td, "") : t; if (!("string" != typeof h || vd.test(h) || !k.support.htmlSerialize && Gc.test(h) || !k.support.leadingWhitespace && nc.test(h) || rb[(Ic.exec(h) || ["", ""])[1].toLowerCase()])) { h = h.replace(Hc, "\x3c$1\x3e\x3c/$2\x3e"); try { for (; y > v; v++)n = this[v] || {}, 1 === n.nodeType && (k.cleanData(F(n, !1)), n.innerHTML = h); n = 0 } catch (z) { } } n && this.empty().append(h) }, null, d, arguments.length) }, replaceWith: function (d) { return k.isFunction(d) || "string" == typeof d || (d = k(d).not(this).detach()), this.domManip([d], !0, function (h) { var n = this.nextSibling, v = this.parentNode; v && (k(this).remove(), v.insertBefore(h, n)) }) }, detach: function (d) { return this.remove(d, !0) }, domManip: function (d, h, n) { d = Y.apply([], d); var v, y, z, D = 0, H = this.length, M = this, Q = H - 1, L = d[0], W = k.isFunction(L); if (W || !(1 >= H || "string" != typeof L || k.support.checkClone) && wd.test(L)) return this.each(function (ta) { var Da = M.eq(ta); W && (d[0] = L.call(this, ta, h ? Da.html() : t)); Da.domManip(d, h, n) }); if (H && (z = k.buildFragment(d, this[0].ownerDocument, !1, this), v = z.firstChild, 1 === z.childNodes.length && (z = v), v)) { h = h && k.nodeName(v, "tr"); var Z = k.map(F(z, "script"), e); for (y = Z.length; H > D; D++)v = z, D !== Q && (v = k.clone(v, !0, !0), y && k.merge(Z, F(v, "script"))), n.call(h && k.nodeName(this[D], "table") ? b(this[D], "tbody") : this[D], v, D); if (y) for (z = Z[Z.length - 1].ownerDocument, k.map(Z, g), D = 0; y > D; D++)v = Z[D], Kc.test(v.type || "") && !k._data(v, "globalEval") && k.contains(z, v) && (v.src ? k.ajax({ url: v.src, type: "GET", dataType: "script", async: !1, global: !1, "throws": !0 }) : k.globalEval((v.text || v.textContent || v.innerHTML || "").replace(xd, ""))); z = v = null } return this } }); k.each({ appendTo: "append", prependTo: "prepend", insertBefore: "before", insertAfter: "after", replaceAll: "replaceWith" }, function (d, h) { k.fn[d] = function (n) { for (var v = 0, y = [], z = k(n), D = z.length - 1; D >= v; v++)n = v === D ? this : this.clone(!0), k(z[v])[h](n), ma.apply(y, n.get()); return this.pushStack(y) } }); k.extend({ clone: function (d, h, n) { var v, y, z, D = k.contains(d.ownerDocument, d); if (k.support.html5Clone || k.isXMLDoc(d) || !Gc.test("\x3c" + d.nodeName + "\x3e") ? y = d.cloneNode(!0) : (oc.innerHTML = d.outerHTML, oc.removeChild(y = oc.firstChild)), !(k.support.noCloneEvent && k.support.noCloneChecked || 1 !== d.nodeType && 11 !== d.nodeType || k.isXMLDoc(d))) { var H = F(y); var M = F(d); for (z = 0; null != (v = M[z]); ++z)if (H[z]) { var Q = void 0, L, W = v, Z = H[z]; if (1 === Z.nodeType) { if (L = Z.nodeName.toLowerCase(), !k.support.noCloneEvent && Z[k.expando]) { v = k._data(Z); for (Q in v.events) k.removeEvent(Z, Q, v.handle); Z.removeAttribute(k.expando) } "script" === L && Z.text !== W.text ? (e(Z).text = W.text, g(Z)) : "object" === L ? (Z.parentNode && (Z.outerHTML = W.outerHTML), k.support.html5Clone && W.innerHTML && !k.trim(Z.innerHTML) && (Z.innerHTML = W.innerHTML)) : "input" === L && cc.test(W.type) ? (Z.defaultChecked = Z.checked = W.checked, Z.value !== W.value && (Z.value = W.value)) : "option" === L ? Z.defaultSelected = Z.selected = W.defaultSelected : ("input" === L || "textarea" === L) && (Z.defaultValue = W.defaultValue) } } } if (h) if (n) for (M = M || F(d), H = H || F(y), z = 0; null != (v = M[z]); z++)A(v, H[z]); else A(d, y); return H = F(y, "script"), 0 < H.length && r(H, !D && F(d, "script")), y }, buildFragment: function (d, h, n, v) { for (var y, z, D, H, M, Q, L, W = d.length, Z = a(h), ta = [], Da = 0; W > Da; Da++)if (z = d[Da], z || 0 === z) if ("object" === k.type(z)) k.merge(ta, z.nodeType ? [z] : z); else if (ud.test(z)) { H = H || Z.appendChild(h.createElement("div")); M = (Ic.exec(z) || ["", ""])[1].toLowerCase(); L = rb[M] || rb._default; H.innerHTML = L[1] + z.replace(Hc, "\x3c$1\x3e\x3c/$2\x3e") + L[2]; for (y = L[0]; y--;)H = H.lastChild; if (!k.support.leadingWhitespace && nc.test(z) && ta.push(h.createTextNode(nc.exec(z)[0])), !k.support.tbody) for (y = (z = "table" !== M || Jc.test(z) ? "\x3ctable\x3e" !== L[1] || Jc.test(z) ? 0 : H : H.firstChild) && z.childNodes.length; y--;)k.nodeName(Q = z.childNodes[y], "tbody") && !Q.childNodes.length && z.removeChild(Q); k.merge(ta, H.childNodes); for (H.textContent = ""; H.firstChild;)H.removeChild(H.firstChild); H = Z.lastChild } else ta.push(h.createTextNode(z)); H && Z.removeChild(H); k.support.appendChecked || k.grep(F(ta, "input"), K); for (Da = 0; z = ta[Da++];)if ((!v || -1 === k.inArray(z, v)) && (D = k.contains(z.ownerDocument, z), H = F(Z.appendChild(z), "script"), D && r(H), n)) for (y = 0; z = H[y++];)Kc.test(z.type || "") && n.push(z); return Z }, cleanData: function (d, h) { for (var n, v, y, z, D = 0, H = k.expando, M = k.cache, Q = k.support.deleteExpando, L = k.event.special; null != (n = d[D]); D++)if ((h || k.acceptData(n)) && (y = n[H], z = y && M[y])) { if (z.events) for (v in z.events) L[v] ? k.event.remove(n, v) : k.removeEvent(n, v, z.handle); M[y] && (delete M[y], Q ? delete n[H] : typeof n.removeAttribute !== Ja ? n.removeAttribute(H) : n[H] = null, da.push(y)) } } }); var Pb, Fb, Gb, pc = /alpha\([^)]*\)/i, yd = /opacity\s*=\s*([^)]*)/, zd = /^(top|right|bottom|left)$/, Ad = /^(none|table(?!-c[ea]).+)/, Lc = /^margin/, Yc = RegExp("^(" + Ia + ")(.*)$", "i"), Tb = RegExp("^(" + Ia + ")(?!px)[a-z%]+$", "i"), Bd = RegExp("^([+-])\x3d(" + Ia + ")", "i"), xc = { BODY: "block" }, Cd = { position: "absolute", visibility: "hidden", display: "block" }, Mc = { letterSpacing: 0, fontWeight: 400 }, Eb = ["Top", "Right", "Bottom", "Left"], wc = ["Webkit", "O", "Moz", "ms"]; k.fn.extend({ css: function (d, h) { return k.access(this, function (n, v, y) { var z = {}, D = 0; if (k.isArray(v)) { var H = Fb(n); for (y = v.length; y > D; D++)z[v[D]] = k.css(n, v[D], !1, H); return z } return y !== t ? k.style(n, v, y) : k.css(n, v) }, d, h, 1 < arguments.length) }, show: function () { return ha(this, !0) }, hide: function () { return ha(this) }, toggle: function (d) { var h = "boolean" == typeof d; return this.each(function () { (h ? d : U(this)) ? k(this).show() : k(this).hide() }) } }); k.extend({ cssHooks: { opacity: { get: function (d, h) { if (h) return d = Gb(d, "opacity"), "" === d ? "1" : d } } }, cssNumber: { columnCount: !0, fillOpacity: !0, fontWeight: !0, lineHeight: !0, opacity: !0, orphans: !0, widows: !0, zIndex: !0, zoom: !0 }, cssProps: { "float": k.support.cssFloat ? "cssFloat" : "styleFloat" }, style: function (d, h, n, v) { if (d && 3 !== d.nodeType && 8 !== d.nodeType && d.style) { var y, z, D, H = k.camelCase(h), M = d.style; if (h = k.cssProps[H] || (k.cssProps[H] = R(M, H)), D = k.cssHooks[h] || k.cssHooks[H], n === t) return D && "get" in D && (y = D.get(d, !1, v)) !== t ? y : M[h]; if (z = typeof n, "string" === z && (y = Bd.exec(n)) && (n = (y[1] + 1) * y[2] + parseFloat(k.css(d, h)), z = "number"), !(null == n || "number" === z && isNaN(n) || ("number" !== z || k.cssNumber[H] || (n += "px"), k.support.clearCloneStyle || "" !== n || 0 !== h.indexOf("background") || (M[h] = "inherit"), D && "set" in D && (n = D.set(d, n, v)) === t))) try { M[h] = n } catch (Q) { } } }, css: function (d, h, n, v) { var y, z, D, H = k.camelCase(h); return h = k.cssProps[H] || (k.cssProps[H] = R(d.style, H)), D = k.cssHooks[h] || k.cssHooks[H], D && "get" in D && (z = D.get(d, !0, n)), z === t && (z = Gb(d, h, v)), "normal" === z && h in Mc && (z = Mc[h]), "" === n || n ? (y = parseFloat(z), !0 === n || k.isNumeric(y) ? y || 0 : z) : z }, swap: function (d, h, n, v) { var y, z = {}; for (y in h) z[y] = d.style[y], d.style[y] = h[y]; n = n.apply(d, v || []); for (y in h) d.style[y] = z[y]; return n } }); B.getComputedStyle ? (Fb = function (d) { return B.getComputedStyle(d, null) }, Gb = function (d, h, n) { var v, y, z, D = (n = n || Fb(d)) ? n.getPropertyValue(h) || n[h] : t, H = d.style; return n && ("" !== D || k.contains(d.ownerDocument, d) || (D = k.style(d, h)), Tb.test(D) && Lc.test(h) && (v = H.width, y = H.minWidth, z = H.maxWidth, H.minWidth = H.maxWidth = H.width = D, D = n.width, H.width = v, H.minWidth = y, H.maxWidth = z)), D }) : ja.documentElement.currentStyle && (Fb = function (d) { return d.currentStyle }, Gb = function (d, h, n) { var v, y, z; n = (n = n || Fb(d)) ? n[h] : t; var D = d.style; return null == n && D && D[h] && (n = D[h]), Tb.test(n) && !zd.test(h) && (v = D.left, y = d.runtimeStyle, z = y && y.left, z && (y.left = d.currentStyle.left), D.left = "fontSize" === h ? "1em" : n, n = D.pixelLeft + "px", D.left = v, z && (y.left = z)), "" === n ? "auto" : n }); k.each(["height", "width"], function (d, h) { k.cssHooks[h] = { get: function (n, v, y) { return v ? 0 === n.offsetWidth && Ad.test(k.css(n, "display")) ? k.swap(n, Cd, function () { return O(n, h, y) }) : O(n, h, y) : t }, set: function (n, v, y) { var z = y && Fb(n); return na(n, v, y ? C(n, h, y, k.support.boxSizing && "border-box" === k.css(n, "boxSizing", !1, z), z) : 0) } } }); k.support.opacity || (k.cssHooks.opacity = { get: function (d, h) { return yd.test((h && d.currentStyle ? d.currentStyle.filter : d.style.filter) || "") ? .01 * parseFloat(RegExp.$1) + "" : h ? "1" : "" }, set: function (d, h) { var n = d.style; d = d.currentStyle; var v = k.isNumeric(h) ? "alpha(opacity\x3d" + 100 * h + ")" : "", y = d && d.filter || n.filter || ""; n.zoom = 1; (1 <= h || "" === h) && "" === k.trim(y.replace(pc, "")) && n.removeAttribute && (n.removeAttribute("filter"), "" === h || d && !d.filter) || (n.filter = pc.test(y) ? y.replace(pc, v) : y + " " + v) } }); k(function () { k.support.reliableMarginRight || (k.cssHooks.marginRight = { get: function (d, h) { return h ? k.swap(d, { display: "inline-block" }, Gb, [d, "marginRight"]) : t } }); !k.support.pixelPosition && k.fn.position && k.each(["top", "left"], function (d, h) { k.cssHooks[h] = { get: function (n, v) { return v ? (v = Gb(n, h), Tb.test(v) ? k(n).position()[h] + "px" : v) : t } } }) }); k.expr && k.expr.filters && (k.expr.filters.hidden = function (d) { return 0 >= d.offsetWidth && 0 >= d.offsetHeight || !k.support.reliableHiddenOffsets && "none" === (d.style && d.style.display || k.css(d, "display")) }, k.expr.filters.visible = function (d) { return !k.expr.filters.hidden(d) }); k.each({ margin: "", padding: "", border: "Width" }, function (d, h) { k.cssHooks[d + h] = { expand: function (n) { var v = 0, y = {}; for (n = "string" == typeof n ? n.split(" ") : [n]; 4 > v; v++)y[d + Eb[v] + h] = n[v] || n[v - 2] || n[0]; return y } }; Lc.test(d) || (k.cssHooks[d + h].set = na) }); var Dd = /%20/g, Zc = /\[\]$/, Nc = /\r?\n/g, Ed = /^(?:submit|button|image|reset|file)$/i, Fd = /^(?:input|select|textarea|keygen)/i; k.fn.extend({ serialize: function () { return k.param(this.serializeArray()) }, serializeArray: function () { return this.map(function () { var d = k.prop(this, "elements"); return d ? k.makeArray(d) : this }).filter(function () { var d = this.type; return this.name && !k(this).is(":disabled") && Fd.test(this.nodeName) && !Ed.test(d) && (this.checked || !cc.test(d)) }).map(function (d, h) { d = k(this).val(); return null == d ? null : k.isArray(d) ? k.map(d, function (n) { return { name: h.name, value: n.replace(Nc, "\r\n") } }) : { name: h.name, value: d.replace(Nc, "\r\n") } }).get() } }); k.param = function (d, h) { var n, v = [], y = function (z, D) { D = k.isFunction(D) ? D() : null == D ? "" : D; v[v.length] = encodeURIComponent(z) + "\x3d" + encodeURIComponent(D) }; if (h === t && (h = k.ajaxSettings && k.ajaxSettings.traditional), k.isArray(d) || d.jquery && !k.isPlainObject(d)) k.each(d, function () { y(this.name, this.value) }); else for (n in d) pa(n, d[n], h, y); return v.join("\x26").replace(Dd, "+") }; k.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 (d, h) { k.fn[h] = function (n, v) { return 0 < arguments.length ? this.on(h, null, n, v) : this.trigger(h) } }); k.fn.hover = function (d, h) { return this.mouseenter(d).mouseleave(h || d) }; var qc = k.now(), rc = /\?/, Gd = /#.*$/, Oc = /([?&])_=[^&]*/, Hd = /^(.*?):[ \t]*([^\r\n]*)\r?$/gm, Id = /^(?:GET|HEAD)$/, Jd = /^\/\//, Pc = /^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/, Qc = k.fn.load, Rc = {}, dc = {}, Sc = "*/".concat("*"); try { var Ib = xb.href } catch (d) { Ib = ja.createElement("a"), Ib.href = "", Ib = Ib.href } var Nb = Pc.exec(Ib.toLowerCase()) || []; k.fn.load = function (d, h, n) { if ("string" != typeof d && Qc) return Qc.apply(this, arguments); var v, y, z, D = this, H = d.indexOf(" "); return 0 <= H && (v = d.slice(H, d.length), d = d.slice(0, H)), k.isFunction(h) ? (n = h, h = t) : h && "object" == typeof h && (z = "POST"), 0 < D.length && k.ajax({ url: d, type: z, dataType: "html", data: h }).done(function (M) { y = arguments; D.html(v ? k("\x3cdiv\x3e").append(k.parseHTML(M)).find(v) : M) }).complete(n && function (M, Q) { D.each(n, y || [M.responseText, Q, M]) }), this }; k.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), function (d, h) { k.fn[h] = function (n) { return this.on(h, n) } }); k.each(["get", "post"], function (d, h) { k[h] = function (n, v, y, z) { return k.isFunction(v) && (z = z || y, y = v, v = t), k.ajax({ url: n, type: h, dataType: z, data: v, success: y }) } }); k.extend({ active: 0, lastModified: {}, etag: {}, ajaxSettings: { url: Ib, type: "GET", isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Nb[1]), global: !0, processData: !0, async: !0, contentType: "application/x-www-form-urlencoded; charset\x3dUTF-8", accepts: { "*": Sc, text: "text/plain", html: "text/html", xml: "application/xml, text/xml", json: "applicationhttps://www.microsoft.com/json, text/javascript" }, contents: { xml: /xml/, html: /html/, json: https://www.microsoft.com/json/ }, responseFields: { xml: "responseXML", text: "responseText" }, converters: { "* text": B.String, "text html": !0, "text json": k.parseJSON, "text xml": k.parseXML }, flatOptions: { url: !0, context: !0 } }, ajaxSetup: function (d, h) { return h ? fa(fa(d, k.ajaxSettings), h) : fa(k.ajaxSettings, d) }, ajaxPrefilter: X(Rc), ajaxTransport: X(dc), ajax: function (d, h) { function n(ya, Ea, Fa, eb) { var Na, fb, Ya = Ea; if (2 !== lb) { lb = 2; D && clearTimeout(D); M = t; z = eb || ""; wa.readyState = 0 < ya ? 4 : 0; if (Fa) { var nb = L; eb = wa; var mb, Ka, Va, Pa = nb.contents, Za = nb.dataTypes, Yb = nb.responseFields; for (Va in Yb) Va in Fa && (eb[Yb[Va]] = Fa[Va]); for (; "*" === Za[0];)Za.shift(), Ka === t && (Ka = nb.mimeType || eb.getResponseHeader("Content-Type")); if (Ka) for (Va in Pa) if (Pa[Va] && Pa[Va].test(Ka)) { Za.unshift(Va); break } if (Za[0] in Fa) var wb = Za[0]; else { for (Va in Fa) { if (!Za[0] || nb.converters[Va + " " + Za[0]]) { wb = Va; break } mb || (mb = Va) } wb = wb || mb } nb = wb ? (wb !== Za[0] && Za.unshift(wb), Fa[wb]) : t } if (200 <= ya && 300 > ya || 304 === ya) if (L.ifModified && (fb = wa.getResponseHeader("Last-Modified"), fb && (k.lastModified[$a] = fb), fb = wa.getResponseHeader("etag"), fb && (k.etag[$a] = fb)), 204 === ya) { var Wa = !0; Ya = "nocontent" } else if (304 === ya) Wa = !0, Ya = "notmodified"; else { a: { Fa = L; Wa = nb; var gb, jb; var Ua = {}; fb = 0; Ya = Fa.dataTypes.slice(); mb = Ya[0]; if (Fa.dataFilter && (Wa = Fa.dataFilter(Wa, Fa.dataType)), Ya[1]) for (gb in Fa.converters) Ua[gb.toLowerCase()] = Fa.converters[gb]; for (; Na = Ya[++fb];)if ("*" !== Na) { if ("*" !== mb && mb !== Na) { if (gb = Ua[mb + " " + Na] || Ua["* " + Na], !gb) for (Db in Ua) if (jb = Db.split(" "), jb[1] === Na && (gb = Ua[mb + " " + jb[0]] || Ua["* " + jb[0]])) { !0 === gb ? gb = Ua[Db] : !0 !== Ua[Db] && (Na = jb[0], Ya.splice(fb--, 0, Na)); break } if (!0 !== gb) if (gb && Fa["throws"]) Wa = gb(Wa); else try { Wa = gb(Wa) } catch (Ab) { var Db = { state: "parsererror", error: gb ? Ab : "No conversion from " + mb + " to " + Na }; break a } } mb = Na } Db = { state: "success", data: Wa } } Wa = Db; Ya = Wa.state; Na = Wa.data; Ua = Wa.error; Wa = !Ua } else Ua = Ya, (ya || !Ya) && (Ya = "error", 0 > ya && (ya = 0)); wa.status = ya; wa.statusText = (Ea || Ya) + ""; Wa ? ta.resolveWith(W, [Na, Ya, wa]) : ta.rejectWith(W, [wa, Ya, Ua]); wa.statusCode(cb); cb = t; H && Z.trigger(Wa ? "ajaxSuccess" : "ajaxError", [wa, L, Wa ? Na : Ua]); Da.fireWith(W, [wa, Ya]); H && (Z.trigger("ajaxComplete", [wa, L]), --k.active || k.event.trigger("ajaxStop")) } } "object" == typeof d && (h = d, d = t); h = h || {}; var v, y, z, D, H, M, Q, L = k.ajaxSetup({}, h), W = L.context || L, Z = L.context && (W.nodeType || W.jquery) ? k(W) : k.event, ta = k.Deferred(), Da = k.Callbacks("once memory"), cb = L.statusCode || {}, Ta = {}, $b = {}, lb = 0, yb = "canceled", wa = { readyState: 0, getResponseHeader: function (ya) { var Ea; if (2 === lb) { if (!Q) for (Q = {}; Ea = Hd.exec(z);)Q[Ea[1].toLowerCase()] = Ea[2]; Ea = Q[ya.toLowerCase()] } return null == Ea ? null : Ea }, getAllResponseHeaders: function () { return 2 === lb ? z : null }, setRequestHeader: function (ya, Ea) { var Fa = ya.toLowerCase(); return lb || (ya = $b[Fa] = $b[Fa] || ya, Ta[ya] = Ea), this }, overrideMimeType: function (ya) { return lb || (L.mimeType = ya), this }, statusCode: function (ya) { var Ea; if (ya) if (2 > lb) for (Ea in ya) cb[Ea] = [cb[Ea], ya[Ea]]; else wa.always(ya[wa.status]); return this }, abort: function (ya) { ya = ya || yb; return M && M.abort(ya), n(0, ya), this } }; if (ta.promise(wa).complete = Da.add, wa.success = wa.done, wa.error = wa.fail, L.url = ((d || L.url || Ib) + "").replace(Gd, "").replace(Jd, Nb[1] + "//"), L.type = h.method || h.type || L.method || L.type, L.dataTypes = k.trim(L.dataType || "*").toLowerCase().match(oa) || [""], null == L.crossDomain && (v = Pc.exec(L.url.toLowerCase()), L.crossDomain = !(!v || v[1] === Nb[1] && v[2] === Nb[2] && (v[3] || ("http:" === v[1] ? 80 : 443)) == (Nb[3] || ("http:" === Nb[1] ? 80 : 443)))), L.data && L.processData && "string" != typeof L.data && (L.data = k.param(L.data, L.traditional)), ea(Rc, L, h, wa), 2 === lb) return wa; (H = L.global) && 0 === k.active++ && k.event.trigger("ajaxStart"); L.type = L.type.toUpperCase(); L.hasContent = !Id.test(L.type); var $a = L.url; L.hasContent || (L.data && ($a = L.url += (rc.test($a) ? "\x26" : "?") + L.data, delete L.data), !1 === L.cache && (L.url = Oc.test($a) ? $a.replace(Oc, "$1_\x3d" + qc++) : $a + (rc.test($a) ? "\x26" : "?") + "_\x3d" + qc++)); L.ifModified && (k.lastModified[$a] && wa.setRequestHeader("If-Modified-Since", k.lastModified[$a]), k.etag[$a] && wa.setRequestHeader("If-None-Match", k.etag[$a])); (L.data && L.hasContent && !1 !== L.contentType || h.contentType) && wa.setRequestHeader("Content-Type", L.contentType); wa.setRequestHeader("Accept", L.dataTypes[0] && L.accepts[L.dataTypes[0]] ? L.accepts[L.dataTypes[0]] + ("*" !== L.dataTypes[0] ? ", " + Sc + "; q\x3d0.01" : "") : L.accepts["*"]); for (y in L.headers) wa.setRequestHeader(y, L.headers[y]); if (L.beforeSend && (!1 === L.beforeSend.call(W, wa, L) || 2 === lb)) return wa.abort(); yb = "abort"; for (y in { success: 1, error: 1, complete: 1 }) wa[y](L[y]); if (M = ea(dc, L, h, wa)) { wa.readyState = 1; H && Z.trigger("ajaxSend", [wa, L]); L.async && 0 < L.timeout && (D = setTimeout(function () { wa.abort("timeout") }, L.timeout)); try { lb = 1, M.send(Ta, n) } catch (ya) { if (!(2 > lb)) throw ya; n(-1, ya) } } else n(-1, "No Transport"); return wa }, getScript: function (d, h) { return k.get(d, t, h, "script") }, getJSON: function (d, h, n) { return k.get(d, h, n, "json") } }); k.ajaxSetup({ accepts: { script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" }, contents: { script: /(?:java|ecma)script/ }, converters: { "text script": function (d) { return k.globalEval(d), d } } }); k.ajaxPrefilter("script", function (d) { d.cache === t && (d.cache = !1); d.crossDomain && (d.type = "GET", d.global = !1) }); k.ajaxTransport("script", function (d) { if (d.crossDomain) { var h, n = ja.head || k("head")[0] || ja.documentElement; return { send: function (v, y) { h = ja.createElement("script"); h.async = !0; d.scriptCharset && (h.charset = d.scriptCharset); h.src = d.url; h.onload = h.onreadystatechange = function (z, D) { (D || !h.readyState || /loaded|complete/.test(h.readyState)) && (h.onload = h.onreadystatechange = null, h.parentNode && h.parentNode.removeChild(h), h = null, D || y(200, "success")) }; n.insertBefore(h, n.firstChild) }, abort: function () { h && h.onload(t, !0) } } } }); var Tc = [], sc = /(=)\?(?=&|$)|\?\?/; k.ajaxSetup({ jsonp: "callback", jsonpCallback: function () { var d = Tc.pop() || k.expando + "_" + qc++; return this[d] = !0, d } }); k.ajaxPrefilter("json jsonp", function (d, h, n) { var v, y, z, D = !1 !== d.jsonp && (sc.test(d.url) ? "url" : "string" == typeof d.data && !(d.contentType || "").indexOf("application/x-www-form-urlencoded") && sc.test(d.data) && "data"); return D || "jsonp" === d.dataTypes[0] ? (v = d.jsonpCallback = k.isFunction(d.jsonpCallback) ? d.jsonpCallback() : d.jsonpCallback, D ? d[D] = d[D].replace(sc, "$1" + v) : !1 !== d.jsonp && (d.url += (rc.test(d.url) ? "\x26" : "?") + d.jsonp + "\x3d" + v), d.converters["script json"] = function () { return z || k.error(v + " was not called"), z[0] }, d.dataTypes[0] = "json", y = B[v], B[v] = function () { z = arguments }, n.always(function () { B[v] = y; d[v] && (d.jsonpCallback = h.jsonpCallback, Tc.push(v)); z && k.isFunction(y) && y(z[0]); z = y = t }), "script") : t }); var Ob, Kd = 0, tc = B.ActiveXObject && function () { for (var d in Ob) Ob[d](t, !0) }; k.ajaxSettings.xhr = B.ActiveXObject ? function () { var d; if (!(d = !this.isLocal && Ba())) a: { try { d = new B.ActiveXObject("Microsoft.XMLHTTP"); break a } catch (h) { } d = void 0 } return d } : Ba; var ac = k.ajaxSettings.xhr(); k.support.cors = !!ac && "withCredentials" in ac; (ac = k.support.ajax = !!ac) && k.ajaxTransport(function (d) { if (!d.crossDomain || k.support.cors) { var h; return { send: function (n, v) { var y, z, D = d.xhr(); if (d.username ? D.open(d.type, d.url, d.async, d.username, d.password) : D.open(d.type, d.url, d.async), d.xhrFields) for (z in d.xhrFields) D[z] = d.xhrFields[z]; d.mimeType && D.overrideMimeType && D.overrideMimeType(d.mimeType); d.crossDomain || n["X-Requested-With"] || (n["X-Requested-With"] = "XMLHttpRequest"); try { for (z in n) D.setRequestHeader(z, n[z]) } catch (H) { } D.send(d.hasContent && d.data || null); h = function (H, M) { try { if (h && (M || 4 === D.readyState)) if (h = t, y && (D.onreadystatechange = k.noop, tc && delete Ob[y]), M) 4 !== D.readyState && D.abort(); else { var Q = {}; var L = D.status; var W = D.getAllResponseHeaders(); "string" == typeof D.responseText && (Q.text = D.responseText); try { var Z = D.statusText } catch (ta) { Z = "" } L || !d.isLocal || d.crossDomain ? 1223 === L && (L = 204) : L = Q.text ? 200 : 404 } } catch (ta) { M || v(-1, ta) } Q && v(L, Z, Q, W) }; d.async ? 4 === D.readyState ? setTimeout(h) : (y = ++Kd, tc && (Ob || (Ob = {}, k(B).unload(tc)), Ob[y] = h), D.onreadystatechange = h) : h() }, abort: function () { h && h(t, !0) } } } }); var Jb, bc, Ld = /^(?:toggle|show|hide)$/, Md = RegExp("^(?:([+-])\x3d|)(" + Ia + ")([a-z%]*)$", "i"), Nd = /queueHooks$/, Ub = [function (d, h, n) { var v, y, z, D, H, M = this, Q = d.style, L = {}, W = [], Z = d.nodeType && U(d); n.queue || (D = k._queueHooks(d, "fx"), null == D.unqueued && (D.unqueued = 0, H = D.empty.fire, D.empty.fire = function () { D.unqueued || H() }), D.unqueued++, M.always(function () { M.always(function () { D.unqueued--; k.queue(d, "fx").length || D.empty.fire() }) })); 1 === d.nodeType && ("height" in h || "width" in h) && (n.overflow = [Q.overflow, Q.overflowX, Q.overflowY], "inline" === k.css(d, "display") && "none" === k.css(d, "float") && (k.support.inlineBlockNeedsLayout && "inline" !== T(d.nodeName) ? Q.zoom = 1 : Q.display = "inline-block")); n.overflow && (Q.overflow = "hidden", k.support.shrinkWrapBlocks || M.always(function () { Q.overflow = n.overflow[0]; Q.overflowX = n.overflow[1]; Q.overflowY = n.overflow[2] })); for (y in h) (z = h[y], Ld.exec(z)) && (delete h[y], v = v || "toggle" === z, z !== (Z ? "hide" : "show")) && W.push(y); if (h = W.length) for (z = k._data(d, "fxshow") || k._data(d, "fxshow", {}), ("hidden" in z) && (Z = z.hidden), v && (z.hidden = !Z), Z ? k(d).show() : M.done(function () { k(d).hide() }), M.done(function () { var Da; k._removeData(d, "fxshow"); for (Da in L) k.style(d, Da, L[Da]) }), y = 0; h > y; y++) { v = W[y]; var ta = M.createTween(v, Z ? z[v] : 0); L[v] = z[v] || k.style(d, v); v in z || (z[v] = ta.start, Z && (ta.end = ta.start, ta.start = "width" === v || "height" === v ? 1 : 0)) } }], Qb = { "*": [function (d, h) { var n, v = this.createTween(d, h), y = Md.exec(h), z = v.cur(), D = +z || 0, H = 1, M = 20; if (y) { if (h = +y[2], n = y[3] || (k.cssNumber[d] ? "" : "px"), "px" !== n && D) { D = k.css(v.elem, d, !0) || h || 1; do H = H || ".5", D /= H, k.style(v.elem, d, D + n); while (H !== (H = v.cur() / z) && 1 !== H && --M) } v.unit = n; v.start = D; v.end = y[1] ? D + (y[1] + 1) * h : h } return v }] }; k.Animation = k.extend(tb, { tweener: function (d, h) { k.isFunction(d) ? (h = d, d = ["*"]) : d = d.split(" "); for (var n, v = 0, y = d.length; y > v; v++)n = d[v], Qb[n] = Qb[n] || [], Qb[n].unshift(h) }, prefilter: function (d, h) { h ? Ub.unshift(d) : Ub.push(d) } }); k.Tween = za; za.prototype = { constructor: za, init: function (d, h, n, v, y, z) { this.elem = d; this.prop = n; this.easing = y || "swing"; this.options = h; this.start = this.now = this.cur(); this.end = v; this.unit = z || (k.cssNumber[n] ? "" : "px") }, cur: function () { var d = za.propHooks[this.prop]; return d && d.get ? d.get(this) : za.propHooks._default.get(this) }, run: function (d) { var h, n = za.propHooks[this.prop]; return this.pos = h = this.options.duration ? k.easing[this.easing](d, this.options.duration * d, 0, 1, this.options.duration) : d, this.now = (this.end - this.start) * h + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : za.propHooks._default.set(this), this } }; za.prototype.init.prototype = za.prototype; za.propHooks = { _default: { get: function (d) { var h; return null == d.elem[d.prop] || d.elem.style && null != d.elem.style[d.prop] ? (h = k.css(d.elem, d.prop, ""), h && "auto" !== h ? h : 0) : d.elem[d.prop] }, set: function (d) { k.fx.step[d.prop] ? k.fx.step[d.prop](d) : d.elem.style && (null != d.elem.style[k.cssProps[d.prop]] || k.cssHooks[d.prop]) ? k.style(d.elem, d.prop, d.now + d.unit) : d.elem[d.prop] = d.now } } }; za.propHooks.scrollTop = za.propHooks.scrollLeft = { set: function (d) { d.elem.nodeType && d.elem.parentNode && (d.elem[d.prop] = d.now) } }; k.each(["toggle", "show", "hide"], function (d, h) { var n = k.fn[h]; k.fn[h] = function (v, y, z) { return null == v || "boolean" == typeof v ? n.apply(this, arguments) : this.animate(Ha(h, !0), v, y, z) } }); k.fn.extend({ fadeTo: function (d, h, n, v) { return this.filter(U).css("opacity", 0).show().end().animate({ opacity: h }, d, n, v) }, animate: function (d, h, n, v) { var y = k.isEmptyObject(d), z = k.speed(h, n, v), D = function () { var H = tb(this, k.extend({}, d), z); D.finish = function () { H.stop(!0) }; (y || k._data(this, "finish")) && H.stop(!0) }; return D.finish = D, y || !1 === z.queue ? this.each(D) : this.queue(z.queue, D) }, stop: function (d, h, n) { var v = function (y) { var z = y.stop; delete y.stop; z(n) }; return "string" != typeof d && (n = h, h = d, d = t), h && !1 !== d && this.queue(d || "fx", []), this.each(function () { var y = !0, z = null != d && d + "queueHooks", D = k.timers, H = k._data(this); if (z) H[z] && H[z].stop && v(H[z]); else for (z in H) H[z] && H[z].stop && Nd.test(z) && v(H[z]); for (z = D.length; z--;)D[z].elem !== this || null != d && D[z].queue !== d || (D[z].anim.stop(n), y = !1, D.splice(z, 1)); !y && n || k.dequeue(this, d) }) }, finish: function (d) { return !1 !== d && (d = d || "fx"), this.each(function () { var h = k._data(this), n = h[d + "queue"]; var v = h[d + "queueHooks"]; var y = k.timers, z = n ? n.length : 0; h.finish = !0; k.queue(this, d, []); v && v.cur && v.cur.finish && v.cur.finish.call(this); for (v = y.length; v--;)y[v].elem === this && y[v].queue === d && (y[v].anim.stop(!0), y.splice(v, 1)); for (v = 0; z > v; v++)n[v] && n[v].finish && n[v].finish.call(this); delete h.finish }) } }); k.each({ slideDown: Ha("show"), slideUp: Ha("hide"), slideToggle: Ha("toggle"), fadeIn: { opacity: "show" }, fadeOut: { opacity: "hide" }, fadeToggle: { opacity: "toggle" } }, function (d, h) { k.fn[d] = function (n, v, y) { return this.animate(h, n, v, y) } }); k.speed = function (d, h, n) { var v = d && "object" == typeof d ? k.extend({}, d) : { complete: n || !n && h || k.isFunction(d) && d, duration: d, easing: n && h || h && !k.isFunction(h) && h }; return v.duration = k.fx.off ? 0 : "number" == typeof v.duration ? v.duration : v.duration in k.fx.speeds ? k.fx.speeds[v.duration] : k.fx.speeds._default, (null == v.queue || !0 === v.queue) && (v.queue = "fx"), v.old = v.complete, v.complete = function () { k.isFunction(v.old) && v.old.call(this); v.queue && k.dequeue(this, v.queue) }, v }; k.easing = { linear: function (d) { return d }, swing: function (d) { return .5 - Math.cos(d * Math.PI) / 2 } }; k.timers = []; k.fx = za.prototype.init; k.fx.tick = function () { var d = k.timers, h = 0; for (Jb = k.now(); d.length > h; h++) { var n = d[h]; n() || d[h] !== n || d.splice(h--, 1) } d.length || k.fx.stop(); Jb = t }; k.fx.timer = function (d) { d() && k.timers.push(d) && k.fx.start() }; k.fx.interval = 13; k.fx.start = function () { bc || (bc = setInterval(k.fx.tick, k.fx.interval)) }; k.fx.stop = function () { clearInterval(bc); bc = null }; k.fx.speeds = { slow: 600, fast: 200, _default: 400 }; k.fx.step = {}; k.expr && k.expr.filters && (k.expr.filters.animated = function (d) { return k.grep(k.timers, function (h) { return d === h.elem }).length }); k.fn.offset = function (d) { if (arguments.length) return d === t ? this : this.each(function (D) { k.offset.setOffset(this, d, D) }); var h, n, v = { top: 0, left: 0 }, y = this[0], z = y && y.ownerDocument; if (z) return h = z.documentElement, k.contains(h, y) ? (typeof y.getBoundingClientRect !== Ja && (v = y.getBoundingClientRect()), n = ab(z), { top: v.top + (n.pageYOffset || h.scrollTop) - (h.clientTop || 0), left: v.left + (n.pageXOffset || h.scrollLeft) - (h.clientLeft || 0) }) : v }; k.offset = { setOffset: function (d, h, n) { var v = k.css(d, "position"); "static" === v && (d.style.position = "relative"); var y = k(d), z = y.offset(), D = k.css(d, "top"), H = k.css(d, "left"), M = {}, Q = {}, L, W; ("absolute" === v || "fixed" === v) && -1 < k.inArray("auto", [D, H]) ? (Q = y.position(), L = Q.top, W = Q.left) : (L = parseFloat(D) || 0, W = parseFloat(H) || 0); k.isFunction(h) && (h = h.call(d, n, z)); null != h.top && (M.top = h.top - z.top + L); null != h.left && (M.left = h.left - z.left + W); "using" in h ? h.using.call(d, M) : y.css(M) } }; k.fn.extend({ position: function () { if (this[0]) { var d, h, n = { top: 0, left: 0 }, v = this[0]; return "fixed" === k.css(v, "position") ? h = v.getBoundingClientRect() : (d = this.offsetParent(), h = this.offset(), k.nodeName(d[0], "html") || (n = d.offset()), n.top += k.css(d[0], "borderTopWidth", !0), n.left += k.css(d[0], "borderLeftWidth", !0)), { top: h.top - n.top - k.css(v, "marginTop", !0), left: h.left - n.left - k.css(v, "marginLeft", !0) } } }, offsetParent: function () { return this.map(function () { for (var d = this.offsetParent || ja.documentElement; d && !k.nodeName(d, "html") && "static" === k.css(d, "position");)d = d.offsetParent; return d || ja.documentElement }) } }); k.each({ scrollLeft: "pageXOffset", scrollTop: "pageYOffset" }, function (d, h) { var n = /Y/.test(h); k.fn[d] = function (v) { return k.access(this, function (y, z, D) { var H = ab(y); return D === t ? H ? h in H ? H[h] : H.document.documentElement[z] : y[z] : (H ? H.scrollTo(n ? k(H).scrollLeft() : D, n ? D : k(H).scrollTop()) : y[z] = D, t) }, d, v, arguments.length, null) } }); k.each({ Height: "height", Width: "width" }, function (d, h) { k.each({ padding: "inner" + d, content: h, "": "outer" + d }, function (n, v) { k.fn[v] = function (y, z) { var D = arguments.length && (n || "boolean" != typeof y), H = n || (!0 === y || !0 === z ? "margin" : "border"); return k.access(this, function (M, Q, L) { var W; return k.isWindow(M) ? M.document.documentElement["client" + d] : 9 === M.nodeType ? (W = M.documentElement, Math.max(M.body["scroll" + d], W["scroll" + d], M.body["offset" + d], W["offset" + d], W["client" + d])) : L === t ? k.css(M, Q, H) : k.style(M, Q, L, H) }, h, D ? y : t, D, null) } }) }); B.jQuery = B.$ = k; "function" == typeof define && define.amd && define.amd.jQuery && define("jquery", [], function () { return k }) })(window); !function (B, t, p) { var I = [], x = []; p = { _version: "3.3.1", _config: { classPrefix: "", enableClasses: !0, enableJSClass: !0, usePrefixes: !0 }, _q: [], on: function (f, q) { var l = this; setTimeout(function () { q(l[f]) }, 0) }, addTest: function (f, q, l) { x.push({ name: f, fn: q, options: l }) }, addAsyncTest: function (f) { x.push({ name: null, fn: f }) } }; var u = function () { }; u.prototype = p; u = new u; u.addTest("picture", "HTMLPictureElement" in B); var w = t.documentElement, m = "svg" === w.nodeName.toLowerCase(); m || !function (f, q) { function l(X, ea) { var fa = X.createElement("p"); X = X.getElementsByTagName("head")[0] || X.documentElement; return fa.innerHTML = "x\x3cstyle\x3e" + ea + "\x3c/style\x3e", X.insertBefore(fa.lastChild, X.firstChild) } function c() { var X = O.elements; return "string" == typeof X ? X.split(" ") : X } function a(X) { var ea = C[X[ha]]; return ea || (ea = {}, na++, X[ha] = na, C[na] = ea), ea } function b(X, ea, fa) { if (ea || (ea = q), F) return ea.createElement(X); fa || (fa = a(ea)); var Ba; return Ba = fa.cache[X] ? fa.cache[X].cloneNode() : U.test(X) ? (fa.cache[X] = fa.createElem(X)).cloneNode() : fa.createElem(X), !Ba.canHaveChildren || R.test(X) || Ba.tagUrn ? Ba : fa.frag.appendChild(Ba) } function e(X, ea) { ea.cache || (ea.cache = {}, ea.createElem = X.createElement, ea.createFrag = X.createDocumentFragment, ea.frag = ea.createFrag()); X.createElement = function (fa) { return O.shivMethods ? b(fa, X, ea) : ea.createElem(fa) }; X.createDocumentFragment = Function("h,f", "return function(){var n\x3df.cloneNode(),c\x3dn.createElement;h.shivMethods\x26\x26(" + c().join().replace(/[\w\-:]+/g, function (fa) { return ea.createElem(fa), ea.frag.createElement(fa), 'c("' + fa + '")' }) + ");return n}")(O, ea.frag) } function g(X) { X || (X = q); var ea = a(X); return !O.shivCSS || A || ea.hasCSS || (ea.hasCSS = !!l(X, "article,aside,dialog,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}mark{background:#FF0;color:#000}template{display:none}")), F || e(X, ea), X } function r(X) { function ea() { clearTimeout(hb._removeSheetTimer); fa && fa.removeNode(!0); fa = null } var fa, Ba, hb = a(X), sb = X.namespaces, tb = X.parentWindow; return !pa || X.printShived ? X : ("undefined" == typeof sb[aa] && sb.add(aa), tb.attachEvent("onbeforeprint", function () { ea(); var Qa = X.styleSheets; for (var za = [], Ha = Qa.length, ab = Array(Ha); Ha--;)ab[Ha] = Qa[Ha]; for (; Qa = ab.pop();)if (!Qa.disabled && T.test(Qa.media)) { try { var La = Qa.imports; var Ja = La.length } catch (qa) { Ja = 0 } for (Ha = 0; Ja > Ha; Ha++)ab.push(La[Ha]); try { za.push(Qa.cssText) } catch (qa) { } } La = za.reverse().join("").split("{"); Ja = La.length; Ha = RegExp("(^|[\\s,\x3e+~])(" + c().join("|") + ")(?\x3d[[\\s,\x3e+~#.:]|$)", "gi"); for (ab = "$1" + aa + "\\:$2"; Ja--;)za = La[Ja] = La[Ja].split("}"), za[za.length - 1] = za[za.length - 1].replace(Ha, ab), La[Ja] = za.join("}"); za = La.join("{"); La = X.getElementsByTagName("*"); Ja = La.length; Ha = RegExp("^(?:" + c().join("|") + ")$", "i"); for (ab = []; Ja--;) { var ja = La[Ja]; if (Ha.test(ja.nodeName)) { Qa = ab; for (var xb = Qa.push, db = ja, N = db.applyElement, S = ja, da = S.attributes, Y = da.length, ma = S.ownerDocument.createElement(aa + ":" + S.nodeName); Y--;)ja = da[Y], ja.specified && ma.setAttribute(ja.nodeName, ja.nodeValue); ja = (ma.style.cssText = S.style.cssText, ma); xb.call(Qa, N.call(db, ja)) } } Ba = ab; fa = l(X, za) }), tb.attachEvent("onafterprint", function () { for (var Qa = Ba, za = Qa.length; za--;)Qa[za].removeNode(); clearTimeout(hb._removeSheetTimer); hb._removeSheetTimer = setTimeout(ea, 500) }), X.printShived = !0, X) } var A, F, K = f.html5 || {}, R = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i, U = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i, ha = "_html5shiv", na = 0, C = {}; !function () { try { var X = q.createElement("a"); X.innerHTML = "\x3cxyz\x3e\x3c/xyz\x3e"; A = "hidden" in X; var ea; if (!(ea = 1 == X.childNodes.length)) { q.createElement("a"); var fa = q.createDocumentFragment(); ea = "undefined" == typeof fa.cloneNode || "undefined" == typeof fa.createDocumentFragment || "undefined" == typeof fa.createElement } F = ea } catch (Ba) { F = A = !0 } }(); var O = { elements: K.elements || "abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video", version: "3.7.3", shivCSS: !1 !== K.shivCSS, supportsUnknownElements: F, shivMethods: !1 !== K.shivMethods, type: "default", shivDocument: g, createElement: b, createDocumentFragment: function (X, ea) { if (X || (X = q), F) return X.createDocumentFragment(); ea = ea || a(X); X = ea.frag.cloneNode(); ea = 0; for (var fa = c(), Ba = fa.length; Ba > ea; ea++)X.createElement(fa[ea]); return X }, addElements: function (X, ea) { var fa = O.elements; "string" != typeof fa && (fa = fa.join(" ")); "string" != typeof X && (X = X.join(" ")); O.elements = fa + " " + X; g(ea) } }; f.html5 = O; g(q); var T = /^$|\b(?:all|print)\b/, aa = "html5shiv", pa = !F && function () { var X = q.documentElement; return !("undefined" == typeof q.namespaces || "undefined" == typeof q.parentWindow || "undefined" == typeof X.applyElement || "undefined" == typeof X.removeNode || "undefined" == typeof f.attachEvent) }(); O.type += " print"; O.shivPrint = r; r(q); "object" == typeof module && module.exports && (module.exports = O) }("undefined" != typeof B ? B : this, t); u.addTest("eventlistener", "addEventListener" in B); (function () { var f, q, l, c, a; for (a in x) if (x.hasOwnProperty(a)) { if (f = [], q = x[a], q.name && (f.push(q.name.toLowerCase()), q.options && q.options.aliases && q.options.aliases.length)) for (l = 0; l < q.options.aliases.length; l++)f.push(q.options.aliases[l].toLowerCase()); l = "function" === typeof q.fn ? q.fn() : q.fn; for (c = 0; c < f.length; c++) { var b = f[c]; b = b.split("."); 1 === b.length ? u[b[0]] = l : (!u[b[0]] || u[b[0]] instanceof Boolean || (u[b[0]] = new Boolean(u[b[0]])), u[b[0]][b[1]] = l); I.push((l ? "" : "no-") + b.join("-")) } } })(); (function (f) { var q = w.className, l = u._config.classPrefix || ""; if (m && (q = q.baseVal), u._config.enableJSClass) q = q.replace(new RegExp("(^|\\s)" + l + "no-js(\\s|$)"), "$1" + l + "js$2"); u._config.enableClasses && (q += " " + l + f.join(" " + l), m ? w.className.baseVal = q : w.className = q) })(I); delete p.addTest; delete p.addAsyncTest; for (t = 0; t < u._q.length; t++)u._q[t](); B.Modernizr = u }(window, document); !function (B) { var t = navigator.userAgent; B.HTMLPictureElement && /ecko/.test(t) && t.match(/rv:(\d+)/) && 45 > RegExp.$1 && addEventListener("resize", function () { var p, I = document.createElement("source"), x = function (q) { var l, c, a = q.parentNode; "PICTURE" === a.nodeName.toUpperCase() ? (l = I.cloneNode(), a.insertBefore(l, a.firstElementChild), setTimeout(function () { a.removeChild(l) })) : (!q._pfLastSize || q.offsetWidth > q._pfLastSize) && (q._pfLastSize = q.offsetWidth, c = q.sizes, q.sizes += ",100vw", setTimeout(function () { q.sizes = c })) }, u = function () { var q, l = document.querySelectorAll("picture \x3e img, img[srcset][sizes]"); for (q = 0; q < l.length; q++)x(l[q]) }, w = function () { clearTimeout(p); p = setTimeout(u, 99) }, m = B.matchMedia && matchMedia("(orientation: landscape)"), f = function () { w(); m && m.addListener && m.addListener(w) }; return I.srcset = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d", /^[c|i]|d$/.test(document.readyState || "") ? f() : document.addEventListener("DOMContentLoaded", f), w }()) }(window); (function (B, t, p) { function I(N) { return " " === N || "\t" === N || "\n" === N || "\f" === N || "\r" === N } function x(N, S) { var da = new B.Image; return da.onerror = function () { R[N] = !1; db() }, da.onload = function () { R[N] = 1 === da.width; db() }, da.src = S, "pending" } function u(N, S) { return N.res - S.res } function w(N, S) { if (N && S) { var da = a.parseSet(S); N = a.makeUrl(N); for (S = 0; S < da.length; S++)if (N === a.makeUrl(da[S].url)) { var Y = da[S]; break } } return Y } function m(N, S) { function da(Ga) { var bb; return (Ga = Ga.exec(N.substring(Ia))) ? (bb = Ga[0], Ia += bb.length, bb) : void 0 } function Y() { var Ga, bb, pb, vb, Ra = !1, kb = {}; for (vb = 0; vb < Ma.length; vb++) { var qb = Ma[vb]; var Rb = qb[qb.length - 1]; qb = qb.substring(0, qb.length - 1); var Kb = parseInt(qb, 10); var Vb = parseFloat(qb); Ha.test(qb) && "w" === Rb ? ((Ga || bb) && (Ra = !0), 0 === Kb ? Ra = !0 : Ga = Kb) : ab.test(qb) && "x" === Rb ? ((Ga || bb || pb) && (Ra = !0), 0 > Vb ? Ra = !0 : bb = Vb) : Ha.test(qb) && "h" === Rb ? ((pb || bb) && (Ra = !0), 0 === Kb ? Ra = !0 : pb = Kb) : Ra = !0 } Ra || (kb.url = qa, Ga && (kb.w = Ga), bb && (kb.d = bb), pb && (kb.h = pb), pb || bb || Ga || (kb.d = 1), 1 === kb.d && (S.has1x = !0), kb.set = S, oa.push(kb)) } function ma() { da(sb); xa = ""; for (la = "in descriptor"; ;) { if (sa = N.charAt(Ia), "in descriptor" === la) if (I(sa)) xa && (Ma.push(xa), xa = "", la = "after descriptor"); else { if ("," === sa) return Ia += 1, xa && Ma.push(xa), void Y(); if ("(" === sa) xa += sa, la = "in parens"; else { if ("" === sa) return xa && Ma.push(xa), void Y(); xa += sa } } else if ("in parens" === la) if (")" === sa) xa += sa, la = "in descriptor"; else { if ("" === sa) return Ma.push(xa), void Y(); xa += sa } else if ("after descriptor" === la && !I(sa)) { if ("" === sa) return void Y(); la = "in descriptor"; --Ia } Ia += 1 } } for (var qa, Ma, xa, la, sa, k = N.length, Ia = 0, oa = []; ;) { if (da(tb), Ia >= k) return oa; qa = da(Qa); Ma = []; "," === qa.slice(-1) ? (qa = qa.replace(za, ""), Y()) : ma() } } function f(N) { function S(sa) { return qa.test(sa) && 0 <= parseFloat(sa) ? !0 : Ma.test(sa) ? !0 : "0" === sa || "-0" === sa || "+0" === sa ? !0 : !1 } var da, Y, ma, qa = /^(?:[+-]?[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?(?:ch|cm|em|ex|in|mm|pc|pt|px|rem|vh|vmin|vmax|vw)$/i, Ma = /^calc\((?:[0-9a-z \.\+\-\*\/\(\)]+)\)$/i; var xa = function (sa) { function k() { Ga && (bb.push(Ga), Ga = "") } function Ia() { bb[0] && (pb.push(bb), bb = []) } for (var oa, Ga = "", bb = [], pb = [], vb = 0, Ra = 0, kb = !1; ;) { if (oa = sa.charAt(Ra), "" === oa) return k(), Ia(), pb; if (kb) { if ("*" === oa && "/" === sa[Ra + 1]) { kb = !1; Ra += 2; k(); continue } } else { if (I(oa)) { if (sa.charAt(Ra - 1) && I(sa.charAt(Ra - 1)) || !Ga) { Ra += 1; continue } if (0 === vb) { k(); Ra += 1; continue } oa = " " } else if ("(" === oa) vb += 1; else if (")" === oa) --vb; else { if ("," === oa) { k(); Ia(); Ra += 1; continue } if ("/" === oa && "*" === sa.charAt(Ra + 1)) { kb = !0; Ra += 2; continue } } Ga += oa } Ra += 1 } }(N); var la = xa.length; for (N = 0; la > N; N++)if (da = xa[N], Y = da[da.length - 1], S(Y)) if ((ma = Y, da.pop(), 0 === da.length) || (da = da.join(" "), a.matchesMedia(da))) return ma; return "100vw" } t.createElement("picture"); var q, l, c, a = {}, b = !1, e = function () { }, g = t.createElement("img"), r = g.getAttribute, A = g.setAttribute, F = g.removeAttribute, K = t.documentElement, R = {}, U = { algorithm: "" }, ha = navigator.userAgent, na = /rident/.test(ha) || /ecko/.test(ha) && ha.match(/rv:(\d+)/) && 35 < RegExp.$1, C = "currentSrc", O = /\s+\+?\d+(e\d+)?w/, T = /(\([^)]+\))?\s*(.+)/; ha = B.picturefillCFG; var aa = !0, pa = {}, X = {}, ea = B.devicePixelRatio, fa = { px: 1, "in": 96 }, Ba = t.createElement("a"), hb = !1, sb = /^[ \t\n\r\u000c]+/, tb = /^[, \t\n\r\u000c]+/, Qa = /^[^ \t\n\r\u000c]+/, za = /[,]+$/, Ha = /^\d+$/, ab = /^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/, La = function (N, S, da, Y) { N.addEventListener ? N.addEventListener(S, da, Y || !1) : N.attachEvent && N.attachEvent("on" + S, da) }, Ja = function (N) { var S = {}; return function (da) { return da in S || (S[da] = N(da)), S[da] } }, ja = function () { var N = /^([\d\.]+)(em|vw|px)$/, S = function () { for (var Y = arguments, ma = 0, qa = Y[0]; ++ma in Y;)qa = qa.replace(Y[ma], Y[++ma]); return qa }, da = Ja(function (Y) { return "return " + S((Y || "").toLowerCase(), /\band\b/g, "\x26\x26", /,/g, "||", /min-([a-z-\s]+):/g, "e.$1\x3e\x3d", /max-([a-z-\s]+):/g, "e.$1\x3c\x3d", /calc([^)]+)/g, "($1)", /(\d+[\.]*[\d]*)([a-z]+)/g, "($1 * e.$2)", /^(?!(e.[a-z]|[0-9\.&=|><\+\-\*\(\)\/])).*/gi, "") + ";" }); return function (Y, ma) { var qa; if (!(Y in pa)) if (pa[Y] = !1, ma && (qa = Y.match(N))) pa[Y] = qa[1] * fa[qa[2]]; else try { pa[Y] = (new Function("e", da(Y)))(fa) } catch (Ma) { } return pa[Y] } }(), xb = function (N, S) { return N.w ? (N.cWidth = a.calcListLength(S || "100vw"), N.res = N.w / N.cWidth) : N.res = N.d, N }, db = function (N) { if (b) { var S, da, Y = N || {}; if (Y.elements && 1 === Y.elements.nodeType && ("IMG" === Y.elements.nodeName.toUpperCase() ? Y.elements = [Y.elements] : (Y.context = Y.elements, Y.elements = null)), S = Y.elements || a.qsa(Y.context || t, Y.reevaluate || Y.reselect ? a.sel : a.selShort), da = S.length) { a.setupRun(Y); hb = !0; for (N = 0; da > N; N++)a.fillImg(S[N], Y); a.teardownRun(Y) } } }; C in g || (C = "src"); R["image/jpeg"] = !0; R["image/gif"] = !0; R["image/png"] = !0; R["image/svg+xml"] = t.implementation.hasFeature("http://www.w3.org/TR/SVG11/feature#Image", "1.1"); a.ns = ("pf" + (new Date).getTime()).substr(0, 9); a.supSrcset = "srcset" in g; a.supSizes = "sizes" in g; a.supPicture = !!B.HTMLPictureElement; a.supSrcset && a.supPicture && !a.supSizes && !function (N) { g.srcset = "data:,a"; N.src = "data:,a"; a.supSrcset = g.complete === N.complete; a.supPicture = a.supSrcset && a.supPicture }(t.createElement("img")); a.supSrcset && !a.supSizes ? !function () { var N = t.createElement("img"), S = function () { 2 === N.width && (a.supSizes = !0); l = a.supSrcset && !a.supSizes; b = !0; setTimeout(db) }; N.onload = S; N.onerror = S; N.setAttribute("sizes", "9px"); N.srcset = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d 1w,data:image/gif;base64,R0lGODlhAgABAPAAAP///wAAACH5BAAAAAAALAAAAAACAAEAAAICBAoAOw\x3d\x3d 9w"; N.src = "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw\x3d\x3d" }() : b = !0; a.selShort = "picture\x3eimg,img[srcset]"; a.sel = a.selShort; a.cfg = U; a.DPR = ea || 1; a.u = fa; a.types = R; a.setSize = e; a.makeUrl = Ja(function (N) { return Ba.href = N, Ba.href }); a.qsa = function (N, S) { return "querySelector" in N ? N.querySelectorAll(S) : [] }; a.matchesMedia = function () { return B.matchMedia && (matchMedia("(min-width: 0.1em)") || {}).matches ? a.matchesMedia = function (N) { return !N || matchMedia(N).matches } : a.matchesMedia = a.mMQ, a.matchesMedia.apply(this, arguments) }; a.mMQ = function (N) { return N ? ja(N) : !0 }; a.calcLength = function (N) { N = ja(N, !0) || !1; return 0 > N && (N = !1), N }; a.supportsType = function (N) { return N ? R[N] : !0 }; a.parseSize = Ja(function (N) { N = (N || "").match(T); return { media: N && N[1], length: N && N[2] } }); a.parseSet = function (N) { return N.cands || (N.cands = m(N.srcset, N)), N.cands }; a.getEmValue = function () { var N; if (!q && (N = t.body)) { var S = t.createElement("div"), da = K.style.cssText, Y = N.style.cssText; S.style.cssText = "position:absolute;left:0;visibility:hidden;display:block;padding:0;border:none;font-size:1em;width:1em;overflow:hidden;clip:rect(0px, 0px, 0px, 0px)"; K.style.cssText = "font-size:100%!important;"; N.style.cssText = "font-size:100%!important;"; N.appendChild(S); q = S.offsetWidth; N.removeChild(S); q = parseFloat(q, 10); K.style.cssText = da; N.style.cssText = Y } return q || 16 }; a.calcListLength = function (N) { if (!(N in X) || U.uT) { var S = a.calcLength(f(N)); X[N] = S ? S : fa.width } return X[N] }; a.setRes = function (N) { if (N) { var S = a.parseSet(N); for (var da = 0, Y = S.length; Y > da; da++)xb(S[da], N.sizes) } return S }; a.setRes.res = xb; a.applySetCandidate = function (N, S) { if (N.length) { var da, Y, ma, qa, Ma, xa, la = S[a.ns], sa = a.DPR; var k = la.curSrc || S[C]; if (!(qa = la.curCan)) { var Ia = k, oa = N[0].set, Ga; qa = (!oa && Ia && (oa = S[a.ns].sets, oa = oa && oa[oa.length - 1]), Ga = w(Ia, oa), Ga && (Ia = a.makeUrl(Ia), S[a.ns].curSrc = Ia, S[a.ns].curCan = Ga, Ga.res || xb(Ga, Ga.set.sizes)), Ga) } if (Y = qa, Y && Y.set === N[0].set && (xa = na && !S.complete && Y.res - .1 > sa, xa || (Y.cached = !0, Y.res >= sa && (ma = Y))), !ma) for (N.sort(u), qa = N.length, ma = N[qa - 1], Y = 0; qa > Y; Y++)if (da = N[Y], da.res >= sa) { ma = Y - 1; if (oa = N[ma] && (xa || k !== a.makeUrl(da.url))) Ia = qa = Y = xa = void 0, oa = N[ma].res, Ga = da.res, oa = ("saveData" === U.algorithm ? 2.7 < oa ? xa = sa + 1 : (qa = Ga - sa, Ia = Math.pow(oa - .6, 1.5), Y = qa * Ia, N[ma].cached && (Y += .1 * Ia), xa = oa + Y) : xa = 1 < sa ? Math.sqrt(oa * Ga) : oa, xa > sa); ma = oa ? N[ma] : da; break } ma && (Ma = a.makeUrl(ma.url), la.curSrc = Ma, la.curCan = ma, Ma !== k && a.setSrc(S, ma), a.setSize(S)) } }; a.setSrc = function (N, S) { var da; N.src = S.url; "image/svg+xml" === S.set.type && (da = N.style.width, N.style.width = N.offsetWidth + 1 + "px", N.offsetWidth + 1 && (N.style.width = da)) }; a.getSet = function (N) { var S, da, Y = !1, ma = N[a.ns].sets; for (N = 0; N < ma.length && !Y; N++)if (S = ma[N], S.srcset && a.matchesMedia(S.media) && (da = a.supportsType(S.type))) { "pending" === da && (S = da); Y = S; break } return Y }; a.parseSets = function (N, S, da) { var Y, ma, qa, Ma, xa = S && "PICTURE" === S.nodeName.toUpperCase(), la = N[a.ns]; (la.src === p || da.src) && (la.src = r.call(N, "src"), la.src ? A.call(N, "data-pfsrc", la.src) : F.call(N, "data-pfsrc")); (la.srcset === p || da.srcset || !a.supSrcset || N.srcset) && (Y = r.call(N, "srcset"), la.srcset = Y, Ma = !0); la.sets = []; if (xa) { la.pic = !0; da = la.sets; var sa, k, Ia = S.getElementsByTagName("source"); S = 0; for (sa = Ia.length; sa > S; S++) { var oa = Ia[S]; oa[a.ns] = !0; (k = oa.getAttribute("srcset")) && da.push({ srcset: k, media: oa.getAttribute("media"), type: oa.getAttribute("type"), sizes: oa.getAttribute("sizes") }) } } la.srcset ? (ma = { srcset: la.srcset, sizes: r.call(N, "sizes") }, la.sets.push(ma), qa = (l || la.src) && O.test(la.srcset || ""), qa || !la.src || w(la.src, ma) || ma.has1x || (ma.srcset += ", " + la.src, ma.cands.push({ url: la.src, d: 1, set: ma }))) : la.src && la.sets.push({ srcset: la.src, sizes: null }); la.curCan = null; la.curSrc = p; la.supported = !(xa || ma && !a.supSrcset || qa && !a.supSizes); Ma && a.supSrcset && !la.supported && (Y ? (A.call(N, "data-pfsrcset", Y), N.srcset = "") : F.call(N, "data-pfsrcset")); la.supported && !la.srcset && (!la.src && N.src || N.src !== a.makeUrl(la.src)) && (null === la.src ? N.removeAttribute("src") : N.src = la.src); la.parsed = !0 }; a.fillImg = function (N, S) { var da = S.reselect || S.reevaluate; N[a.ns] || (N[a.ns] = {}); var Y = N[a.ns]; if (da || Y.evaled !== c) if (Y.parsed && !S.reevaluate || a.parseSets(N, N.parentNode, S), Y.supported) Y.evaled = c; else { var ma; S = a.getSet(N); Y = !1; "pending" !== S && (Y = c, S && (ma = a.setRes(S), a.applySetCandidate(ma, N))); N[a.ns].evaled = Y } }; a.setupRun = function () { if (!hb || aa || ea !== B.devicePixelRatio) aa = !1, ea = B.devicePixelRatio, pa = {}, X = {}, a.DPR = ea || 1, fa.width = Math.max(B.innerWidth || 0, K.clientWidth), fa.height = Math.max(B.innerHeight || 0, K.clientHeight), fa.vw = fa.width / 100, fa.vh = fa.height / 100, c = [fa.height, fa.width, ea].join("-"), fa.em = a.getEmValue(), fa.rem = fa.em }; a.supPicture ? (db = e, a.fillImg = e) : !function () { var N, S = B.attachEvent ? /d$|^c/ : /d$|^c|^i/, da = function () { var qa = t.readyState || ""; Y = setTimeout(da, "loading" === qa ? 200 : 999); t.body && (a.fillImgs(), N = N || S.test(qa), N && clearTimeout(Y)) }, Y = setTimeout(da, t.body ? 9 : 99), ma = K.clientHeight; La(B, "resize", function (qa, Ma) { var xa, la, sa = function () { var k = new Date - la; Ma > k ? xa = setTimeout(sa, Ma - k) : (xa = null, qa()) }; return function () { la = new Date; xa || (xa = setTimeout(sa, Ma)) } }(function () { aa = Math.max(B.innerWidth || 0, K.clientWidth) !== fa.width || K.clientHeight !== ma; ma = K.clientHeight; aa && a.fillImgs() }, 99)); La(t, "readystatechange", da) }(); a.picturefill = db; a.fillImgs = db; a.teardownRun = e; db._ = a; for (B.picturefillCFG = { pf: a, push: function (N) { var S = N.shift(); "function" == typeof a[S] ? a[S].apply(a, N) : (U[S] = N[0], hb && a.fillImgs({ reselect: !0 })) } }; ha && ha.length;)B.picturefillCFG.push(ha.shift()); B.picturefill = db; "object" == typeof module && "object" == typeof module.exports ? module.exports = db : "function" == typeof define && define.amd && define("picturefill", function () { return db }); a.supPicture || (R["image/webp"] = x("image/webp", "data:image/webp;base64,UklGRkoAAABXRUJQVlA4WAoAAAAQAAAAAAAAAAAAQUxQSAwAAAABBxAR/Q9ERP8DAABWUDggGAAAADABAJ0BKgEAAQADADQlpAADcAD++/1QAA\x3d\x3d")) })(window, document); var mwfAutoInit = function (B) { function t(I) { if (p[I]) return p[I].exports; var x = p[I] = { exports: {}, id: I, loaded: !1 }; return B[I].call(x.exports, x, x.exports, t), x.loaded = !0, x.exports } var p = {}; return t.m = B, t.c = p, t.p = "", t(0) }([function (B, t, p) { p = [p, t, p(70)]; t = function (I, x, u) { for (var w in u) x.hasOwnProperty(w) || (x[w] = u[w]) }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(5), p(3)]; t = function (x, u, w, m, f) { x = function (q) { function l(c) { var a = this; q.call(this, c); this.onTriggerClick = function (b) { a.activeTrigger = f.getEventTargetOrSrcElement(b); b = a.activeTrigger.getAttribute(l.ariaControlsAttribute); a.activeMenu = document.getElementById(b); a.activeMenu && a.toggleVisibility() }; this.onNonMenuClick = function (b) { a.element && a.activeMenu && (b = f.getEvent(b), b = f.getEventTargetOrSrcElement(b), a.handleOnNonMenuClick(b)) }; this.handleOnNonMenuClick = function (b) { a.element.contains(b) || (a.activeMenu = f.selectFirstElement("button + ul", a.element), a.activeTrigger = f.selectFirstElement("button", a.element), a.hideMenu()) }; this.onMenuKeydownEvent = function (b) { b = f.getEvent(b); b = m.getKeyCode(b); a.handleMenuKeydown(b) }; this.update() } return I(l, q), l.prototype.update = function () { var c = f.selectElements("button", this.element); 0 !== c.length && (this.triggers = c, this.menus = f.selectElements("button + ul", this.element), f.addEvent(this.triggers, f.eventTypes.click, this.onTriggerClick)); f.addEvent(this.element, f.eventTypes.keydown, this.onMenuKeydownEvent, !0); f.addEvent(document, f.eventTypes.click, this.onNonMenuClick) }, l.prototype.teardown = function () { f.removeEvent(this.triggers, f.eventTypes.click, this.onTriggerClick); f.removeEvent(this.element, f.eventTypes.keydown, this.onMenuKeydownEvent, !0); f.removeEvent(document, f.eventTypes.click, this.onNonMenuClick) }, l.prototype.toggleVisibility = function () { "true" === this.activeMenu.getAttribute(l.ariaHidden) ? this.showMenu() : this.hideMenu() }, l.prototype.showMenu = function () { this.activeMenu.setAttribute(l.ariaHidden, "false"); this.activeTrigger.setAttribute(l.ariaExpanded, "true") }, l.prototype.hideMenu = function () { this.activeMenu.setAttribute(l.ariaHidden, "true"); this.activeTrigger.setAttribute(l.ariaExpanded, "false") }, l.prototype.handleMenuKeydown = function (c) { switch (c) { case 27: this.activeMenu = f.selectFirstElement("button + ul", this.element), this.activeTrigger = f.selectFirstElement("button", this.element), this.hideMenu() } }, l.selector = ".c-navigation-menu", l.typeName = "NavigationMenu", l.ariaExpanded = "aria-expanded", l.ariaHidden = "aria-hidden", l.ariaControlsAttribute = "aria-controls", l }(w.ObservableComponent); u.NavigationMenu = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(3)]; t = function (I, x, u) { I = function () { function w(m, f) { void 0 === f && (f = null); this.element = m; this.ignoreNextDOMChange = !1; w.shouldInitializeAsClass(m, f) && this.setObserver() } return w.prototype.unObserve = function () { this.modernObserver && this.modernObserver.disconnect(); u.removeEvent(this.element, u.eventTypes.DOMNodeInserted, this.obsoleteNodeInsertedEventHander); u.removeEvent(this.element, u.eventTypes.DOMNodeRemoved, this.obsoleteNodeRemovedEventHandler) }, w.prototype.setObserver = function () { "undefined" != typeof w.mutationObserver ? this.observeModern() : "MutationEvent" in window && this.observeObsolete() }, w.prototype.observeModern = function () { var m = this; this.modernObserver = new MutationObserver(function (f) { m.onModernMutations(f) }); this.modernObserver.observe(this.element, { childList: !0, subtree: !0 }) }, w.prototype.onModernMutations = function (m) { if (this.ignoreNextDOMChange) return void (this.ignoreNextDOMChange = !1); for (var f = !1, q = !1, l = 0; l < m.length; l++) { for (var c = m[l], a = 0, b = c.addedNodes.length; a < b; a++)1 === c.addedNodes[a].nodeType && (f = !0, q = !0); a = 0; for (b = c.removedNodes.length; a < b; a++)1 === c.removedNodes[a].nodeType && (f = !0, c.removedNodes[a] !== this.element && (q = !0)) } f && this.teardown(); q && this.update() }, w.prototype.observeObsolete = function () { var m = this; this.obsoleteNodeInsertedEventHander = u.addDebouncedEvent(this.element, u.eventTypes.DOMNodeInserted, function () { m.onObsoleteNodeInserted() }); this.obsoleteNodeRemovedEventHandler = u.addDebouncedEvent(this.element, u.eventTypes.DOMNodeRemoved, function (f) { m.onObsoleteNodeRemoved(f) }) }, w.prototype.onObsoleteNodeInserted = function () { this.ignoreNextDOMChange || (this.teardown(), this.update()) }, w.prototype.onObsoleteNodeRemoved = function (m) { this.ignoreNextDOMChange || (this.teardown(), u.getEventTargetOrSrcElement(m) !== this.element && this.update()) }, w.shouldInitializeAsClass = function (m, f) { var q = m ? m.getAttribute(w.mwfClassAttribute) : null; return "false" !== (m ? m.getAttribute(w.initializeAttribute) : null) && !!m && (!q || !!f && q === f.mwfClass) }, w.mwfClassAttribute = "data-mwf-class", w.initializeAttribute = "data-js-initialize", w.mutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver, w }(); x.ObservableComponent = I }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(4)]; t = function (I, x, u) { function w(C, O, T, aa) { void 0 === aa && (aa = !1); var pa = 0; for (C = r(C); pa < C.length; pa++)K(C[pa], T, aa, na[O]) } function m(C, O) { !C || u.isNullOrWhiteSpace(O) || q(C, O) || (C.classList ? C.classList.add(O) : C.className = (C.className + " " + O).trim()) } function f(C, O) { if (C && !u.isNullOrWhiteSpace(O)) { var T = 0; for (C = r(C); T < C.length; T++) { var aa = C[T]; aa.className && (aa.className = (" " + aa.className + " ").replace(" " + O.trim() + " ", " ").trim()) } } } function q(C, O) { return !(!C || u.isNullOrWhiteSpace(O) || u.isNullOrWhiteSpace(C.className)) && -1 < (" " + C.className + " ").indexOf(" " + O.trim() + " ") } function l(C, O) { if (u.isNullOrWhiteSpace(C)) return []; O = O || document; if (/^[#.]?[\w-]+$/.test(C)) { switch (C[0]) { case ".": return c(O.getElementsByClassName ? O.getElementsByClassName(C.slice(1)) : O.querySelectorAll(C)); case "#": return (C = O.querySelector(C)) ? [C] : [] }return c(O.getElementsByTagName(C)) } return c(O.querySelectorAll(C)) } function c(C) { if (!C) return []; for (var O = [], T = 0; T < C.length; T++)O.push(C[T]); return O } function a(C) { if (C) { var O = C.getBoundingClientRect(), T = {}, aa; for (aa in O) T[aa] = O[aa]; return "undefined" == typeof T.width && (T.width = C.offsetWidth), "undefined" == typeof T.height && (T.height = C.offsetHeight), T } } function b(C, O, T) { return C ? T || "" === T ? void (C.style[O] = T) : (T = C.style[O], u.isNullOrWhiteSpace(T) && (T = getComputedStyle(C), T = T[O]), T) : null } function e(C, O, T, aa) { if (C && O && T) { var pa = 0; for (C = r(C); pa < C.length; pa++)R(C[pa], T, aa, na[O]) } } function g(C) { return Array.isArray ? Array.isArray(C) : "[object Array]" === {}.toString.call(C) } function r(C) { return g(C) ? C : [C] } function A(C, O) { if (!C || !O) return null; for (O = O.parentNode; null != O;) { if (O === C) return !0; O = O.parentNode } return !1 } function F(C) { return C || window.event } function K(C, O, T, aa) { void 0 === T && (T = !1); C && (window.addEventListener ? C.addEventListener(aa, O, T) : C.attachEvent("on" + aa, O)) } function R(C, O, T, aa) { void 0 === T && (T = !1); C && (window.removeEventListener ? C.removeEventListener(aa, O, T) : C.detachEvent("on" + aa, O)) } var U; !function (C) { C.requestAnimationFrame = window.requestAnimationFrame || function (O) { "function" == typeof O && window.setTimeout(O, 16.7) } }(U = x.SafeBrowserApis || (x.SafeBrowserApis = {})); (function (C) { C[C.right = 0] = "right"; C[C.left = 1] = "left" })(x.Direction || (x.Direction = {})); var ha = x.Direction; !function (C) { C[C.animationend = 0] = "animationend"; C[C.blur = 1] = "blur"; C[C.change = 2] = "change"; C[C.click = 3] = "click"; C[C.DOMContentLoaded = 4] = "DOMContentLoaded"; C[C.DOMNodeInserted = 5] = "DOMNodeInserted"; C[C.DOMNodeRemoved = 6] = "DOMNodeRemoved"; C[C.ended = 7] = "ended"; C[C.error = 8] = "error"; C[C.focus = 9] = "focus"; C[C.focusin = 10] = "focusin"; C[C.load = 11] = "load"; C[C.keydown = 12] = "keydown"; C[C.keypress = 13] = "keypress"; C[C.keyup = 14] = "keyup"; C[C.loadedmetadata = 15] = "loadedmetadata"; C[C.mousedown = 16] = "mousedown"; C[C.mousemove = 17] = "mousemove"; C[C.mouseout = 18] = "mouseout"; C[C.mouseover = 19] = "mouseover"; C[C.mouseup = 20] = "mouseup"; C[C.onreadystatechange = 21] = "onreadystatechange"; C[C.resize = 22] = "resize"; C[C.scroll = 23] = "scroll"; C[C.submit = 24] = "submit"; C[C.timeupdate = 25] = "timeupdate"; C[C.touchstart = 26] = "touchstart"; C[C.touchend = 27] = "touchend"; C[C.wheel = 28] = "wheel" }(x.eventTypes || (x.eventTypes = {})); var na = x.eventTypes; x.addEvent = w; x.addEvents = function (C, O, T, aa) { if (void 0 === aa && (aa = !1), !u.isNullOrWhiteSpace(O)) { var pa = 0; for (C = r(C); pa < C.length; pa++)for (var X = C[pa], ea = 0, fa = O.split(/\s+/); ea < fa.length; ea++) { var Ba = fa[ea]; u.isNullOrWhiteSpace(Ba) || K(X, T, aa, Ba) } } }; x.removeEvents = function (C, O, T, aa) { void 0 === aa && (aa = !1); var pa = 0; for (C = r(C); pa < C.length; pa++)for (var X = C[pa], ea = 0, fa = r(O); ea < fa.length; ea++) { var Ba = fa[ea]; u.isNullOrWhiteSpace(Ba) || R(X, T, aa, Ba) } }; x.preventDefault = function (C) { (C = F(C)) && (C.preventDefault ? C.preventDefault() : C.returnValue = !1) }; x.addThrottledEvent = function (C, O, T, aa) { void 0 === aa && (aa = 150); var pa, X = 0, ea = function (fa) { var Ba = Date.now(); clearTimeout(pa); X && Ba < X + aa ? pa = setTimeout(function () { X = Ba; T(fa) }, aa - (Ba - X)) : (X = Ba, T(fa)) }; return w(C, O, ea), ea }; x.addThrottledEvents = function (C, O, T, aa, pa) { function X(Qa) { var za, Ha = 0; return function (ab) { var La = Date.now(); clearTimeout(za); Ha && La < Ha + pa ? za = setTimeout(function () { Ha = La; Qa(ab) }, pa - (La - Ha)) : (Ha = La, Qa(ab)) } } if (void 0 === aa && (aa = !1), void 0 === pa && (pa = 150), !u.isNullOrWhiteSpace(O)) { var ea = 0; for (C = r(C); ea < C.length; ea++)for (var fa = C[ea], Ba = 0, hb = O.split(/\s+/); Ba < hb.length; Ba++) { var sb = hb[Ba]; if (!u.isNullOrWhiteSpace(sb)) { var tb = X(T); K(fa, tb, aa, sb) } } } }; x.addDebouncedEvent = function (C, O, T, aa) { void 0 === aa && (aa = 150); var pa, X = function (ea) { window.clearTimeout(pa); pa = setTimeout(function () { T(ea) }, aa) }; return w(C, O, X), X }; x.documentReady = function (C, O) { if ((void 0 === O && (O = 5E3), "complete" === document.readyState) || !document.attachEvent && "interactive" === document.readyState) return void C.call(null); var T, aa, pa, X = function (ea) { clearTimeout(T); aa && e(document, na.DOMContentLoaded, aa); pa && e(document, na.onreadystatechange, pa); U.requestAnimationFrame.call(window, C) }; return T = setTimeout(function () { X("timedout") }, O), document.addEventListener ? (aa = function () { X("domcontentloaded") }, void w(document, na.DOMContentLoaded, aa, !1)) : void (document.attachEvent && (pa = function () { "complete" === document.readyState && X("readystatecomplete") }, w(document, na.onreadystatechange, pa, !1))) }; x.onDeferred = function (C, O) { void 0 === O && (O = 5E3); var T = setTimeout(function () { clearTimeout(T); e(window, na.load, aa); C.call(null) }, O); var aa = function () { clearTimeout(T); U.requestAnimationFrame.call(window, C) }; "complete" === document.readyState ? (clearTimeout(T), C.call(null)) : w(window, na.load, aa) }; x.addClass = m; x.removeClass = f; x.removeClasses = function (C, O) { if (O) for (var T = 0; T < O.length; T++)f(C, O[T]) }; x.addClasses = function (C, O) { if (O) for (var T = 0; T < O.length; T++)m(C, O[T]) }; x.addAttribute = function (C, O) { if (C && O) for (var T = 0; T < O.length; T++) { var aa = O[T]; u.isNullOrWhiteSpace(aa.name) || u.isNullOrWhiteSpace(aa.value) || C.setAttribute(aa.name, aa.value) } }; x.hasClass = q; x.removeElement = function (C) { return C ? C.parentElement.removeChild(C) : C }; x.selectElements = function (C, O) { return l(C, O) }; x.selectFirstElement = function (C, O) { return (C = l(C, O)) && C.length ? C[0] : null }; x.selectElementsT = l; x.selectFirstElementT = function (C, O) { return (C = l(C, O)) && C.length ? C[0] : null }; x.selectElementsFromSelectors = function (C, O) { var T; O = O || document; var aa = 0; for (C = C.split(","); aa < C.length; aa++)T += this.selectElements(C[aa], O); return T }; x.nodeListToArray = c; x.getDirection = function (C) { for (void 0 === C && (C = document.documentElement); null !== C;) { var O = C.getAttribute("dir"); if (O) return "rtl" === O ? ha.right : ha.left; C = C.parentElement } return ha.left }; x.getClientRect = a; x.getClientRectWithMargin = function (C) { if (C) return { width: parseFloat(a(C).width) + parseFloat(b(C, "margin-left")) + parseFloat(b(C, "margin-right")), height: parseFloat(a(C).height) + parseFloat(b(C, "margin-top")) + parseFloat(b(C, "margin-bottom")) } }; x.css = b; x.removeEvent = e; x.isArray = g; x.toArray = r; x.isDescendent = A; x.isDescendentOrSelf = function (C, O) { return C && O ? C === O || A(C, O) : null }; x.getText = function (C) { return C ? C.innerText || C.textContent || "" : "" }; x.setText = function (C, O) { C && null !== O && (C.textContent ? C.textContent = O : C.innerHTML = O) }; x.removeInnerHtml = function (C) { C && (C.innerHTML = "") }; x.getEventTargetOrSrcElement = function (C) { return C = F(C), C.target || C.srcElement }; x.getEvent = F; x.customEvent = function (C, O, T) { if (void 0 === T && (T = {}), !C || !O) return null; O = "string" == typeof O ? O : na[O]; var aa = null; return T.bubbles = "undefined" == typeof T.bubbles || T.bubbles, T.cancelable = "undefined" == typeof T.cancelable || T.cancelable, window.CustomEvent && "function" == typeof window.CustomEvent ? aa = new CustomEvent(O, T) : document.createEvent ? (aa = document.createEvent("CustomEvent"), aa.initCustomEvent(O, T.bubbles, T.cancelable, T.detail)) : (aa = document.createEventObject(), C.fireEvent("on" + O, aa)), C.dispatchEvent(aa), aa }; x.stopPropagation = function (C) { C.stopPropagation ? C.stopPropagation() : C.returnValue = !1 }; x.getScrollY = function (C) { return void 0 === C && (C = window), C.scrollY || C.pageYOffset || ("CSS1Compat" === C.document.compatMode ? C.document.documentElement.scrollTop : C.document.body.scrollTop) }; x.getOffsetParent = function (C) { if (!C) return window.document.documentElement; var O = C.ownerDocument.documentElement; for (C = C.offsetParent; C && "static" == b(C, "position");)C = C.offsetParent; return C || O }; x.scrollElementIntoView = function (C, O) { if (C && O) { var T = O.clientHeight, aa = O.scrollHeight; aa > T && (O.scrollTop = Math.min(C.offsetTop - O.firstElementChild.offsetTop, aa - T)) } }; x.isImageLoadedSuccessfully = function (C) { return "undefined" == typeof C.complete || "undefined" == typeof C.naturalHeight || C && C.complete && 0 < C.naturalHeight }; x.getCoordinates = function (C) { var O = C.touches && C.touches.length ? C.touches : [C]; C = C.changedTouches && C.changedTouches[0] || O[0]; return { x: C.clientX, y: C.clientY } }; x.getParent = function (C, O) { for (var T = C.matches || C.webkitMatchesSelector || C.mozMatchesSelector || C.msMatchesSelector; C && !T.call(C, O);)C = C.parentElement; return C } }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { t = function (I, x) { // CodeQL [SM03077] This is auto-generated code from cascade environment and the value of indexof is validated. function u(w) { return w ? w.trim ? w.trim() : w.replace(/^\s+|\s+$/g, "") : null } x.isNullOrWhiteSpace = function (w) { return !w || !u(w) }; x.trim = u; x.startsWith = function (w, m, f) { return void 0 === f && (f = !0), !(!w || !m) && (f && (w = w.toLocaleLowerCase(), m = m.toLocaleLowerCase()), w.startsWith ? w.startsWith(m) : 0 === w.indexOf(m)) }; x.endsWith = function (w, m, f) { return void 0 === f && (f = !0), !(!w || !m) && (f && (w = w.toLocaleLowerCase(), m = m.toLocaleLowerCase()), w.endsWith ? w.endsWith(m) : w.lastIndexOf(m) === w.length - m.length) }; x.getMatchLength = function (w, m, f) { if (void 0 === f && (f = !0), !w || !m) return 0; var q = 0; for (f && (w = w.toLocaleLowerCase(), m = m.toLocaleLowerCase()); w.charCodeAt(q) === m.charCodeAt(q);)q++; return q }; x.format = function (w) { for (var m = [], f = 1; f < arguments.length; f++)m[f - 1] = arguments[f]; return w.replace(/{(\d+)}/g, function (q, l) { if (l >= m.length) return q; q = m[l]; return "number" == typeof q || q ? "string" == typeof q ? q : q.toString() : "" }) } }.apply(t, [p, t]); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(4)]; t = function (I, x, u) { function w(c) { return !isNaN(c) && "number" == typeof c } function m() { return window.innerWidth && document.documentElement.clientWidth ? Math.min(window.innerWidth, document.documentElement.clientWidth) : window.innerWidth || document.documentElement.clientWidth } function f(c) { return c = decodeURIComponent(c.replace("/+/g", " ")), 0 === c.indexOf('"') && (c = c.slice(1, -1).replace(/\\"/g, '"').replace(/\\\\/g, "\\")), c } function q() { for (var c = [], a = 0; a < arguments.length; a++)c[a - 0] = arguments[a]; for (a = 1; a < c.length; a++)for (var b in c[a]) c[a].hasOwnProperty(b) && ("object" == typeof c[a][b] ? c[0][b] = q(c[0][b] || {}, c[a][b]) : c[0][b] = c[a][b]); return arguments[0] } // CodeQL [SM02383] Suppression: This code is autogenerated by cascade, all the validations are done as needed and should be ignored. function l(c) { c = c.replace(/[\[\]]/g, "\\$\x26"); c = (new RegExp("[\\?\x26]" + c.toLowerCase() + "\x3d([^\x26#]*)")).exec(location.search.toLowerCase()); return null === c ? "" : decodeURIComponent(c[1].replace(/\+/g, " ")) } x.isNumber = w; x.getWindowWidth = m; x.getWindowHeight = function () { return window.innerHeight && document.documentElement.clientHeight ? Math.min(window.innerHeight, document.documentElement.clientHeight) : window.innerHeight || document.documentElement.clientHeight }; x.getDimensions = function (c) { if (null != c) return { width: c.clientWidth, height: c.clientHeight } }; x.getVirtualKey = function (c) { var a; if ((c = c || window.event, !c) || (a = c.key || c.keyIdentifier, !a)) return a; switch (a) { case "Left": return "ArrowLeft"; case "Right": return "ArrowRight"; case "Up": return "ArrowUp"; case "Down": return "ArrowDown"; case "Esc": return "Escape"; default: return a } }; x.getKeyCode = function (c) { return c = c || window.event, null == c ? null : c.which || c.keyCode || c.charCode }; x.setCookie = function (c, a, b, e) { var g = ""; e && (g = new Date, g.setTime(g.getTime() + 864E5 * e), g = "; expires\x3d" + g.toUTCString()); window.document.cookie = c + "\x3d" + encodeURIComponent(a) + g + ("; path\x3d" + b + ";") }; x.getCookie = function (c) { if (c) for (var a = 0, b = document.cookie.split("; "); a < b.length; a++) { var e = b[a], g = e.indexOf("\x3d"); g = f(e.substring(0, g)); if (g === c) return f(e.substring(g.length + 1)) } return null }; x.detectContrast = function (c) { if (c && 6 === c.length) { var a = parseInt(c.substring(0, 2), 16), b = parseInt(c.substring(2, 4), 16); c = parseInt(c.substring(4, 6), 16); if (!isNaN(a) && !isNaN(b) && !isNaN(c)) return .5 <= (299 * a + 587 * b + 114 * c) / 255E3 ? 2 : 1 } return null }; x.pointInRect = function (c, a, b) { return !!(b && w(c) && w(a) && w(b.left) && w(b.right) && w(b.top) && w(b.bottom)) && c >= b.left && c <= b.right && a >= b.top && a <= b.bottom }; x.apiDeprecated = function (c) { console && console.warn ? console.warn(c) : console && console.error && console.error(c) }; x.createPerfMarker = function (c) { 0 > l("item").toLowerCase().indexOf("perf_marker_global:true") || u.isNullOrWhiteSpace(c) || !window.performance || !window.performance.mark || (c = c.split(" ").join("_"), window.performance.mark(c), window.console && window.console.timeStamp && window.console.timeStamp(c)) }; x.toElapsedTimeString = function (c) { if (!w(c) || 0 >= c) return "00:00"; var a = Math.floor(c / 3600), b = c % 3600, e = Math.floor(b / 60); a = 0 < a ? a + ":" : ""; return c = Math.floor(b % 60), a += (10 > e ? "0" : "") + e, a + (":" + (0 === c ? "00" : (10 > c ? "0" : "") + c)) }; x.parseJson = function (c) { if (!JSON || !JSON.parse) throw Error("JSON.parse unsupported."); if (!c) throw Error("Invalid json."); return JSON.parse(c) }; x.extend = q; x.poll = function (c, a, b, e, g) { var r = !b || 0 > b ? -1 : Number(new Date) + b; a = a || 100; (function F() { var K = c(); K && e ? e() : K || (-1 === r || Number(new Date) < r ? setTimeout(F, a) : g && g()) })() }; x.getQSPValue = l; !function (c) { c.allWidths = [320, 540, 768, 1084, 1400, 1779]; c.vpMin = c.allWidths[0]; c.vpMax = 2048; c.getViewport = function () { if (window.matchMedia) for (var a = 0; a < c.allWidths.length; ++a) { if (!window.matchMedia("(min-width:" + c.allWidths[a] + "px)").matches) return a } else for (a = 0; a < c.allWidths.length; ++a)if (!(m() >= c.allWidths[a])) return a; return c.allWidths.length } }(x.Viewports || (x.Viewports = {})) }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(3)]; t = function (x, u, w, m) { x = function (f) { function q(l) { var c = this; f.call(this, l); this.toggleOverflow = function () { c.showOverflow ? (c.overflow.setAttribute(q.ariaHiddenAttribute, "true"), c.overflowToggle.setAttribute(q.ariaExpandedAttribute, "false"), c.showOverflow = !1) : (c.overflow.setAttribute(q.ariaHiddenAttribute, "false"), c.overflowToggle.setAttribute(q.ariaExpandedAttribute, "true"), c.showOverflow = !0) }; this.handleWindowResize = function () { c.updateWidth(); c.linksClipped() }; l && this.update() } return I(q, f), q.prototype.update = function () { this.overflow = m.selectFirstElement(q.overflowSelector, this.element); this.overflowToggle = m.selectFirstElement(q.overflowToggleSelector, this.element); this.barLinks = this.getBarLinks(); this.staticOverflowLinks = this.getStaticOverflowLinks(); this.linksWidth = this.getLinksWidth(); this.totalLinksWidth = this.getTotalLinksWidth(); this.overflowToggleWidth = m.getClientRect(this.overflowToggle).width; this.showOverflow = !(!this.overflowToggle.hasAttribute(q.ariaHiddenAttribute) || !this.overflowToggle.getAttribute(q.ariaHiddenAttribute)); this.duplicateLinksToOverflow(); this.handleWindowResize(); m.addEvent(this.overflowToggle, m.eventTypes.click, this.toggleOverflow); this.resizeThrottledEventHandler = m.addThrottledEvent(window, m.eventTypes.resize, this.handleWindowResize) }, q.prototype.teardown = function () { m.removeEvent(this.overflowToggle, m.eventTypes.click, this.toggleOverflow); m.removeEvent(window, m.eventTypes.resize, this.resizeThrottledEventHandler) }, q.prototype.duplicateLinksToOverflow = function () { var l = document.createElement("li"), c = document.createElement("ul"); this.overflowLinks = []; this.setDataAttributes(); for (var a = 0, b = this.barLinks; a < b.length; a++) { var e = b[a].cloneNode(!0); this.overflowLinks.push(e); c.appendChild(e) } l.appendChild(c); this.ignoreNextDOMChange = !0; this.overflow.insertBefore(l, this.staticOverflowLinks[0]) }, q.prototype.getStaticOverflowLinks = function () { for (var l = [], c = 0, a = m.selectElements(q.overflowLinkSelector, this.element); c < a.length; c++) { var b = a[c]; m.hasClass(b, q.overflowClass) || l.push(b) } return l }, q.prototype.updateWidth = function () { this.width = m.getClientRect(this.overflowToggle).right - m.getClientRect(this.barLinks[0]).left }, q.prototype.getBarLinks = function () { for (var l = [], c = 0, a = m.selectElements(q.barLinkSelector, this.element); c < a.length; c++) { var b = a[c]; m.hasClass(b, q.overflowClass) || l.push(b) } return l }, q.prototype.getLinksWidth = function () { for (var l = [], c = 0, a = this.barLinks; c < a.length; c++) { var b = a[c]; m.hasClass(b, q.overflowClass) || l.push(m.getClientRect(b).width) } return l }, q.prototype.getTotalLinksWidth = function () { for (var l = 0, c = 0, a = this.linksWidth; c < a.length; c++)l += a[c]; return l }, q.prototype.linksClipped = function () { this.barLinkIds = []; this.overflowLinkIds = []; for (var l = 0, c = this.width - this.overflowToggleWidth, a = 0, b = 0, e = this.barLinks.length; b < e; b++)a += this.linksWidth[b], a < c ? (this.barLinkIds.push(b), l++) : this.overflowLinkIds.push(b); this.toggleLinks() }, q.prototype.setDataAttributes = function () { for (var l = 0, c = this.barLinks.length; l < c; l++)this.barLinks[l].setAttribute(q.overflowIdAttribute, String(l)), this.barLinks[l].setAttribute(q.overflowAttribute, "false") }, q.prototype.showOverflowLink = function (l) { this.barLinks[l].setAttribute(q.overflowAttribute, "true"); this.overflowLinks[l].setAttribute(q.overflowAttribute, "true") }, q.prototype.hideOverflowLink = function (l) { this.barLinks[l].setAttribute(q.overflowAttribute, "false"); this.overflowLinks[l].setAttribute(q.overflowAttribute, "false") }, q.prototype.toggleLinks = function () { for (var l = 0, c = this.overflowLinkIds; l < c.length; l++) { var a = c[l]; this.showOverflowLink(a) } l = 0; for (c = this.barLinkIds; l < c.length; l++)a = c[l], this.hideOverflowLink(a) }, q.selector = ".m-action-bar", q.typeName = "ActionBar", q.overflowClass = "f-overflow", q.ariaHiddenAttribute = "aria-hidden", q.ariaExpandedAttribute = "aria-expanded", q.overflowSelector = q.selector + " \x3e .f-overflow \x3e ul", q.overflowLinkSelector = q.overflowSelector + " \x3e li", q.overflowToggleSelector = q.selector + " \x3e .f-overflow \x3e button", q.barLinkSelector = q.selector + " \x3e li", q.overflowAttribute = "data-overflow", q.overflowIdAttribute = "data-overflow-id", q }(w.ObservableComponent); u.ActionBar = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(8), p(5), p(3)]; t = function (x, u, w, m, f) { x = function (q) { function l(c) { var a = this; q.call(this, c); this.onTriggerClick = function (b) { b = f.getEvent(b); f.preventDefault(b); a.disabled || a.onTriggerToggled() }; this.onItemClick = function (b) { b = f.getEvent(b); b = b.currentTarget; b.hasAttribute("aria-disabled") || a.onItemSelected(b) }; this.onNonActionMenuClick = function (b) { if (b = f.getEvent(b), a.element && a.menu) b = f.getEventTargetOrSrcElement(b), a.element.contains(b) || b !== a.menu && b.parentElement !== a.menu && a.collapse() }; this.onTriggerKeyPress = function (b) { b = f.getEvent(b); switch (m.getKeyCode(b)) { case 13: case 32: (f.preventDefault(b), a.disabled) || (b = a.items[0], a.onTriggerToggled(), b.setAttribute("tabindex", "0"), b.focus()) } }; this.handleMenuKeydownEvent = function (b) { b = f.getEvent(b); var e = m.getKeyCode(b); (9 !== e || a.isExpanded()) && f.preventDefault(b); a.handleMenuKeydown(f.getEventTargetOrSrcElement(b), e) }; this.update() } return I(l, q), l.prototype.update = function () { if (this.trigger = f.selectFirstElement(l.triggerSelector, this.element), this.menu = f.selectFirstElement(l.menuSelector, this.element), this.items = f.selectElementsT('li[class^\x3d"f-context-"]', this.element), this.disabled = this.trigger.hasAttribute("disabled"), this.trigger && this.menu && this.items && this.items.length) { var c = this.isExpanded(); this.addEventListeners(); c && this.expand() } }, l.prototype.teardown = function () { this.trigger && this.menu && this.items && this.items.length && this.removeEventListeners(); this.selectedItem = this.items = this.menu = this.trigger = null }, l.prototype.isExpanded = function () { return "true" === this.trigger.getAttribute(l.ariaExpanded) }, l.prototype.expand = function () { f.removeClass(this.trigger, "x-hidden-focus"); f.addClass(this.trigger, "f-active"); this.trigger.setAttribute(l.ariaExpanded, "true") }, l.prototype.collapse = function () { f.removeClass(this.trigger, "f-active"); this.trigger.setAttribute(l.ariaExpanded, "false") }, l.prototype.addEventListeners = function () { f.addEvent(this.trigger, f.eventTypes.click, this.onTriggerClick); f.addEvent(this.trigger, f.eventTypes.keydown, this.onTriggerKeyPress); f.addEvent(this.menu, f.eventTypes.keydown, this.handleMenuKeydownEvent, !0); for (var c = 0, a = this.items; c < a.length; c++)f.addEvent(a[c], f.eventTypes.click, this.onItemClick); f.addEvent(document, f.eventTypes.click, this.onNonActionMenuClick) }, l.prototype.removeEventListeners = function () { f.removeEvent(this.trigger, f.eventTypes.click, this.onTriggerClick); f.removeEvent(this.trigger, f.eventTypes.keydown, this.onTriggerKeyPress); f.removeEvent(this.menu, f.eventTypes.keydown, this.handleMenuKeydownEvent, !0); for (var c = 0, a = this.items; c < a.length; c++)f.removeEvent(a[c], f.eventTypes.click, this.onItemClick); f.removeEvent(document, f.eventTypes.click, this.onNonActionMenuClick) }, l.prototype.onTriggerToggled = function () { this.isExpanded() ? this.collapse() : this.expand() }, l.prototype.onItemSelected = function (c) { this.selectedItem = c; this.collapse(); this.initiatePublish({ id: this.selectedItem.id }) }, l.prototype.publish = function (c, a) { this.selectedItem && c.onSelection(a) }, l.prototype.handleMenuKeydown = function (c, a) { switch (a) { case 32: case 13: c.hasAttribute("aria-disabled") || (this.handleMenuEnterKey(c), this.trigger.focus()); break; case 27: this.trigger.focus(); this.collapse(); break; case 38: this.handleMenuArrowKey(!0, c); break; case 40: this.handleMenuArrowKey(!1, c); break; case 9: this.isExpanded() && (this.trigger.focus(), this.collapse()) } }, l.prototype.handleMenuArrowKey = function (c, a) { a = this.items.indexOf(a); -1 !== a && (c = c ? a - 1 : a + 1, 0 > c ? c = this.items.length - 1 : c >= this.items.length && (c = 0), this.items[a].removeAttribute("tabindex"), this.items[c].setAttribute("tabindex", "0"), this.items[c].focus()) }, l.prototype.handleMenuEnterKey = function (c) { this.onItemSelected(c) }, l.selector = ".c-action-menu", l.typeName = "ActionMenu", l.ariaExpanded = "aria-expanded", l.triggerSelector = l.selector + " \x3e button.c-action-trigger", l.menuSelector = l.triggerSelector + ' + ul[role\x3d"menu"]', l }(w.Publisher); u.ActionMenu = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2)]; t = function (x, u, w) { x = function (m) { function f(q, l) { void 0 === l && (l = null); m.call(this, q, l); this.element = q } return I(f, m), f.prototype.subscribe = function (q) { if (!q) return !1; if (this.subscribers) { if (-1 !== this.subscribers.indexOf(q)) return !1 } else this.subscribers = []; return this.subscribers.push(q), !0 }, f.prototype.unsubscribe = function (q) { if (!q || !this.subscribers || !this.subscribers.length) return !1; q = this.subscribers.indexOf(q); return -1 !== q && (this.subscribers.splice(q, 1), !0) }, f.prototype.hasSubscribers = function () { return !!this.subscribers && 0 < this.subscribers.length }, f.prototype.initiatePublish = function (q) { if (this.hasSubscribers()) for (var l = 0, c = this.subscribers; l < c.length; l++)this.publish(c[l], q) }, f.prototype.update = function () { }, f.prototype.teardown = function () { }, f }(w.ObservableComponent); u.Publisher = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(8), p(10), p(11), p(3), p(5)]; t = function (x, u, w, m, f, q, l) { x = function (c) { function a(b) { var e = this; c.call(this, b); this.element = b; this.updateActionToggleState = function (g) { g !== e.isToggled() && (g ? (q.addClass(e.element, a.initializeToggledClassName), e.initialGlyph && q.removeClass(e.element, e.initialGlyph), e.toggledGlyph && q.addClass(e.element, e.toggledGlyph), e.element.getAttribute(a.ariaLabelAttribute) ? e.element.setAttribute(a.ariaLabelAttribute, e.localizedToggledLabelValue) : q.setText(e.element, e.localizedToggledLabelValue), e.tooltip && e.tooltip.setContent(e.localizedToggledLabelValue)) : (q.removeClass(e.element, a.initializeToggledClassName), e.toggledGlyph && q.removeClass(e.element, e.toggledGlyph), e.initialGlyph && q.addClass(e.element, e.initialGlyph), e.element.getAttribute(a.ariaLabelAttribute) ? e.element.setAttribute(a.ariaLabelAttribute, e.localizedInitialLabelValue) : q.setText(e.element, e.localizedInitialLabelValue), e.tooltip && e.tooltip.setContent(e.localizedInitialLabelValue)), e.initiatePublish({ toggled: g })) }; this.onActionToggleChange = function () { e.updateActionToggleState(!e.isToggled()) }; this.handleKeydownEvent = function (g) { switch (l.getKeyCode(g)) { case 13: case 32: q.preventDefault(g); e.updateActionToggleState(!e.isToggled()); break; case 27: q.preventDefault(g), e.updateActionToggleState(!1) } }; this.update() } return I(a, c), a.prototype.update = function () { var b = this; if (this.element) { this.initializeLocalization(); var e = q.hasClass(this.element, a.initializeToggledClassName), g = this.element.getAttribute(f.Tooltip.dataDescribedByAttribute); g && m.ComponentFactory.create([{ component: f.Tooltip, eventToBind: "DOMContentLoaded", elements: [document.getElementById(g)], callback: function (r) { (r || r.length) && (b.tooltip = r[0], b.tooltip.setContent(e ? b.localizedToggledLabelValue : b.localizedInitialLabelValue)) } }]); e && q.removeClass(this.element, a.initializeToggledClassName); this.updateActionToggleState(e); q.addEvent(this.element, q.eventTypes.click, this.onActionToggleChange); q.addEvent(this.element, q.eventTypes.keydown, this.handleKeydownEvent) } }, a.prototype.teardown = function () { q.removeEvent(this.element, q.eventTypes.click, this.onActionToggleChange); q.removeEvent(this.element, q.eventTypes.keydown, this.handleKeydownEvent) }, a.prototype.publish = function (b, e) { b.onActionToggled && b.onActionToggled(e) }, a.prototype.isToggled = function () { return q.hasClass(this.element, a.initializeToggledClassName) }, a.prototype.initializeLocalization = function () { this.element.getAttribute(a.ariaLabelAttribute) ? this.localizedInitialLabelValue = this.element.getAttribute(a.ariaLabelAttribute) : q.getText(this.element) && (this.localizedInitialLabelValue = q.getText(this.element)); this.localizedToggledLabelValue = this.element.getAttribute(a.localizedToggledLabelAttribute); for (var b = 0, e = this.element.className.split(" "); b < e.length; b++) { var g = e[b]; if (0 <= g.indexOf("glyph-")) { this.initialGlyph = g; break } } this.toggledGlyph = this.element.getAttribute(a.toggledGlyphAttribute) }, a.selector = ".c-action-toggle", a.typeName = "ActionToggle", a.ariaLabelAttribute = "aria-label", a.initializeToggledClassName = "f-toggle", a.toggledGlyphAttribute = "data-toggled-glyph", a.localizedToggledLabelAttribute = "data-toggled-label", a }(w.Publisher); u.ActionToggle = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(3), p(5)]; t = function (I, x, u, w) { var m = function () { function f() { } return f.create = function (q) { for (var l = 0; l < q.length; l++) { var c = q[l]; if (!c.c && !c.component) throw "factoryInput should has either component or c to tell the factory what component to create.Eg.ComponentFactory.create([{ c: Carousel] or ComponentFactory.create([component: Carousel]))"; f.createComponent(c.component || c.c, c) } }, f.createComponent = function (q, l) { if (q) { var c = l && l.selector ? l.selector : q.selector, a = l && l.context ? l.context : null, b = [], e = function (g, r, A) { var F = 0; for (r = l.elements ? l.elements : r ? u.selectElementsT(r, a) : [document.body]; F < r.length; F++) { var K = r[F]; if (K.mwfInstances || (K.mwfInstances = {}), K.mwfInstances[g]) b.push(K.mwfInstances[g]); else { var R = new q(K, A); K.mwfInstances[g] = R; b.push(R) } } }; switch (l && l.eventToBind ? l.eventToBind : "") { case "DOMContentLoaded": if (!f.onDomReadyHappened) { f.domReadyFunctions.push(function () { return f.callBindFunction(q, c, e, l, b) }); break } f.callBindFunction(q, c, e, l, b); break; default: f.onDeferredHappened ? f.callBindFunction(q, c, e, l, b) : f.deferredFunctions.push(function () { return f.callBindFunction(q, c, e, l, b) }) } } }, f.callBindFunction = function (q, l, c, a, b) { void 0 === a && (a = null); var e = (q = f.getTypeName(q)) || l || "", g = a && a.params ? a.params : {}; g.mwfClass = q; w.createPerfMarker(e + "_Begin"); c(q, l, g); w.createPerfMarker(e + "_End"); a && a.callback && a.callback(b) }, f.getTypeName = function (q) { return q.typeName ? q.typeName : q.name ? q.name : (q = f.typeNameRegEx.exec(q.toString())) && 1 < q.length ? q[1] : void 0 }, f.enumerateComponents = function (q, l) { if (q && l) { q = q.mwfInstances; for (var c in q) if (q.hasOwnProperty(c)) { var a = q[c]; if (a && !l(c, a)) break } } }, f.typeNameRegEx = /function\s+(\S+)\s*\(/, f.onLoadTimeoutMs = 6E3, f.onDeferredHappened = !1, f.deferredFunctions = [], f.onDomReadyHappened = !1, f.domReadyFunctions = [], f }(); x.ComponentFactory = m; (function () { u.onDeferred(function () { m.onDeferredHappened = !0; var f = m.deferredFunctions; if (!f || 0 < f.length) for (var q = 0; q < f.length; q++) { var l = f[q]; "function" == typeof l && u.SafeBrowserApis.requestAnimationFrame.call(window, l) } m.deferredFunctions = null }, m.onLoadTimeoutMs); u.documentReady(function () { m.onDomReadyHappened = !0; var f = m.domReadyFunctions; if (!f || 0 < f.length) for (var q = 0; q < f.length; q++) { var l = f[q]; "function" == typeof l && u.SafeBrowserApis.requestAnimationFrame.call(window, l) } m.domReadyFunctions = null }, m.onLoadTimeoutMs) })() }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(10), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.isVisible = !1; this.timer = 0; this.exposeToScreenReaders = !0; this.onFocus = function (e) { (e = f.getEvent(e)) && "mouseover" !== e.type && b.actOnFocus() }; this.handleKeydownWhenFocused = function (e) { if (b.isVisible) switch (e = f.getEvent(e), q.getKeyCode(e)) { case 27: b.hide(); break; case 38: case 40: f.preventDefault(e) } }; this.onBlur = function () { b.hide(); f.addEvent(b.controller, f.eventTypes.focus, b.onFocus); f.removeEvent(b.controller, f.eventTypes.blur, b.onBlur); f.removeEvent(b.controller, f.eventTypes.keydown, b.handleKeydownWhenFocused) }; this.onMouseOver = function (e) { b.isVisible || (e = f.getEvent(e), b.tooltipXPosition = e.clientX, b.tooltipYPosition = e.clientY, b.actOnMouseOver()) }; this.onMouseOut = function () { 0 < b.timer && (window.clearTimeout(b.timer), b.timer = 0); b.hide(); f.removeEvent(b.controller, f.eventTypes.mouseout, b.onMouseOut); f.addEvent(b.controller, f.eventTypes.mouseover, b.onMouseOver) }; this.showForMouse = function () { b.show(); f.removeEvent(b.controller, f.eventTypes.mouseover, b.onMouseOver) }; this.onScroll = function (e) { b.isVisible && !b.animationFrameRequested && (b.animationFrameRequested = !0, f.SafeBrowserApis.requestAnimationFrame.call(window, function () { return b.handleScroll() })) }; this.update() } return I(c, l), c.prototype.update = function () { if (this.element) { var a = this.element.getAttribute("id"); (this.controller = f.selectFirstElement("[" + c.ariaDescribedByAttribute + '\x3d"' + a + '"]')) || (this.controller = f.selectFirstElement("[" + c.dataDescribedByAttribute + '\x3d"' + a + '"]'), this.exposeToScreenReaders = !this.controller); this.element.setAttribute(c.ariaHidden, "true"); this.exposeToScreenReaders || (f.addClass(this.element, c.hiddenClass), f.addClass(this.element, c.hiddenFromScreenReadersClass)); this.controller && (f.addEvent(this.controller, f.eventTypes.mouseover, this.onMouseOver), f.addEvent(this.controller, f.eventTypes.focus, this.onFocus), f.addEvent(window, f.eventTypes.scroll, this.onScroll)) } }, c.prototype.teardown = function () { f.removeEvent(this.controller, f.eventTypes.mouseover, this.onMouseOver); f.removeEvent(this.controller, f.eventTypes.mouseout, this.onMouseOut); f.removeEvent(this.controller, f.eventTypes.focus, this.onFocus); f.removeEvent(this.controller, f.eventTypes.blur, this.onBlur); f.removeEvent(window, f.eventTypes.scroll, this.onScroll); this.controller = null; this.isVisible = !1; this.tooltipYPosition = this.tooltipXPosition = 0; 0 < this.timer && (window.clearTimeout(this.timer), this.timer = 0) }, c.prototype.actOnFocus = function () { f.removeClass(this.element, c.hookHover); f.addClass(this.element, c.hookFocus); var a = f.getClientRect(this.controller); this.tooltipXPosition = a.left; this.tooltipYPosition = a.bottom; this.show(); f.addEvent(this.controller, f.eventTypes.blur, this.onBlur); f.addEvent(this.controller, f.eventTypes.keydown, this.handleKeydownWhenFocused); f.removeEvent(this.controller, f.eventTypes.focus, this.onFocus) }, c.prototype.actOnMouseOver = function () { f.removeClass(this.element, c.hookFocus); f.addClass(this.element, c.hookHover); this.timer = window.setTimeout(this.showForMouse, c.timerDelay); f.addEvent(this.controller, f.eventTypes.mouseout, this.onMouseOut) }, c.prototype.handleScroll = function () { this.animationFrameRequested = !1; var a = f.getScrollY(); this.setPosition({ top: this.tooltipYPosition + (this.scrollYOnShow - a) }) }, c.prototype.show = function () { this.isVisible = !0; this.scrollYOnShow = f.getScrollY(); this.exposeToScreenReaders ? this.element.setAttribute(c.ariaHidden, "false") : f.removeClass(this.element, c.hiddenClass); this.setPosition({ left: this.tooltipXPosition, top: this.tooltipYPosition }) }, c.prototype.hide = function () { this.element && this.isVisible && (this.isVisible = !1, this.exposeToScreenReaders ? this.element.setAttribute(c.ariaHidden, "true") : f.addClass(this.element, c.hiddenClass), f.removeClass(this.element, c.hookHover), f.removeClass(this.element, c.hookFocus)) }, c.prototype.setContent = function (a) { this.element && f.setText(this.element, a) }, c.prototype.setPosition = function (a) { a && (a.left && f.css(this.element, "left", a.left + "px"), a.top && f.css(this.element, "top", a.top + "px")) }, c.init = function (a) { q.apiDeprecated("Tooltip.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".c-tooltip", c.typeName = "Tooltip", c.ariaHidden = "aria-hidden", c.hiddenClass = "x-hidden", c.timerDelay = 800, c.hookFocus = "hook-focus", c.hookHover = "hook-hover", c.ariaDescribedByAttribute = "aria-describedby", c.dataDescribedByAttribute = "data-f-describedby", c.hiddenFromScreenReadersClass = "f-hidden-from-screen-readers", c }(w.ObservableComponent); u.Tooltip = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(10), p(8), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.closeAlertAndRemoveEvent = function () { f.removeEvent(b.closeButton, f.eventTypes.click, b.closeAlertAndRemoveEvent); f.removeElement(b.element); b.initiatePublish() }; this.update() } return I(c, l), c.prototype.update = function () { this.element && (this.closeButton = f.selectFirstElement("button.c-action-trigger.glyph-cancel", this.element), this.closeButton && f.addEvent(this.closeButton, f.eventTypes.click, this.closeAlertAndRemoveEvent, !1)) }, c.prototype.teardown = function () { f.removeEvent(this.closeButton, f.eventTypes.click, this.closeAlertAndRemoveEvent, !1) }, c.prototype.publish = function (a, b) { a.onAlertClosed() }, c.init = function (a) { q.apiDeprecated("Alert.init() is deprecated, please use ComponentFactory.create() instead."); w.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".m-alert", c.typeName = "Alert", c }(m.Publisher); u.Alert = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, , function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(3), p(5), p(2), p(10)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.toggleBackToTop = function () { var e = window.pageYOffset || document.body.scrollTop, g = m.getWindowHeight(); b.element.setAttribute("aria-disabled", e >= 2 * g ? "false" : "true") }; a && this.update() } return I(c, l), c.prototype.update = function () { this.scrollThrottledEventHandler = w.addThrottledEvent(window, w.eventTypes.scroll, this.toggleBackToTop) }, c.prototype.teardown = function () { w.removeEvent(window, w.eventTypes.scroll, this.scrollThrottledEventHandler) }, c.init = function (a) { m.apiDeprecated("BackToTop.init() is deprecated, please use ComponentFactory.create() instead."); q.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".m-back-to-top", c.typeName = "BackToTop", c }(f.ObservableComponent); u.BackToTop = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(3), p(5)]; t = function (x, u, w, m, f) { x = function (q) { function l(c) { var a = this; q.call(this, c); this.handleKeydown = function (b) { switch (f.getKeyCode(b)) { case 32: m.preventDefault(b), a.emitClickEvent() } }; this.update() } return I(l, q), l.prototype.update = function () { this.element && "A" === this.element.nodeName && "button" === (this.element.getAttribute("role") || "").toLowerCase() && m.addEvent(this.element, m.eventTypes.keydown, this.handleKeydown) }, l.prototype.teardown = function () { m.removeEvent(this.element, m.eventTypes.keydown, this.handleKeydown) }, l.prototype.emitClickEvent = function () { m.customEvent(this.element, m.eventTypes.click) }, l.selector = ".c-button", l.typeName = "Button", l }(w.ObservableComponent); u.Button = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(10), p(8), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.updateCheckbox = function () { var e = b.input.checked; e !== b.checked && (b.checked = e, b.input.setAttribute(c.ariaCheckedAttribute, b.checked.toString()), b.initiatePublish({ checked: b.checked })) }; this.update() } return I(c, l), c.prototype.update = function () { (this.input = f.selectFirstElement(c.inputSelector, this.element)) && (this.input.getAttribute(c.indeterminateAttribute) === c.indeterminateValue && (this.input.indeterminate = !0), this.checked = this.input.checked, this.input.setAttribute(c.ariaCheckedAttribute, this.checked.toString()), f.addEvent(this.input, f.eventTypes.click, this.updateCheckbox)) }, c.prototype.teardown = function () { f.removeEvent(this.input, f.eventTypes.click, this.updateCheckbox) }, c.prototype.publish = function (a, b) { a.onValueChanged(b) }, Object.defineProperty(c.prototype, "indeterminate", { get: function () { return !!this.input && this.input.indeterminate }, set: function (a) { this.input && (this.input.indeterminate = a) }, enumerable: !0, configurable: !0 }), c.init = function (a) { q.apiDeprecated("Checkbox.init() is deprecated, please use ComponentFactory.create() instead."); w.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".c-checkbox", c.typeName = "Checkbox", c.inputSelector = 'input[type\x3d"checkbox"]', c.indeterminateAttribute = "data-js-checkbox", c.indeterminateValue = "indeterminate", c.ariaCheckedAttribute = "aria-checked", c }(m.Publisher); u.Checkbox = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(3)]; t = function (x, u, w, m) { x = function (f) { function q(l) { var c = this; f.call(this, l); this.onDropdownClicked = function (a) { m.preventDefault(a); c.toggleVisibility() }; this.onNonDropdownClick = function (a) { a = m.getEventTargetOrSrcElement(a); c.isVisible || c.element.contains(a) || c.toggleVisibility() }; this.replaceText = function (a) { c.checkedChoiceOption = a.target; c.label = m.selectFirstElement(q.spanSelector, c.checkedChoiceOption.parentNode); a = c.labelText + c.separator + " " + m.getText(c.label); m.setText(c.dropdownText, a) }; this.toggleVisibility = function () { c.isVisible = !c.isVisible; c.element.setAttribute(q.ariaExpanded, (!c.isVisible).toString()); c.dropdownMenu.setAttribute(q.ariaHidden, c.isVisible.toString()) }; this.update() } return I(q, f), q.prototype.update = function () { if (this.dropdownButton = m.selectFirstElement(q.dropdownButtonSelector, this.element), this.dropdownMenu = m.selectFirstElement(q.dropdownMenuSelector, this.element), this.dropdownText = m.selectFirstElement(q.separatorSpanSelector, this.element), this.separator = this.dropdownText.getAttribute(q.separatorSelector), this.labelText = m.getText(this.dropdownText), this.dropdownButton && this.separator && this.dropdownMenu && this.dropdownText && this.labelText) { this.choiceOptions = m.selectElementsT(q.choiceOptionSelector, this.element); this.isVisible = "true" === this.dropdownMenu.getAttribute(q.ariaHidden); m.addEvent(this.dropdownButton, m.eventTypes.click, this.onDropdownClicked); m.addEvent(document, m.eventTypes.click, this.onNonDropdownClick); m.addEvent(this.choiceOptions, m.eventTypes.click, this.replaceText); for (var l = 0, c = this.choiceOptions; l < c.length; l++) { var a = c[l]; if (a.checked) { this.checkedChoiceOption = a; break } } } }, q.prototype.teardown = function () { m.removeEvent(this.dropdownButton, m.eventTypes.click, this.onDropdownClicked); m.removeEvent(document, m.eventTypes.click, this.onNonDropdownClick); m.removeEvent(this.choiceOptions, m.eventTypes.click, this.replaceText) }, q.selector = ".c-choice-summary", q.typeName = "ChoiceSummary", q.dropdownButtonSelector = ".c-action-trigger.glyph-chevron-down", q.dropdownMenuSelector = "ul", q.ariaHidden = "aria-hidden", q.ariaExpanded = "aria-expanded", q.separatorSpanSelector = ".c-choice-summary \x3e span", q.spanSelector = "span", q.separatorSelector = "data-js-separator", q.labelSelector = "label", q.choiceOptionSelector = 'input[type\x3d"radio"]', q }(w.ObservableComponent); u.ChoiceSummary = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(8), p(10), p(3), p(5), p(4)]; t = function (x, u, w, m, f, q, l) { x = function (c) { function a(b) { var e = this; c.call(this, b); this.isCombobox = !1; this.maxDisplayedItems = a.defaultMaxDisplayedItems; this.handleInputKeydownEvent = function (g) { var r = q.getKeyCode(g); 13 !== r && 40 !== r || f.preventDefault(g); e.handleInputKeydown(r) }; this.handleInputKeyupEvent = function (g) { e.handleInputKeyup(q.getKeyCode(g)) }; this.handleInputOrButtonClickEvent = function (g) { f.preventDefault(g); e.handleInputOrButtonClick() }; this.handleButtonKeydownEvent = function (g) { var r = q.getKeyCode(g); 9 !== r && f.preventDefault(g); e.handleButtonKeydown(r) }; this.handleMenuKeydownEvent = function (g) { var r = q.getKeyCode(g); 9 !== r && f.preventDefault(g); e.handleMenuKeydown(f.getEventTargetOrSrcElement(g), r) }; this.handleMenuClickEvent = function (g) { e.handleMenuClick(f.getEventTargetOrSrcElement(g)) }; this.handleOffMenuClick = function (g) { e.element.contains(f.getEventTargetOrSrcElement(g)) || e.hideMenu() }; this.update() } return I(a, c), a.prototype.update = function () { this.element && (this.input = f.selectFirstElementT("input", this.element), this.button = f.selectFirstElement("button", this.element), this.menu = f.selectFirstElement("ul", this.element), this.listItems = f.selectElements("span, a", this.menu), "combobox" === this.input.getAttribute(a.role) && (this.isCombobox = !0), this.input && this.button && this.menu && !(1 > this.listItems.length) && (this.activeValue = this.input.value, this.activeItem = f.selectFirstElement("span[class\x3d'" + a.activeClassName + "']", this.menu), f.addEvent(this.input, f.eventTypes.keydown, this.handleInputKeydownEvent, !0), f.addEvent(this.input, f.eventTypes.keyup, this.handleInputKeyupEvent, !0), f.addEvent(this.input, f.eventTypes.click, this.handleInputOrButtonClickEvent, !0), f.addEvent(this.button, f.eventTypes.click, this.handleInputOrButtonClickEvent, !0), f.addEvent(this.button, f.eventTypes.keydown, this.handleButtonKeydownEvent, !0), f.addEvent(this.listItems, f.eventTypes.keydown, this.handleMenuKeydownEvent, !0), f.addEvent(this.listItems, f.eventTypes.click, this.handleMenuClickEvent, !0), this.activeItem && this.setActiveItemAndHideMenu(this.activeItem, !1))) }, a.prototype.teardown = function () { f.removeEvent(this.input, f.eventTypes.keydown, this.handleInputKeydownEvent, !0); f.removeEvent(this.input, f.eventTypes.keyup, this.handleInputKeyupEvent, !0); f.removeEvent(this.input, f.eventTypes.click, this.handleInputOrButtonClickEvent, !0); f.removeEvent(this.button, f.eventTypes.click, this.handleInputOrButtonClickEvent, !0); f.removeEvent(this.button, f.eventTypes.keydown, this.handleButtonKeydownEvent, !0); f.removeEvent(this.listItems, f.eventTypes.keydown, this.handleMenuKeydownEvent, !0); f.removeEvent(this.listItems, f.eventTypes.click, this.handleMenuClickEvent, !0); this.activeItem = this.listItems = this.menu = this.button = this.input = null }, a.prototype.publish = function (b, e) { b.onSelectionChanged(e) }, a.prototype.onSelectionChanged = function (b, e) { void 0 === b && (b = !0); void 0 === e && (e = !0); this.initiatePublish({ id: this.activeItem && this.activeItem.parentElement ? this.activeItem.parentElement.id : "", value: this.input.value, internal: b, userInitiated: e }) }, a.prototype.getValue = function () { return { id: this.activeItem && this.activeItem.parentElement ? this.activeItem.parentElement.id : "", value: this.input.value, internal: !1, userInitiated: !1 } }, a.prototype.showMenu = function (b, e) { if (void 0 === b && (b = !1), void 0 === e && (e = !0), !this.isMenuVisible()) { var g = this.input.value; if (b || !l.isNullOrWhiteSpace(g)) { this.setMenuAriaAttributes(!0); if (this.listItems.length > this.maxDisplayedItems) { for (g = b = 0; g < this.maxDisplayedItems; g++)b += this.listItems[g].offsetHeight; this.menu.style.maxHeight = b + "px" } f.addEvent(document.body, f.eventTypes.click, this.handleOffMenuClick); this.matchItem(e) } } }, a.prototype.hideMenu = function () { this.isMenuVisible() && (this.setMenuAriaAttributes(!1), f.removeEvent(document.body, f.eventTypes.click, this.handleOffMenuClick)) }, a.prototype.setMenuAriaAttributes = function (b) { this.isCombobox ? this.menu.setAttribute(a.ariaExpanded, b.toString()) : this.menu.setAttribute(a.ariaHidden, (!b).toString()) }, a.prototype.isMenuVisible = function () { return this.isCombobox ? "true" === this.menu.getAttribute(a.ariaExpanded) : "false" === this.menu.getAttribute(a.ariaHidden) }, a.prototype.setActiveItemAndHideMenu = function (b, e) { void 0 === e && (e = !0); b && (this.setActiveItem(b), this.input.value = this.activeValue = this.getActiveText(), this.hideMenu(), e && this.input.focus(), this.onSelectionChanged()) }, a.prototype.setActiveItem = function (b, e) { void 0 === e && (e = !0); this.activeItem && f.removeClass(this.activeItem, a.activeClassName); this.activeItem = b; e && f.addClass(this.activeItem, a.activeClassName) }, a.prototype.getActiveText = function () { return this.activeItem ? f.getText(this.activeItem) : "" }, a.prototype.matchItem = function (b) { void 0 === b && (b = !1); var e = this.input.value, g = 0; if (!l.isNullOrWhiteSpace(e)) { e = l.trim(e).toLocaleLowerCase(); for (var r = 0, A = this.listItems; r < A.length; r++) { var F = A[r], K = f.getText(F).toLocaleLowerCase(); if (e === K) { var R = F; g = -1; break } K = l.getMatchLength(K, e, !1); 0 < K && (0 === g || K > g) && (R = F, g = K) } } R || (R = this.listItems[0]); this.setActiveItem(R, b || -1 === g); f.scrollElementIntoView(R, this.menu); b && R.focus() }, a.prototype.handleInputKeydown = function (b) { switch (this.activeValue = this.input.value, b) { case 9: case 13: this.hideMenu(); b = this.getActiveText(); this.activeValue !== b && (f.hasClass(this.activeItem, a.activeClassName) && (this.activeValue = this.input.value = b), this.onSelectionChanged()); break; case 40: this.isMenuVisible() ? this.activeItem && (this.setActiveItem(this.activeItem), this.activeItem.focus()) : this.showMenu(!0); break; case 27: this.hideMenu() } }, a.prototype.handleInputKeyup = function (b) { l.isNullOrWhiteSpace(this.input.value) && 40 !== b ? this.hideMenu() : this.input.value !== this.activeValue && (this.isMenuVisible() ? this.matchItem() : this.showMenu(!0, !1)) }, a.prototype.handleInputOrButtonClick = function () { this.isMenuVisible() ? (this.hideMenu(), this.input.focus()) : this.showMenu(!0, !1) }, a.prototype.handleButtonKeydown = function (b) { switch (b) { case 40: case 32: case 13: this.showMenu(!0); break; case 38: case 27: this.hideMenu() } }, a.prototype.handleMenuKeydown = function (b, e) { switch (e) { case 32: case 9: case 13: this.setActiveItemAndHideMenu(this.activeItem, 9 !== e); break; case 27: this.input.focus(); this.hideMenu(); this.matchItem(); break; case 38: this.handleMenuArrowKey(!0, b); break; case 40: this.handleMenuArrowKey(!1, b) } }, a.prototype.handleMenuArrowKey = function (b, e) { e = this.listItems.indexOf(e); -1 !== e && (e += b ? -1 : 1, 0 > e ? e = this.listItems.length - 1 : e >= this.listItems.length && (e = 0), b = this.listItems[e], this.setActiveItem(b), b.focus()) }, a.prototype.handleMenuClick = function (b) { this.setActiveItemAndHideMenu(b) }, a.init = function (b) { q.apiDeprecated("Combo.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: a, selector: b ? b.selector : null, eventToBind: b ? b.eventToBind : null }]) }, a.selector = ".c-combo", a.typeName = "Combo", a.ariaHidden = "aria-hidden", a.ariaExpanded = "aria-expanded", a.role = "role", a.activeClassName = "active", a.defaultMaxDisplayedItems = 5, a }(w.Publisher); u.Combo = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(10), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.maxRows = 0; this.checkPollingCriteria = function () { var e = b.checkForDeferredContent(), g = b.setRowHeightsAcrossAllColumns(); return !e && g }; this.recalculate = function () { q.poll(b.checkPollingCriteria, 250, -1) }; a && this.update() } return I(c, l), c.prototype.update = function () { return this.cachedDisplayValue = f.css(this.element, "display"), this.columns = f.selectElements(".f-column", this.element), this.maxRows = this.getMaxRowsFromAllColumns(), this.allRows = f.selectElements(".f-row", this.element), this.images = f.selectElementsT("img", this.element), this.recalculate(), this.resizeEventListener = f.addDebouncedEvent(window, f.eventTypes.resize, this.recalculate, 50), !0 }, c.prototype.teardown = function () { this.columns = null; this.maxRows = 0; this.images = this.columnRows = this.allRows = null; f.removeEvent(window, f.eventTypes.resize, this.resizeEventListener) }, c.prototype.getMaxRowsFromAllColumns = function () { var a = 0; this.columnRows = []; for (var b = 0, e = this.columns; b < e.length; b++) { var g = f.selectElements(".f-row", e[b]); a = Math.max(a, g.length); this.columnRows.push(g) } return a }, c.prototype.setRowHeightsAcrossAllColumns = function () { var a = !1, b = []; this.displayCompareChart(!1); for (var e = 0, g = this.allRows; e < g.length; e++)f.css(g[e], "height", "auto"); this.displayCompareChart(); for (e = 0; e < this.maxRows; e++)g = this.getMaxRowHeight(e), 0 === g && (a = !0), b.push(g); this.displayCompareChart(!1); for (e = 0; e < this.maxRows; e++)for (var r in this.columns) void 0 !== this.columnRows[r][e] && f.css(this.columnRows[r][e], "height", b[e].toString() + "px"); return this.displayCompareChart(), !a }, c.prototype.getMaxRowHeight = function (a) { var b = 0, e; for (e in this.columns) void 0 !== this.columnRows[e][a] && (b = Math.max(q.getDimensions(this.columnRows[e][a]).height, b)); return b }, c.prototype.checkForDeferredContent = function () { for (var a = 0, b = this.images; a < b.length; a++)if (2 > b[a].height) return !0; return !1 }, c.prototype.displayCompareChart = function (a) { void 0 === a && (a = !0); f.css(this.element, "display", a ? this.cachedDisplayValue : "none") }, c.init = function (a) { q.apiDeprecated("CompareChart.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".c-compare-chart, .m-compare-chart", c.typeName = "CompareChart", c }(w.ObservableComponent); u.CompareChart = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(10), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.clickHandler = function () { b.toggleContent() }; this.onResized = function () { return b.noToggle() ? void f.css(b.trigger, "display", "none") : (f.css(b.trigger, "display", b.triggerDisplayStyle), void b.toggleContent("true" === b.target.getAttribute(c.dataExpanded))) }; this.update() } return I(c, l), c.prototype.update = function () { if (this.element && (this.target = f.selectFirstElement(c.targetSelector, this.element), this.target || (this.target = f.selectFirstElement("p", this.element)), this.trigger = f.selectFirstElement("button", this.element), this.target && this.trigger)) { this.lineHeight = this.calculateLineHeight(); var a = parseInt(this.trigger.getAttribute(c.dataShowAttribute), 10); this.show = isNaN(a) || 0 > a ? c.defaultShow : a; c.moreString = this.trigger.getAttribute(c.dataMoreAttributeValue); c.lessString = this.trigger.getAttribute(c.dataLessAttributeValue); this.triggerDisplayStyle = f.css(this.trigger, "display"); this.onResized(); f.addEvent(this.trigger, f.eventTypes.click, this.clickHandler); this.resizeThrottledEventHandler = f.addThrottledEvent(window, f.eventTypes.resize, this.onResized) } }, c.prototype.teardown = function () { f.removeEvent(this.trigger, f.eventTypes.click, this.clickHandler); f.removeEvent(window, f.eventTypes.resize, this.resizeThrottledEventHandler); this.lineHeight = this.show = this.trigger = this.target = null }, c.prototype.toggleContent = function (a) { void 0 === a && (a = "true" !== this.target.getAttribute(c.dataExpanded)); this.target.setAttribute(c.dataExpanded, a.toString()); this.trigger.innerText = a ? c.lessString : c.moreString; a ? f.css(this.target, "max-height", "") : f.css(this.target, "max-height", this.lineHeight * this.show + "px") }, c.prototype.noToggle = function () { f.css(this.target, "max-height", ""); var a = f.getClientRect(this.target), b = (parseInt(f.css(this.target, "padding-top"), 10) || 0) + (parseInt(f.css(this.target, "padding-bottom"), 10) || 0); return a.height - b <= this.lineHeight * this.show }, c.prototype.calculateLineHeight = function () { var a = this.target.cloneNode(); a.innerHTML = "\x3cbr\x3e"; this.target.appendChild(a); var b = a.offsetHeight; a.innerHTML = "\x3cbr\x3e\x3cbr\x3e"; var e = a.offsetHeight; return this.target.removeChild(a), this.ignoreNextDOMChange = !0, e - b }, c.init = function (a) { q.apiDeprecated("ContentToggle.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".c-content-toggle", c.typeName = "ContentToggle", c.dataExpanded = "data-f-expanded", c.targetSelector = "[data-f-expanded]", c.dataMoreAttributeValue = "data-f-more", c.dataLessAttributeValue = "data-f-less", c.dataShowAttribute = "data-f-show", c.defaultShow = 3, c }(w.ObservableComponent); u.ContentToggle = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(3), p(4), p(5), p(8), p(10)]; t = function (x, u, w, m, f, q, l) { x = function (c) { function a(b) { var e = this; c.call(this, b); this.days = [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; this.ariaSelected = "aria-selected"; this.ariaLabel = "aria-label"; this.ariaHidden = "aria-hidden"; this.dateTimePickerDataAttribute = "data-date-time-picker"; this.amPmSelection = ["AM", "PM"]; this.numberOfElementsThatAppearInColumn = 5; this.pickerIsOpen = !1; this.handleKeyDown = function (g) { e.ignoreNextDOMChange = !0; g = w.getEvent(g); var r, A, F, K = f.getKeyCode(g), R = w.getEventTargetOrSrcElement(g); switch (K) { case 13: e.pickerIsOpen ? (e.updatePicker(), e.closePicker()) : e.openPicker(R, !1); break; case 27: e.closePicker(); break; case 37: if (!e.activeColumn) break; if (A = e.activeColumn.previousElementSibling, !A) break; return F = w.selectFirstElement("[" + e.ariaSelected + '\x3d"true"]', A), void (F && (e.activeColumn = A, F.focus())); case 39: if (!e.activeColumn) break; if (r = e.activeColumn.nextElementSibling, !r) break; return void (null !== e.activeColumn.nextElementSibling && (F = w.selectFirstElement("[" + e.ariaSelected + '\x3d"true"]', r), F && (e.activeColumn = r, F.focus()))); case 38: return w.preventDefault(g), void e.scrollColumn(e.activeColumn, a.scrollUpValue); case 40: return w.preventDefault(g), void e.scrollColumn(e.activeColumn, a.scrollDownValue); case 9: e.pickerIsOpen && (r = g.shiftKey ? e.activeColumn.previousElementSibling : e.activeColumn.nextElementSibling, r) && (e.activeColumn = r) } }; this.handleMouseClick = function (g) { e.ignoreNextDOMChange = !0; var r = w.getEventTargetOrSrcElement(g); if (e.lastClickedElement = r, !e.pickerIsOpen) return -1 === e.columnTriggerButtons.indexOf(r) && (r = e.columnTriggerButtons[0]), void e.openPicker(r, !0); if ("LI" === r.nodeName && r.parentElement && r.parentElement.parentElement) { g = r.parentElement.parentElement.getAttribute(e.dateTimePickerDataAttribute); var A = r.getAttribute(e.ariaLabel); if ("ampm" === g) e.selectAmPm(A); else { r = r.parentElement; w.removeInnerHtml(r); var F = e.getDateTimePickerElement(g, "ul"); e.buildSelector(F, g, A); e.recalculateDaysInMonth(r) } } }; this.handleOutsideClick = function (g) { g = w.getEventTargetOrSrcElement(g); w.isDescendent(e.element, g) || e.lastClickedElement === g || (e.updatePicker(), e.closePicker()) }; this.handleApplyClicked = function (g) { g = w.getEvent(g); w.stopPropagation(g); e.updatePicker(); e.closePicker() }; this.handleCancelClicked = function (g) { g = w.getEvent(g); w.stopPropagation(g); e.closePicker() }; this.handleScrollButtons = function (g) { e.ignoreNextDOMChange = !0; g = w.getEvent(g); w.stopPropagation(g); var r = w.getEventTargetOrSrcElement(g), A = r.parentElement, F = r.getAttribute(e.dateTimePickerDataAttribute); return "mouseenter" === g.type ? void (e.scrollDelay = setTimeout(function () { e.scrollInterval = null; clearTimeout(e.scrollDelay); e.scrollDelay = null; e.scrollInterval = setInterval(function () { e.scrollColumn(A, F) }, 300) }, 150)) : "mouseleave" === g.type ? (clearTimeout(e.scrollDelay), clearInterval(e.scrollInterval), e.scrollInterval = null, void e.recalculateDaysInMonth(r)) : void (null !== F && e.scrollColumn(A, F)) }; this.handleMouseScroll = function (g) { g = w.getEvent(g); w.preventDefault(g); e.scrollColumn(g.currentTarget, 0 > (g.deltaY || g.wheelDelta || -g.detail) ? a.scrollDownValue : a.scrollUpValue) }; this.scrollColumn = function (g, r) { if (null !== g) { e.ignoreNextDOMChange = !0; var A, F = w.selectFirstElement("ul li", g), K = w.selectFirstElement("ul", g); return "ampm" === g.getAttribute(e.dateTimePickerDataAttribute) ? void (r === a.scrollUpValue ? e.selectAmPm(e.amPmSelection[0]) : r === a.scrollDownValue && e.selectAmPm(e.amPmSelection[1])) : void (r === a.scrollUpValue ? (A = e.newContent(g, "up"), e.prependChildren(F, A[2]), e.isLastInList(K, A[0], "up", A[1]), e.removeChildren(g, "bottom")) : r === a.scrollDownValue && (e.removeChildren(g, "top"), A = e.newContent(g, "down"), e.appendChildren(K, A[2]), e.isLastInList(K, A[0], "down", A[1]))) } }; this.buildSelector = function (g, r, A) { A = null === A ? e.getDateTimePickerElement(r).getAttribute(e.activeValueStorage) : A; switch (r) { case "month": A = e.months.indexOf(A); e.buildNodes(A, g, 12, !0, !1); e.setFocus(g); break; case "day": r = w.selectFirstElement("[" + e.ariaSelected + '\x3d"true"]', e.element).getAttribute(e.ariaLabel); r = e.months.indexOf(r); r = e.monthInfo[r].days; e.buildNodes(parseInt(A, 0), g, r, !1, !1); e.setFocus(g); break; case "year": e.buildNodes(parseInt(A, 0), g, null, !1, !0); e.setFocus(g); break; case "hour": e.buildNodes(parseInt(A, 0), g, 12, !1, !1); e.setFocus(g); break; case "minute": case "minute24": e.buildNodes(parseInt(A, 0), g, 60, !1, !0); e.setFocus(g); break; case "ampm": e.buildAmPm(g); break; case "hour24": e.buildNodes(parseInt(A, 0), g, 24, !1, !0), e.setFocus(g) } }; this.buildNodes = function (g, r, A, F, K) { for (var R = K ? A - 1 : A, U = g - e.numberOfElementsThatAppearInColumn; U < g + e.numberOfElementsThatAppearInColumn + 1; U++) { var ha = 0 === U && K || U === A && K ? 0 : U + A * (1 > U ? 1 : U > A ? -1 : 0); e.appendChildren(r, F ? e.monthInfo[ha].name : ha.toString()); U === g ? (r.lastElementChild.setAttribute(e.ariaSelected, "true"), r.lastElementChild.setAttribute("tabindex", "0")) : r.lastElementChild.setAttribute(e.ariaSelected, "false"); r.lastElementChild.setAttribute("role", "option"); R === ha && w.addClass(r.lastElementChild, "f-js-last") } }; this.appendChildren = function (g, r) { e.insertChildren(g, r, !0) }; this.prependChildren = function (g, r) { e.insertChildren(g, r, !1) }; this.insertChildren = function (g, r, A) { var F = document.createElement("li"); F.appendChild(document.createTextNode(r)); F.setAttribute(e.ariaLabel, r); A ? g.appendChild(F) : g.parentElement.insertBefore(F, g) }; this.buildAmPm = function (g) { e.appendChildren(g, e.amPmSelection[0]); g.lastElementChild.setAttribute(e.ariaSelected, "true"); g.lastElementChild.setAttribute("tabindex", "0"); e.appendChildren(g, e.amPmSelection[1]) }; this.selectAmPm = function (g) { g || (g = e.getDateTimePickerElement("ampm").getAttribute(e.activeValueStorage).toUpperCase()); var r = w.selectFirstElement("[" + e.ariaSelected + '\x3d"true"]', e.amPmColumn); r && (r.removeAttribute("tabindex"), r.removeAttribute(e.ariaSelected)); (g === e.amPmSelection[0] ? w.removeClass : w.addClass).call(e, e.amPmColumn, "f-js-pm"); (g = w.selectFirstElement('[aria-label\x3d"' + g + '"]', e.amPmColumn)) && (g.setAttribute(e.ariaSelected, "true"), g.setAttribute("tabindex", "0"), g.focus()) }; this.newContent = function (g, r) { var A = w.selectFirstElement("[" + e.ariaSelected + '\x3d"true"]', g).getAttribute(e.ariaLabel), F = g.getAttribute(e.dateTimePickerDataAttribute); g = []; var K = null, R = null; switch (F) { case "month": return e.removeAriaSelected(e.monthColumn), A = e.months.indexOf(A), K = e.nextCurrent(A, r, e.totalMonths, !1), e.setAriaSelected(e.monthColumn, e.months[K]), R = e.stagedElement(e.monthColumn, K, r, e.totalMonths, !1), g[0] = R[1], g[1] = e.totalMonths, g[2] = e.months[R[0]], g; case "day": F = w.selectFirstElement("[" + e.ariaSelected + '\x3d"true"]', e.monthColumn); if (!F) break; F = F.getAttribute(e.ariaLabel); if (!F) break; F = e.months.indexOf(F); F = e.monthInfo[F].days; return e.removeAriaSelected(e.dayColumn), K = e.nextCurrent(parseInt(A, 0), r, F, !1), e.setAriaSelected(e.dayColumn, K.toString()), R = e.stagedElement(e.dayColumn, K, r, F, !1), g[0] = R[1], g[1] = F, g[2] = R[0], g; case "year": return e.removeAriaSelected(e.yearColumn), K = e.nextCurrent(parseInt(A, 0), r, 9999, !0), e.setAriaSelected(e.yearColumn, K.toString()), R = e.stagedElement(e.yearColumn, K, r, 9999, !0), g[0] = R[1], g[1] = 9999, g[2] = R[0], g; case "hour": case "hour24": var U = (F = -1 < F.indexOf("24")) ? 24 : 12; return e.removeAriaSelected(e.hourColumn), K = e.nextCurrent(parseInt(A, 0), r, U, F), e.setAriaSelected(e.hourColumn, K.toString()), R = e.stagedElement(e.hourColumn, K, r, U, F), g[0] = R[1], g[1] = F ? 23 : 12, g[2] = R[0], g; case "minute": case "minute24": return e.removeAriaSelected(e.minuteColumn), K = e.nextCurrent(parseInt(A, 0), r, 60, !0), e.setAriaSelected(e.minuteColumn, K.toString()), R = e.stagedElement(e.minuteColumn, K, r, 60, !0), g[0] = R[1], g[1] = 59, g[2] = R[0], g } }; this.removeAriaSelected = function (g) { (g = w.selectFirstElement("[" + e.ariaSelected + '\x3d"true"]', g)) && (g.removeAttribute("tabindex"), g.removeAttribute(e.ariaSelected)) }; this.setAriaSelected = function (g, r) { (g = w.selectFirstElement('[aria-label\x3d"' + r + '"]', g)) && (g.setAttribute(e.ariaSelected, "true"), g.setAttribute("tabindex", "0"), g.focus()) }; this.setFocus = function (g) { g && "" !== g.style.display && (g = w.selectFirstElement("[" + e.ariaSelected + '\x3d"true"]', g)) && g.focus() }; this.nextCurrent = function (g, r, A, F) { switch (r) { case "up": return F && 0 === g - 1 ? 0 : 0 >= g - 1 ? F ? A - 1 : A : g - 1; case "down": return F && g + 1 === A ? 0 : g + 1 > A ? 1 : g + 1 }return null }; this.stagedElement = function (g, r, A, F, K) { g = []; ("down" === A ? r += e.numberOfElementsThatAppearInColumn : "up" === A && (r -= e.numberOfElementsThatAppearInColumn), !K || 0 !== r && r !== F) ? g[0] = g[1] = r + F * (1 > r ? 1 : r > F ? -1 : 0) : (g[0] = 0, g[1] = F); return g }; this.isLastInList = function (g, r, A, F) { r === F && ("down" === A ? w.addClass(g.lastElementChild, "f-js-last") : "up" === A && w.addClass(g.firstElementChild, "f-js-last")) }; this.removeChildren = function (g, r) { (g = w.selectElements("li", g)) && 0 !== g.length && ("top" === r ? g[0].parentNode.removeChild(g[0]) : "bottom" === r && g[0].parentNode.removeChild(g[g.length - 1])) }; this.updatePicker = function () { switch (e.pickerType) { case 0: e.updateButton(e.monthColumn, "month"); e.updateButton(e.dayColumn, "day"); e.updateButton(e.yearColumn, "year"); break; case 1: e.updateButton(e.hourColumn, "hour"); e.updateButton(e.minuteColumn, "minute"); e.updateButton(e.amPmColumn, "ampm"); break; case 2: e.updateButton(e.hourColumn, "hour24"), e.updateButton(e.minuteColumn, "minute24") }var g = e.currentDateTime; e.updateCurrentDateTime(); e.areDatesCloseEnough(e.currentDateTime, g) || e.initiatePublish({ oldDateTime: g, newDateTime: e.currentDateTime }) }; this.updateButton = function (g, r) { if (g && r && (r = e.getDateTimePickerElement(r)) && (g = w.selectFirstElement("[" + e.ariaSelected + '\x3d"true"]', g)) && (g = g.getAttribute(e.ariaLabel))) { w.setText(r, g); r.setAttribute(e.activeValueStorage, g); var A = r.getAttribute(a.buttonFormatterAttribute); e.activeValueStorage === a.activeValueStorageAttribute && A && r.setAttribute(e.ariaLabel, m.format(A, g)) } }; this.recalculateDaysInMonth = function (g) { var r = g.parentElement.getAttribute(e.dateTimePickerDataAttribute); r && "month" === r && (r = w.selectFirstElement("[" + e.ariaSelected + '\x3d"true"]', e.dayColumn)) && (r = r.getAttribute(e.ariaLabel)) && (r = parseInt(r, 0)) && (g = w.selectFirstElement("[" + e.ariaSelected + '\x3d"true"]', g.parentElement)) && (g = g.getAttribute(e.ariaLabel)) && (g = e.months.indexOf(g), e.monthInfo[g] && (g = e.monthInfo[g].days)) && (w.removeInnerHtml(e.dayColumn), e.buildNodes(31 === r && 31 > g ? g : r, e.dayColumn, g, null, !1)) }; this.update() } return I(a, c), a.prototype.update = function () { if (this.element) { var b = this.element.getAttribute(this.dateTimePickerDataAttribute); switch (this.picker = this.getDateTimePickerElement("date-selector") || this.getDateTimePickerElement("time-selector12") || this.getDateTimePickerElement("time-selector24"), this.activeValueStorage = w.selectElements("button[" + a.activeValueStorageAttribute + "]", this.element).length ? a.activeValueStorageAttribute : this.ariaLabel, b) { case "date": this.pickerType = 0; this.monthColumn = this.getDateTimePickerElement("month", "ul"); this.dayColumn = this.getDateTimePickerElement("day", "ul"); this.yearColumn = this.getDateTimePickerElement("year", "ul"); b = this.monthColumn.getAttribute("data-months"); if (!b) return; var e = this.days.length; if (this.months = b.split(","), this.months.splice(0, 0, ""), this.months.length !== e) return; this.totalMonths = this.months.length - 1; this.monthInfo = Array(e); for (b = 0; b <= this.totalMonths; b++)this.monthInfo[b] = { name: this.months[b], days: this.days[b] }; w.removeInnerHtml(this.monthColumn); w.removeInnerHtml(this.dayColumn); w.removeInnerHtml(this.yearColumn); this.buildSelector(this.monthColumn, "month", null); this.buildSelector(this.dayColumn, "day", null); this.buildSelector(this.yearColumn, "year", null); break; case "time": case "time24": this.pickerType = 0 > b.indexOf("24") ? 1 : 2; b = "hour"; e = "minute"; if (2 === this.pickerType ? (b += "24", e += "24") : this.amPmColumn = this.getDateTimePickerElement("ampm", "ul"), this.hourColumn = this.getDateTimePickerElement(b, "ul"), this.minuteColumn = this.getDateTimePickerElement(e, "ul"), this.amPmColumn) { var g = this.amPmColumn.getAttribute("data-meridiem"); g && 2 === g.split("\x26").length && (this.amPmSelection = g.split("\x26")) } w.removeInnerHtml(this.hourColumn); w.removeInnerHtml(this.minuteColumn); this.buildSelector(this.hourColumn, b, null); this.buildSelector(this.minuteColumn, e, null); 1 === this.pickerType && this.buildAmPm(this.amPmColumn) }if (this.activeValueStorage === a.activeValueStorageAttribute) for (b = 0, e = w.selectElements("li", this.picker); b < e.length; b++) { g = e[b]; var r = g.getAttribute(this.ariaLabel); r && g.setAttribute(a.activeValueStorageAttribute, r) } this.cancelButton = this.getDateTimePickerElement("cancel"); this.applyButton = this.getDateTimePickerElement("apply"); this.scrollButtons = []; this.columnTriggerButtons = []; b = this.element.children; e = 0; for (g = b.length - 1; e < g; e++)r = b.item(e), 1 === r.nodeType && "BUTTON" === r.nodeName && this.columnTriggerButtons.push(r); this.columns = w.selectElements("div[" + this.dateTimePickerDataAttribute + "]", this.picker); b = 0; for (e = this.columns; b < e.length; b++)g = w.selectElements("button", e[b]), 2 === g.length && (g[0].setAttribute(this.dateTimePickerDataAttribute, a.scrollUpValue), g[1].setAttribute(this.dateTimePickerDataAttribute, a.scrollDownValue), this.scrollButtons.push(g[0], g[1])); this.updateCurrentDateTime(); w.addEvents(this.applyButton, "keydown click", this.handleApplyClicked); w.addEvents(this.cancelButton, "keydown click", this.handleCancelClicked); w.addEvents(this.scrollButtons, "mouseenter mouseleave", this.handleScrollButtons); w.addEvent(this.element, w.eventTypes.keydown, this.handleKeyDown); w.addEvent(this.element, w.eventTypes.click, this.handleMouseClick); this.ignoreNextDOMChange = !0 } }, a.prototype.teardown = function () { w.removeEvents(this.applyButton, "keydown click", this.handleApplyClicked); w.removeEvents(this.cancelButton, "keydown click", this.handleCancelClicked); w.removeEvents(this.scrollButtons, "mouseenter mouseleave", this.handleScrollButtons); w.removeEvent(this.element, w.eventTypes.keydown, this.handleKeyDown); w.removeEvent(this.element, w.eventTypes.click, this.handleMouseClick); w.removeEvents(this.columns, "mousewheel DOMMouseScroll", this.handleMouseScroll) }, a.prototype.openPicker = function (b, e) { void 0 === e && (e = !1); this.ignoreNextDOMChange = this.pickerIsOpen = !0; this.activeColumn = b = w.selectFirstElement("[" + this.dateTimePickerDataAttribute + '\x3d"' + b.getAttribute(this.dateTimePickerDataAttribute) + '"]', this.picker); 0 === this.pickerType ? (w.removeInnerHtml(this.monthColumn), w.removeInnerHtml(this.dayColumn), w.removeInnerHtml(this.yearColumn), this.buildSelector(this.monthColumn, "month", null), this.buildSelector(this.dayColumn, "day", null), this.buildSelector(this.yearColumn, "year", null)) : 1 === this.pickerType ? (w.removeInnerHtml(this.hourColumn), w.removeInnerHtml(this.minuteColumn), this.buildSelector(this.hourColumn, "hour", null), this.buildSelector(this.minuteColumn, "minute", null), this.selectAmPm(null)) : 2 === this.pickerType && (this.buildSelector(this.hourColumn, "hour24", null), this.buildSelector(this.minuteColumn, "minute24", null)); this.picker.setAttribute(this.ariaHidden, "false"); (b = w.selectFirstElement("[" + this.ariaSelected + '\x3d"true"]', b)) && (b.focus(), e && w.addClass(b, a.hiddenFocusClass)); w.addEvent(window, w.eventTypes.mousedown, this.handleOutsideClick); w.addEvents(this.columns, "mousewheel DOMMouseScroll", this.handleMouseScroll) }, a.prototype.closePicker = function () { this.pickerIsOpen = !1; this.picker.setAttribute(this.ariaHidden, "true"); w.removeEvent(window, w.eventTypes.scroll, this.handleMouseScroll); w.removeEvent(window, w.eventTypes.mousedown, this.handleOutsideClick); w.removeEvents(this.columns, "mousewheel DOMMouseScroll", this.handleMouseScroll); var b = this.columns.indexOf(this.activeColumn); 0 <= b && b < this.columnTriggerButtons.length && this.columnTriggerButtons[b].focus() }, a.prototype.getDateTimePickerElement = function (b, e) { e = m.isNullOrWhiteSpace(e) ? "" : " " + e; return m.isNullOrWhiteSpace(b) ? null : w.selectFirstElement('[data-date-time-picker\x3d"' + b + '"] ' + e, this.element) }, a.prototype.areDatesCloseEnough = function (b, e) { return Math.abs(b.getTime() - e.getTime()) <= a.changeThreshold }, a.prototype.updateCurrentDateTime = function () { var b = "[" + this.ariaSelected + '\x3d"true"]'; switch (this.pickerType) { case 0: var e = w.selectFirstElement('[data-date-time-picker\x3d"date-selector"]', this.element), g = e ? w.selectFirstElement('[data-date-time-picker\x3d"month"]', e) : null, r = e ? w.selectFirstElement('[data-date-time-picker\x3d"day"]', e) : null, A = e ? w.selectFirstElement('[data-date-time-picker\x3d"year"]', e) : null; e = g ? w.selectFirstElement(b, g) : null; r = r ? w.selectFirstElement(b, r) : null; b = A ? w.selectFirstElement(b, A) : null; b = parseInt(w.getText(b), 10) || -1; e = this.months.indexOf(w.getText(e)) || -1; r = parseInt(w.getText(r), 10) || -1; -1 !== b && 0 < e && -1 !== r && (this.currentDateTime = new Date(b, e - 1, r)); break; case 1: case 2: A = (e = w.selectFirstElement('[data-date-time-picker^\x3d"time-selector"]', this.element)) ? w.selectFirstElement('[data-date-time-picker^\x3d"hour"]', e) : null, r = e ? w.selectFirstElement('[data-date-time-picker^\x3d"minute"]', e) : null, e = e ? w.selectFirstElement('[data-date-time-picker\x3d"ampm"]', e) : null, A = A ? w.selectFirstElement(b, A) : null, r = r ? w.selectFirstElement(b, r) : null, b = e ? w.selectFirstElement(b, e) : null, e = parseInt(w.getText(A), 10) || -1, r = parseInt(w.getText(r), 10) || -1, -1 !== e && -1 !== r && (this.currentDateTime = new Date, this.currentDateTime.setSeconds(0), this.currentDateTime.setMinutes(r), this.currentDateTime.setHours(w.getText(b) === this.amPmSelection[1] ? e + 12 : e)) } }, a.prototype.publish = function (b, e) { b && b.onDateTimeChanged && b.onDateTimeChanged(e) }, a.init = function (b) { f.apiDeprecated("DateTimePicker.init() is deprecated, please use ComponentFactory.create() instead."); l.ComponentFactory.create([{ component: a, selector: b ? b.selector : null, eventToBind: b ? b.eventToBind : null }]) }, a.selector = ".c-date-time-picker", a.typeName = "DateTimePicker", a.changeThreshold = 1E3, a.scrollUpValue = "scrollUp", a.scrollDownValue = "scrollDown", a.buttonFormatterAttribute = "data-formatter-aria-label", a.activeValueStorageAttribute = "data-active-value", a.hiddenFocusClass = "x-hidden-focus", a }(q.Publisher); u.DateTimePicker = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(10), p(3), p(5), p(23)]; t = function (x, u, w, m, f, q, l) { x = function (c) { function a(b) { c.call(this, b); this.update() } return I(a, c), a.prototype.update = function () { var b = this; if (this.element && (this.buttons = f.selectElements(a.buttonsSelector, this.element), this.buttonContainers = f.selectElements(a.buttonsContainerSelector, this.element), !(!this.buttons || !this.buttonContainers || 1 > this.buttons.length || 1 > this.buttonContainers.length))) { this.buttonsLength = this.buttons.length; for (var e = 0; e < this.buttonsLength; e++) { var g = f.getClientRect(this.buttonContainers[e]).width; (!this.resizedContainerWidth || g > this.resizedContainerWidth) && (this.resizedContainerWidth = g); g = f.getClientRect(this.buttons[e]).width; (!this.resizedButtonWidth || g > this.resizedButtonWidth) && (this.resizedButtonWidth = g) } this.updateWidths(); l.BreakpointTracker.getBreakpointTracker().subscribe({ onBreakpointChanged: function (r) { b.onBreakpointChanged(r) } }) } }, a.prototype.updateWidths = function () { for (var b = 0; b < this.buttonsLength; b++)this.buttons[b].style.width = this.resizedButtonWidth + "px", this.buttonContainers[b].style.width = this.resizedContainerWidth + "px" }, a.prototype.onBreakpointChanged = function (b) { if (1 < b.breakpoint) this.updateWidths(); else for (b = 0; b < this.buttonsLength; b++)f.css(this.buttons[b], "width", ""), f.css(this.buttonContainers[b], "width", ""); this.ignoreNextDOMChange = !0 }, a.prototype.teardown = function () { this.resizedContainerWidth = this.resizedButtonWidth = null }, a.init = function (b) { q.apiDeprecated("DeviceActions.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: a, selector: b ? b.selector : null, eventToBind: b ? b.eventToBind : null }]) }, a.selector = ".m-device-actions", a.typeName = "DeviceActions", a.buttonsSelector = ".c-button", a.buttonsContainerSelector = ".f-button", a }(w.ObservableComponent); u.DeviceActions = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(8), p(3), p(5)]; t = function (x, u, w, m, f) { x = function (q) { function l() { var c = this; q.call(this, null); this.onWindowResized = function (a) { a = f.getWindowWidth(); var b = l.identifyBreakpoint(a); c.breakpoint !== b && (c.breakpoint = b, c.initiatePublish({ breakpoint: b, width: a })) }; this.windowWidth = f.getWindowWidth(); this.breakpoint = l.identifyBreakpoint(this.windowWidth); m.addDebouncedEvent(window, m.eventTypes.resize, this.onWindowResized) } return I(l, q), l.getBreakpointTracker = function () { return document.body.breakpointTracker || (document.body.breakpointTracker = new l), document.body.breakpointTracker }, l.prototype.getBreakpoint = function () { return this.breakpoint }, l.identifyBreakpoint = function (c) { f.isNumber(c) || (c = f.getWindowWidth()); for (var a = l.breakpoints.length - 1; 0 <= a; a--)if (c >= l.breakpoints[a]) return a }, l.prototype.publish = function (c, a) { c.onBreakpointChanged && c.onBreakpointChanged(a) }, l.breakpoints = [0, 540, 768, 1084, 1400, 1779], l }(w.Publisher); u.BreakpointTracker = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(8), p(10), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.isLightboxDialog = this.isFlowDialog = this.shouldCloseOnEscape = !1; this.handleTriggerClick = function (e) { b.activeButton = f.getEventTargetOrSrcElement(e); b.show() }; this.show = function () { var e = f.selectElements(c.pageContentContainerSelector); b.pageContentContainers = []; b.element.setAttribute(c.ariaHidden, "false"); b.dialogWrapper.focus(); b.onResized(); b.bodyOverflow = f.css(document.body, "overflow"); f.css(document.body, "overflow", "hidden"); b.container.setAttribute(c.ariaHidden, "true"); b.checkOverflow(); for (var g = 0; g < e.length; g++) { var r = e[g], A = "true" === r.getAttribute(c.ariaHidden); b.pageContentContainers.push({ element: r, hidden: A }); A || r.setAttribute(c.ariaHidden, "true") } b.dialogWrapper.scrollTop = 0; b.initiatePublish({ notification: 1 }) }; this.hide = function () { b.element.setAttribute(c.ariaHidden, "true"); f.css(b.dialogWrapper, "height", "auto"); f.css(document.body, "overflow", b.bodyOverflow); b.container.setAttribute(c.ariaHidden, "false"); for (var e = 0, g = b.pageContentContainers; e < g.length; e++) { var r = g[e]; r.hidden || r.element.removeAttribute(c.ariaHidden) } b.activeButton && b.activeButton.focus(); b.activeButton = null; b.pageContentContainers = []; b.initiatePublish({ notification: 2 }) }; this.triggerClickPublish = function (e) { b.initiatePublish({ notification: 0, button: f.getEventTargetOrSrcElement(e) }) }; this.onKeydown = function (e) { switch (q.getKeyCode(e)) { case 13: case 32: -1 !== b.closeButtons.indexOf(f.getEventTargetOrSrcElement(e)) ? (f.preventDefault(e), b.hide()) : -1 !== b.customButtons.indexOf(f.getEventTargetOrSrcElement(e)) && b.initiatePublish({ notification: 0, button: f.getEventTargetOrSrcElement(e) }); break; case 27: f.preventDefault(e); b.shouldCloseOnEscape && b.hide(); break; case 9: var g = f.getEventTargetOrSrcElement(e); g !== b.lastInput || e.shiftKey ? g === b.firstInput && e.shiftKey ? (f.preventDefault(e), b.lastInput.focus()) : 1 === b.dialogInputs.length && (f.preventDefault(e), b.dialogInputs[0].focus()) : (f.preventDefault(e), b.firstInput.focus()) } }; this.onResized = function () { b.checkOverflow(); b.handleResponsive() }; this.checkOverflow = function () { f.getClientRect(b.dialogWrapper).height < b.dialogWrapper.scrollHeight ? b.isScroll || f.css(b.dialogWrapper, "overflow-y", "auto") : f.css(b.dialogWrapper, "overflow-y", "hidden") }; this.handleResponsive = function () { if ("false" === b.element.getAttribute(c.ariaHidden)) { var e = f.getClientRect(b.dialogWrapper); b.isFlowDialog && !b.isScroll ? e.height < b.dialogWrapper.scrollHeight ? (f.css(b.dialogWrapper, "max-height", c.heightCalculationString), f.css(b.dialogWrapper, "height", "100%")) : f.css(b.dialogWrapper, "max-height", "100%") : b.isScroll && e.height + c.heightCalculationValue > window.innerHeight && (f.css(b.dialogWrapper, "height", c.heightCalculationString), f.css(b.dialogInnerContent, "height", "inherit")) } }; this.appendDialog = function () { b.ignoreNextDOMChange = !0; document.body.appendChild(b.element) }; this.update() } return I(c, l), c.prototype.update = function () { if (this.element && this.element.id && (this.dialogId = this.element.id, this.dialogWrapper = f.selectFirstElement("div[role\x3ddialog]", this.element), this.dialogInnerContent = f.selectFirstElement('[role\x3d"document"]', this.element), this.openButtons = f.selectElements("[data-js-dialog-show\x3d" + this.dialogId + "]"), this.closeButtons = f.selectElements(c.closeSelector, this.element), this.dialogInputs = f.selectElements(c.dialogInputSelectors, this.element), this.customButtons = f.selectElements(c.customButtonSelector, this.element), this.appendDialog(), this.container = f.selectFirstElement('[data-grid*\x3d"container"]'), this.overlay = f.selectFirstElement('[role\x3d"presentation"]', this.element), this.isScroll = f.selectFirstElement(c.scrollSelector, this.element), f.hasClass(this.element, "f-flow") && (this.isFlowDialog = !0), f.hasClass(this.element, "f-lightbox") && (this.isLightboxDialog = !0), this.dialogWrapper && this.openButtons && this.openButtons.length && this.closeButtons && this.closeButtons.length && this.dialogInputs && this.dialogInputs.length && this.container && this.overlay)) { if (this.isLightboxDialog) -1 === this.closeButtons.indexOf(this.overlay) && this.closeButtons.push(this.overlay), this.shouldCloseOnEscape = !0; else if (this.isFlowDialog) for (var a = 0; a < this.closeButtons.length; a++) { var b = this.closeButtons[a]; if (f.hasClass(b, "c-glyph") && f.hasClass(b, "glyph-cancel")) { this.closeButtons.push(this.overlay); this.shouldCloseOnEscape = !0; break } } this.firstInput = this.dialogInputs[0]; this.lastInput = this.dialogInputs[this.dialogInputs.length - 1]; f.addEvent(this.openButtons, f.eventTypes.click, this.handleTriggerClick); f.addEvent(this.closeButtons, f.eventTypes.click, this.hide); f.addEvent(this.customButtons, f.eventTypes.click, this.triggerClickPublish); f.addEvent(this.element, f.eventTypes.keydown, this.onKeydown); this.resizeThrottledEventHandler = f.addThrottledEvent(window, f.eventTypes.resize, this.onResized) } }, c.prototype.teardown = function () { f.removeEvent(this.openButtons, f.eventTypes.click, this.handleTriggerClick); f.removeEvent(this.closeButtons, f.eventTypes.click, this.hide); f.removeEvent(this.customButtons, f.eventTypes.click, this.triggerClickPublish); f.removeEvent(this.element, f.eventTypes.keydown, this.onKeydown); f.removeEvent(window, f.eventTypes.resize, this.resizeThrottledEventHandler) }, c.prototype.publish = function (a, b) { switch (b.notification) { case 0: a && a.onButtonClicked && a.onButtonClicked(b); break; case 1: a && a.onShown && a.onShown(); break; case 2: a && a.onHidden && a.onHidden() } }, c.init = function (a) { q.apiDeprecated("Dialog.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".c-dialog", c.typeName = "Dialog", c.dialogInputSelectors = "select, input, textarea, button, a, .c-glyph[data-js-dialog-hide]", c.closeSelector = "[data-js-dialog-hide]", c.customButtonSelector = 'button[type\x3d"button"]', c.ariaHidden = "aria-hidden", c.scrollSelector = ".f-dialog-scroll", c.heightCalculationValue = 24, c.heightCalculationString = "calc(100% - " + c.heightCalculationValue.toString() + "px)", c.pageContentContainerSelector = '[data-js-controlledby\x3d"dialog"]', c }(w.Publisher); u.Dialog = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(10), p(23), p(3), p(5)]; t = function (x, u, w, m, f, q, l) { x = function (c) { function a(b) { var e = this; c.call(this, b); this.getCollapseBreakpoint = function () { switch (e.element.getAttribute(a.dataCollapseAttribute).toLowerCase()) { case "vp3": e.collapseBreakpoint = 2; break; case "vp2": e.collapseBreakpoint = 1; break; case "vp1": e.collapseBreakpoint = 0 } }; this.toggleDrawer = function () { e.isExpanded() ? e.collapseDrawer() : e.expandDrawer() }; this.update() } return I(a, c), a.prototype.update = function () { var b = this; if (this.element && (this.drawerToggleButton = q.selectFirstElement("button[aria-controls]", this.element), this.drawerToggleButton)) { var e = this.drawerToggleButton.getAttribute("aria-controls"); if (this.drawerContainer = q.selectFirstElement("#" + e, this.element), this.drawerContainer) q.hasClass(this.element, a.deprecatedResponsiveString) && (this.element.setAttribute(a.dataCollapseAttribute, "vp1"), q.removeClass(this.element, a.deprecatedResponsiveString), q.hasClass(this.element, "f-remove-divider") || q.addClass(this.element, "f-divider")), q.hasClass(this.element, "m-amc-placement") && this.element.setAttribute(a.dataCollapseAttribute, "vp1"), this.isExpanded() || (this.drawerContainer.setAttribute(a.hiddenString, ""), this.drawerContainer.setAttribute("aria-hidden", a.trueString), this.changeDrawerState("collapsed")), e = f.BreakpointTracker.getBreakpointTracker(), this.element.getAttribute(a.dataCollapseAttribute) && (this.getCollapseBreakpoint(), e.subscribe({ onBreakpointChanged: function (g) { b.onBreakpointChanged(g) } })), q.addEvent(this.drawerToggleButton, q.eventTypes.click, this.toggleDrawer), this.onBreakpointChanged({ breakpoint: e.getBreakpoint(), width: 0 }) } }, a.prototype.teardown = function () { q.removeEvent(this.drawerToggleButton, q.eventTypes.click, this.toggleDrawer) }, a.prototype.onBreakpointChanged = function (b) { this.element.getAttribute(a.dataCollapseAttribute) && this.updateResponsiveDrawer(b.breakpoint) }, a.prototype.changeDrawerState = function (b) { b = "open" === b; this.drawerToggleButton.setAttribute(a.ariaExpanded, b ? a.trueString : "false"); this.drawerContainer.style.height = b ? "auto" : "0"; this.drawerContainer.style.overflow = b ? "visible" : a.hiddenString; this.drawerContainer.setAttribute("aria-hidden", b ? "false" : a.trueString) }, a.prototype.collapseDrawer = function () { this.drawerContainer.setAttribute(a.hiddenString, ""); this.changeDrawerState("") }, a.prototype.expandDrawer = function () { this.drawerContainer.removeAttribute(a.hiddenString); this.changeDrawerState("open") }, a.prototype.isExpanded = function () { return this.drawerToggleButton.getAttribute(a.ariaExpanded) === a.trueString }, a.prototype.updateResponsiveDrawer = function (b) { b > this.collapseBreakpoint ? (this.drawerToggleButton.setAttribute(a.disabledString, a.disabledString), q.addClass(this.element, "f-show"), this.expandDrawer()) : (this.drawerToggleButton.removeAttribute(a.disabledString), q.removeClass(this.element, "f-show"), this.collapseDrawer()) }, a.init = function (b) { l.apiDeprecated("Drawer.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: a, selector: b ? b.selector : null, eventToBind: b ? b.eventToBind : null }]) }, a.selector = ".c-drawer", a.typeName = "Drawer", a.ariaExpanded = "aria-expanded", a.disabledString = "disabled", a.hiddenString = "hidden", a.trueString = "true", a.deprecatedResponsiveString = "f-responsive", a.dataCollapseAttribute = "data-js-collapse", a }(w.ObservableComponent); u.Drawer = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(27)]; t = function (x, u, w) { x = function (m) { function f(q, l) { void 0 === l && (l = null); m.call(this, q, l); this.feedHeroItemElement = q } return I(f, m), f.selector = ".m-feed-hero-item", f.typeName = "FeedHeroItem", f.callToActionSelector = "a", f }(w.HeroItemBase); u.FeedHeroItem = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(8), p(3), p(4)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a, b) { var e = this; l.call(this, a, b); this.heroItemBaseElement = a; this.initialized = !1; this.handleMouseAndTouchStart = function (g) { e.startCoordinates = f.getCoordinates(g) }; this.handleMouseAndTouchEnd = function (g) { var r = e.startCoordinates, A = f.getCoordinates(g); 1 === (g.which || g.button) && r && A && !e.isSwipe(r, A) && e.handleValidUserInteraction(g, f.getEventTargetOrSrcElement(g)) }; w.ObservableComponent.shouldInitializeAsClass(a, b) && f.SafeBrowserApis.requestAnimationFrame.call(window, function () { return e.update() }) } return I(c, l), c.prototype.update = function () { return !!this.heroItemBaseElement && (this.callsToAction = f.selectElementsT(this.constructor.callToActionSelector, this.heroItemBaseElement), this.addEventListeners(), this.initialized = !0, !0) }, c.prototype.teardown = function () { this.removeEventListeners(); this.initialized = !1 }, c.prototype.publish = function (a, b) { a.onHeroItemClicked && (a.onHeroItemClicked(b), this.preventDefaultClickAction = this.preventDefaultClickAction || b.preventDefault) }, c.prototype.addEventListeners = function () { this.verifyCallToAction() && (this.heroItemBaseElement.setAttribute(c.dataJsHref, this.callsToAction[0].href), f.addEvent(this.heroItemBaseElement, f.eventTypes.mousedown, this.handleMouseAndTouchStart), f.addEvent(this.heroItemBaseElement, f.eventTypes.mouseup, this.handleMouseAndTouchEnd)) }, c.prototype.removeEventListeners = function () { f.addEvent(this.heroItemBaseElement, f.eventTypes.mousedown, this.handleMouseAndTouchStart); f.addEvent(this.heroItemBaseElement, f.eventTypes.mouseup, this.handleMouseAndTouchEnd) }, c.prototype.handleValidUserInteraction = function (a, b) { if (b && !this.isCallToActionOrDescendent(b)) { if (!this.verifyCallToAction()) return void this.heroItemBaseElement.removeAttribute(c.dataJsHref); this.heroItemBaseElement.hasAttribute(c.dataJsHref) || this.heroItemBaseElement.setAttribute(c.dataJsHref, this.callsToAction[0].href); b = { preventDefault: !1, event: a, targetElement: b, targetUri: this.callsToAction[0].href }; this.preventDefaultClickAction = !1; this.initiatePublish(b); this.preventDefaultClickAction ? this.preventDefaultClickAction = !1 : (f.stopPropagation(a), this.navigateToUrl(this.callsToAction[0].href, this.callsToAction[0].target)) } }, c.prototype.isCallToActionOrDescendent = function (a) { for (var b = 0, e = this.callsToAction; b < e.length; b++) { var g = e[b]; if (g === a || f.isDescendent(g, a)) return !0 } return !1 }, c.prototype.isSwipe = function (a, b) { if (!a || !b) return !1; var e = Math.abs(b.y - a.y); return Math.abs(b.x - a.x) > c.minimumSwipeDistance || e > c.minimumSwipeDistance }, c.prototype.navigateToUrl = function (a, b) { q.isNullOrWhiteSpace(a) || window.open(a, q.isNullOrWhiteSpace(b) ? "_self" : b) }, c.prototype.verifyCallToAction = function () { return this.callsToAction && this.callsToAction.length && !q.isNullOrWhiteSpace(this.callsToAction[0].href) }, c.dataJsHref = "data-js-href", c.minimumSwipeDistance = 30, c.callToActionSelector = "a.c-call-to-action", c }(m.Publisher); u.HeroItemBase = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(10), p(2), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.showFileDialogMenu = function (e) { f.preventDefault(e); b.fileInputElement.click() }; this.handleFileSelection = function () { b.textInputElement.value = b.fileInputElement.value.replace("C:\\fakepath\\", "") }; this.update() } return I(c, l), c.prototype.update = function () { this.element && (this.fileInputElement = f.selectFirstElement('input[type\x3d"file"]', this.element), this.submitButton = f.selectFirstElement("button", this.element), this.textInputElement = f.selectFirstElement('input[type\x3d"text"]', this.element), this.fileInputElement && this.submitButton && this.textInputElement && (f.addEvent(this.fileInputElement, f.eventTypes.change, this.handleFileSelection), f.addEvent(this.submitButton, f.eventTypes.click, this.showFileDialogMenu), f.addEvent(this.textInputElement, f.eventTypes.click, this.showFileDialogMenu))) }, c.prototype.teardown = function () { f.removeEvent(this.fileInputElement, f.eventTypes.change, this.handleFileSelection); f.removeEvent(this.submitButton, f.eventTypes.click, this.showFileDialogMenu); f.removeEvent(this.textInputElement, f.eventTypes.click, this.showFileDialogMenu); this.textInputElement = this.submitButton = this.fileInputElement = null }, c.init = function (a) { q.apiDeprecated("File.init() is deprecated, please use ComponentFactory.create() instead."); w.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".c-file", c.typeName = "File", c }(m.ObservableComponent); u.File = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(10), p(3), p(30), p(5)]; t = function (x, u, w, m, f, q, l) { x = function (c) { function a(b) { var e = this; c.call(this, b); this.element = b; this.toggleFlyout = function () { e.shown ? e.hide(!0) : e.show(!0) }; this.handleKeydownWhenFlyoutIsOpen = function (g) { g = l.getKeyCode(g); if (e.shown) switch (g) { case 27: e.hide(!0) } }; this.handleClickWhenFlyoutIsOpen = function (g) { e.performActionsWhenFlyoutIsOpen(g.target || g.srcElement) }; this.performActionsWhenFlyoutIsOpen = function (g) { var r = g.parentNode; !1 === e.element.contains(g) && g !== e.openButton && r !== e.openButton && e.hide(!0) }; this.hide = function (g) { void 0 === g && (g = !1); e.shown = !1; e.element.setAttribute(a.AriaHidden, "true"); 0 === e.dismissalMode && f.removeEvent(e.bodyElement, f.eventTypes.click, e.handleClickWhenFlyoutIsOpen); g && e.openButton.focus() }; this.show = function (g) { void 0 === g && (g = !1); e.shown = !0; e.element.setAttribute(a.AriaHidden, "false"); e.offsetParent = f.getOffsetParent(e.element); 3 === e.placement ? e.placeRight() : 1 === e.placement ? e.placeTop() : 2 === e.placement ? e.placeLeft() : 0 === e.placement && e.placeBottom(); !1 !== q.collidesWith(e.element) && (e.placeLeft(), !1 !== q.collidesWith(e.element) && (e.placeRight(), !1 !== q.collidesWith(e.element) && (e.placeBottom(), !1 !== q.collidesWith(e.element) && (e.placeTop(), !1 !== q.collidesWith(e.element) && (e.placeBottomFinal(), !1 !== q.collidesWith(e.element) && e.placeTopFinal()))))); 0 === e.dismissalMode && f.addEvent(e.bodyElement, f.eventTypes.click, e.handleClickWhenFlyoutIsOpen); g && e.element.focus() }; this.placeTopFinal = function () { var g = f.getClientRect(e.offsetParent), r = f.getClientRect(e.element), A = f.getClientRect(e.openButton); r = A.top - g.top - r.height - 8; f.css(e.element, "left", A.left - g.left + "px"); f.css(e.element, "top", r + "px") }; this.placeBottomFinal = function () { var g = f.getClientRect(e.offsetParent), r = f.getClientRect(e.openButton), A = r.top - g.top + r.height + 8; f.css(e.element, "left", r.left - g.left + "px"); f.css(e.element, "top", A + "px") }; this.placeBottom = function () { var g = f.getClientRect(e.offsetParent), r = f.getClientRect(e.element), A = f.getClientRect(e.openButton), F = function () { var K = e.calculateHorizontalCenter(g, A, r), R = A.top - g.top + A.height + 8; f.css(e.element, "left", K + "px"); f.css(e.element, "top", R + "px"); e.element.setAttribute("data-js-flyout-placement", "bottom") }; F(); r = f.getClientRect(e.element); F() }; this.placeLeft = function () { var g = f.getClientRect(e.offsetParent), r = f.getClientRect(e.element), A = f.getClientRect(e.openButton), F = function () { var K = A.left - g.left - r.width - 8, R = e.calculateVerticalCenter(g, A, r); f.css(e.element, "left", K + "px"); f.css(e.element, "top", R + "px"); e.element.setAttribute("data-js-flyout-placement", "left") }; F(); r = f.getClientRect(e.element); F() }; this.placeTop = function () { var g = f.getClientRect(e.offsetParent), r = f.getClientRect(e.element), A = f.getClientRect(e.openButton), F = function () { var K = e.calculateHorizontalCenter(g, A, r), R = A.top - g.top - r.height - 8; f.css(e.element, "left", K + "px"); f.css(e.element, "top", R + "px"); e.element.setAttribute("data-js-flyout-placement", "top") }; F(); r = f.getClientRect(e.element); F() }; this.placeRight = function () { var g = f.getClientRect(e.offsetParent), r = f.getClientRect(e.element), A = f.getClientRect(e.openButton), F = function () { var K = A.left - g.left + A.width + 8, R = e.calculateVerticalCenter(g, A, r); f.css(e.element, "left", K + "px"); f.css(e.element, "top", R + "px"); e.element.setAttribute("data-js-flyout-placement", "right") }; F(); r = f.getClientRect(e.element); F() }; b && (this.bodyElement = f.selectFirstElement("body"), this.update()) } return I(a, c), a.prototype.update = function () { var b = this; if (this.flyoutId = this.element.getAttribute("id"), this.flyoutId && (this.openButton = f.selectFirstElement('[aria-describedby\x3d"' + this.flyoutId + '"]'), this.openButton || (this.openButton = f.selectFirstElement('[data-js-flyout\x3d"' + this.flyoutId + '"]'), this.openButton))) { this.shown = !1; this.dismissalMode = "false" === this.element.getAttribute("data-js-flyout-dismissible") ? 1 : 0; switch (this.element.getAttribute("data-js-flyout-placement")) { case "bottom": this.placement = 0; break; case "top": this.placement = 1; break; case "left": this.placement = 2; break; default: this.placement = 3 }if (f.addEvent(this.openButton, f.eventTypes.click, this.toggleFlyout), f.addEvent(window, f.eventTypes.keydown, this.handleKeydownWhenFlyoutIsOpen), this.resizeThrottledEventHandler = f.addThrottledEvent(window, f.eventTypes.resize, function () { b.hide() }), 1 === this.dismissalMode && (this.flyoutButtons = f.selectElementsT("button", this.element), 0 < this.flyoutButtons.length)) for (var e = 0, g = this.flyoutButtons; e < g.length; e++)f.addEvent(g[e], f.eventTypes.click, function () { b.hide(!0) }) } }, a.prototype.teardown = function () { var b = this; if (f.removeEvent(this.openButton, f.eventTypes.click, this.toggleFlyout), f.removeEvent(window, f.eventTypes.keydown, this.handleKeydownWhenFlyoutIsOpen), f.removeEvent(window, f.eventTypes.resize, this.resizeThrottledEventHandler), 1 === this.dismissalMode && 0 < this.flyoutButtons.length) for (var e = 0, g = this.flyoutButtons; e < g.length; e++)f.removeEvent(g[e], f.eventTypes.click, function () { b.hide() }) }, a.prototype.calculateHorizontalCenter = function (b, e, g) { return e.left - b.left + e.width / 2 - g.width / 2 }, a.prototype.calculateVerticalCenter = function (b, e, g) { return e.top - b.top + e.height / 2 - g.height / 2 }, a.init = function (b) { l.apiDeprecated("Flyout.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: a, selector: b ? b.selector : null, eventToBind: b ? b.eventToBind : null }]) }, a.selector = ".c-flyout", a.typeName = "Flyout", a.AriaHidden = "aria-hidden", a }(w.ObservableComponent); u.Flyout = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(3)]; t = function (I, x, u) { x.collidesWith = function (w, m) { w = u.getClientRect(w); if (w.left = Math.round(w.left), w.top = Math.round(w.top), w.right = Math.round(w.right), w.bottom = Math.round(w.bottom), 0 !== w.width) { var f = !1, q = { top: !1, bottom: !1, left: !1, right: !1 }; if (!m) { m = Math.min(window.innerWidth, document.documentElement.clientWidth); var l = Math.min(window.innerHeight, document.documentElement.clientHeight); m = { left: 0, top: 0, right: m, bottom: l, width: m, height: l } } if (w.left < m.left && (f = !0, q.left = !0), w.top < m.top && (f = !0, q.top = !0), w.right > m.right && (f = !0, q.right = !0), w.bottom > m.bottom && (f = !0, q.bottom = !0), f) return q } return !1 } }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(10), p(27), p(5)]; t = function (x, u, w, m, f) { x = function (q) { function l(c, a) { void 0 === a && (a = null); q.call(this, c, a); this.heroItemElement = c } return I(l, q), l.init = function (c) { f.apiDeprecated("HeroItem.init() is deprecated, please use ComponentFactory.create() instead."); w.ComponentFactory.create([{ component: l, selector: c ? c.selector : null, eventToBind: c ? c.eventToBind : null }]) }, l.selector = ".c-hero, .m-hero-item", l.typeName = "HeroItem", l }(m.HeroItemBase); u.HeroItem = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(27), p(3)]; t = function (x, u, w, m) { x = function (f) { function q(l, c) { var a = this; void 0 === c && (c = null); f.call(this, l, c); this.immersiveHeroItemElement = l; this.handleWindowEvent = function () { a.resizeImage(); a.windowWidth !== window.innerWidth && (a.windowWidth = window.innerWidth) } } return I(q, f), q.prototype.update = function () { return !!f.prototype.update.call(this) && (this.image = m.selectFirstElement(q.imageSelector, this.immersiveHeroItemElement), this.title = m.selectFirstElement(q.titleSelector, this.immersiveHeroItemElement), this.isTopAligned = m.hasClass(this.immersiveHeroItemElement, "f-align-top"), this.windowWidth = window.innerWidth, void (this.image ? (this.resizeImage(), this.resizeThrottledEvent = m.addThrottledEvent(window, m.eventTypes.resize, this.handleWindowEvent, 50)) : this.handleTextOnly())) }, q.prototype.teardown = function () { f.prototype.teardown.call(this); m.removeEvent(window, m.eventTypes.resize, this.resizeThrottledEvent); this.isTopAligned = this.titleHeight = this.title = this.sectionHeight = this.image = null }, q.prototype.handleTextOnly = function () { if (!this.isTopAligned && this.title.parentElement) { var l = this.title.parentElement; m.css(l, "top", "auto"); m.css(l, "bottom", "0px") } }, q.prototype.resizeImage = function () { if (this.immersiveHeroItemElement && this.title && this.image) { var l = m.getClientRect(this.immersiveHeroItemElement), c = m.getClientRect(this.title), a = this.isTopAligned ? c.top - l.top : m.getClientRect(this.image).top - l.top; this.titleHeight = c.height + a; this.sectionHeight = l.height; m.css(this.image, "height", this.sectionHeight - this.titleHeight + "px") } }, q.prototype.onCollectionItemHidden = function () { }, q.prototype.onCollectionItemShown = function () { this.resizeImage() }, q.selector = ".m-immersive-hero-item", q.typeName = "ImmersiveHeroItem", q.titleSelector = "div \x3e div", q.imageSelector = "div \x3e .c-image \x3e img", q }(w.HeroItemBase); u.ImmersiveHeroItem = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(5), p(4), p(3), p(2)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.resizeHandler = function () { b.checkCollapse(b.element); b.setWidth(b.element, !0); b.setStickyClass(); b.anchorPositions = b.setAnchorPositions(b.element) }; this.scrollHandler = function (e) { e = f.selectFirstElement("ul", b.element); var g = e.getAttribute("aria-hidden"); b.updateNavLinks(b.element); g && e.setAttribute("aria-hidden", "true"); b.setWidth(b.element) }; this.clickHandler = function (e) { var g = e.target || e.srcElement, r = g.getAttribute("href"); if (r && !(0 > r.indexOf("#"))) { f.hasClass(g, "f-dropdown-link") && f.preventDefault(e); b.updateNavLinks(b.element); e = f.selectFirstElement("ul", b.element); var A = "true" !== e.getAttribute("aria-hidden"), F = f.getClientRect(b.element).height + 10; r = r.split("#")[1]; var K = 0 < f.selectElements("[data-js-in-page-navigation-wrapper]").length; f.hasClass(g, "f-dropdown-link") ? A ? e.setAttribute("aria-hidden", "true") : e.setAttribute("aria-hidden", "false") : (f.hasClass(b.element, "f-vertical") ? K ? window.scrollTo(0, b.anchorPositions[r] - (f.hasClass(b.element, "f-dropdown") ? F : 0)) : window.scrollTo(0, b.anchorPositions[r]) : window.scrollTo(0, b.anchorPositions[r] - (K ? F : 0)), b.updateLinks(g)) } }; a && this.update() } return I(c, l), c.prototype.update = function () { if (this.navLinks = f.selectElements("ul a", this.element), this.navLinks && this.navLinks.length) { if (this.anchorElements = this.getAnchorElements(), this.checkCollapse(this.element), this.setStickyClass(), this.anchorPositions = this.setAnchorPositions(this.element), f.addEvent(window, f.eventTypes.resize, this.resizeHandler), f.addEvent(window, f.eventTypes.scroll, this.scrollHandler), f.hasClass(this.element, "f-dropdown")) { var a = f.selectFirstElement("a", this.element); f.addEvent(a, f.eventTypes.click, this.clickHandler, !0) } this.setNavLinkHandler(this.navLinks) } }, c.prototype.teardown = function () { if (f.removeEvent(window, f.eventTypes.resize, this.resizeHandler), f.removeEvent(window, f.eventTypes.scroll, this.scrollHandler), f.hasClass(this.element, "f-dropdown")) { var a = f.selectFirstElement("a", this.element); f.removeEvent(a, f.eventTypes.click, this.clickHandler, !0) } a = 0; for (var b = this.navLinks; a < b.length; a++)f.removeEvent(b[a], f.eventTypes.click, this.clickHandler, !0) }, c.prototype.setNavLinkHandler = function (a) { if (null !== a) for (var b = 0; b < a.length; b++)f.addEvent(a[b], f.eventTypes.click, this.clickHandler, !0) }, c.prototype.setAnchorPositions = function (a) { if (this.anchorElements) { a = f.getClientRect(document.body).top; for (var b = {}, e = 0, g = this.anchorElements; e < g.length; e++) { var r = g[e]; r && (b[r.id] = f.getClientRect(r).top - a) } return b } }, c.prototype.getAnchorElements = function () { for (var a = [], b = 0, e = f.selectElements("a", this.element); b < e.length; b++) { var g = m.trim(e[b].getAttribute("href")); null != g && 0 === g.indexOf("#") && a.push(f.selectFirstElement(g)) } return a }, c.prototype.setStickyClass = function () { return 0 > f.getClientRect(this.element).top + this.getScrollY() && (f.addClass(this.element, "f-sticky"), f.css(this.element, "marginLeft", this.stickyOffsetLeft)), this.element }, c.prototype.checkCollapse = function (a) { if (a) { var b = a.parentElement; if (b) { var e = b.children, g = f.selectElements("li", a); b = f.getClientRect(b).width; var r = 0; if (f.hasClass(a, "f-dropdown") || f.hasClass(a, "f-vertical")) { if (f.hasClass(a, "f-dropdown") && !f.hasClass(a, "f-vertical")) for (var A = 0, F = e.length; A < F - 1; A++)(g = f.selectElements("li", e[A])) && 0 < g.length && !f.hasClass(e[A], "f-dropdown") && (r = f.getClientRect(g[g.length - 1]).right) } else r = f.getClientRect(g[g.length - 1]).right; return f.hasClass(a, "f-vertical") ? w.getWindowWidth() < 100 + b ? this.convertMenu(a, "dropdown") : this.convertMenu(a) : r > b || 0 === b ? this.convertMenu(a, "dropdown") : this.convertMenu(a) } } }, c.prototype.convertMenu = function (a, b) { void 0 === b && (b = null); return "dropdown" === b ? f.hasClass(a, "f-dropdown") ? f.hasClass(a, "f-hide") && f.removeClass(a, "f-hide") : f.hasClass(a, "f-hide") || f.addClass(a, "f-hide") : f.hasClass(a, "f-dropdown") ? f.hasClass(a, "f-hide") || f.addClass(a, "f-hide") : f.hasClass(a, "f-hide") && f.removeClass(a, "f-hide"), a }, c.prototype.setWidth = function (a, b) { void 0 === b && (b = !1); var e = a.parentElement, g = f.selectFirstElement("ul", a), r = f.hasClass(a, "f-sticky"), A = this.getScrollY(), F = f.getClientRect(e).top + A; this.stickyOffsetLeft = f.getClientRect(e).left; this.elementWidth = f.getClientRect(e).width; e = f.selectElements("[data-js-in-page-navigation-wrapper]"); return !0 === b && f.hasClass(a, "f-sticky") && (g.style.width = this.elementWidth + "px", g.style.marginLeft = this.stickyOffsetLeft + "px"), 0 < e.length && (F < A ? f.hasClass(a, "f-sticky") || (f.addClass(a, "f-sticky"), g.style.width = this.elementWidth + "px", g.style.marginLeft = this.stickyOffsetLeft + "px") : !1 !== r && (f.removeClass(a, "f-sticky"), f.css(g, "margin-left", ""), f.css(g, "width", ""))), a }, c.prototype.updateLinks = function (a) { if (this.element && this.navLinks && 0 !== this.navLinks.length) { for (var b = 0, e = this.navLinks; b < e.length; b++) { var g = e[b]; g.blur(); f.removeClass(g, "f-active") } if (f.addClass(a, "f-active"), f.hasClass(this.element, "f-dropdown")) b = f.selectFirstElement("a", this.element), b.setAttribute("href", a.getAttribute("href")), b.innerHTML = a.innerHTML; return this.element } }, c.prototype.updateNavLinks = function (a) { if (a) { var b = this.getAnchorElements(), e = f.selectFirstElement("[data-js-in-page-navigation-wrapper]"); if (e && b && b.length) for (e.style.top = a.offsetHeight + "px", e = b.length - 1; 0 <= e; e--)if (50 >= b[e].getBoundingClientRect().top) { this.updateLinks(f.selectElements("a", a)[e]); break } } }, c.prototype.getScrollY = function () { return window.scrollY || window.pageYOffset || document.documentElement.scrollTop }, c.selector = ".c-in-page-navigation", c.typeName = "InPageNavigation", c }(q.ObservableComponent); u.InPageNavigation = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(10), p(2), p(23), p(5), p(3)]; t = function (x, u, w, m, f, q, l) { x = function (c) { function a(b) { var e = this; c.call(this, b); this.cssClassNames = { width: { large: "f-width-large", small: "f-width-small" }, height: { large: "f-height-large", medium: "f-height-medium", small: "f-height-small" } }; this.mappings = [[[300, 0], [150, 320], [0, 160]], [[300, 540], [150, 270], [0, 135]], [[400, 768], [200, 384], [0, 0]], [[400, 542], [200, 271], [0, 135]], [[400, 542], [200, 271], [0, 135]], [[400, 542], [200, 271], [0, 135]]]; this.update(); f.BreakpointTracker.getBreakpointTracker().subscribe({ onBreakpointChanged: function (g) { e.onBreakpointChanged(g) } }) } return I(a, c), a.prototype.update = function () { this.onBreakpointChanged({ breakpoint: f.BreakpointTracker.getBreakpointTracker().getBreakpoint(), width: 0 }) }, a.prototype.teardown = function () { }, a.prototype.removeClasses = function (b) { null != b && l.removeClasses(b, this.concatenateCssClasses(this.cssClassNames)) }, a.prototype.applySizeClasses = function (b, e) { b = q.getDimensions(b); if (null != b && q.isNumber(b.height) && q.isNumber(b.width)) { var g, r = []; b.height >= this.mappings[e][0][0] ? (r.push(this.cssClassNames.height.large), g = b.width >= this.mappings[e][0][1] ? this.cssClassNames.width.large : this.cssClassNames.width.small, r.push(g)) : b.height >= this.mappings[e][1][0] ? (r.push(this.cssClassNames.height.medium), g = b.width >= this.mappings[e][1][1] ? this.cssClassNames.width.large : this.cssClassNames.width.small, r.push(g)) : (r.push(this.cssClassNames.height.small), g = b.width >= this.mappings[e][2][1] ? this.cssClassNames.width.large : this.cssClassNames.width.small, r.push(g)); l.addClasses(this.element, r) } }, a.prototype.onBreakpointChanged = function (b) { this.removeClasses(this.element); this.applySizeClasses(this.element, b.breakpoint) }, a.prototype.concatenateCssClasses = function (b) { if (null != b) { var e = [], g; for (g in b) if (b.hasOwnProperty(g)) { var r = b[g]; if ("object" == typeof r) for (var A in r) r.hasOwnProperty(A) && e.push(r[A]) } return e } }, a.init = function (b) { q.apiDeprecated("MosaicPlacement.init() is deprecated, please use ComponentFactory.create() instead."); w.ComponentFactory.create([{ component: a, selector: b ? b.selector : null, eventToBind: b ? b.eventToBind : null }]) }, a.selector = ".c-mosaic-placement", a.typeName = "MosaicPlacement", a }(m.ObservableComponent); u.MosaicPlacement = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(10), p(40), p(36), p(41), p(39), p(3), p(5)]; t = function (x, u, w, m, f, q, l, c, a, b) { x = function (e) { function g(r, A) { void 0 === A && (A = null); e.call(this, g.selectMultiSlideCarousel(r, A), A); this.multiFeatureElement = r; this.activeContentIndex = 0 } return I(g, e), g.selectMultiSlideCarousel = function (r, A) { r = a.selectFirstElement(q.MultiSlideCarousel.selector, r); return r && (r.setAttribute(w.ObservableComponent.mwfClassAttribute, A && A.mwfClass ? A.mwfClass : "MultiFeature"), r.removeAttribute(w.ObservableComponent.initializeAttribute)), r }, g.prototype.update = function () { return !!e.prototype.update.call(this) && (e.prototype.subscribe.call(this, this), !0) }, g.prototype.teardown = function () { e.prototype.teardown.call(this); e.prototype.unsubscribe.call(this, this); this.controller && this.controller.unsubscribe(this) }, g.prototype.loadMultiSlideController = function () { var r = this, A = a.selectFirstElement(g.controllerSelector, this.multiFeatureElement); if (A && a.hasClass(A, "c-sequence-indicator")) { this.loadContentElements(A); var F = c.SequenceIndicator } else if (A && A.parentElement && a.hasClass(A.parentElement, "c-pivot")) { A = A.parentElement; F = l.Pivot; for (var K = 0, R = a.selectElements(g.controllerItemsSelector, A); K < R.length; K++) { var U = R[K], ha = U.getAttribute(g.ariaControls), na = 0; for (ha = ha ? ha.split(/\s+/) : []; na < ha.length; na++) { var C = ha[na]; if (a.selectFirstElement("#" + C, A)) { U.setAttribute(g.ariaControls, C); break } } } A.removeAttribute(w.ObservableComponent.initializeAttribute) } else A && A.firstElementChild && A.firstElementChild.firstElementChild && a.hasClass(A.firstElementChild.firstElementChild, "c-logo") && (this.loadContentElements(A), F = f.LogoController, A.setAttribute(w.ObservableComponent.mwfClassAttribute, "LogoController"), a.addClass(A, c.SequenceIndicator.selector)); m.ComponentFactory.create([{ elements: [A], component: F, callback: function (O) { O && O.length && (r.controller = O[0], r.controller && (r.controller.subscribe(r), r.lastCarouselNotification && (r.onSlideRangeChanged(r.lastCarouselNotification), r.lastCarouselNotification = null))) }, eventToBind: "DOMContentLoaded" }]) }, g.prototype.onSlideRangeChanged = function (r) { r && r.fullyVisibleItemRange && r.fullyVisibleItemRange.length && (this.controller ? this.controller.setControllerIndex(r.fullyVisibleItemRange[0], r.userInitiated) : this.lastCarouselNotification = r, this.updateMultiFeatureContentIndex(r.fullyVisibleItemRange[0])) }, g.prototype.updateMultiFeatureContentIndex = function (r) { !this.contentElements || !b.isNumber(r) || 0 > r || r >= this.contentElements.length && 1 !== this.contentElements.length || (r = Math.min(r, this.contentElements.length - 1), b.isNumber(this.activeContentIndex) && 0 <= this.activeContentIndex && this.activeContentIndex < this.contentElements.length && a.removeClass(this.contentElements[this.activeContentIndex], g.activeItemClass), a.addClass(this.contentElements[r], g.activeItemClass), this.activeContentIndex = r) }, g.prototype.loadContentElements = function (r) { this.contentElements = a.selectElements(g.contentSelector, this.multiFeatureElement) }, g.prototype.onControllerIndexChanged = function (r) { r && (e.prototype.setActiveSlide.call(this, r.currentIndex), this.updateMultiFeatureContentIndex(r.currentIndex)) }, g.selector = ".m-multi-feature", g.typeName = "MultiFeature", g.controllerSelector = '[role\x3d"tablist"]', g.controllerItemsSelector = '[role\x3d"tab"]', g.contentSelector = 'section \x3e ul \x3e li[role\x3d"tabpanel"], section \x3e div \x3e ul \x3e li[role\x3d"tabpanel"]', g.activeItemClass = "f-active", g.ariaControls = "aria-controls", g }(q.MultiSlideCarousel); u.MultiFeature = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(37), p(10), p(39), p(9), p(3), p(5)]; t = function (x, u, w, m, f, q, l, c) { x = function (a) { function b(e, g) { var r = this; void 0 === g && (g = null); a.call(this, e, g); this.carouselElement = e; this.isAutoPlayPaused = !0; this.autoPlayTimer = -1; this.hasContentFocus = !1; this.onActionToggled = function (A) { A && (A.toggled ? r.startAutoPlay() : r.pauseAutoPlay()) }; this.suspendAutoPlay = function () { r.clearAutoPlayTimers() }; this.resumeAutoPlay = function () { r.isAutoPlayPaused || r.setAutoPlayInterval() }; this.onContentFocus = function () { r.hasContentFocus = !0; r.suspendAutoPlay() }; this.onContentBlur = function () { r.hasContentFocus = !1; r.resumeAutoPlay() } } return I(b, a), b.prototype.update = function () { var e = this; if (!a.prototype.update.call(this)) return !1; var g = l.selectFirstElement(q.ActionToggle.selector, this.carouselElement); return g && (g.setAttribute("aria-hidden", 1 < this.slides.length ? "false" : "true"), m.ComponentFactory.create([{ component: q.ActionToggle, elements: [g], callback: function (r) { 0 < r.length && (e.autoPlayActionToggle = r[0], e.autoPlayActionToggle && (e.autoPlayActionToggle.subscribe(e), l.addEvent(e.carouselElement, l.eventTypes.mouseover, e.suspendAutoPlay), l.addEvent(e.carouselElement, l.eventTypes.mouseout, e.resumeAutoPlay), e.focusContentElements = l.selectElements(b.focusContentSelector, e.carouselElement), e.focusContentElements && (e.hasContentFocus = -1 !== e.focusContentElements.indexOf(document.activeElement), l.addEvent(e.focusContentElements, l.eventTypes.focus, e.onContentFocus), l.addEvent(e.focusContentElements, l.eventTypes.blur, e.onContentBlur)), e.autoPlayIntervalDuration = Math.max(b.autoPlayMinimumInterval, parseInt(e.carouselElement.getAttribute(b.autoPlayIntervalAttribute), 10) || b.autoPlayDefaultInterval), l.hasClass(e.carouselElement, b.autoPlayClass) && 1 < e.slides.length && e.autoPlayActionToggle.isToggled() && !e.hasContentFocus && "formwfvdiff" !== c.getQSPValue("mwfrun").toLowerCase() && e.startAutoPlay())) }, eventToBind: "DOMContentLoaded" }])), this.loadMultiSlideController(), !0 }, b.prototype.teardown = function () { a.prototype.teardown.call(this); this.autoPlayActionToggle && (this.autoPlayActionToggle.unsubscribe(this), l.removeEvent(this.carouselElement, l.eventTypes.mouseover, this.suspendAutoPlay), l.removeEvent(this.carouselElement, l.eventTypes.mouseout, this.resumeAutoPlay), this.focusContentElements && (l.removeEvent(this.focusContentElements, l.eventTypes.focus, this.onContentFocus), l.removeEvent(this.focusContentElements, l.eventTypes.blur, this.onContentBlur)), this.clearAutoPlayTimers(), this.isAutoPlayPaused = !0, this.autoPlayActionToggle = null); this.hasContentFocus = !1; this.sequenceIndicator && this.sequenceIndicator.unsubscribe(this) }, b.prototype.getSlides = function () { return l.selectElements(w.CarouselBase.allChildSelectors, this.carouselElement) }, b.prototype.getFirstActiveIndex = function () { for (var e = 0; e < this.slides.length; e++)if (l.hasClass(this.slides[e], w.CarouselBase.activeClass)) return e; return 0 }, b.prototype.isScrollablePrevious = function () { return !!this.slides && 1 < this.slides.length }, b.prototype.isScrollableNext = function () { return !!this.slides && 1 < this.slides.length }, b.prototype.previousSlide = function () { this.setActiveSlide(0 === this.activeIndex ? this.slides.length - 1 : this.activeIndex - 1) }, b.prototype.nextSlide = function () { this.setActiveSlide(this.activeIndex === this.slides.length - 1 ? 0 : this.activeIndex + 1) }, b.prototype.setActiveSlide = function (e, g) { void 0 === g && (g = !0); var r = this.activeIndex; if (a.prototype.setActiveSlide.call(this, e, g)) { if (-1 !== r) { l.removeClasses(this.slides[r], [w.CarouselBase.activeClass, b.animateNextClass, b.animatePreviousClass]); var A = r < e ? b.animateNextClass : b.animatePreviousClass; 0 === e && r === this.slides.length - 1 ? A = b.animateNextClass : 0 === r && e === this.slides.length - 1 && (A = b.animatePreviousClass); l.addClass(this.slides[this.activeIndex], A) } this.resumeAutoPlay(); this.sequenceIndicator && this.sequenceIndicator.setControllerIndex(e, !1); r = -1 === r ? null : a.prototype.getCollectionItem.call(this, this.slides[r]); A = a.prototype.getCollectionItem.call(this, this.slides[this.activeIndex]); r && r.onCollectionItemHidden(); A && A.onCollectionItemShown(); a.prototype.initiatePublish.call(this, { fullyVisibleItemRange: [e, e], partiallyVisibleItemRange: [e, e], userInitiated: g }) } }, b.prototype.startAutoPlay = function () { this.setAutoPlayInterval(); this.isAutoPlayPaused = !1 }, b.prototype.pauseAutoPlay = function () { this.isAutoPlayPaused = !0; this.clearAutoPlayTimers() }, b.prototype.setAutoPlayInterval = function () { var e = this; this.clearAutoPlayTimers(); this.autoPlayTimer = setTimeout(function () { e.setActiveSlide(e.activeIndex === e.slides.length - 1 ? 0 : e.activeIndex + 1, !1) }, this.autoPlayIntervalDuration) }, b.prototype.clearAutoPlayTimers = function () { -1 !== this.autoPlayTimer && (clearTimeout(this.autoPlayTimer), this.autoPlayTimer = -1) }, b.prototype.loadMultiSlideController = function () { var e = this, g = l.selectFirstElement(f.SequenceIndicator.selector, this.carouselElement); g && m.ComponentFactory.create([{ component: f.SequenceIndicator, elements: [g], callback: function (r) { r && r.length && (e.sequenceIndicator = r[0], e.sequenceIndicator && (g.setAttribute("aria-hidden", 1 < e.slides.length ? "false" : "true"), e.sequenceIndicator.subscribe(e))) }, eventToBind: "DOMContentLoaded" }]) }, b.prototype.onControllerIndexChanged = function (e) { e && this.setActiveSlide(e.currentIndex) }, b.selector = ".c-carousel[class*\x3df-multi-slide]", b.typeName = "MultiSlideCarousel", b.animateNextClass = "f-animate-next", b.animatePreviousClass = "f-animate-previous", b.focusContentSelector = ".c-call-to-action", b.autoPlayClass = "f-auto-play", b.autoPlayIntervalAttribute = "data-js-interval", b.autoPlayDefaultInterval = 6E3, b.autoPlayMinimumInterval = 5E3, b }(w.CarouselBase); u.MultiSlideCarousel = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(10), p(8), p(38), p(4), p(3), p(5)]; t = function (x, u, w, m, f, q, l, c, a) { x = function (b) { function e(g, r) { var A = this; b.call(this, g, r); this.carouselElement = g; this.activeIndex = -1; this.onFlipperClicked = function (F) { c.getEventTargetOrSrcElement(F) === A.previousButton ? A.previousSlide() : A.nextSlide() }; this.swipeHandler = function (F) { (F = F === q.SwipeDirection.Right ? A.direction === c.Direction.left : A.direction !== c.Direction.left) && A.isScrollableNext() ? A.nextSlide() : !F && A.isScrollablePrevious() && A.previousSlide() }; w.ObservableComponent.shouldInitializeAsClass(g, r) && (this.direction = c.getDirection(), this.directionValue = c.Direction[this.direction], this.requestAnimationFrame = c.SafeBrowserApis.requestAnimationFrame, window.navigator.pointerEnabled && c.css(this.carouselElement, "touchAction", "pan-y"), this.requestAnimationFrame.call(window, function () { return A.update() })) } return I(e, b), e.prototype.update = function () { var g = this; return !(!this.carouselElement || !this.hasSlides()) && (this.requestAnimationFrame.call(window, function () { return g.setActiveSlide(g.getFirstActiveIndex(), !1) }), this.previousButton = c.selectFirstElement(e.previousButtonSelector, this.carouselElement), this.nextButton = c.selectFirstElement(e.nextButtonSelector, this.carouselElement), this.previousButton && this.nextButton && (c.addEvent(this.previousButton, c.eventTypes.click, this.onFlipperClicked), c.addEvent(this.nextButton, c.eventTypes.click, this.onFlipperClicked)), this.swipe = new q.Swipe(this.carouselElement, { end: this.swipeHandler }), !0) }, e.prototype.teardown = function () { this.previousButton && this.nextButton && (c.removeEvent(this.previousButton, c.eventTypes.click, this.onFlipperClicked), c.removeEvent(this.nextButton, c.eventTypes.click, this.onFlipperClicked)); this.swipe && this.swipe.tearDown(); this.activeIndex = -1; this.nextButton = this.previousButton = this.slides = null }, e.prototype.hasSlides = function () { return this.slides = this.getSlides(), !!this.slides && !!this.slides.length }, e.prototype.getCollectionItem = function (g) { var r; return g && g.firstElementChild && m.ComponentFactory.enumerateComponents(g.firstElementChild, function (A, F) { return F.onCollectionItemHidden && F.onCollectionItemShown && (r = F), !r }), r }, e.prototype.setActiveSlide = function (g, r) { return !(!a.isNumber(g) || 0 > g || g >= this.slides.length || g === this.activeIndex) && (0 <= this.activeIndex && this.activeIndex < this.slides.length && c.removeClass(this.slides[this.activeIndex], e.activeClass), this.activeIndex = g, c.addClass(this.slides[g], e.activeClass), this.updateTheme(), this.updateFlippers(), !0) }, e.prototype.updateTheme = function () { c.removeClasses(this.carouselElement, [e.themeDarkClass, e.themeLightClass]); var g = this.slides[this.activeIndex].getAttribute(e.slideThemeAttribute); l.isNullOrWhiteSpace(g) || c.addClass(this.carouselElement, e.themePrefix + g) }, e.prototype.updateFlippers = function () { this.isScrollableNext() ? c.addClass(this.carouselElement, e.nextFlipperClass) : c.removeClass(this.carouselElement, e.nextFlipperClass); this.isScrollablePrevious() ? c.addClass(this.carouselElement, e.previousFlipperClass) : c.removeClass(this.carouselElement, e.previousFlipperClass) }, e.prototype.publish = function (g, r) { g.onSlideRangeChanged(r) }, e.selector = ".c-carousel", e.activeClass = "f-active", e.allChildSelectors = e.selector + " \x3e * \x3e ul \x3e li", e.slideThemeAttribute = "data-f-theme", e.themePrefix = "theme-", e.previousFlipperClass = "f-scrollable-previous", e.nextFlipperClass = "f-scrollable-next", e.themeLightClass = "theme-light", e.themeDarkClass = "theme-dark", e.previousButtonSelector = ".c-flipper.f-previous, .c-flipper.f-left", e.nextButtonSelector = ".c-flipper.f-next, .c-flipper.f-right", e }(f.Publisher); u.CarouselBase = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(3)]; t = function (I, x, u) { I = function () { function m(f, q, l) { var c = this; this.element = f; this.swipeEventHandlers = q; this.active = !1; this.swipeDistanceMarker = 10; this.pointerEvents = { mouse: { start: "mousedown", move: "mousemove", end: "mouseup" }, touch: { start: "touchstart", move: "touchmove", end: "touchend", cancel: "touchcancel" }, pointer: { start: "pointerdown", move: "pointermove", end: "pointerup", cancel: "pointercancel" } }; this.maximumVerticalDistance = 200; this.maximumVerticalRatio = .85; this.minimumHorizontalDistance = 30; this.endHandler = function (a) { c.active && (c.active = !1, a = u.getCoordinates(a), c.validSwipe(a, c.startCoordinate) && (a = 0 < a.x - c.startCoordinate.x ? w.Left : w.Right, c.swipeEventHandlers.end && c.swipeEventHandlers.end(a))) }; this.startHandler = function (a) { c.startCoordinate = u.getCoordinates(a); c.active = !0; c.totalX = 0; c.totalY = 0; c.endCoordinate = c.startCoordinate; c.swipeEventHandlers.start && c.swipeEventHandlers.start(c.startCoordinate, a) }; this.cancelHandler = function (a) { c.active = !1; c.swipeEventHandlers.cancel && c.swipeEventHandlers.cancel(a) }; this.moveHandler = function (a) { if (c.active && c.startCoordinate) { var b = u.getCoordinates(a); if (c.totalX += Math.abs(b.x - c.endCoordinate.x), c.totalY += Math.abs(b.y - c.endCoordinate.y), c.endCoordinate = b, !(c.totalX < c.swipeDistanceMarker && c.totalY < c.swipeDistanceMarker)) { if (c.totalY > c.totalX) return c.active = !1, void (c.swipeEventHandlers.cancel && c.swipeEventHandlers.cancel(a)); u.preventDefault(a); c.swipeEventHandlers.move && c.swipeEventHandlers.move(b, a) } } }; this.element && q && (this.pointerTypes = l || ["touch", "pointer", "mouse"], u.addEvents(this.element, this.getEvents(this.pointerTypes, "start"), this.startHandler), u.addEvents(this.element, this.getEvents(this.pointerTypes, "move"), this.moveHandler), u.addEvents(this.element, this.getEvents(this.pointerTypes, "end"), this.endHandler), u.addEvents(this.element, this.getEvents(this.pointerTypes, "cancel"), this.cancelHandler)) } return m.prototype.getEvents = function (f, q) { for (var l = [], c = 0; c < f.length; c++) { var a = this.pointerEvents[f[c]][q]; a && l.push(a) } return l.join(" ") }, m.prototype.tearDown = function () { u.removeEvents(this.element, this.getEvents(this.pointerTypes, "start"), this.startHandler); u.removeEvents(this.element, this.getEvents(this.pointerTypes, "move"), this.moveHandler); u.removeEvents(this.element, this.getEvents(this.pointerTypes, "end"), this.endHandler); u.removeEvents(this.element, this.getEvents(this.pointerTypes, "cancel"), this.cancelHandler) }, m.prototype.validSwipe = function (f, q) { if (!q) return !1; var l = Math.abs(f.y - q.y); f = Math.abs(f.x - q.x); return l < this.maximumVerticalDistance && f > this.minimumHorizontalDistance && l / f < this.maximumVerticalRatio }, m }(); x.Swipe = I; (function (m) { m[m.Left = 0] = "Left"; m[m.Right = 1] = "Right" })(x.SwipeDirection || (x.SwipeDirection = {})); var w = x.SwipeDirection }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(8), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a, b) { var e = this; void 0 === b && (b = null); l.call(this, a, b); this.sequenceIndicatorElement = a; this.selectedAttribute = c.ariaSelected; this.setActiveIndex = function (g) { return q.apiDeprecated("SequenceIndicator.setActiveIndex() is deprecated, please use SequenceIndicator.setControllerIndex() instead."), e.setControllerIndex(g) }; this.setControllerIndex = function (g, r) { if (void 0 === r && (r = !1), 0 > g || g > e.items.length - 1 || g === e.activeIndex) return !1; var A = e.activeIndex, F = e.items[e.activeIndex], K = e.items[g], R = document.activeElement === F; return e.deselectItem(F), e.selectItem(K), e.activeIndex = g, (r || R) && K.focus(), e.initiatePublish({ previousIindex: A, currentIndex: g, index: g }), !0 }; this.handleClickEvent = function (g) { f.preventDefault(g); if (g = f.getEventTargetOrSrcElement(g)) !g.getAttribute("role") && g.parentElement && (g = "tab" === g.parentElement.getAttribute("role") ? g.parentElement : null), e.setControllerIndex(e.items.indexOf(g)) }; this.onKeydown = function (g) { switch (q.getKeyCode(g)) { case 39: case 40: e.next(); break; case 37: case 38: e.previous(); break; default: switch (q.getVirtualKey(g)) { case "ArrowRight": case "ArrowDown": e.next(); break; case "ArrowLeft": case "ArrowUp": e.previous() } } }; w.ObservableComponent.shouldInitializeAsClass(a, b) && this.update() } return I(c, l), c.prototype.update = function () { var a; if (!this.sequenceIndicatorElement || ("radiogroup" === this.sequenceIndicatorElement.getAttribute("role") && (this.selectedAttribute = c.ariaChecked), this.items = f.selectElements(this.constructor.itemSelector, this.sequenceIndicatorElement), !this.items.length)) return !1; for (var b = 0, e = this.items; b < e.length; b++) { var g = e[b]; g.getAttribute(this.selectedAttribute) === c.selectedValue && (a = this.items.indexOf(g)); this.deselectItem(g) } return this.setControllerIndex(a || 0), f.addEvent(this.sequenceIndicatorElement, f.eventTypes.click, this.handleClickEvent), f.addEvent(this.sequenceIndicatorElement, f.eventTypes.keydown, this.onKeydown, !0), !0 }, c.prototype.teardown = function () { f.removeEvent(this.sequenceIndicatorElement, f.eventTypes.click, this.handleClickEvent); f.removeEvent(this.sequenceIndicatorElement, f.eventTypes.keydown, this.onKeydown) }, c.prototype.publish = function (a, b) { a.onIndexChanged && a.onIndexChanged(b); a.onControllerIndexChanged && a.onControllerIndexChanged(b) }, c.prototype.selectItem = function (a) { a && (a.setAttribute(this.selectedAttribute, c.selectedValue), a.setAttribute("tabindex", "0"), f.addClass(a, c.activeItemClass)) }, c.prototype.deselectItem = function (a) { a && (a.setAttribute(this.selectedAttribute, c.deselectedValue), a.setAttribute("tabindex", "-1"), f.removeClass(a, c.activeItemClass)) }, c.prototype.next = function () { this.setControllerIndex(this.activeIndex === this.items.length - 1 ? 0 : this.activeIndex + 1) }, c.prototype.previous = function () { this.setControllerIndex(0 === this.activeIndex ? this.items.length - 1 : this.activeIndex - 1) }, c.selector = ".c-sequence-indicator", c.typeName = "SequenceIndicator", c.itemSelector = "button", c.selectedValue = "true", c.deselectedValue = "false", c.ariaSelected = "aria-selected", c.ariaChecked = "aria-checked", c.activeItemClass = "f-active", c }(m.Publisher); u.SequenceIndicator = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(39)]; t = function (x, u, w) { x = function (m) { function f(q, l) { void 0 === l && (l = null); m.call(this, q, l); this.logoControllerElement = q } return I(f, m), f.selector = ".c-logo-controller", f.typeName = "LogoController", f.itemSelector = '[role\x3d"tab"]', f }(w.SequenceIndicator); u.LogoController = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(10), p(8), p(3), p(5)]; t = function (x, u, w, m, f, q, l) { x = function (c) { function a(b, e) { var g = this; void 0 === e && (e = null); c.call(this, b, e); this.pivotElement = b; this.initializeFlippers = function () { g.primaryFlipper || g.secondaryFlipper || (g.primaryFlipper = q.selectFirstElement(".c-pivot .c-flipper.f-previous", g.element), g.secondaryFlipper = q.selectFirstElement(".c-pivot .c-flipper.f-next", g.element), q.addEvent([g.primaryFlipper, g.secondaryFlipper], q.eventTypes.click, g.onFlipperClicked), q.addEvent([g.primaryFlipper, g.secondaryFlipper], q.eventTypes.keydown, g.onFlipperKeydown)) }; this.initializeWidths = function () { g.flipperWidth = 24; g.pivotTabWidths = []; g.pivotTabWidthsTotal = 0; g.headerWidth = q.getClientRectWithMargin(g.pivotHeader).width; for (var r = 0; r < g.pivotTabs.length; r++) { var A = q.getClientRectWithMargin(g.pivotTabs[r]).width; g.pivotTabWidths.push(A); g.pivotTabWidthsTotal += A } g.pivotPosition = 0; g.setTabShiftAmounts() }; this.checkNeedsFlippers = function () { return g.pivotTabWidthsTotal > g.headerWidth }; this.setTabView = function () { g.checkNeedsFlippers() ? 0 === g.currentTabShift || "undefined" == typeof g.currentTabView ? g.currentTabView = 0 : g.currentTabShift === g.tabShiftAmounts.length - 1 ? g.currentTabView = 2 : 0 < g.currentTabShift && g.currentTabShift < g.tabShiftAmounts.length - 1 && (g.currentTabView = 1) : g.currentTabView = 3 }; this.updateFlippers = function () { g.primaryFlipper && g.secondaryFlipper && (1 === g.currentTabView || 2 === g.currentTabView ? g.showFlipper(g.primaryFlipper) : g.hideFlipper(g.primaryFlipper), 0 === g.currentTabView || 1 === g.currentTabView ? g.showFlipper(g.secondaryFlipper) : g.hideFlipper(g.secondaryFlipper)) }; this.onFlipperClicked = function (r) { q.preventDefault(r); q.getEventTargetOrSrcElement(r) === g.secondaryFlipper ? g.onSecondaryFlipperChanged() : g.onPrimaryFlipperChanged(); g.setTabView(); g.updateFlippers() }; this.onFlipperKeydown = function (r) { var A = l.getKeyCode(r), F = l.getVirtualKey(r), K = q.getEventTargetOrSrcElement(r); 13 !== A && 32 !== A && "Enter" !== F && " " !== F || (q.preventDefault(r), K === g.secondaryFlipper ? g.onSecondaryFlipperChanged() : g.onPrimaryFlipperChanged()) }; this.onWindowResized = function (r) { g.currentTabShift = 0; g.headerWidth = q.getClientRectWithMargin(g.pivotHeader).width; g.updatePivotPosition(); g.initializeFlippers(); g.currentTabView = 3; g.updateFlippers(); setTimeout(function () { g.checkNeedsFlippers() && (g.initializeWidths(), g.setTabView(), g.updateFlippers()) }, a.debouncedTimeout) }; this.setControllerIndex = function (r, A) { return void 0 === A && (A = !1), !(!g.pivotTabs || 0 > r || r >= g.pivotTabs.length) && (g.onPivotChanged(g.pivotTabs[r], A), !0) }; this.onPivotClicked = function (r) { q.preventDefault(r); r = q.getEventTargetOrSrcElement(r); for (var A = 0, F = g.pivotTabs; A < F.length; A++) { var K = F[A]; if (q.isDescendentOrSelf(K, r)) { g.onPivotChanged(K); break } } }; this.onKeydown = function (r) { var A, F = l.getKeyCode(r), K = l.getVirtualKey(r); if (13 === F || 32 === F || "Enter" === K || " " === K ? q.preventDefault(r) : 37 === F || "ArrowLeft" === K ? A = -1 : 39 !== F && "ArrowRight" !== K || (A = 1), A) { q.preventDefault(r); A *= g.isLtr ? 1 : -1; r = void 0; for (F = 0; F < g.pivotTabs.length; F++)if (g.pivotTabs[F] === g.activePivotHeader) { A = F + A; A >= g.pivotTabs.length ? A = 0 : 0 > A && (A = g.pivotTabs.length - 1); r = g.pivotTabs[A]; break } r && g.onPivotChanged(r) } }; w.ObservableComponent.shouldInitializeAsClass(b, e) && this.update() } return I(a, c), a.prototype.update = function () { if (!this.pivotElement) return !1; this.pivots = []; for (var b = 0, e = q.selectElements(".c-pivot \x3e section", this.element); b < e.length; b++) { var g = e[b]; g.parentElement === this.element && this.pivots.push(g) } if (q.selectFirstElement("header", this.element) ? (this.pivotString = "header \x3e a", this.pivotHeader = q.selectFirstElement("header", this.element)) : (this.pivotString = "div \x3e a", this.pivotHeader = q.selectFirstElement("div", this.element)), this.pivots && this.pivots.length && this.pivotHeader) { b = void 0; if (this.pivotTabs = q.selectElements(this.pivotString, this.pivotHeader), this.pivotTabs && 1 < this.pivotTabs.length) { e = 0; for (g = this.pivotTabs; e < g.length; e++) { var r = g[e]; q.hasClass(r, a.activePivotSelector) && (b ? q.removeClass(r, a.activePivotSelector) : b = r); r.setAttribute(a.tabIndexAttribute, "-1"); r.setAttribute("href", "#"); r.setAttribute(a.ariaSelected, "false") } b || (b = this.pivotTabs[0]); this.direction = (this.isLtr = q.getDirection(this.pivotHeader) === q.Direction.left) ? q.Direction[q.Direction.left] : q.Direction[q.Direction.right]; this.onPivotChanged(b, !1); q.addEvent(this.pivotHeader, q.eventTypes.click, this.onPivotClicked); q.addEvent(this.pivotHeader, q.eventTypes.keydown, this.onKeydown) } this.initializeWidths(); this.checkNeedsFlippers() && (this.initializeFlippers(), this.setTabView(), this.updateFlippers()); this.resizeListener = q.addDebouncedEvent(window, q.eventTypes.resize, this.onWindowResized) } }, a.prototype.setTabShiftAmounts = function () { if (!(2 > this.pivotTabs.length)) { var b = this.pivotTabs[1], e = parseFloat(q.css(b, "margin-" + this.direction)) - this.flipperWidth; switch (this.pivotPosition) { case 0: this.setPivotPositionStart(e, 0); break; case 1: this.setPivotPositionEnd(e, e, b) } } }, a.prototype.setPivotPositionStart = function (b, e) { this.tabShiftAmounts = []; this.tabShiftAmounts.push(0); for (var g = 0; g < this.pivotTabWidths.length; g++) { for (var r = 0, A = 0 === g || g === this.pivotTabWidths.length - 1 ? this.headerWidth - this.flipperWidth : this.headerWidth - 2 * this.flipperWidth, F = g; F < this.pivotTabWidths.length; F++)r += this.pivotTabWidths[F]; if (r < A) { this.tabShiftAmounts.push(this.pivotTabWidthsTotal - this.headerWidth); break } (b + this.pivotTabWidths[g] > A || g === this.pivotTabWidths.length - 1) && (this.tabShiftAmounts.push(b + e), e += b, b = 0); b += this.pivotTabWidths[g] } this.currentTabShift = 0 }, a.prototype.setPivotPositionEnd = function (b, e, g) { if (!(2 > this.pivotTabs.length)) { var r = this.tabShiftAmounts[this.tabShiftAmounts.length - 1]; this.tabShiftAmounts = []; var A = [], F = 0; for (g = this.pivotTabWidths.length - 1; 0 <= g; g--) { var K = 0 === g || g === this.pivotTabWidths.length - 1 ? this.headerWidth - this.flipperWidth : this.headerWidth - 2 * this.flipperWidth; if (b + this.pivotTabWidths[g] > K) { F = g; g = this.pivotTabs[1]; b = parseFloat(q.css(g, "margin-" + this.direction)) - this.flipperWidth; break } b += this.pivotTabWidths[g] } for (g = F; 0 <= g; g--)K = 0 === g || g === this.pivotTabWidths.length - 1 ? this.headerWidth - this.flipperWidth : this.headerWidth - 2 * this.flipperWidth, b + this.pivotTabWidths[g] > K && (A.push(g + 1), b = 0), b += this.pivotTabWidths[g]; this.tabShiftAmounts.push(r); for (g = 0; g < A.length; g++)for (b = e, r = 0; r < A[g]; r++)b += this.pivotTabWidths[r], r === A[g] - 1 && this.tabShiftAmounts.push(b); this.tabShiftAmounts.push(0); this.tabShiftAmounts.reverse(); this.currentTabShift = this.tabShiftAmounts.length - 1 } }, a.prototype.showFlipper = function (b) { b && b.setAttribute(a.ariaHidden, "false") }, a.prototype.hideFlipper = function (b) { b && b.setAttribute(a.ariaHidden, "true") }, a.prototype.onPrimaryFlipperChanged = function () { this.currentTabShift--; this.updatePivotPosition(); 0 === this.currentTabShift && (this.currentTabView = 0, this.pivotPosition = 0, this.setTabShiftAmounts()) }, a.prototype.updatePivotPosition = function () { q.css(this.pivotHeader.children[0], "margin-" + this.direction, "-" + (this.tabShiftAmounts && this.tabShiftAmounts[this.currentTabShift] ? this.tabShiftAmounts[this.currentTabShift] : 0).toString() + "px") }, a.prototype.onSecondaryFlipperChanged = function () { this.currentTabShift++; this.updatePivotPosition(); this.currentTabShift === this.tabShiftAmounts.length - 1 && (this.currentTabView = 2, this.pivotPosition = 1, this.setTabShiftAmounts()) }, a.prototype.teardown = function () { this.pivotTabs && 1 < this.pivotTabs.length && (q.removeEvent(this.pivotHeader, q.eventTypes.click, this.onPivotClicked), q.removeEvent(this.pivotHeader, q.eventTypes.click, this.onKeydown), q.removeEvent(window, q.eventTypes.resize, this.resizeListener)); this.primaryFlipper && this.secondaryFlipper && (q.removeEvent(this.primaryFlipper, q.eventTypes.click, this.onFlipperClicked), q.removeEvent(this.secondaryFlipper, q.eventTypes.click, this.onFlipperClicked), q.removeEvent(this.primaryFlipper, q.eventTypes.keydown, this.onFlipperKeydown), q.removeEvent(this.secondaryFlipper, q.eventTypes.keydown, this.onFlipperKeydown)); this.activePivot = this.pivots = this.activePivotHeader = this.pivotHeader = null }, a.prototype.onPivotChanged = function (b, e) { void 0 === e && (e = !0); this.isDisabled() || b && b !== this.activePivotHeader && this.updatePivot(b, e) }, a.prototype.publish = function (b, e) { b.onPivotChanged && b.onPivotChanged(e); b.onControllerIndexChanged && b.onControllerIndexChanged(e) }, a.prototype.updatePivot = function (b, e) { var g = !1, r = this.activePivotHeader; if (this.activePivotHeader = b, this.activePivotHeader) { for (var A = r ? r.getAttribute("aria-controls") : null, F = this.activePivotHeader ? this.activePivotHeader.getAttribute("aria-controls") : null, K = void 0, R = void 0, U = 0; U < this.pivotTabs.length; U++) { var ha = this.pivotTabs[U]; if (ha === r) { if (K = U, l.isNumber(R)) break } else if (ha === b && (R = U, l.isNumber(K))) break } if ((r && (q.removeClass(r, a.activePivotSelector), r.setAttribute(a.ariaSelected, "false"), r.setAttribute(a.tabIndexAttribute, "-1"), g = document.activeElement === r), q.addClass(this.activePivotHeader, a.activePivotSelector), this.activePivotHeader.setAttribute(a.ariaSelected, "true"), this.activePivotHeader.removeAttribute(a.tabIndexAttribute), (e || g) && this.activePivotHeader.focus(), F) && (b = q.selectFirstElement("#" + F, this.pivotElement)) && (!this.activePivot || this.activePivot !== b)) for (e = 0, g = this.pivots; e < g.length; e++)r = g[e], r === b ? (this.showPivot(r), this.activePivot = b) : this.hidePivot(r); this.initiatePublish({ previousIndex: K, currentIndex: R, activePivotId: F, previousPivotId: A }) } }, a.prototype.showPivot = function (b) { b && b.setAttribute(a.ariaHidden, "false") }, a.prototype.hidePivot = function (b) { b && b.setAttribute(a.ariaHidden, "true") }, a.prototype.isDisabled = function () { return this.pivotElement.getAttribute(a.state) === a.disabled }, a.init = function (b) { l.apiDeprecated("Pivot.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: a, selector: b ? b.selector : null, eventToBind: b ? b.eventToBind : null }]) }, a.selector = ".c-pivot", a.typeName = "Pivot", a.tabIndexAttribute = "tabIndex", a.state = "data-f-state", a.disabled = "disabled", a.activePivotSelector = "f-active", a.ariaHidden = "aria-hidden", a.ariaSelected = "aria-selected", a.debouncedTimeout = 600, a }(f.Publisher); u.Pivot = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(27)]; t = function (x, u, w) { x = function (m) { function f(q, l) { void 0 === l && (l = null); m.call(this, q, l); this.multiHeroItemElement = q } return I(f, m), f.selector = ".m-multi-hero-item", f.typeName = "MultiHeroItem", f.callToActionSelector = "a", f }(w.HeroItemBase); u.MultiHeroItem = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(3)]; t = function (x, u, w, m) { x = function (f) { function q(l) { var c = this; f.call(this, l); this.onMenuClick = function (a) { c.handleMenuInteraction(m.getEventTargetOrSrcElement(a)) }; this.update() } return I(q, f), q.prototype.update = function () { if (this.menus = m.selectElements(q.navigationMenuSelector, this.element), 0 !== this.menus.length) for (var l = 0, c = this.menus; l < c.length; l++)m.addEvent(c[l], m.eventTypes.click, this.onMenuClick) }, q.prototype.teardown = function () { for (var l = 0, c = this.menus; l < c.length; l++)m.removeEvent(c[l], m.eventTypes.click, this.onMenuClick) }, q.prototype.hideMenu = function (l, c) { l.setAttribute(q.ariaHidden, "true"); c.setAttribute(q.ariaExpanded, "false") }, q.prototype.handleMenuInteraction = function (l) { for (var c = 0, a = this.menus; c < a.length; c++) { var b = a[c], e = m.selectFirstElement("button", b), g = e.getAttribute(q.ariaControls); e = e.getAttribute(q.ariaExpanded); var r = l.getAttribute(q.ariaControls); "true" === e && g !== r && (g = m.selectFirstElement("button", b), b = m.selectFirstElement("button + ul", b), "f-sub-menu" !== l.parentElement.className && this.hideMenu(b, g)) } }, q.selector = ".m-navigation-bar", q.typeName = "NavigationBar", q.navigationMenuSelector = ".c-navigation-menu", q.ariaControls = "aria-controls", q.ariaExpanded = "aria-expanded", q.ariaHidden = "aria-hidden", q }(w.ObservableComponent); u.NavigationBar = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(10), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.element = a; this.showClass = "f-show"; this.scrollDistanceWithoutTarget = 800; this.togglePageBar = function () { 0 >= (b.scrollTarget ? f.getClientRect(b.scrollTarget).bottom : f.getClientRect(document.body).top + b.scrollDistanceWithoutTarget) ? f.addClass(b.pageBar, b.showClass) : f.removeClass(b.pageBar, b.showClass) }; this.update() } return I(c, l), c.prototype.update = function () { this.element && this.element.id && (this.pageBar = this.element.cloneNode(!0), this.pageBar && this.pageBar.id && (this.scrollTarget = f.selectFirstElement('[data-js-page-bar-target\x3d"' + this.pageBar.id + '"]'), this.element.removeAttribute("id"), f.addClass(this.pageBar, "f-sticky"), f.removeClass(this.pageBar, "f-hidden"), document.body.appendChild(this.pageBar), this.scrollThrottledEventHandler = f.addThrottledEvent(window, f.eventTypes.scroll, this.togglePageBar))) }, c.prototype.teardown = function () { f.removeEvent(window, f.eventTypes.scroll, this.scrollThrottledEventHandler) }, c.init = function (a) { q.apiDeprecated("PageBar.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".m-page-bar", c.typeName = "PageBar", c }(w.ObservableComponent); u.PageBar = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(3), p(46)]; t = function (I, x, u, w) { I = function () { function m() { var f = this; this.executeCommonForAddedElementsFromEvent = function (q) { (q = u.getEventTargetOrSrcElement(q)) && f.executeCommonForAddedElements(q) }; this.executeCommonForAddedElements = function (q) { q && w.removeFocus(q) }; u.removeClass(document.documentElement, "no-js"); u.addClass(document.documentElement, "js"); this.executeCommonForAddedElements(document); this.watchForDomChangesToExecuteCommon() } return m.prototype.watchForDomChangesToExecuteCommon = function () { var f = this, q = { childList: !0, subtree: !0 }; "undefined" != typeof MutationObserver ? (new MutationObserver(function (l) { for (var c = 0; c < l.length; c++) { var a = l[c], b; for (b in a.addedNodes) 1 === a.addedNodes[b].nodeType && f.executeCommonForAddedElements(a.addedNodes[b]) } })).observe(document, q) : document.addEventListener && document.addEventListener("DOMNodeInserted", this.executeCommonForAddedElementsFromEvent, !1) }, m.typeName = "PageBehaviors", m }(); x.PageBehaviors = I }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(3)]; t = function (I, x, u) { function w(a) { if ("text" !== a.type, "textarea" !== a.type, "password" !== a.type) { var b = [a], e = [a], g = a.parentElement || null; if (g && u.selectElements(c, g).length) { if (g === m) return; for (var r = 0, A = q; r < A.length; r++) { var F = A[r]; if (u.selectElements(F.classSelector, g).length) { var K = F; b.splice(0); e.splice(0); r = 0; for (A = u.selectElements(K.clickSelector, g); r < A.length; r++)b.push(A[r]); r = 0; for (A = u.selectElements(K.focusSelector, g); r < A.length; r++)e.push(A[r]); m = g; break } } } g = function (R, U) { U = b[R]; U.mwfHideFocus || (U.mwfHideFocus = !0, u.addEvent(U, u.eventTypes.mousedown, function (ha) { var na = e[R], C = K; u.addClass(na, l); C && C.preventDefault && ha.preventDefault(); C && C.elementDoesNotGetFocus && na.focus() })) }; r = 0; for (A = b.length; r < A; r++)g(r, A); if (K && K.elementDoesNotGetFocus) for (r = function (R) { R.mwfReturnFocus || (R.mwfReturnFocus = !0, u.addEvents(R, "mousedown keydown", function (U) { u.getEventTargetOrSrcElement(U) !== R && u.removeClass(R, l) })) }, A = 0; A < e.length; A++)g = e[A], r(g); else for (r = 0; r < e.length; r++)g = e[r], g.mwfReturnFocus || (g.mwfReturnFocus = !0, u.addEvents(g, "blur keydown", function () { u.removeClass(a, l) })) } } var m, f = ".c-action-toggle;.c-action-trigger;.m-back-to-top;.c-button;.c-button \x3e span;.c-call-to-action;.c-content-toggle button;.c-checkbox [type\x3dcheckbox];.c-date-time-picker button;div[data-date-time-picker] li;.c-drawer \x3e button;.c-drawer \x3e header \x3e button;.c-dialog .c-glyph.glyph-cancel;.c-flipper;.c-hyperlink;.c-hyperlink \x3e span;.c-in-page-navigation a;.c-link-navigation a.c-hyperlink;.c-menu-item;.c-menu-item \x3e a;.c-menu-item \x3e button;.c-navigation-menu button;.c-pagination li \x3e a;.m-pagination li \x3e a;.c-pivot a;.c-product-placement \x3e a;.m-product-placement-item \x3e a;.c-progress;.c-radio [type\x3dradio];.c-range-slider [role\x3dslider];.c-rating button.c-glyph;.c-refine-item;button.c-refine-item;.c-select-button;.c-select-menu \x3e a;.c-select-menu \x3e button;.c-sequence-indicator button[role\x3dtab];.c-social li \x3e a;.c-social button;.m-social li \x3e a;.m-social button;.c-slider button;.c-supplemental-nav button;.c-supplemental-nav a;.m-supplemental-nav button;.m-supplemental-nav a;.c-table th \x3e button;.c-toggle button;.c-video;.c-universal-header a;.c-universal-header button;.f-video-controls \x3e button".split(";").toString(), q = [{ clickSelector: ".c-radio [type\x3dradio] + span", focusSelector: ".c-radio [type\x3dradio]", classSelector: ".c-radio [type\x3dradio]", preventDefault: !0, elementDoesNotGetFocus: !1 }, { clickSelector: ".c-checkbox [type\x3dcheckbox] + span", focusSelector: ".c-checkbox [type\x3dcheckbox]", classSelector: ".c-checkbox [type\x3dcheckbox]", preventDefault: !0, elementDoesNotGetFocus: !1 }, { clickSelector: ".c-rating button.c-glyph", focusSelector: ".c-rating button.c-glyph", classSelector: ".c-rating button.c-glyph", preventDefault: !0, elementDoesNotGetFocus: !0 }], l = "x-hidden-focus", c = ""; x.removeFocus = function (a) { if (1 > c.length) for (var b = 0; b < q.length; b++)c += q[b].classSelector, b !== q.length - 1 && (c += ","); if ((b = a && a !== document ? a.querySelectorAll && a.parentElement ? a.parentElement.querySelectorAll(f) : null : document.querySelectorAll(f)) && b.length) for (a = 0, b = u.nodeListToArray(b); a < b.length; a++)w(b[a]) } }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(8), p(10), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.page = -1; this.handleClickEvent = function (e) { e = f.getEventTargetOrSrcElement(e); e === b.previousButton || f.isDescendent(b.previousButton, e) ? b.handleButtonClick(b.previousButton) : e === b.nextButton || f.isDescendent(b.nextButton, e) ? b.handleButtonClick(b.nextButton) : b.setActivePage(b.getPageFromElement(e.parentElement), !0, !0) }; this.update() } return I(c, l), c.prototype.update = function () { if (this.element && (this.pages = f.selectElements(c.pageClassSelector, this.element), !(2 > this.pages.length))) { var a = f.selectElements(c.buttonsClassSelector, this.element); 2 === a.length && (this.previousButton = a[0].parentElement, this.nextButton = a[1].parentElement, f.addEvent(this.element, f.eventTypes.click, this.handleClickEvent), (a = f.selectElements(c.activeClassSelector, this.element)) && 0 !== a.length || (a = this.pages), this.setActivePage(this.getPageFromElement(a[0]), !0, !1)) } }, c.prototype.teardown = function () { f.removeEvent(this.element, f.eventTypes.click, this.handleClickEvent); this.page = -1; this.nextButton = this.previousButton = this.activeItem = this.pages = null }, c.prototype.publish = function (a, b) { a.onPageChanged && a.onPageChanged(b) }, c.prototype.getPage = function () { return this.page }, c.prototype.setPage = function (a) { return this.setActivePage(a, !1, !1) }, c.prototype.handleButtonClick = function (a) { var b = a === this.nextButton; a = a === this.previousButton; var e = this.getPage(); (b || a) && this.setActivePage(-1 === e ? 0 : b ? e + 1 : e - 1, !0, !0) }, c.prototype.setActivePage = function (a, b, e) { var g = this.getPage(); if (!(q.isNumber(a) && this.pages && 0 <= a && a < this.pages.length && a !== g)) return !1; if (this.activeItem) { var r = this.activeItem.firstElementChild, A = this.activeItem.getAttribute(c.dataLabel), F = r.getAttribute(c.dataHref); this.activeItem.setAttribute(c.dataLabel, r.getAttribute(c.ariaLabel)); r.setAttribute(c.dataLabel, A); F && (r.setAttribute(c.href, F), r.removeAttribute(c.dataHref)); f.removeClass(this.activeItem, c.activeClass) } r = this.pages[a]; var K = r.firstElementChild; A = r.getAttribute(c.dataLabel); F = K.getAttribute(c.href); return r.setAttribute(c.dataLabel, K.getAttribute(c.ariaLabel)), K.setAttribute(c.dataLabel, A), F && (K.setAttribute(c.dataHref, F), setTimeout(function () { K.removeAttribute(c.href) }, 0)), f.addClass(r, c.activeClass), this.activeItem = r, this.page = a, this.updateButtons(), this.initiatePublish({ page: a, priorPage: g, internal: b, userinitiated: e }), !0 }, c.prototype.updateButtons = function () { var a = this.getPage(); -1 !== a && (0 === a ? f.addClass(this.previousButton, c.hideClass) : f.removeClass(this.previousButton, c.hideClass), a === this.pages.length - 1 ? f.addClass(this.nextButton, c.hideClass) : f.removeClass(this.nextButton, c.hideClass)) }, c.prototype.getPageFromElement = function (a) { return this.pages && a ? this.pages.indexOf(a) : -1 }, c.init = function (a) { q.apiDeprecated("Pagination.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".m-pagination", c.typeName = "Pagination", c.pageClassSelector = "li[data-label]", c.buttonsClassSelector = ".c-glyph", c.activeClass = "f-active", c.activeClassSelector = "." + c.activeClass, c.hideClass = "f-hide", c.ariaLabel = "aria-label", c.dataLabel = "data-label", c.dataHref = "data-href", c.href = "href", c }(w.Publisher); u.Pagination = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(10), p(2), p(3), p(5), p(49)]; t = function (x, u, w, m, f, q, l) { x = function (c) { function a(b) { var e = this; c.call(this, b); this.onWindowResize = function (g) { e.onResize() }; this.update() } return I(a, c), a.prototype.update = function () { if (this.element) { this.carousel = f.selectFirstElement(".c-carousel", this.element); this.products = f.selectFirstElement("ul", this.element); for (var b = (this.seeAll = f.selectFirstElement('[class^\x3d"c-heading"] .c-hyperlink[aria-label]', this.element)) ? this.seeAll.parentElement : null, e = function (A) { if (!f.isImageLoadedSuccessfully(A)) { for (var F = !1, K = A; !F && K.parentElement;)K = K.parentElement, f.hasClass(K, "m-product-placement-item") && (F = !0); if (F) { var R = f.hasClass(K, "context-app") ? 1 : f.hasClass(K, "context-person") ? 2 : f.hasClass(K, "context-video") ? 3 : 0; var U = f.hasClass(K, "f-size-small") ? 1 : 0; A.complete ? l.handleImageError(A, U, R) : A.onerror = function () { l.handleImageError(A, U, R) } } } }, g = 0, r = f.selectElements(".f-default-image img", this.element); g < r.length; g++)e(r[g]); this.carousel && this.products && this.seeAll && !f.hasClass(b, a.showAllAlwaysClass) && (this.onResize(), this.resizeListener = f.addThrottledEvent(window, f.eventTypes.resize, this.onWindowResize)) } }, a.prototype.teardown = function () { f.removeEvent(window, f.eventTypes.resize, this.resizeListener); this.resizeListener = this.seeAll = this.products = this.carousel = null }, a.prototype.onResize = function () { if (this.carousel && this.products && this.seeAll) { var b = q.getDimensions(this.carousel).width; q.getDimensions(this.products).width < b ? this.seeAll.setAttribute(a.ariaHidden, "true") : this.seeAll.removeAttribute(a.ariaHidden) } }, a.init = function (b) { q.apiDeprecated("ProductPlacement.init() is deprecated, please use ComponentFactory.create() instead."); w.ComponentFactory.create([{ component: a, selector: b ? b.selector : null, eventToBind: b ? b.eventToBind : null }]) }, a.selector = ".m-product-placement", a.typeName = "ProductPlacement", a.ariaHidden = "aria-hidden", a.showAllAlwaysClass = "js-product-placement-persist-show-all", a }(m.ObservableComponent); u.ProductPlacement = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(3)]; t = function (I, x, u) { function w(b, e, g) { if (void 0 === e && (e = a), void 0 === g && (g = 0), b) { if (e = e && 0 < e ? e : a, b.parentElement) for (var r = 0, A = u.selectElements("source", b.parentElement); r < A.length; r++)A[r].srcset = ""; b.srcset = ""; b.src = m(g); b.src.length && (u.css(b, "height", e + "px"), u.css(b, "width", e + "px")) } } function m(b) { switch (b) { case 1: return f; case 2: return l; case 3: return c; default: return q } } var f = "data:image/svg+xml;charset\x3dutf-8,%3Csvg version\x3d'1.1' id\x3d'Layer_1' xmlns\x3d'http://www.w3.org/2000/svg' xmlns:xlink\x3d'http://www.w3.org/1999/xlink' x\x3d'0px' y\x3d'0px' viewBox\x3d'0 0 60 60' style\x3d'enable-background:new 0 0 60 60%3B' xml:space\x3d'preserve'%3E%3Cstyle %3E.st0%7Bfill:%23FFF%3B%7D%3C/style%3E%3Cg%3E%3Cpath class\x3d'st0' d\x3d'M0 0 h60 v32 H32 v28 H0 V0 z M28 28 V4 H4 v24 H28 z M28 56 V32 H4 v24 H28 z M56 28 V4 H32 v24 H56 z'/%3E%3C/g%3E%3C/svg%3E", q = "data:image/svg+xml;charset\x3dutf-8,%3Csvg version\x3d'1.1' id\x3d'Layer_1' xmlns\x3d'http://www.w3.org/2000/svg' xmlns:xlink\x3d'http://www.w3.org/1999/xlink' x\x3d'0px' y\x3d'0px' viewBox\x3d'0 0 64 64' style\x3d'enable-background:new 0 0 64 64%3B' xml:space\x3d'preserve'%3E%3Cstyle %3E.st0%7Bfill:%23FFF%3B%7D%3C/style%3E%3Cg%3E%3Cpath class\x3d'st0' d\x3d'M64,8v48H0V8H64z M4,12v21.2l14-14l20,20l8-8l14,14V12H4z M4,52h41.2L18,24.8l-14,14V52z M60,52v-1.2l-14-14 L40.8,42l10,10H60z M50,24c-0.5,0-1-0.2-1.4-0.6C48.2,23,48,22.5,48,22s0.2-1,0.6-1.4C49,20.2,49.5,20,50,20s1,0.2,1.4,0.6 C51.8,21,52,21.5,52,22s-0.2,1-0.6,1.4C51,23.8,50.5,24,50,24z'/%3E%3C/g%3E%3C/svg%3E", l = "data:image/svg+xml;charset\x3dutf-8,%3Csvg version\x3d'1.1' id\x3d'Layer_1' xmlns\x3d'http://www.w3.org/2000/svg' xmlns:xlink\x3d'http://www.w3.org/1999/xlink' x\x3d'0px' y\x3d'0px' viewBox\x3d'0 0 64 64' style\x3d'enable-background:new 0 0 64 64%3B' xml:space\x3d'preserve'%3E%3Cstyle %3E.st0%7Bfill:%23FFF%3B%7D%3C/style%3E%3Cg%3E%3Cpath class\x3d'st0' d\x3d'M41.7,37.9c2.8,1,5.3,2.3,7.6,4.1c2.3,1.8,4.2,3.8,5.7,6c1.6,2.3,2.8,4.7,3.7,7.5c0.8,2.8,1.2,5.5,1.2,8.5h-4 c0-3.4-0.6-6.5-1.8-9.4c-1.2-2.9-2.9-5.4-4.9-7.5s-4.6-3.8-7.5-4.9c-3-1.3-6.1-1.9-9.5-1.9c-2.2,0-4.4,0.3-6.3,0.8 c-2,0.5-4,1.4-5.7,2.4c-1.8,1-3.4,2.3-4.7,3.8c-1.4,1.4-2.7,3.1-3.7,4.7c-1,1.7-1.8,3.7-2.4,5.7S8.5,61.8,8.5,64h-4%09c0-3,0.4-5.8,1.3-8.5c0.9-2.7,2.1-5.2,3.7-7.4c1.6-2.3,3.5-4.3,5.7-6s4.7-3.1,7.5-4.2c-1.6-0.9-3.1-1.9-4.4-3.2%09c-1.3-1.3-2.4-2.6-3.3-4.2c-0.9-1.6-1.6-3.2-2.1-4.8c-0.4-1.7-0.6-3.5-0.6-5.2c0-2.8,0.5-5.3,1.6-7.7c1-2.4,2.5-4.4,4.3-6.3%09c1.8-1.9,3.9-3.2,6.3-4.3c2.4-1,4.9-1.6,7.7-1.6c2.8,0,5.3,0.5,7.7,1.6c2.4,1,4.4,2.5,6.3,4.3s3.2,3.9,4.3,6.3 c1,2.4,1.6,4.9,1.6,7.7c0,1.8-0.2,3.6-0.7,5.2c-0.5,1.7-1.2,3.4-2.1,4.8c-0.9,1.5-2,2.9-3.3,4.2C44.6,36,43.3,37,41.7,37.9z M16.4,20.5c0,2.2,0.4,4.3,1.3,6.1s2,3.6,3.4,5c1.4,1.4,3.1,2.6,5,3.4c2,0.8,4,1.3,6.1,1.3c2.2,0,4.3-0.4,6.1-1.3 c1.9-0.9,3.6-2,5-3.4c1.4-1.4,2.6-3.1,3.4-5s1.3-4,1.3-6.1s-0.4-4.3-1.3-6.1s-2-3.6-3.4-5c-1.4-1.4-3.1-2.6-5-3.4 c-2-0.8-4-1.3-6.1-1.3c-2.2,0-4.3,0.4-6.1,1.3s-3.6,2-5,3.4c-1.4,1.4-2.6,3.1-3.4,5S16.4,18.3,16.4,20.5z'/%3E%3C/g%3E%3C/svg%3E", c = "data:image/svg+xml;charset\x3dutf-8,%3Csvg version\x3d'1.1' id\x3d'Layer_1' xmlns\x3d'http://www.w3.org/2000/svg' xmlns:xlink\x3d'http://www.w3.org/1999/xlink' x\x3d'0px' y\x3d'0px' viewBox\x3d'0 0 64 64' style\x3d'enable-background:new 0 0 64 64%3B' xml:space\x3d'preserve'%3E%3Cstyle %3E.st0%7Bfill:%23FFF%3B%7D%3C/style%3E%3Cg%3E%3Cpath class\x3d'st0' d\x3d'M0,10h64v44H0V10z M60,50V14h-4v4h-4v-4H12v4H8v-4H4v36h4v-4h4v4h40v-4h4v4H60z M8,26v-4h4v4H8z M8,34v-4h4v4 H8z M8,42v-4h4v4H8z M52,26v-4h4v4H52z M52,34v-4h4v4H52z M52,42v-4h4v4H52z'/%3E%3C/g%3E%3C/svg%3E", a = 57; x.handleImageError = function (b, e, g) { void 0 === e && (e = 0); switch (e) { case 1: e = 24; break; default: e = a }w(b, e, g) }; x.handleImageErrorCustomDimensions = w }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(8), p(3), p(5)]; t = function (x, u, w, m, f) { x = function (q) { function l(c) { var a = this; q.call(this, c); this.element = c; this.handleNumberInputChange = function (b) { var e = m.getEventTargetOrSrcElement(b), g = parseFloat(e.value); return isNaN(g) ? void m.preventDefault(b) : void a.updateFromChangedElement(e, g) }; this.updateFromChangedElement = function (b, e) { if (b === a.minimumInput || b === a.minimumSlider) { b = parseFloat(a.maximumInput.getAttribute("value")); var g = a.minimum; isNaN(b) || e > b ? a.syncInputAndSlider(a.minimumInput, a.minimumSlider, b) : e < g ? a.syncInputAndSlider(a.minimumInput, a.minimumSlider, g) : a.syncInputAndSlider(a.minimumInput, a.minimumSlider, e) } else if (b === a.maximumInput || b === a.maximumSlider) b = a.maximum, g = parseFloat(a.minimumInput.getAttribute("value")), isNaN(g) || e < g ? a.syncInputAndSlider(a.maximumInput, a.maximumSlider, g) : e > b ? a.syncInputAndSlider(a.maximumInput, a.maximumSlider, b) : a.syncInputAndSlider(a.maximumInput, a.maximumSlider, e); a.updateRangeUI() }; this.handleSliderKeyboard = function (b) { var e = m.getEventTargetOrSrcElement(b), g = f.getKeyCode(b), r = parseFloat(e.getAttribute("aria-valuenow")); b = b.shiftKey ? 10 : 1; g === (a.primaryDirection === m.Direction.left ? 39 : 37) ? a.updateFromChangedElement(e, r + b) : g === (a.primaryDirection === m.Direction.left ? 37 : 39) && a.updateFromChangedElement(e, r - b) }; this.handleSliderMouseDown = function (b) { m.addEvent(window, m.eventTypes.mouseup, a.handleSliderMouseUp); m.addEvent(window, m.eventTypes.mousemove, a.handleSliderMouseMove); a.activelyAdjustedSlider = m.getEventTargetOrSrcElement(b); m.addClass(a.activelyAdjustedSlider === a.minimumSlider ? a.minimumInput : a.maximumInput, l.activlyAdjustingClassName); a.mousedownReferenceLocation = b.pageX; a.mousedownReferenceOffset = a.activelyAdjustedSlider.style[a.offsetDirection] }; this.handleSliderMouseUp = function (b) { m.removeEvent(window, m.eventTypes.mouseup, a.handleSliderMouseUp); m.removeEvent(window, m.eventTypes.mousemove, a.handleSliderMouseMove); m.removeClass(a.activelyAdjustedSlider === a.minimumSlider ? a.minimumInput : a.maximumInput, l.activlyAdjustingClassName); a.activelyAdjustedSlider = null; a.mousedownReferenceLocation = null; a.mousedownReferenceOffset = null }; this.handleSliderMouseMove = function (b) { a.animationFrameRequestInProgress || a.requestAnimationFrame.call(window, function () { return a.requestSliderHandleUpdate(b.pageX) }) }; this.requestAnimationFrame = m.SafeBrowserApis.requestAnimationFrame; this.update() } return I(l, q), l.prototype.update = function () { if (this.element) { var c = m.selectElements("input", this.element); 2 === c.length && (this.minimumInput = c[0], this.maximumInput = c[1], this.minimum = parseInt(this.minimumInput.getAttribute("min"), 10) || 0, this.maximum = parseInt(this.maximumInput.getAttribute("max"), 10) || 100, this.createRangeSliderUI(), this.primaryDirection = m.getDirection(this.element), this.offsetDirection = this.primaryDirection === m.Direction.left ? "left" : "right", this.updateRangeUI(), m.addEvents([this.minimumInput, this.maximumInput], "keydown", this.handleNumberInputChange), m.addEvents([this.minimumSlider, this.maximumSlider], "keydown", this.handleSliderKeyboard), m.addEvents([this.minimumSlider, this.maximumSlider], "mousedown", this.handleSliderMouseDown)) } }, l.prototype.teardown = function () { m.removeEvents([this.minimumInput, this.maximumInput], "keydown", this.handleNumberInputChange); m.removeEvents([this.minimumSlider, this.maximumSlider], "keydown", this.handleSliderKeyboard); m.removeEvents([this.minimumSlider, this.maximumSlider], "mousedown", this.handleSliderMouseDown) }, l.prototype.publish = function (c, a) { c.onValueChanged && c.onValueChanged(a) }, l.prototype.createSlider = function (c) { var a = document.createElement("div"); return a.setAttribute("role", "slider"), a.setAttribute("aria-valuemin", this.minimum.toString() || "0"), a.setAttribute("aria-valuemax", this.maximum.toString() || "100"), a.setAttribute("aria-valuenow", c.getAttribute("value") || "0"), a.setAttribute("tabindex", "0"), a }, l.prototype.createRangeSliderUI = function () { if (!this.slider) { this.slider = document.createElement("div"); var c = document.createElement("div"); this.minimumSlider = this.createSlider(this.minimumInput); this.maximumSlider = this.createSlider(this.maximumInput); this.selectedRangeIndicator = document.createElement("span"); c.appendChild(this.minimumSlider); c.appendChild(this.maximumSlider); c.appendChild(this.selectedRangeIndicator); this.slider.setAttribute("aria-hidden", "true"); this.slider.appendChild(c); this.element.appendChild(this.slider) } }, l.prototype.updateRangeUI = function () { var c = parseInt(this.minimumSlider.getAttribute("aria-valuenow"), 10), a = parseInt(this.maximumSlider.getAttribute("aria-valuenow"), 10), b = this.calculateOffset(c, this.maximum), e = this.calculateOffset(a, this.maximum); this.minimumSlider.style[this.offsetDirection] = b.toString().concat("%"); this.maximumSlider.style[this.offsetDirection] = e.toString().concat("%"); this.selectedRangeIndicator.style[this.offsetDirection] = b.toString().concat("%"); this.selectedRangeIndicator.style.width = (e - b).toString().concat("%"); this.initiatePublish({ minimum: c, maximum: a }) }, l.prototype.requestSliderHandleUpdate = function (c) { this.animationFrameRequestInProgress = !1; var a = c - this.mousedownReferenceLocation; c = parseFloat(this.mousedownReferenceOffset); a = a / this.element.clientWidth * 100; this.updateFromChangedElement(this.activelyAdjustedSlider, Math.floor((this.primaryDirection === m.Direction.left ? c + a : c - a) / 100 * this.maximum)) }, l.prototype.calculateOffset = function (c, a) { if (isNaN(c) || isNaN(a)) return 0; c = c / a * 100; return 0 > c ? 0 : 100 < c ? 0 : c }, l.prototype.syncInputAndSlider = function (c, a, b) { isNaN(b) || (b = b.toString(), c.setAttribute("value", b), c.value = b, a.setAttribute("aria-valuenow", b)) }, l.selector = ".c-range-slider", l.typeName = "RangeSlider", l.activlyAdjustingClassName = "f-adjusting", l }(w.Publisher); u.RangeSlider = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(3)]; t = function (x, u, w, m) { x = function (f) { function q(l) { var c = this; f.call(this, l); this.onRatingFocus = function (a) { a = m.getEvent(a); m.addClass(c.element, q.userRatedSelector); m.addClass(c.element, q.communityRatedSelector); c.removeButtonClasses(); c.setButtonStyle(a.target) }; this.onRatingBlur = function (a) { !1 === c.communityRated && m.removeClass(c.element, q.communityRatedSelector); !1 === c.userRated && m.removeClass(c.element, q.userRatedSelector); c.resetButtonClasses() }; this.update() } return I(q, f), q.prototype.update = function () { this.buttons = m.selectElements("button", this.element); this.buttonClasses = this.getButtonClasses(); this.userRated = m.hasClass(this.element, q.userRatedSelector); this.communityRated = m.hasClass(this.element, q.communityRatedSelector); m.addEvent(this.buttons, m.eventTypes.focus, this.onRatingFocus); m.addEvent(this.buttons, m.eventTypes.blur, this.onRatingBlur) }, q.prototype.teardown = function () { m.removeEvent(this.buttons, m.eventTypes.focus, this.onRatingFocus); m.removeEvent(this.buttons, m.eventTypes.blur, this.onRatingBlur) }, q.prototype.getButtonClasses = function () { for (var l = [], c = 0, a = this.buttons.length; c < a; c++)m.hasClass(this.buttons[c], q.fullClass) ? l.push(q.fullClass) : m.hasClass(this.buttons[c], q.halfClass) ? l.push(q.halfClass) : m.hasClass(this.buttons[c], q.noneClass) ? l.push(q.noneClass) : l.push(""); return l }, q.prototype.removeButtonClasses = function () { for (var l = 0, c = this.buttons.length; l < c; l++)m.removeClass(this.buttons[l], this.buttonClasses[l]) }, q.prototype.resetButtonClasses = function () { for (var l = 0, c = this.buttonClasses.length; l < c; l++)m.addClass(this.buttons[l], this.buttonClasses[l]), m.hasClass(this.buttons[l], q.fullClass) && this.buttonClasses[l] !== q.fullClass && m.removeClass(this.buttons[l], q.fullClass) }, q.prototype.setButtonStyle = function (l) { for (var c = !0, a = 0, b = this.buttons.length; a < b; a++)!0 === c ? m.addClass(this.buttons[a], q.fullClass) : m.removeClass(this.buttons[a], q.fullClass), this.buttons[a] === l && (c = !1) }, q.selector = ".c-rating.f-interactive", q.typeName = "Rating", q.userRatedSelector = "f-user-rated", q.communityRatedSelector = "f-community-rated", q.fullClass = "f-full", q.halfClass = "f-half", q.noneClass = "f-none", q }(w.ObservableComponent); u.Rating = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(10), p(53), p(23), p(3), p(5)]; t = function (x, u, w, m, f, q, l, c) { x = function (a) { function b(e) { var g = this; a.call(this, e); this.onBreakpointChanged = function (r) { 2 > r.breakpoint ? g.expandMenu(!1) : g.expandMenu(!0) }; this.handleMenuClick = function (r) { r = l.getEventTargetOrSrcElement(r); switch (r) { case g.collapseButton: g.expandMenu(!1); break; case g.expandButton: g.expandMenu(!0); break; default: g.manageRadioGroupClick(r) } }; this.update() } return I(b, a), b.prototype.update = function () { this.element && (this.collapseButton = l.selectFirstElement(".c-heading + button.c-action-trigger", this.element), this.expandButton = l.selectFirstElement("[data-mobile-target] + button.c-action-trigger", this.element), this.mobileTarget = l.selectFirstElement("[data-mobile-target]", this.element), this.collapseButton && this.expandButton && this.mobileTarget && (this.getRefineMenuItems(), q.BreakpointTracker.getBreakpointTracker().subscribe({ onBreakpointChanged: this.onBreakpointChanged }), l.addEvent(this.element, l.eventTypes.click, this.handleMenuClick), this.onBreakpointChanged({ breakpoint: q.BreakpointTracker.getBreakpointTracker().getBreakpoint(), width: 0 }))) }, b.prototype.teardown = function () { l.removeEvent(this.element, l.eventTypes.click, this.handleMenuClick); this.mobileTarget = this.expandButton = this.collapseButton = null; for (var e = 0, g = this.refineItems; e < g.length; e++)g[e].teardown(); this.refineItems = [] }, b.prototype.manageRadioGroupClick = function (e) { var g; e = "SPAN" === e.nodeName ? e.parentNode : e; var r = null != e ? e.parentNode.parentNode : null; if (null == e || null == r) return null; if (g = r.getAttribute(b.selectTypeProperty) === b.singleSelectValue, r.hasAttribute(b.selectTypeProperty) || (r = r.parentNode, g = "radiogroup" === r.getAttribute("role")), g) { g = 0; for (var A = this.refineItems; g < A.length; g++) { var F = A[g], K = F.element; K !== e && l.isDescendent(r, K) && F.unselectItem() } } }, b.prototype.getRefineMenuItems = function () { this.refineItems = []; for (var e = 0, g = l.selectElements(f.RefineItem.selector, this.element); e < g.length; e++)this.refineItems.push(new f.RefineItem(g[e])) }, b.prototype.expandMenu = function (e) { this.mobileTarget.setAttribute("aria-hidden", (!e).toString()); this.expandButton.setAttribute("aria-expanded", e.toString()); this.collapseButton.setAttribute("aria-expanded", e.toString()); l.css(this.expandButton, "display", e ? "none" : "block") }, b.init = function (e) { c.apiDeprecated("RefineMenu.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: b, selector: e ? e.selector : null, eventToBind: e ? e.eventToBind : null }]) }, b.selector = ".c-refine-menu", b.typeName = "RefineMenu", b.selectTypeProperty = "data-js-select-type", b.singleSelectValue = "single-select", b }(w.ObservableComponent); u.RefineMenu = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(3), p(4)]; t = function (I, x, u, w) { I = function () { function m(f) { var q = this; this.element = f; this.toggleRefineItem = function () { q.changeItemState(!q.isSelected()) }; this.element && (this.element.hasAttribute("role") ? (this.isRadioItem = "radio" === this.element.getAttribute("role"), this.ariaAttribute = this.isRadioItem ? "aria-checked" : "aria-selected") : (this.isUpdatedShape = !0, this.label = u.getText(u.selectFirstElement("span", this.element))), this.changeItemState(this.isSelected()), u.addEvent(this.element, u.eventTypes.click, this.toggleRefineItem)) } return m.prototype.isSelected = function () { return this.isUpdatedShape ? u.hasClass(this.element, m.selectedClass) : "true" === this.element.getAttribute(this.ariaAttribute) }, m.prototype.changeItemState = function (f) { this.isUpdatedShape ? f ? (u.addClass(this.element, m.selectedClass), this.element.setAttribute(m.ariaLabel, w.format(m.selectedLabel, this.label))) : (u.removeClass(this.element, m.selectedClass), this.element.setAttribute(m.ariaLabel, w.format(m.unSelectedLabel, this.label))) : this.element.setAttribute(this.ariaAttribute, f.toString()) }, m.prototype.unselectItem = function () { this.changeItemState(!1) }, m.prototype.teardown = function () { u.removeEvent(this.element, u.eventTypes.click, this.toggleRefineItem) }, m.selector = ".c-refine-item", m.typeName = "RefineItem", m.selectedClass = "f-selected", m.selectedLabel = "Active refinement: {0}", m.unSelectedLabel = "Refine by {0}", m.ariaLabel = "aria-label", m }(); x.RefineItem = I }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(10), p(8), p(55), p(3)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { l.call(this, a); this.update() } return I(c, l), c.prototype.update = function () { var a = this; if (this.element && (this.select = q.selectFirstElementT("select", this.element), this.options = q.selectElementsT("option", this.select), this.select && this.options)) { !this.select.id && this.element.id && (this.select.id = this.element.id + "-select"); this.selectMenuDiv ? this.selectMenuDiv.innerHTML = "" : this.selectMenuDiv = document.createElement("div"); var b = document.createElement("button"), e = document.createElement("ul"); q.addClass(this.selectMenuDiv, "c-select-menu"); q.addClass(this.selectMenuDiv, "f-persist"); q.hasClass(this.element, "f-border") && q.addClass(this.selectMenuDiv, "f-border"); q.hasClass(this.element, "f-accent") && q.addClass(this.selectMenuDiv, "f-accent"); b.innerHTML = this.select.getAttribute(c.ariaLabel); b.setAttribute(c.ariaHaspopup, "true"); b.setAttribute(c.ariaExpanded, "false"); b.setAttribute("tabindex", "0"); q.addClass(e, "c-menu"); e.setAttribute(c.ariaHidden, "true"); e.setAttribute("role", "listbox"); e.setAttribute("tabindex", "0"); q.hasClass(this.element, "f-flex") && q.addClass(this.selectMenuDiv, "f-flex"); this.select.hasAttribute("disabled") && this.selectMenuDiv.setAttribute("aria-disabled", "true"); this.select.hasAttribute("required") && this.selectMenuDiv.setAttribute("aria-required", "true"); for (var g = 0, r = this.options; g < r.length; g++) { var A = r[g], F = "selected" === A.getAttribute("selected"), K = A.getAttribute("value"), R = document.createElement("li"), U = document.createElement("span"); q.addClass(R, "c-menu-item"); R.setAttribute("role", "presentation"); U.setAttribute("tabindex", "0"); U.setAttribute("role", "option"); F && U.setAttribute(c.ariaSelected, "true"); K || (A.setAttribute("value", q.getText(A)), K = A.getAttribute("value")); K && (R.id = this.select.id + "-" + K); U.appendChild(document.createTextNode(q.getText(A))); R.appendChild(U); e.appendChild(R) } this.selectMenuDiv.appendChild(b); this.selectMenuDiv.appendChild(e); this.element.appendChild(this.selectMenuDiv); this.ignoreNextDOMChange = !0; w.ComponentFactory.create([{ component: f.SelectMenu, eventToBind: "DOMContentLoaded", elements: [this.selectMenuDiv], callback: function (ha) { (ha || ha.length) && (a.selectMenu = ha[0], a.selectMenu.subscribe(a)) } }]) } }, c.prototype.teardown = function () { this.selectMenu = this.options = this.select = null }, c.prototype.publish = function (a, b) { a.onSelectionChanged(b) }, c.prototype.onSelectionChanged = function (a) { if (a && a.id) { a.id = a.id.substr(this.select.id.length + 1); this.select.value = a.id; for (var b = 0, e = this.options; b < e.length; b++) { var g = e[b]; g.getAttribute("value") === a.id ? g.setAttribute("selected", "selected") : g.removeAttribute("selected") } this.initiatePublish(a) } }, c.selector = ".c-select", c.typeName = "Select", c.ariaExpanded = "aria-expanded", c.ariaHidden = "aria-hidden", c.ariaHaspopup = "aria-haspopup", c.ariaSelected = "aria-selected", c.ariaLabel = "aria-label", c }(m.Publisher); u.Select = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(10), p(8), p(3), p(30), p(5)]; t = function (x, u, w, m, f, q, l) { x = function (c) { function a(b) { var e = this; return c.call(this, b), this.onTriggerClick = function (g) { g = f.getEvent(g); f.preventDefault(g); e.disabled || e.onTriggerToggled() }, this.onItemClick = function (g) { g = f.getEvent(g); e.onItemSelected(f.getEventTargetOrSrcElement(g), !1, !0) }, this.onNonSelectMenuClick = function (g) { if (g = f.getEvent(g), e.element && e.menu) g = f.getEventTargetOrSrcElement(g), e.element.contains(g) || g !== e.menu && g.parentElement !== e.menu && e.collapse() }, this.onNonSelectMenuTab = function (g) { g = f.getEvent(g); 9 === l.getKeyCode(g) && e.collapse() }, this.onTriggerKeyPress = function (g) { g = f.getEvent(g); switch (l.getKeyCode(g)) { case 13: case 32: f.preventDefault(g), e.disabled || e.onTriggerToggled() } }, this.handleMenuKeydownEvent = function (g) { g = f.getEvent(g); var r = l.getKeyCode(g); (9 !== r || e.isExpanded()) && f.preventDefault(g); e.handleMenuKeydown(f.getEventTargetOrSrcElement(g), r) }, b && f.hasClass(b, a.universalHeaderMenuSelector) ? void c.prototype.unObserve.call(this) : void this.update() } return I(a, c), a.prototype.update = function () { if (this.element) { this.persist = f.hasClass(this.element, "f-persist"); (this.trigger = f.selectFirstElementT('[role\x3d"button"]', this.element)) || (this.trigger = f.selectFirstElementT("button", this.element)); this.menu = f.selectFirstElement(".c-menu", this.element); var b = f.selectElementsT(".c-menu-item a", this.element); if (0 < b.length ? this.items = b : this.items = f.selectElementsT(".c-menu-item span", this.element), this.disabled = "true" === this.element.getAttribute("aria-disabled"), this.trigger && this.menu && this.items && this.items.length) { b = null; for (var e = 0, g = this.items; e < g.length; e++) { var r = g[e]; this.itemIsSelected(r) && null === b ? (b = r, r.setAttribute(this.getSelectedAttribute(r), "true")) : r.setAttribute(this.getSelectedAttribute(r), "false"); r.setAttribute("tabindex", "-1"); this.cleanSelectedAttributes(r); r.hasAttribute("role") || r.setAttribute("role", "menuitem") } e = this.isExpanded(); this.onItemSelected(b, !0, !1); this.addEventListeners(); e && this.expand() } } }, a.prototype.teardown = function () { f.removeEvent(this.trigger, f.eventTypes.click, this.onTriggerClick); f.removeEvent(this.trigger, f.eventTypes.keydown, this.onTriggerKeyPress); f.removeEvent(this.menu, f.eventTypes.keydown, this.handleMenuKeydownEvent, !0); for (var b = 0, e = this.items; b < e.length; b++)f.removeEvent(e[b], f.eventTypes.click, this.onItemClick); f.removeEvent(document, f.eventTypes.click, this.onNonSelectMenuClick); f.removeEvent(this.items[this.items.length - 1], f.eventTypes.keydown, this.onNonSelectMenuTab); this.persist = !1; this.selectedItem = this.items = this.menu = this.trigger = null }, a.prototype.setSelectedItem = function (b) { return !(!b || !this.element) && this.onItemSelected(f.selectFirstElementT("li[id\x3d'" + b + "'] \x3e a", this.element), !1, !1) }, a.prototype.isExpanded = function () { return !!this.trigger && !!this.menu && "true" === this.trigger.getAttribute(a.ariaExpanded) && "false" === this.menu.getAttribute(a.ariaHidden) }, a.prototype.itemIsSelected = function (b) { return "true" === b.getAttribute(a.ariaSelected) || "true" === b.getAttribute(a.ariaChecked) }, a.prototype.getSelectedAttribute = function (b) { return "menuitemradio" === b.getAttribute("role") ? a.ariaChecked : a.ariaSelected }, a.prototype.cleanSelectedAttributes = function (b) { var e = this.getSelectedAttribute(b) === a.ariaSelected ? a.ariaChecked : a.ariaSelected; b.removeAttribute(e) }, a.prototype.expand = function () { if (this.trigger && this.menu) { this.trigger.setAttribute(a.ariaExpanded, "true"); this.menu.setAttribute(a.ariaHidden, "false"); var b = q.collidesWith(this.menu); if (b && (b.right ? (f.css(this.menu, "left", ""), f.css(this.menu, "right", "0")) : b.left && (f.css(this.menu, "left", "0"), f.css(this.menu, "right", ""))), this.items) b = this.items.indexOf(this.selectedItem), this.items[-1 === b ? 0 : b].focus() } }, a.prototype.collapse = function () { this.trigger && this.menu && (this.trigger.setAttribute(a.ariaExpanded, "false"), this.menu.setAttribute(a.ariaHidden, "true")) }, a.prototype.addEventListeners = function () { if (this.trigger && this.items) { f.addEvent(this.trigger, f.eventTypes.click, this.onTriggerClick); f.addEvent(this.trigger, f.eventTypes.keydown, this.onTriggerKeyPress); f.addEvent(this.menu, f.eventTypes.keydown, this.handleMenuKeydownEvent, !0); for (var b = 0, e = this.items; b < e.length; b++)f.addEvent(e[b], f.eventTypes.click, this.onItemClick); f.addEvent(this.items[this.items.length - 1], f.eventTypes.keydown, this.onNonSelectMenuTab); f.addEvent(document, f.eventTypes.click, this.onNonSelectMenuClick) } }, a.prototype.onTriggerToggled = function () { this.isExpanded() ? this.collapse() : this.expand() }, a.prototype.onItemSelected = function (b, e, g) { return b && b !== this.selectedItem ? (this.persist && this.trigger && (this.ignoreNextDOMChange = !0, this.trigger.innerHTML = f.getText(b)), this.selectedItem && this.selectedItem.setAttribute(this.getSelectedAttribute(this.selectedItem), "false"), this.selectedItem = b, this.selectedItem.setAttribute(this.getSelectedAttribute(this.selectedItem), "true"), this.collapse(), this.initiatePublish({ id: this.selectedItem.parentElement.id, href: this.selectedItem.getAttribute("href"), internal: e, userInitiated: g }), !0) : (this.collapse(), !1) }, a.prototype.publish = function (b, e) { this.selectedItem && b.onSelectionChanged(e) }, a.prototype.handleMenuKeydown = function (b, e) { switch (e) { case 32: case 13: this.handleMenuEnterKey(b); this.trigger.focus(); break; case 27: this.trigger.focus(); this.collapse(); break; case 38: this.handleMenuArrowKey(!0, b); break; case 40: this.handleMenuArrowKey(!1, b); break; case 9: this.isExpanded() && (this.handleMenuEnterKey(b), this.trigger.focus()) } }, a.prototype.handleMenuArrowKey = function (b, e) { e = this.items.indexOf(e); -1 !== e && (e += b ? -1 : 1, 0 > e ? e = this.items.length - 1 : e >= this.items.length && (e = 0), this.items[e].focus()) }, a.prototype.handleMenuEnterKey = function (b) { this.onItemSelected(b, !1, !0) }, a.init = function (b) { l.apiDeprecated("SelectMenu.init() is deprecated, please use ComponentFactory.create() instead."); w.ComponentFactory.create([{ component: a, selector: b ? b.selector : null, eventToBind: b ? b.eventToBind : null }]) }, a.selector = ".c-select-menu", a.typeName = "SelectMenu", a.ariaExpanded = "aria-expanded", a.ariaHidden = "aria-hidden", a.ariaSelected = "aria-selected", a.ariaChecked = "aria-checked", a.universalHeaderMenuSelector = "js-nav-menu", a }(m.Publisher); u.SelectMenu = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(10), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.onClick = function (e) { b.togglePressedState() }; a && this.update() } return I(c, l), c.prototype.update = function () { if (this.buttonContainer = this.element.parentNode, this.buttonContainer) { var a = this.buttonContainer.getAttribute(c.ariaLabelledBySelector); this.ariaLabelledByElement = document.getElementById(a); this.nameSelector = '.c-select-button[name\x3d"' + this.element.getAttribute("name") + '"]'; this.selectedText = this.element.getAttribute(c.selectedTextSelector); this.unselectedText = this.element.getAttribute(c.unselectedTextSelector); this.prepareSwatches(); f.addEvent(this.element, f.eventTypes.click, this.onClick) } }, c.prototype.teardown = function () { f.removeEvent(this.element, f.eventTypes.click, this.onClick) }, c.prototype.prepareSwatches = function () { var a = this.element.getAttribute("data-select-button-swatch"), b = q.detectContrast(a); b && (this.element.style.backgroundColor = "#" + a, this.element.disabled && (f.addClass(this.element, "f-swatch-disabled"), 1 === b && f.addClass(this.element, "f-swatch-disabled-dark"))) }, c.prototype.togglePressedState = function () { var a = this.selectedText; if (this.element.getAttribute(c.multiSelectAttributeName)) this.element.setAttribute(c.pressedAttributeName, this.isPressed() ? "false" : "true"), this.isPressed() || (a = this.unselectedText); else for (var b = 0, e = f.selectElements(this.nameSelector); b < e.length; b++) { var g = e[b]; g.setAttribute(c.pressedAttributeName, g === this.element ? "true" : "false") } f.setText(this.ariaLabelledByElement, a) }, c.prototype.isPressed = function () { return "true" === this.element.getAttribute(c.pressedAttributeName) }, c.init = function (a) { q.apiDeprecated("SelectButton.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".c-select-button", c.typeName = "SelectButton", c.pressedAttributeName = "aria-pressed", c.multiSelectAttributeName = "data-select-button-multiselect", c.selectedTextSelector = "data-js-selected-text", c.unselectedTextSelector = "data-js-unselected-text", c.ariaLabelledBySelector = "aria-labelledby", c }(w.ObservableComponent); u.SelectButton = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(37), p(3), p(5)]; t = function (x, u, w, m, f) { x = function (q) { function l(c, a) { var b = this; void 0 === a && (a = null); q.call(this, c, a); this.carouselElement = c; this.onItemFocus = function (e) { if (e = m.getEventTargetOrSrcElement(e)) { for (; "LI" !== e.tagName && e.parentElement && e.parentElement !== e;)e = e.parentElement; "LI" === e.tagName && b.scrollItemIntoView(e) } }; this.onResized = function (e) { b.onCarouselResized() } } return I(l, q), l.prototype.update = function () { if (!q.prototype.update.call(this)) return !1; this.resizeThrottledEventHandler = m.addThrottledEvent(window, m.eventTypes.resize, this.onResized); var c = m.hasClass(this.slides[0], "f-gallery") ? l.focusGalleryItemSelector : l.focusItemSelector; return this.focusElements = m.selectElements(c, this.carouselElement), m.addEvent(this.focusElements, m.eventTypes.focus, this.onItemFocus), !0 }, l.prototype.teardown = function () { q.prototype.teardown.call(this); m.removeEvent(window, m.eventTypes.resize, this.resizeThrottledEventHandler); m.removeEvent(this.focusElements, m.eventTypes.focus, this.onItemFocus) }, l.prototype.getSlides = function () { var c = m.selectElements(l.singleSlideSelector, this.carouselElement); return c && c.length && m.selectFirstElement("li", c[0]) ? (this.singleSlideWidth = f.getDimensions(c[0]).width, c) : null }, l.prototype.getFirstActiveIndex = function () { return 0 }, l.prototype.isScrollablePrevious = function () { var c = parseInt(m.css(this.slides[this.activeIndex], this.directionValue), 10); return !isNaN(c) && 0 !== c }, l.prototype.isScrollableNext = function () { var c = parseInt(m.css(this.slides[this.activeIndex], this.directionValue), 10), a = f.getDimensions(this.carouselElement).width, b = this.getCurrentSlideSize(); return f.isNumber(c) || (c = 0), !(a + Math.abs(c) + b.gutter >= this.singleSlideWidth) }, l.prototype.previousSlide = function () { this.changeSingleSlide(!1) }, l.prototype.nextSlide = function () { this.changeSingleSlide(!0) }, l.prototype.changeSingleSlide = function (c) { var a = this.slides[this.activeIndex], b = parseInt(m.css(a, this.directionValue), 10), e = this.getCurrentSlideSize(), g = f.getDimensions(this.carouselElement).width; var r = Math.floor(g / (e.width + e.gutter)); var A = c ? -1 : 1, F = c ? e.gutter : 0; f.isNumber(b) || (b = 0); 0 === r && (r = 1); r = 0 === g % (e.width + e.gutter) ? r - 1 : r; r = Math.max(r, 1); r *= e.width + e.gutter; c = c ? this.singleSlideWidth - g + b : Math.abs(b); b = r <= c ? r * A + b : c * A + b + F; m.css(a, this.directionValue, b + "px"); q.prototype.updateFlippers.call(this); this.fireSingleSlideChangedNotification(b, g, e) }, l.prototype.fireSingleSlideChangedNotification = function (c, a, b) { var e = m.selectElements(w.CarouselBase.allChildSelectors, this.carouselElement), g = b.width; b = b.width + b.gutter; for (var r = -1, A = -1, F = -1, K = -1, R = 0; R < e.length; R++) { var U = R * b + c, ha = U + g; if (!(0 > ha) && (0 > U && 0 < ha && (r = R), -1 === F && 0 <= U && (F = R, -1 === r && (r = F)), -1 !== F && ha <= a && (K = R), -1 !== K && -1 === A && U < a && ha > a)) { A = R; break } } -1 === A && (A = K); q.prototype.initiatePublish.call(this, { fullyVisibleItemRange: [F, K], partiallyVisibleItemRange: [r, A], userInitiated: !0 }) }, l.prototype.getCurrentSlideSize = function () { var c = m.selectFirstElement(w.CarouselBase.allChildSelectors, this.carouselElement); if (c) { var a = this.direction === m.Direction.left ? parseInt(m.css(c, "marginRight"), 10) : parseInt(m.css(c, "marginLeft"), 10); return { width: c.offsetWidth, gutter: isNaN(a) ? 0 : a } } return { width: 0, gutter: 0 } }, l.prototype.onCarouselResized = function () { var c = this.slides[0], a = parseInt(m.css(c, this.directionValue), 10), b = f.getDimensions(this.carouselElement).width; this.singleSlideWidth = f.getDimensions(this.slides[0]).width; !isNaN(a) && 0 > a && this.singleSlideWidth + a < b && m.css(c, this.directionValue, Math.min(0, b - this.singleSlideWidth) + "px"); q.prototype.updateFlippers.call(this) }, l.prototype.scrollItemIntoView = function (c) { var a = this, b = f.getDimensions(this.carouselElement).width, e = this.slides[0], g = c.offsetLeft, r = this.getCurrentSlideSize(); c = !1; if (this.direction === m.Direction.left) { var A = parseInt(m.css(e, "left"), 10) || 0; 0 > A && -A > g ? (g = -g + 1, c = !0) : A + g > b - r.width && (g = b - r.width - g - 1, c = !0) } else A = f.getDimensions(e).width, g + r.width + r.gutter + e.offsetLeft > b ? (g = -(A - g - r.width - r.gutter) + 1, c = !0) : 0 > g + e.offsetLeft && (g = b - (A - g - r.gutter) - 1, c = !0); c && (m.css(e, this.directionValue, g + "px"), q.prototype.updateFlippers.call(this), setTimeout(function () { e.parentElement.scrollLeft = 0; a.fireSingleSlideChangedNotification(g, b, r) }, 0)) }, l.selector = ".c-carousel[class*\x3df-single-slide]", l.typeName = "SingleSlideCarousel", l.singleSlideSelector = w.CarouselBase.selector + " \x3e * \x3e ul", l.focusItemSelector = w.CarouselBase.selector + " \x3e * \x3e ul \x3e li \x3e section a", l.focusGalleryItemSelector = w.CarouselBase.selector + " \x3e * \x3e ul \x3e li a", l }(w.CarouselBase); u.SingleSlideCarousel = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(10), p(8), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.onKeyPressed = function (e) { switch (e) { case 37: case 39: if (!b.isVerticalSlider) { var g = b.primaryDirection === f.Direction.left ? b.stepOffset : -b.stepOffset; b.updateThumbOffset(b.thumbOffset + (37 === e ? -g : g), !0, !0) } break; case 38: case 40: b.isVerticalSlider && (g = 38 === e ? b.stepOffset : -b.stepOffset, b.updateThumbOffset(b.thumbOffset + g, !0, !0), f.preventDefault(f.getEvent(event))); break; case 33: g = 2 * b.stepOffset; b.updateThumbOffset(b.thumbOffset + g, !0, !0); break; case 34: g = -(2 * b.stepOffset); b.updateThumbOffset(b.thumbOffset + g, !0, !0); break; case 36: e = parseInt(b.input.getAttribute("min"), 10) || 0; b.updateThumbOffset(e, !0, !0); break; case 35: e = parseInt(b.input.getAttribute("step"), 10), b.updateThumbOffset(b.thumbRange + e, !0, !0) } }; this.onKeyDown = function (e) { b.onKeyPressed(q.getKeyCode(f.getEvent(e))) }; this.onMouseDown = function (e) { return e = f.getEvent(e), b.setupDimensions(), f.getEventTargetOrSrcElement(e) === b.thumb ? (f.addEvent(document, f.eventTypes.mousemove, b.onMouseMove), void f.addEvent(document, f.eventTypes.mouseup, b.onMouseUp)) : void b.moveThumbTo(e.clientX, e.clientY) }; this.onMouseMove = function (e) { e = f.getEvent(e); b.moveThumbTo(e.clientX, e.clientY) }; this.onMouseUp = function (e) { f.removeEvent(document, f.eventTypes.mousemove, b.onMouseMove); f.removeEvent(document, f.eventTypes.mouseup, b.onMouseUp) }; this.onWindowResized = function (e) { b.setupDimensions() }; this.update() } return I(c, l), c.prototype.update = function () { if (this.element) { this.input = f.selectFirstElement("input", this.element); this.primaryDirection = f.getDirection(this.element); this.isVerticalSlider = f.hasClass(this.input, "f-vertical"); f.addClass(this.input, "x-screen-reader"); var a = parseInt(this.input.getAttribute("min"), 10) || 0, b = parseInt(this.input.getAttribute("max"), 10) || 100, e = parseInt(this.input.getAttribute("value"), 10), g = parseInt(this.input.getAttribute("step"), 10); this.element.children[this.element.children.length - 1] === this.input ? (this.mockSlider = document.createElement("div"), this.thumb = document.createElement("button"), this.thumb.setAttribute("role", "slider"), this.thumb.setAttribute("aria-valuemin", a.toString()), this.thumb.setAttribute("aria-valuemax", b.toString()), this.thumb.setAttribute("aria-valuenow", e.toString()), this.valueTooltip = document.createElement("span"), this.track = document.createElement("span"), this.thumb.appendChild(this.valueTooltip), this.mockSlider.appendChild(this.thumb), this.mockSlider.appendChild(this.track), this.element.appendChild(this.mockSlider), this.ignoreNextDOMChange = !0) : (this.mockSlider = this.element.children[this.element.children.length - 1], this.thumb = this.mockSlider.firstElementChild, this.valueTooltip = this.thumb.firstElementChild, this.track = this.mockSlider.children[this.mockSlider.children.length - 1]); this.halfThumbOffset = this.thumb.clientWidth / 2; this.resetSliderInternal(a, b, e, g, !0) && (f.addEvent(this.element, f.eventTypes.mousedown, this.onMouseDown), f.addEvent(this.thumb, f.eventTypes.keydown, this.onKeyDown), this.resizeListener = f.addDebouncedEvent(window, f.eventTypes.resize, this.onWindowResized)) } }, c.prototype.teardown = function () { f.removeEvent(this.element, f.eventTypes.mousedown, this.onMouseDown); f.removeEvent(this.thumb, f.eventTypes.keydown, this.onKeyDown); f.removeEvent(window, f.eventTypes.resize, this.resizeListener); this.resizeListener = this.track = this.valueTooltip = this.thumb = this.mockSlider = this.input = null }, c.prototype.resetSlider = function (a, b, e, g) { return this.resetSliderInternal(a, b, e, g, !1) }, c.prototype.resetSliderInternal = function (a, b, e, g, r) { return !(!q.isNumber(a) || !q.isNumber(b)) && !(0 >= Math.max(a, b) - Math.min(a, b)) && (this.min = Math.min(a, b), this.max = Math.max(a, b), this.range = this.max - this.min, this.step = isNaN(g) ? this.range / 10 : g, this.value = Math.min(Math.max(isNaN(e) ? isNaN(this.value) ? this.min : this.value : e, this.min), this.max), this.setupDimensions(), this.updateThumbOffset(this.thumbOffset, r, !1), !0) }, c.prototype.setValue = function (a) { return !(!q.isNumber(a) || a < this.min || a > this.max) && (a !== this.value && (this.thumbOffset = (a - this.min) * this.thumbRange / this.range + this.halfThumbOffset, this.updateThumbOffset(this.thumbOffset, !1, !1)), !0) }, c.prototype.setupDimensions = function () { this.dimensions = f.getClientRect(this.mockSlider); this.isVerticalSlider ? (this.dimensions.left -= c.hitPadding, this.dimensions.right += c.hitPadding, this.thumbRange = this.dimensions.height - this.thumb.clientWidth, this.maxThumbOffset = this.dimensions.height) : (this.dimensions.top -= c.hitPadding, this.dimensions.bottom += c.hitPadding, this.thumbRange = this.dimensions.width - this.thumb.clientWidth, this.maxThumbOffset = this.dimensions.width); this.thumbRange = Math.max(this.thumbRange, 1); this.thumbOffset = (this.value - this.min) * this.thumbRange / this.range + this.halfThumbOffset; this.stepOffset = this.thumbRange / (this.range / this.step); this.setThumbPosition() }, c.prototype.setThumbPosition = function () { var a = Math.max(0, this.thumbOffset - this.halfThumbOffset); f.css(this.thumb, f.Direction[this.primaryDirection], a + "px"); f.css(this.track, "width", a + "px") }, c.prototype.updateThumbOffset = function (a, b, e) { q.isNumber(a) || (a = this.thumbOffset); this.thumbOffset = Math.min(Math.max(0, a), this.maxThumbOffset); a = 1E3 * Math.max(0, this.thumbOffset - this.halfThumbOffset) * this.range / this.thumbRange; a = Math.round(a) / 1E3 + this.min; this.value = Math.min(Math.max(this.min, a), this.max); this.valueTooltipText = null; this.initiatePublish({ value: this.value, internal: b, userInitiated: e }); this.valueTooltipText || (this.valueTooltipText = Math.round(this.value).toString()); isNaN(parseFloat(this.valueTooltipText)) || this.valueTooltipText.match(":") ? (this.input.setAttribute("value", a.toString()), this.thumb.setAttribute("aria-valuenow", a.toString()), this.thumb.setAttribute("aria-valuetext", this.valueTooltipText)) : (this.input.setAttribute("value", this.valueTooltipText), this.thumb.setAttribute("aria-valuenow", this.valueTooltipText)); this.valueTooltip.innerHTML = this.valueTooltipText; this.setThumbPosition() }, c.prototype.publish = function (a, b) { (a = a.onValueChanged(b)) && !this.valueTooltipText && (this.valueTooltipText = a) }, c.prototype.moveThumbTo = function (a, b) { q.pointInRect(a, b, this.dimensions) && (b = this.dimensions.bottom - b, this.isVerticalSlider || (b = this.primaryDirection === f.Direction.left ? a - this.dimensions.left : this.dimensions.right - a), this.updateThumbOffset(b, !0, !0)) }, c.init = function (a) { q.apiDeprecated("Slider.init() is deprecated, please use ComponentFactory.create() instead."); w.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".c-slider", c.typeName = "Slider", c.hitPadding = 20, c }(m.Publisher); u.Slider = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(2), p(10), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.element = a; this.ariaExpanded = "aria-expanded"; this.buttonToggle = "data-js-toggle"; this.ariaHidden = "aria-hidden"; this.hideClass = "f-hide"; this.isHidden = !0; this.iconOverflowThresholdLength = 4; this.maxIconShowCount = this.iconOverflowThresholdLength - 1; this.handleMouseUp = function (e) { b.handleToggle(!1) }; this.handleKeydown = function (e) { e = f.getEvent(e); var g = q.getKeyCode(e), r = f.getEventTargetOrSrcElement(e); switch (g) { case 9: !b.isHidden && r === b.icons[b.maxIconShowCount] && e.shiftKey && (f.preventDefault(e), b.handleToggle(!1), b.toggle.focus()); break; case 13: r === b.toggle && b.handleToggle(!0) } }; this.handleToggle = function (e) { b.isHidden ? b.toggleIcons(!1, e) : b.toggleIcons(!0, e); b.ariaExpanded && b.toggle.setAttribute(b.ariaExpanded, (!b.isHidden).toString()); b.toggle.setAttribute(b.buttonToggle, (!b.isHidden).toString()) }; this.toggleIcons = function (e, g) { for (var r = 0; r < b.maxIconShowCount; r++)e ? f.removeClass(b.icons[r], b.hideClass) : f.addClass(b.icons[r], b.hideClass); for (r = b.maxIconShowCount; r < b.icons.length; r++)e ? f.addClass(b.icons[r], b.hideClass) : f.removeClass(b.icons[r], b.hideClass); g && (e ? b.icons[0].focus() : b.icons[b.maxIconShowCount].focus()); b.isHidden = e }; a && this.update() } return I(c, l), c.prototype.update = function () { (this.icons = f.selectElementsT('a[itemprop\x3d"sameAs"]', this.element)) && this.icons.length && (this.toggle = f.selectFirstElement("button", this.element), this.toggle && (f.addEvent(this.toggle, f.eventTypes.mouseup, this.handleMouseUp), f.addEvent(this.element, f.eventTypes.keydown, this.handleKeydown), this.icons.length > this.iconOverflowThresholdLength && (this.toggle.setAttribute(this.ariaHidden, "false"), this.ariaExpanded ? this.toggle.setAttribute(this.ariaExpanded, "false") : this.toggle.setAttribute(this.buttonToggle, "false"), this.toggleIcons(!0, !1)))) }, c.prototype.teardown = function () { f.removeEvent(this.toggle, f.eventTypes.mouseup, this.handleMouseUp); f.removeEvent(this.element, f.eventTypes.keydown, this.handleKeydown) }, c.init = function (a) { q.apiDeprecated("Social.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".m-social", c.typeName = "Social", c }(w.ObservableComponent); u.Social = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(3), p(2), p(10), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a) { var b = this; l.call(this, a); this.onExpandableItemClicked = function (e) { b.setExpandedItem(w.getEventTargetOrSrcElement(e)) }; this.onActivatableItemClicked = function (e) { b.setActiveItem(w.getEventTargetOrSrcElement(e)) }; this.keydownEventListener = function (e) { b.itemKeydownHandler(w.getEventTargetOrSrcElement(e), q.getKeyCode(e)) && w.preventDefault(e) }; this.update() } return I(c, l), c.prototype.update = function () { if (!this.element) return null; this.items = w.selectElements(c.itemSelector, this.element); var a = w.selectElements("." + c.activeSelector, this.element); this.activeItem = a ? a.shift() : null; for (var b = 0; b < a.length; b++) { var e = a[b]; w.removeClass(e, c.activeSelector) } if (this.syncExpandedItem(), this.items && this.items.length) { a = 0; for (b = this.items; a < b.length; a++)e = b[a], this.isExpandable(e) ? w.addEvent(e, w.eventTypes.click, this.onExpandableItemClicked) : w.addEvent(e, w.eventTypes.click, this.onActivatableItemClicked); w.addEvent(this.items, w.eventTypes.keydown, this.keydownEventListener) } }, c.prototype.teardown = function () { if (this.items && this.items.length) { for (var a = 0, b = this.items; a < b.length; a++) { var e = b[a]; this.isExpandable(e) ? w.removeEvent(e, w.eventTypes.click, this.onExpandableItemClicked) : w.removeEvent(e, w.eventTypes.click, this.onActivatableItemClicked) } w.removeEvent(this.items, w.eventTypes.keydown, this.keydownEventListener) } this.expandedItem = this.activeItem = this.items = null }, c.prototype.setExpandedItem = function (a) { a && a !== this.expandedItem && (this.collapseItem(this.expandedItem), this.expandItem(a)) }, c.prototype.setActiveItem = function (a) { a && a.parentElement && "false" !== a.parentElement.getAttribute("aria-hidden") && (this.expandedItem = null); a && a !== this.activeItem && (w.removeClass(this.activeItem, c.activeSelector), this.activeItem = a, w.addClass(this.activeItem, c.activeSelector), this.syncExpandedItem()) }, c.prototype.expandItem = function (a) { if (a) { var b = this.getExpandableElementForExpandableItem(a), e = this.getExpandableElementForExpandableItem(this.expandedItem); if (b && (!e || b !== e)) for (a.setAttribute("data-state", c.stateNames.expanded), b.setAttribute("aria-hidden", "false"), b.style.height = "auto", b.style.overflow = "visible", this.collapseItem(this.expandedItem), this.expandedItem = a, a = 0, b = w.selectElements(c.itemSelector, b); a < b.length; a++)b[a].removeAttribute(c.tabIndexAttribute) } }, c.prototype.collapseItem = function (a) { if (a) { var b = document.getElementById(a.getAttribute("aria-controls")); if (b) for (a.setAttribute("data-state", c.stateNames.collapsed), b.setAttribute("aria-hidden", "true"), b.style.height = "0", b.style.overflow = "hidden", a = 0, b = w.selectElements(c.itemSelector, b); a < b.length; a++)b[a].setAttribute(c.tabIndexAttribute, "-1") } }, c.prototype.isExpandable = function (a) { return !!(a && a.hasAttribute("data-state") && a.hasAttribute("aria-controls")) }, c.prototype.syncExpandedItem = function () { if (this.items && this.items.length && this.activeItem) { var a = this.getExpandableElementForActiveItem(), b = this.getExpandableElementForExpandableItem(this.expandedItem); if (!b || b !== a) { b = 0; for (var e = this.items; b < e.length; b++) { var g = e[b]; this.isExpandable(g) && (a && this.getExpandableElementForExpandableItem(g) === a ? this.expandItem(g) : this.collapseItem(g)) } } } }, c.prototype.getExpandableElementForActiveItem = function () { return this.activeItem && this.activeItem.parentElement && this.activeItem.parentElement.hasAttribute("id") ? this.activeItem.parentElement : null }, c.prototype.getExpandableElementForExpandableItem = function (a) { return this.isExpandable(a) && a.nextElementSibling ? a.nextElementSibling : null }, c.prototype.itemKeydownHandler = function (a, b) { if (!a || !b) return !1; switch (b) { case 32: case 13: if (this.isExpandable(a)) return this.setExpandedItem(a), !0 }return !1 }, c.init = function (a) { q.apiDeprecated("SupplementalNavigation.init() is deprecated, please use ComponentFactory.create() instead."); f.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".m-supplemental-nav", c.typeName = "SupplementalNavigation", c.activeSelector = "f-active", c.itemSelector = "a, button", c.tabIndexAttribute = "tabindex", c.dateState = "data-state", c.stateNames = { expanded: "expanded", collapsed: "collapsed" }, c }(m.ObservableComponent); u.SupplementalNavigation = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(10), p(2), p(3), p(5), p(4)]; t = function (x, u, w, m, f, q, l) { var c = function (e) { function g(r) { var A = this; e.call(this, r); this.onSortButtonClicked = function (F) { for (F = F.currentTarget || f.getEventTargetOrSrcElement(F); F !== A.element;) { if (F.getAttribute("data-sort-index")) { var K = F; break } F = F.parentElement } K && A.reSort(K) }; this.onSortButtonKeydown = function (F) { if (9 === q.getKeyCode(F) || "Tab" === q.getVirtualKey(F)) { var K = F.currentTarget || f.getEventTargetOrSrcElement(F), R = void 0, U = void 0; if (F.shiftKey) for (var ha = 0, na = A.columnInfos; ha < na.length; ha++) { var C = na[ha]; if (C && C.button) { if (C.button === K) { R = C; break } U = C } } else for (ha = 0, na = A.columnInfos; ha < na.length; ha++)if ((C = na[ha]) && C.button) if (C.button === K) R = C; else if (R) { U = C; break } R && U && (f.preventDefault(F), U.button.focus()) } }; this.update() } return I(g, e), g.prototype.update = function () { this.element && (this.sortableTable = f.selectFirstElementT('table[data-f-sort\x3d"true"]', this.element), this.sortableTable && !this.ariaLiveRegion && (this.ariaLiveRegion = document.createElement("p"), f.addClass(this.ariaLiveRegion, "x-screen-reader"), this.ariaLiveRegion.setAttribute("aria-live", "polite"), this.element.appendChild(this.ariaLiveRegion), this.ascendingLocString = this.element.getAttribute("data-f-loc-ascending") || "Sorted by {0} - ascending", this.descendingLocString = this.element.getAttribute("data-f-loc-dascending") || "Sorted by {0} - descending"), this.reloadTable()) }, g.prototype.teardown = function () { for (var r = 0, A = f.selectElementsT("thead \x3e tr", this.sortableTable); r < A.length; r++)for (var F = A[r], K = 0, R = F.cells.length; K < R; K++) { var U = F.cells[K]; f.hasClass(U, "f-sortable") && (f.removeEvent(U.firstElementChild, f.eventTypes.click, this.onSortButtonClicked), f.removeEvent(U.firstElementChild, f.eventTypes.keydown, this.onSortButtonKeydown)) } this.columnInfos = this.originalRows = this.tableBody = this.sortableTable = null }, g.prototype.alertUserToSorting = function (r, A) { var F = this; this.ariaLiveRegion && (f.setText(this.ariaLiveRegion, l.format(A, r)), setTimeout(function () { F.ignoreNextDOMChange = !0; f.removeInnerHtml(F.ariaLiveRegion) }, 3E3)) }, g.prototype.reloadTable = function () { this.sortableTable && (this.tableBody || (this.tableBody = f.selectFirstElementT("tbody", this.sortableTable)), this.originalRows = null, this.tableBody && (this.originalRows = f.selectElementsT("tr", this.tableBody), this.rebuildSortInfo())) }, g.prototype.rebuildSortInfo = function () { if (this.originalRows && this.originalRows.length && (this.columnInfos && this.columnInfos.length || this.rebuildColumnInfo(), this.columnInfos && this.columnInfos.length)) for (var r = 0, A = this.columnInfos.length; r < A; r++)if (this.columnInfos[r]) { for (var F = [], K = 0, R = this.originalRows.length; K < R; K++) { var U = new a(K, this.getSortKey(this.originalRows[K].cells[r])); F.push(U) } this.columnInfos[r].sortOrder = F } }, g.prototype.rebuildColumnInfo = function () { var r = f.selectElementsT("thead \x3e tr", this.sortableTable); this.columnInfos = []; for (var A = 0, F = r.length; A < F; A++)for (var K = this.findNextNull(this.columnInfos, 0), R = 0, U = r[A].cells.length; R < U; R++) { var ha = r[A].cells[R]; if (f.hasClass(ha, "f-sortable")) { var na = ha.firstElementChild, C = new b(ha, na); ha.setAttribute("aria-sort", "none"); na.setAttribute("data-sort-index", K.toString()); f.addClass(na, "c-glyph"); f.addEvent(na, f.eventTypes.click, this.onSortButtonClicked); f.addEvent(na, f.eventTypes.keydown, this.onSortButtonKeydown); this.columnInfos[K] = C; K = this.findNextNull(this.columnInfos, K + 1) } else if (0 === A) for (na = 0, ha = ha.colSpan; na < ha; na++)this.columnInfos.push(null), K++; else K++ } if (2 < this.columnInfos.length) for (A = r = void 0, F = 0, K = this.columnInfos; F < K.length; F++)(R = K[F]) && R.button && (r ? (A && A.button.setAttribute("tabIndex", "-1"), A = R) : r = R) }, g.prototype.findNextNull = function (r, A) { for (var F = r.length; A < F; A++)if (!r[A]) return A; return r.length }, g.prototype.reSort = function (r) { var A = this.columnInfos[parseInt(r.getAttribute("data-sort-index"), 10)], F = "ascending" !== A.header.getAttribute("aria-sort"); this.clearSortIndicators(); this.reorderTableRows(A, F); F ? (A.header.setAttribute("aria-sort", "ascending"), f.addClass(A.button, "f-ascending"), this.alertUserToSorting(f.getText(r), this.ascendingLocString)) : (A.header.setAttribute("aria-sort", "descending"), f.addClass(A.button, "f-descending"), this.alertUserToSorting(f.getText(r), this.descendingLocString)) }, g.prototype.clearSortIndicators = function () { for (var r = 0, A = this.columnInfos; r < A.length; r++) { var F = A[r]; F && (F.header.setAttribute("aria-sort", "none"), f.removeClass(F.button, "f-descending"), f.removeClass(F.button, "f-ascending")) } }, g.prototype.reorderTableRows = function (r, A) { var F = this.tableBody.rows.length; r.ensureColumnInfoIsSorted(); this.ignoreNextDOMChange = !0; for (var K = 0; K < F; K++)this.tableBody.appendChild(this.originalRows[(A ? r.sortOrder[K] : r.sortOrder[F - K - 1]).originalRowIndex]) }, g.prototype.getSortKey = function (r) { if (f.hasClass(r, "f-numerical")) { if (0 < f.selectElements('[content\x3d"0.00"]', r).length) return ""; var A = (r.textContent || r.innerText).match(g.floatRegEx); if (A) return A[0] } return (r.textContent || r.innerText).trim() }, g.selector = ".c-table", g.typeName = "Table", g.floatRegEx = /(\d+|,|\.)+/g, g }(m.ObservableComponent); u.Table = c; var a = function () { return function (e, g) { this.originalRowIndex = e; this.key = g } }(), b = function () { function e(g, r) { this.header = g; this.button = r } return e.prototype.ensureColumnInfoIsSorted = function () { this.sortOrder && !this.isSorted && (this.sortOrder.sort(function (g, r) { g = g.key; r = r.key; if (g === r) return 0; var A = parseFloat(g), F = parseFloat(r); return isNaN(A) || isNaN(F) ? g > r ? 1 : -1 : A > F ? 1 : -1 }), this.isSorted = !0) }, e.init = function (g) { q.apiDeprecated("Table.init() is deprecated, please use ComponentFactory.create() instead."); w.ComponentFactory.create([{ component: c, selector: g ? g.selector : null, eventToBind: g ? g.eventToBind : null }]) }, e }() }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(8), p(10), p(3), p(5)]; t = function (x, u, w, m, f, q) { x = function (l) { function c(a, b) { var e = this; void 0 === b && (b = null); l.call(this, a, b); this.toggleElement = a; this.toggleCheckedState = function () { e.isChecked() ? e.uncheckToggle() : e.checkToggle() }; this.update() } return I(c, l), c.prototype.update = function () { return l.prototype.update.call(this), !!this.toggleElement && (this.toggleButton = f.selectFirstElementT("button", this.toggleElement), this.toggleLabel = f.selectFirstElement("button + span", this.toggleElement), void (this.toggleLabel && this.toggleButton && (this.checkedString = this.toggleLabel.getAttribute("data-on-string"), this.uncheckedString = this.toggleLabel.getAttribute("data-off-string"), this.isDisabled() ? this.disableToggle() : this.enableToggle(), this.setToggleCheckedState(this.isChecked()), f.addEvent(this.toggleButton, f.eventTypes.click, this.toggleCheckedState), f.addEvent(this.toggleLabel, f.eventTypes.click, this.toggleCheckedState)))) }, c.prototype.teardown = function () { f.removeEvent(this.toggleButton, f.eventTypes.click, this.toggleCheckedState); f.removeEvent(this.toggleLabel, f.eventTypes.click, this.toggleCheckedState) }, c.prototype.checkToggle = function () { this.setToggleCheckedState(!0) }, c.prototype.uncheckToggle = function () { this.setToggleCheckedState(!1) }, c.prototype.isChecked = function () { return "true" === this.toggleButton.getAttribute(c.ariaChecked) }, c.prototype.enableToggle = function () { this.toggleButton.disabled = !1; f.removeClass(this.toggleElement, c.disabledClass) }, c.prototype.disableToggle = function () { this.toggleButton.disabled = !0; f.addClass(this.toggleElement, c.disabledClass) }, c.prototype.isDisabled = function () { return this.toggleButton.disabled }, c.prototype.setToggleCheckedState = function (a) { this.isDisabled() || a === this.isChecked() || (this.toggleButton.setAttribute(c.ariaChecked, a.toString()), f.setText(this.toggleLabel, a ? this.checkedString : this.uncheckedString), this.initiatePublish()) }, c.prototype.publish = function (a, b) { a.onToggled && a.onToggled({ checked: this.isChecked() }) }, c.init = function (a) { q.apiDeprecated("Toggle.init() is deprecated, please use ComponentFactory.create() instead."); m.ComponentFactory.create([{ component: c, selector: a ? a.selector : null, eventToBind: a ? a.eventToBind : null }]) }, c.selector = ".c-toggle", c.typeName = "Toggle", c.ariaChecked = "aria-checked", c.disabledClass = "f-disabled", c }(w.Publisher); u.Toggle = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(64), p(65), p(5), p(3), p(4)]; t = function (I, x, u, w, m, f, q) { I = function () { function l(c) { var a = this; if (this.videoComponent = c, this.canPlay = !1, this.errorMessageDisplayed = !1, this.onMouseEvent = function (b) { if (b = f.getEvent(b), "mouseover" === b.type) a.controlPanelTimer && window.clearTimeout(a.controlPanelTimer), a.showControlPanel(); else if ("mouseout" === b.type) { for (var e = b.toElement || b.relatedTarget; e && e.parentNode && e.parentNode !== window;) { if (e.parentNode === a || e === a) return void f.preventDefault(b); e = e.parentNode } a.startControlPanelTimeout() } }, this.onVideoMetadataLoaded = function () { a.videoControls && a.videoPlayer && (a.canPlay = !1, a.videoControls.setDuration(a.videoPlayer.duration), null !== a.videoPlayer.getAttribute("autoplay") && a.play()) }, this.onVideoTimeUpdate = function () { a.videoControls && a.videoPlayer && (a.videoControls.setPlayPosition(a.videoPlayer.currentTime), a.closedCaptions && a.closedCaptions.updateCaptions(a.videoPlayer.currentTime)) }, this.onVideoPlayStateChanged = function (b) { a.canPlay = a.canPlay || "canplay" === b.type || "canplaythrough" === b.type; a.videoControls && a.videoControls.updatePlayPauseState() }, this.onVideoPlayerClicked = function (b) { a.isPlayable && (a.isPaused() ? a.play() : a.pause()) }, this.onVideoEnded = function () { a.videoControls && (a.videoControls.setPlayPosition(0), a.videoControls.updatePlayPauseState()); a.closedCaptions && a.closedCaptions.updateCaptions(0) }, this.onResized = function () { a.videoComponent && a.triggerParagraph && (m.getDimensions(a.videoComponent).width < m.Viewports.allWidths[2] ? a.triggerParagraph.setAttribute(l.ariaHidden, "true") : a.triggerParagraph.removeAttribute(l.ariaHidden)) }, c) { if (this.videoPlayer = f.selectFirstElementT(".f-video-player", this.videoComponent), this.videoControlsContainer = f.selectFirstElement(".f-video-controls", this.videoComponent), this.videoControls = new u.VideoControls(this.videoControlsContainer, this), !this.videoPlayer || !this.videoPlayer.canPlayType) return null; this.initializeClosedCaptions(); (this.triggerContainer = f.selectFirstElement("section", this.videoComponent)) && (this.trigger = f.selectFirstElement(".c-action-trigger", this.triggerContainer), this.triggerParagraph = f.selectFirstElement("p", this.triggerContainer), this.triggerParagraph && (this.resizeListener = f.addThrottledEvent(window, f.eventTypes.resize, this.onResized), this.onResized())); this.videoControlsContainer && this.videoControls && (this.videoControls.setMuted(null !== this.videoPlayer.getAttribute("muted")), this.videoControls.setVolume(parseInt(m.getCookie(l.cookieVolume) || "1", 10)), f.addEvents(this.videoComponent, "mouseover mouseout", this.onMouseEvent), f.addEvents(this.videoPlayer, "canplay canplaythrough waiting", this.onVideoPlayStateChanged), f.addEvent(this.videoPlayer, f.eventTypes.loadedmetadata, this.onVideoMetadataLoaded), f.addEvent(this.videoPlayer, f.eventTypes.timeupdate, this.onVideoTimeUpdate), f.addEvent(this.videoPlayer, f.eventTypes.ended, this.onVideoEnded), f.addEvent(this.videoPlayer, f.eventTypes.click, this.onVideoPlayerClicked), this.startControlPanelTimeout()) } } return l.prototype.startControlPanelTimeout = function () { var c = this; this.controlPanelTimer = window.setTimeout(function () { c.hideControlPanel() }, l.controlPanelTimeout) }, l.prototype.hideControlPanel = function () { this.controlPanelTimer && window.clearTimeout(this.controlPanelTimer); this.videoControlsContainer && f.hasClass(this.videoControlsContainer, l.showControlsClass) && (f.removeClass(this.videoControlsContainer, l.showControlsClass), f.addClass(this.videoControlsContainer, l.hideControlsClass), this.ccOverlay && (f.removeClass(this.ccOverlay, l.fitControlsClass), this.closedCaptions && this.videoPlayer && this.closedCaptions.updateCaptions(this.videoPlayer.currentTime))); this.videoControls && this.videoControls.prepareToHide() }, l.prototype.showControlPanel = function () { this.videoControlsContainer && !this.errorMessageDisplayed && f.hasClass(this.videoControlsContainer, l.hideControlsClass) && (f.removeClass(this.videoControlsContainer, l.hideControlsClass), f.addClass(this.videoControlsContainer, l.showControlsClass), this.ccOverlay && (f.addClass(this.ccOverlay, l.fitControlsClass), this.closedCaptions && this.videoPlayer && this.closedCaptions.updateCaptions(this.videoPlayer.currentTime))) }, l.prototype.isPaused = function () { return !!this.videoPlayer && this.videoPlayer.paused }, l.prototype.isPlayable = function () { return !!this.videoPlayer && this.canPlay }, l.prototype.play = function () { this.videoPlayer && this.videoPlayer.play(); this.videoControls && this.videoControls.updatePlayPauseState() }, l.prototype.pause = function () { this.videoPlayer && this.videoPlayer.pause(); this.videoControls && this.videoControls.updatePlayPauseState() }, l.prototype.setPlayPosition = function (c) { m.isNumber(c) && this.videoPlayer && (c = Math.max(0, Math.min(c, m.isNumber(this.videoPlayer.duration) ? this.videoPlayer.duration : 0)), Math.abs(c - this.videoPlayer.currentTime) >= l.positionUpdateThreshold && (this.videoPlayer.currentTime = c)) }, l.prototype.getVolume = function () { return this.videoPlayer && m.isNumber(this.videoPlayer.volume) ? this.videoPlayer.volume : 0 }, l.prototype.setVolume = function (c) { m.isNumber(c) && this.videoPlayer && (c = Math.round(100 * Math.max(0, Math.min(c, 1))) / 100, c !== this.videoPlayer.volume && (this.videoPlayer.volume = c, m.setCookie(l.cookieVolume, c.toString(), "/", 365), this.videoControls && this.videoControls.setVolume(c))) }, l.prototype.isMuted = function () { return !this.videoPlayer || this.videoPlayer.muted }, l.prototype.setMuted = function (c) { this.videoPlayer && c !== this.videoPlayer.muted && (this.videoPlayer.muted = c, this.videoControls && this.videoControls.setMuted(c)) }, l.prototype.setFullscreen = function () { if (this.videoPlayer && (this.videoPlayer.requestFullscreen || this.videoPlayer.msRequestFullscreen || this.videoPlayer.mozRequestFullScreen || this.videoPlayer.webkitRequestFullscreen || this.videoPlayer.webkitSupportsFullscreen)) { var c = document.cancelFullScreen || document.msExitFullscreen || document.mozCancelFullScreen || document.webkitCancelFullScreen || document.webkitCancelFullScreen, a = this.videoPlayer.requestFullscreen || this.videoPlayer.msRequestFullscreen || this.videoPlayer.mozRequestFullScreen || this.videoPlayer.webkitRequestFullscreen || this.videoPlayer.webkitEnterFullScreen; (document.fullScreenElement || document.msFullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement) && c(); a.call(this.videoPlayer) } }, l.prototype.initializeClosedCaptions = function () { (this.ccOverlay = f.selectFirstElement(".f-video-cc-overlay", this.videoComponent)) && (this.closedCaptions = new w.VideoClosedCaptions(this.ccOverlay), this.initializeClosedCaptionsMenu()) }, l.prototype.initializeClosedCaptionsMenu = function (c) { if (this.ccOverlay && this.closedCaptions) { var a; if (!c) { c = []; var b = f.selectElementsT("ul[data-video-sub-options\x3df-video-captions] li a[data-video-selectable]", this.videoComponent); if (b) { b = b.slice(1); for (var e = 0, g = b; e < g.length; e++) { b = g[e]; var r = this.removeIdPrefix(b.parentElement.id), A = "true" === b.parentElement.getAttribute("aria-selected"); A && (a = r); c.push({ id: r, value: f.getText(b), selected: A, href: b.href }) } } } if (!c || !c.length) return void (this.ccOptions = null); (b = m.getCookie(l.cookieCcPreference)) && (a = b); e = 0; for (g = c; e < g.length; e++)b = g[e], a && (b.selected = a === b.id), b.id = this.addIdPrefix(b.id); this.ccOptions = c; this.videoControls.setOptions({ category: "f-video-captions", options: c }) } }, l.prototype.onOptionChanged = function (c) { switch (c.category) { case "f-video-captions": this.setCC(c.id); break; case "f-video-quality": this.setQuality(c.id); break; case "f-video-share": this.shareVideo(c.id) } }, l.prototype.setCC = function (c) { if (this.closedCaptions) { var a = null; if (c && this.ccOptions) for (var b = 0, e = this.ccOptions; b < e.length; b++) { var g = e[b]; if (g.id === c) { a = g; break } } c = this.removeIdPrefix(c); this.closedCaptions.setCcLanguage(c, a ? a.href : null); m.setCookie(l.cookieCcPreference, c, "/", 365) } }, l.prototype.setQuality = function (c) { }, l.prototype.shareVideo = function (c) { }, l.prototype.addIdPrefix = function (c) { var a = this.videoComponent && this.videoComponent.id ? this.videoComponent.id + "-" : null; return a && !q.startsWith(c, a, !1) ? a + c : c }, l.prototype.removeIdPrefix = function (c) { var a = this.videoComponent && this.videoComponent.id ? this.videoComponent.id + "-" : null; return a && q.startsWith(c, a, !1) ? c.substring(a.length) : c }, l.prototype.showTrigger = function () { this.triggerContainer && this.triggerContainer.setAttribute(l.ariaHidden, "false") }, l.prototype.hideTrigger = function () { this.triggerContainer && this.triggerContainer.setAttribute(l.ariaHidden, "true") }, l.prototype.displayErrorMessage = function (c) { if (c && (c.title || c.message)) { if (this.errorMessageDisplayed = !0, this.errorMessage) f.setText(this.errorMessage.title, c.title || ""), f.setText(this.errorMessage.message, c.message || ""), this.errorMessage.container.setAttribute(l.ariaHidden, "false"); else { this.errorMessage = {}; this.errorMessage.container = document.createElement("div"); var a = document.createElement("div"); this.errorMessage.title = document.createElement("p"); this.errorMessage.message = document.createElement("p"); this.errorMessage.container.setAttribute("role", "status"); this.errorMessage.title.setAttribute("class", "c-heading"); this.errorMessage.message.setAttribute("class", "c-paragraph"); c.title && f.setText(this.errorMessage.title, c.title); c.message && f.setText(this.errorMessage.message, c.message); this.errorMessage.container.appendChild(a); a.appendChild(this.errorMessage.title); a.appendChild(this.errorMessage.message); this.videoComponent.appendChild(this.errorMessage.container) } this.hideControlPanel(); this.hideTrigger() } }, l.prototype.hideErrorMessage = function () { this.errorMessage && this.errorMessage.container && (this.errorMessage.container.setAttribute(l.ariaHidden, "true"), this.errorMessageDisplayed = !1) }, l.selector = ".c-video", l.showControlsClass = "f-slidein", l.hideControlsClass = "f-slideout", l.fitControlsClass = "f-overlay-slidein", l.ariaHidden = "aria-hidden", l.cookieVolume = "vidvol", l.cookieCcPreference = "vidccpref", l.positionUpdateThreshold = .1, l.controlPanelTimeout = 3500, l }(); x.Video = I }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(10), p(58), p(5), p(3)]; t = function (I, x, u, w, m, f) { I = function () { function q(l, c) { var a = this; if (this.videoControls = l, this.onPlayPauseEvents = function (b) { "click" === b.type ? a.videoPlayer && (a.videoPlayer.isPaused() ? a.play() : a.pause()) : "mouseover" === b.type ? a.playTooltip && f.removeClass(a.playTooltip, q.screenReaderOnlyClass) : "mouseout" === b.type && a.playTooltip && f.addClass(a.playTooltip, q.screenReaderOnlyClass) }, this.onVolumeEvents = function (b) { "click" === b.type ? f.getEventTargetOrSrcElement(b) === a.volumeButton && a.setMuted(!a.videoPlayer.isMuted()) : "mouseover" === b.type || "focus" === b.type ? a.showVolumeContainer() : "mouseout" !== b.type && "blur" !== b.type || a.hideVolumeContainer() }, this.onVolumeSliderEvents = function (b) { "focus" === b.type ? a.showVolumeContainer() : "blur" === b.type && a.hideVolumeContainer() }, this.onFullScreenEvents = function (b) { "click" === b.type ? a.videoPlayer && a.videoPlayer.setFullscreen() : "mouseover" === b.type ? a.fullScreenTooltip && a.fullScreenTooltip.setAttribute(q.ariaHidden, "false") : "mouseout" === b.type && a.fullScreenTooltip && a.fullScreenTooltip.setAttribute(q.ariaHidden, "true") }, this.toggleOptionsDialog = function () { a.optionsContainer && ("false" === a.optionsContainer.getAttribute(q.ariaHidden) ? ("click" === event.type && a.hideOptionsContainer(), "mouseout" === event.type && window.setTimeout(function (b) { b.hideOptionsContainer() }, a.cleanupInterval, a)) : "true" === a.optionsContainer.getAttribute(q.ariaHidden) && ("click" !== event.type && "mouseover" !== event.type || a.showOptionsContainer())) }, this.hideOptionsContainer = function () { a.optionsContainer && a.optionsContainer.setAttribute(q.ariaHidden, "true") }, this.onOptionsDialogClick = function (b) { b = f.getEvent(b); var e = f.getEventTargetOrSrcElement(b), g = e.getAttribute("data-video-options"); if ("back" === g) return a.showOptionsContainer(), void f.preventDefault(b); if (g) return a.optionsContainer && a.odParent && (e = f.selectFirstElement("ul[data-video-sub-options\x3d" + g + "]", a.optionsContainer), f.css(e, "display", "block"), g = a.calcHeight(e), f.css(a.optionsContainer, "height", g + "px"), f.css(a.odParent, "left", "-160px"), a.odSubActive = e), void f.preventDefault(b); if (a.odSubActive && (f.preventDefault(b), b = e.getAttribute("data-video-selectable"), !b && e.firstElementChild && (e = e.firstElementChild, b = e.getAttribute("data-video-selectable")), b)) { b = 0; for (g = f.selectElements("a", a.odSubActive); b < g.length; b++)f.removeClass(g[b], "glyph-check-mark"); f.addClass(e, "glyph-check-mark"); a.videoPlayer && a.videoPlayer.onOptionChanged({ category: a.odSubActive.getAttribute("data-video-sub-options"), id: e.parentElement.id, href: e.getAttribute("href") }) } a.hideOptionsContainer() }, l && c) { this.videoPlayer = c; this.playButton = f.selectFirstElementT(".f-play-pause", this.videoControls); this.playTooltip = f.selectFirstElement("span", this.playButton); this.fullScreenButton = f.selectFirstElementT(".f-full-screen", this.videoControls); this.fullScreenTooltip = f.selectFirstElement("span", this.fullScreenButton); this.volumeButton = f.selectFirstElementT(".f-volume-button", this.videoControls); this.volumeContainer = f.selectFirstElement(".f-volume-slider", this.videoControls); this.optionsButton = f.selectFirstElementT(".f-options", this.videoControls); this.optionsContainer = f.selectFirstElement(".f-options-dialog", this.videoControls); this.timeCurrent = f.selectFirstElement(".f-current-time", this.videoControls); this.timeDuration = f.selectFirstElement(".f-duration", this.videoControls); this.cleanupInterval = 2E3; l = f.selectFirstElement(".c-slider.f-progress", this.videoControls); c = f.selectFirstElement(".c-slider", this.volumeContainer); if (!(this.playButton && this.playTooltip && this.fullScreenButton && this.fullScreenTooltip && l && this.volumeButton && this.volumeContainer && c && this.timeCurrent && this.timeDuration && this.optionsButton && this.optionsContainer)) return null; this.playButton.removeAttribute("aria-label"); this.playTooltip.removeAttribute("aria-hidden"); f.addClass(this.playTooltip, q.screenReaderOnlyClass); this.initializeLocalization(); this.updatePlayPauseState(); this.optionsDialogInit(); f.addEvents(window, "resize scroll", this.hideOptionsContainer); f.addEvents(this.playButton, "click mouseover mouseout", this.onPlayPauseEvents); f.addEvents(this.fullScreenButton, "click mouseover mouseout", this.onFullScreenEvents); f.addEvents([this.volumeButton, this.volumeContainer], "click mouseover mouseout focus blur", this.onVolumeEvents); f.addEvents(this.optionsButton, "click mouseover mouseout", this.toggleOptionsDialog); u.ComponentFactory.create([{ component: w.Slider, eventToBind: "DOMContentLoaded", elements: [l, c], callback: function (b) { b && b.length && 2 === b.length && (a.progressSlider = b[0], a.volumeSlider = b[1], a.progressSlider.subscribe({ onValueChanged: function (e) { return a.onProgressChanged(e) } }), a.volumeSlider.subscribe({ onValueChanged: function (e) { return a.onVolumeChanged(e) } }), f.addEvents(f.selectFirstElement("button", a.volumeSlider.element), "focus blur", a.onVolumeSliderEvents)) } }]) } } return q.prototype.initializeLocalization = function () { this.playButton && (this.locPlay = this.playButton.getAttribute("data-locPlay") || "Play", this.locPause = this.playButton.getAttribute("data-locPause") || "Pause") }, q.prototype.setDuration = function (l) { m.isNumber(l) && (this.progressSlider && this.progressSlider.resetSlider(0, l), this.timeDuration && (this.timeDuration.innerHTML = m.toElapsedTimeString(l))) }, q.prototype.setPlayPosition = function (l) { m.isNumber(l) && this.progressSlider && this.progressSlider.setValue(l) }, q.prototype.setVolume = function (l) { m.isNumber(l) && this.videoPlayer && (this.videoPlayer.setVolume(l), this.volumeSlider && (this.volumeSlider.setValue(Math.round(100 * l)), this.updateMuteGlyph())) }, q.prototype.setMuted = function (l) { this.videoPlayer && (this.videoPlayer.setMuted(l), this.updateMuteGlyph()) }, q.prototype.updateMuteGlyph = function () { if (this.videoPlayer && this.volumeButton) { f.removeClasses(this.volumeButton, ["glyph-volume", "glyph-mute"]); var l = this.videoPlayer.isMuted() || 0 === this.videoPlayer.getVolume(); f.addClass(this.volumeButton, l ? "glyph-mute" : "glyph-volume") } }, q.prototype.prepareToHide = function () { this.hideOptionsContainer(); this.hideVolumeContainer() }, q.prototype.onProgressChanged = function (l) { if (!l) return null; this.videoPlayer && l.userInitiated && this.videoPlayer.setPlayPosition(l.value); l = m.toElapsedTimeString(l.value); return this.timeCurrent && (this.timeCurrent.innerHTML = l), l }, q.prototype.onVolumeChanged = function (l) { if (!l) return null; this.videoPlayer && 0 < l.value && this.videoPlayer.setMuted(!1); l = Math.round(l.value); return this.setVolume(l / 100), l.toString() }, q.prototype.play = function () { this.videoPlayer && this.videoPlayer.play() }, q.prototype.pause = function () { this.videoPlayer && this.videoPlayer.pause() }, q.prototype.updatePlayPauseState = function () { this.videoPlayer && this.playButton && (this.videoPlayer.isPlayable() ? (this.playButton.removeAttribute("disabled"), this.videoPlayer.isPaused() ? (this.playTooltip && (this.playTooltip.innerHTML = this.locPlay), f.removeClass(this.playButton, "glyph-pause"), f.addClass(this.playButton, "glyph-play")) : (this.playTooltip && (this.playTooltip.innerHTML = this.locPause), f.removeClass(this.playButton, "glyph-play"), f.addClass(this.playButton, "glyph-pause"), this.prepareToHide())) : (this.playTooltip && (this.playTooltip.innerHTML = this.locPlay), f.removeClass(this.playButton, "glyph-pause"), f.addClass(this.playButton, "glyph-play"), this.playButton.setAttribute("disabled", "disabled"))) }, q.prototype.showVolumeContainer = function () { this.volumeContainer && (this.volumeContainer.setAttribute(q.ariaHidden, "false"), this.onlyOneDialog(this.volumeContainer)) }, q.prototype.hideVolumeContainer = function () { this.volumeContainer && this.volumeContainer.setAttribute(q.ariaHidden, "true") }, q.prototype.optionsDialogInit = function () { this.optionsContainer && (this.odParent = f.selectFirstElement("ul", this.optionsContainer), this.odDimensions = f.getClientRect(this.odParent), f.addEvent(this.odParent, f.eventTypes.click, this.onOptionsDialogClick)) }, q.prototype.showOptionsContainer = function () { this.optionsContainer && this.odParent && (this.optionsContainer.setAttribute(q.ariaHidden, "false"), f.css(this.optionsContainer, "height", this.odDimensions.height + "px"), f.css(this.optionsContainer, "overflowY", "hidden"), f.css(this.odParent, "left", "0"), this.odClearSubActive(), this.onlyOneDialog(this.optionsContainer)) }, q.prototype.onlyOneDialog = function (l) { this.optionsContainer && this.volumeContainer && "false" === this.optionsContainer.getAttribute(q.ariaHidden) && "false" === this.volumeContainer.getAttribute(q.ariaHidden) && (l === this.optionsContainer ? this.hideVolumeContainer() : this.hideOptionsContainer()) }, q.prototype.calcHeight = function (l) { if (!l || !this.videoControls) return 0; l = f.getClientRect(l).height; var c = f.getClientRect(this.videoControls.parentElement), a = f.getClientRect(this.videoControls); c = c.height - a.height; return l > c ? (f.css(this.optionsContainer, "overflowY", "scroll"), l = c) : f.css(this.optionsContainer, "overflowY", "hidden"), l }, q.prototype.odClearSubActive = function () { this.odSubActive && (f.css(this.odSubActive, "display", "none"), this.odSubActive = null) }, q.prototype.setOptions = function (l) { if (l && l.options && l.options.length && l.category && this.odParent) if ("info" !== l.category) { var c = "f-video-share" === l.category ? 1 : 2, a = f.selectFirstElement("ul[data-video-sub-options\x3d'" + l.category + "']", this.odParent); if (a) { var b = f.selectElements("li", a); if (b && b.length > c) { for (; b.length > c;)f.removeElement(b.pop()); b = b.pop(); 1 === c && (b = b.cloneNode(!0), f.removeClasses(b.firstElementChild, ["glyph-chevron-left", "c-glyph"]), b.firstElementChild.removeAttribute("data-video-options")); f.removeClass(b.firstElementChild, "glyph-check-mark"); for (var e = null, g = 0, r = l.options; g < r.length; g++) { c = r[g]; var A = a.appendChild(b.cloneNode(!0)); if (A.id = c.id, A.firstElementChild.innerHTML = c.value, c.selected && (e = A.firstElementChild), c.href && (A.firstElementChild.setAttribute("href", c.href), f.addClass(A.firstElementChild, c.glyph)), c.glyph && (f.addClass(A.firstElementChild, "c-glyph"), f.addClass(A.firstElementChild, c.glyph)), c.image) A = A.firstElementChild.appendChild(document.createElement("img")), f.addClass(A, "c-image"), A.setAttribute("src", c.image) } "f-video-share" !== l.category && (e || (e = b.firstElementChild), f.addClass(e, "glyph-check-mark"), this.videoPlayer && this.videoPlayer.onOptionChanged({ category: l.category, id: e.parentElement.id, href: e.getAttribute("href") })) } } } else (c = l.options[0]) && c.href && (l = f.selectFirstElementT("a", this.odParent)) && l.setAttribute("href", c.href) }, q.selector = ".f-video-controls", q.ariaHidden = "aria-hidden", q.ariaLabel = "aria-label", q.screenReaderOnlyClass = "x-screen-reader", q }(); x.VideoControls = I }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(66), p(3), p(5)]; t = function (I, x, u, w, m) { I = function () { function f(q) { this.element = q; this.lastPlayPosition = 0; this.ccLanguageId = null; this.resetCaptions() } return f.prototype.setCcLanguage = function (q, l) { if (this.element && q !== this.ccLanguageId) { if (this.ttmlContext = null, this.resetCaptions(), !l) return void (this.ccLanguageId = null); this.ccLanguageId = q; this.loadClosedCaptions(l) } }, f.prototype.loadClosedCaptions = function (q) { var l = this; if (q) { var c = new XMLHttpRequest; c.onreadystatechange = function () { 4 === c.readyState && 200 === c.status && l.onClosedCaptionsLoaded(c.responseXML || c.responseText) }; c.open("GET", q, !0); c.setRequestHeader("Accept", "text/xml, application/xml"); c.send() } }, f.prototype.onClosedCaptionsLoaded = function (q) { if (q) { this.element.setAttribute(f.ariaHidden, "false"); var l = { idPrefix: this.element.id ? this.element.id + "-" : "", fontMap: { default: "Segoe ui, Arial" }, relatedMediaObjectRegion: m.getDimensions(this.element) }; (this.ttmlContext = u.TtmlParser.parse(q, l)) && (this.ttmlContext.setOwnerDocument(this.element.ownerDocument), this.ttmlContext.hasEvents() ? this.updateCaptions(this.lastPlayPosition) : this.element.setAttribute(f.ariaHidden, "true")) } }, f.prototype.updateCaptions = function (q) { if (this.lastPlayPosition = q, this.ttmlContext && this.ttmlContext.hasEvents()) { var l = Math.floor(1E3 * q); this.element.setAttribute(f.ariaHidden, "false"); q = m.getDimensions(this.element); if (this.ttmlContext.updateRelatedMediaObjectRegion(q) && this.resetCaptions(), this.ttmlContext.updateCurrentEvents(l)) { this.element.setAttribute(f.ariaHidden, "true"); w.removeInnerHtml(this.element); q = 0; for (l = this.ttmlContext.getCues(l); q < l.length; q++) { var c = l[q]; this.applyUserPreferencesOverrides(c); this.element.appendChild(c) } this.element.setAttribute(f.ariaHidden, "false") } } }, f.prototype.resetCaptions = function () { this.ttmlContext && this.ttmlContext.resetCurrentEvents(); this.element && (this.element.setAttribute(f.ariaHidden, "true"), w.removeInnerHtml(this.element)) }, f.prototype.applyUserPreferencesOverrides = function (q) { if (f.userPreferences) { if (f.userPreferences.text) for (var l = 0, c = w.selectElements("p, span, br", q); l < c.length; l++) { var a = c[l], b; for (b in f.userPreferences.text) f.userPreferences.text.hasOwnProperty(b) && w.css(a, b, f.userPreferences.text[b]) } if (f.userPreferences.window) for (l = 0, q = w.toArray(q.children); l < q.length; l++)for (b in a = q[l], f.userPreferences.window) f.userPreferences.window.hasOwnProperty(b) && w.css(a, b, f.userPreferences.window[b]) } }, f.ariaHidden = "aria-hidden", f }(); x.VideoClosedCaptions = I }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(67), p(69), p(68), p(3), p(4)]; t = function (I, x, u, w, m, f, q) { I = function () { function l() { } return l.parse = function (c, a) { c = "string" == typeof c ? l.parseXml(c) : c; var b = new u.TtmlContext; if (b.settings = new m.TtmlSettings(a), b.root = l.verifyRoot(c, b), b.body = l.getFirstElementByTagNameNS(b.root, "body", b.settings.ttmlNamespace), b.events = [], b.styleSetCache = [], b.body) { try { l.parseTtAttrs(b); var e = l.ensureRegions(b), g = l.getAttributeNS(b.root, "timeBase", b.settings.ttmlParameterNamespace) || "media"; if (-1 !== b.settings.supportedTimeBase.indexOf(g)) { l.processAnonymousSpans(b, b.body); var r = new w.TtmlTimeParser(b.settings.mediaFrameRate, b.settings.mediaTickRate); l.applyTiming(b, b.root, { start: l.mediaStart, end: l.mediaEnd }, !0, r); l.applyStyling(b, e) } } catch (A) { } b.events.push({ time: l.mediaEnd, element: null }); b.events.sort(function (A, F) { return A.time - F.time }) } return b }, l.parseXml = function (c) { var a = null; try { if (window.DOMParser) { var b = new DOMParser; a = b.parseFromString(c, "application/xml") } else b = new ActiveXObject("Microsoft.XMLDOM"), b.async = !1, b.loadXML(c), a = b } catch (e) { a = null } return a }, l.verifyRoot = function (c, a) { var b; c = c.documentElement; return "tt" === l.getLocalTagName(c) && ("http://www.w3.org/ns/ttml" !== c.namespaceURI && (a.settings.ttmlNamespace = c.namespaceURI, a.settings.ttmlStyleNamespace = a.settings.ttmlNamespace + "#styling", a.settings.ttmlParameterNamespace = a.settings.ttmlNamespace + "#parameter", a.settings.ttmlMetaNamespace = a.settings.ttmlNamespace + "#metadata"), b = c), b }, l.parseTtAttrs = function (c) { var a = l.getAttributeNS(c.root, "cellResolution", c.settings.ttmlParameterNamespace), b = l.getAttributeNS(c.root, "extent", c.settings.ttmlStyleNamespace), e = null; if (a) { var g = q.trim(a).split(/\s+/); 2 === g.length && (a = Math.round(parseFloat(g[0])), g = Math.round(parseFloat(g[1])), 0 < g && 0 < a && (e = { rows: g, columns: a })) } if (e && (c.settings.cellResolution = e), b && "auto" !== b) e = b.split(/\s+/), 2 === e.length && "px" === e[0].substr(e[0].length - 2) && "px" === e[1].substr(e[1].length - 2) && (b = parseFloat(e[0].substr(0, e[0].length - 2)), e = parseFloat(e[1].substr(0, e[1].length - 2)), c.settings.rootContainerRegionDimensions = { width: Math.round(b), height: Math.round(e) }) }, l.ensureRegions = function (c) { c.rootContainerRegion = c.root.ownerDocument.createElementNS(c.settings.ttmlNamespace, "rootcontainerregion"); c.root.appendChild(c.rootContainerRegion); var a = c.settings.rootContainerRegionDimensions ? q.format("{0}px {1}px", c.settings.rootContainerRegionDimensions.width, c.settings.rootContainerRegionDimensions.height) : "auto"; c.rootContainerRegion.setAttributeNS(c.settings.ttmlStyleNamespace, "extent", a); (a = l.getFirstElementByTagNameNS(c.root, "head", c.settings.ttmlNamespace)) || (a = c.root.ownerDocument.createElementNS(c.settings.ttmlNamespace, "head"), c.root.appendChild(a)); c.layout = l.getFirstElementByTagNameNS(a, "layout", c.settings.ttmlNamespace); c.layout || (c.layout = c.root.ownerDocument.createElementNS(c.settings.ttmlNamespace, "layout"), c.root.appendChild(c.layout)); if (!c.layout.getElementsByTagNameNS(c.settings.ttmlNamespace, "region").length) { var b = c.root.ownerDocument.createElementNS(c.settings.ttmlNamespace, "region"); b.setAttributeNS(m.xmlNS, "id", "anonymous"); b.setAttribute("data-isanonymous", "1"); c.layout.appendChild(b); c.body.setAttributeNS(c.settings.ttmlNamespace, "region", "anonymous") } return a }, l.processAnonymousSpans = function (c, a) { if (l.isTagNS(a, "p", c.settings.ttmlNamespace)) { for (var b = [], e = void 0, g = 0, r = f.nodeListToArray(a.childNodes); g < r.length; g++) { var A = r[g]; A.nodeType === Node.TEXT_NODE && (e !== Node.TEXT_NODE && b.push([]), b[b.length - 1].push(A)); e = A.nodeType } for (A = 0; A < b.length; A++)for (e = b[A], g = c.root.ownerDocument.createElementNS(c.settings.ttmlNamespace, "span"), g.appendChild(e[0].parentNode.replaceChild(g, e[0])), r = 1; r < e.length; r++)g.appendChild(e[r]) } b = 0; for (a = f.nodeListToArray(a.childNodes); b < a.length; b++)A = a[b], this.processAnonymousSpans(c, A) }, l.applyTiming = function (c, a, b, e, g) { var r = l.getAttributeNS(a, "begin", c.settings.ttmlNamespace), A = r ? g.parse(r) : b.start, F = r = 0, K = 0, R = l.getAttributeNS(a, "dur", c.settings.ttmlNamespace), U = l.getAttributeNS(a, "end", c.settings.ttmlNamespace); R || U ? R && U ? (F = g.parse(R), K = g.parse(U), r = Math.min(Math.min(A + F, b.start + K), b.end)) : U ? (K = g.parse(U), r = Math.min(b.start + K, b.end)) : (F = g.parse(R), r = Math.min(A + F, b.end)) : e && (A <= b.end ? r = b.end : r = 0); r < A && (r = A); A = Math.floor(A); r = Math.floor(r); a.setAttribute("data-time-start", A.toString()); a.setAttribute("data-time-end", r.toString()); 0 <= A && 0 >= c.events.filter(function (ha) { return ha.time === A }).length && c.events.push({ time: A, element: a }); b = A; e = 0; for (F = f.nodeListToArray(a.childNodes); e < F.length; e++)K = F[e], K.nodeType === Node.ELEMENT_NODE && ("seq" !== l.getAttributeNS(a, "timeContainer", c.settings.ttmlNamespace) ? this.applyTiming(c, K, { start: A, end: r }, !0, g) : (this.applyTiming(c, K, { start: b, end: r }, !1, g), b = parseInt(K.getAttribute("data-time-end"), 10))) }, l.applyStyling = function (c, a) { a = (a = l.getFirstElementByTagNameNS(a, "styling", c.settings.ttmlNamespace)) ? f.nodeListToArray(a.getElementsByTagNameNS(c.settings.ttmlNamespace, "style")) : []; for (var b = 0, e = f.nodeListToArray(c.root.querySelectorAll("*")); b < e.length; b++)this.applyStyle(c, e[b], a) }, l.applyStyle = function (c, a, b) { var e = {}; this.applyStylesheet(c.settings, e, a, b); l.applyInlineStyles(c.settings, e, a); b = !0; for (var g in e) if (e.hasOwnProperty(g)) { b = !1; break } b || (a.setAttribute("data-styleSet", c.styleSetCache.length.toString()), c.styleSetCache.push(e)) }, l.applyStylesheet = function (c, a, b, e) { for (var g = l.getAttributeNS(b, "style", c.ttmlNamespace), r = 0, A = g ? g.split(/\s+/) : []; r < A.length; r++)for (var F = A[r], K = 0, R = e; K < R.length; K++)g = R[K], l.getAttributeNS(g, "id", m.xmlNS) === F && (this.applyStylesheet(c, a, g, e), l.applyInlineStyles(c, a, g)); if (l.isTagNS(b, "region", c.ttmlNamespace)) for (e = 0, b = f.nodeListToArray(b.getElementsByTagNameNS(c.ttmlNamespace, "style")); e < b.length; e++)g = b[e], l.applyInlineStyles(c, a, g) }, l.applyInlineStyles = function (c, a, b) { var e = 0; for (b = f.nodeListToArray(b.attributes); e < b.length; e++) { var g = b[e]; g.namespaceURI === c.ttmlStyleNamespace && (a[l.getLocalTagName(g)] = q.trim(g.nodeValue)) } }, l.getLocalTagName = function (c) { return c.localName || c.baseName }, l.isTagNS = function (c, a, b) { return c.namespaceURI === b && this.getLocalTagName(c) === a }, l.getAttributeNS = function (c, a, b) { var e = c.getAttributeNS(b, a); if (!e) { var g = 0; for (c = f.nodeListToArray(c.attributes); g < c.length; g++) { var r = c[g]; if (r.localName === a && r.lookupNamespaceURI(r.prefix) === b) { e = r.value; break } } } return e }, l.getFirstElementByTagNameNS = function (c, a, b) { return c && (c = c.getElementsByTagNameNS(b, a)) && c.length ? c[0] : null }, l.mediaStart = -1, l.mediaEnd = 99999999, l }(); x.TtmlParser = I }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(66), p(68), p(3), p(4), p(5)]; t = function (I, x, u, w, m, f, q) { I = function () { function l() { var c = this; this.translateToHtml = function (a, b, e) { var g, r = c.getTagNameEquivalent(a), A = "", F = ""; switch (r) { case "ttml:region": F = "cue "; case "ttml:rootcontainerregion": case "ttml:body": case "ttml:div": A = "div"; break; case "ttml:p": A = "p"; break; case "ttml:span": A = "span"; break; case "ttml:br": A = "br" }var K = u.TtmlParser.getAttributeNS(a, "role", c.settings.ttmlMetaNamespace); K && (F += " " + K); var R = u.TtmlParser.getAttributeNS(a, "agent", c.settings.ttmlMetaNamespace); if (R && (F += " " + R), "x-ruby" === K ? A = "ruby" : "x-rubybase" === K ? A = "rb" : "x-rubytext" === K && (A = "rt"), !f.isNullOrWhiteSpace(A)) { var U = l.defaultStyle(c.ownerDocument.createElement(A)); m.addClass(U, f.trim(F)); (A = u.TtmlParser.getAttributeNS(a, "title", c.settings.ttmlMetaNamespace)) && U.setAttribute("title", A); (a = u.TtmlParser.getAttributeNS(a, "id", w.xmlNS)) && c.settings.idPrefix && U.setAttribute("id", c.settings.idPrefix + a); "ttml:region" === r && (g = U.appendChild(l.defaultStyle(c.ownerDocument.createElement("div"))), m.css(g, "display", "table"), m.css(g, "border-spacing", "0"), m.css(g, "cell-spacing", "0"), m.css(g, "cell-padding", "0"), m.css(g, "width", "100%"), m.css(g, "height", "100%"), g = g.appendChild(l.defaultStyle(c.ownerDocument.createElement("div"))), m.css(g, "display", "table-cell"), b.displayAlign && (c.translateStyle(r, g, { displayAlign: b.displayAlign }), b.displayAlign = null)); e && "ttml:span" === r && (g = U.appendChild(l.defaultStyle(c.ownerDocument.createElement("span"))), m.css(g, "white-space", "pre")); m.css(U, "position", "static"); m.css(U, "width", "100%"); c.translateStyle(r, U, b) } return { outerNode: U, innerNode: g ? g : U } } } return l.prototype.setOwnerDocument = function (c) { this.ownerDocument = c }, l.prototype.updateRelatedMediaObjectRegion = function (c) { return (!this.settings.relatedMediaObjectRegion || c.width !== this.settings.relatedMediaObjectRegion.width || c.height !== this.settings.relatedMediaObjectRegion.height) && (this.settings.relatedMediaObjectRegion = { width: c.width, height: c.height }, !0) }, l.prototype.hasEvents = function () { return this.events && !!this.events.length }, l.prototype.resetCurrentEvents = function () { this.currentEvents = [] }, l.prototype.updateCurrentEvents = function (c) { var a = this.getTemporallyActiveEvents(c), b = this.currentEvents ? this.currentEvents.length : 0; if (b !== (a ? a.length : 0)) return this.currentEventsTime = c, this.currentEvents = a, !0; if (this.currentEvents) for (var e = 0; e < b; e++)if (this.currentEvents[e].time !== a[e].time) return this.currentEventsTime = c, this.currentEvents = a, !0; return !1 }, l.prototype.getTemporallyActiveEvents = function (c) { var a = this; return this.events.filter(function (b) { return !b.element || a.isTemporallyActive(b.element, c) }) }, l.prototype.isTemporallyActive = function (c, a) { return (parseInt(c.getAttribute("data-time-start"), 10) || 0) <= a && a < (parseInt(c.getAttribute("data-time-end"), 10) || 0) }, l.prototype.getCues = function (c) { var a = []; this.currentEventsTime !== c && this.updateCurrentEvents(c); for (var b = "preserve" === u.TtmlParser.getAttributeNS(this.root, "space", w.xmlNS), e = 0, g = this.layout ? this.layout.getElementsByTagNameNS(this.settings.ttmlNamespace, "region") : []; e < g.length; e++) { var r = g[e], A = u.TtmlParser.getAttributeNS(r, "id", w.xmlNS), F = r.getAttribute("data-isanonymous"); if (F || A) { var K = this.translate(r, this.settings.defaultRegionStyle, b, c, this.translateToHtml); if (K.outerNode) { r = K.innerNode; for (var R = K.outerNode, U = 0, ha = this.events; U < ha.length; U++) { var na = ha[U]; if (na.element && this.isInRegion(na.element, F ? null : A)) { na = this.prune(na.element, K.inheritableStyleSet, b, c, this.translateToHtml); var C = na.prunedElement; na.hasPreservedContent || !C || f.trim(m.getText(C)).length || (C = null); C && r.appendChild(C) } } ((A = "always" === R.getAttribute("data-showBackground")) || r.children.length) && (A && R.removeAttribute("data-showBackground"), a.push(R)) } } } if (a.length) { c = this.translate(this.rootContainerRegion, { overflow: "hidden", padding: "0" }, !1, c, this.translateToHtml); for (b = 0; b < a.length; b++)c.innerNode.appendChild(a[b]); a = []; a.push(c.outerNode) } return a }, l.prototype.translate = function (c, a, b, e, g) { var r; if (this.isTemporallyActive(c, e)) { var A = this.getTagNameEquivalent(c); if (r = this.getComputedStyleSet(c, a, A, e), "none" !== r.display) { a = this.getApplicableStyleSet(r, A); var F = g(c, a, b) } } return F ? { outerNode: F.outerNode, innerNode: F.innerNode, inheritableStyleSet: this.getInheritableStyleSet(r) } : { outerNode: null, innerNode: null, inheritableStyleSet: null } }, l.prototype.translateStyle = function (c, a, b) { for (var e in b) b[e] && this.applyStyle(a, c, e, b[e]) }, l.prototype.prune = function (c, a, b, e, g, r) { void 0 === r && (r = !1); var A = !1, F = this.translate(c, a, b, e, g); if (null !== F.outerNode) { var K = this.getTagNameEquivalent(c); var R = F.outerNode; for (var U = F.innerNode, ha = 0, na = m.nodeListToArray(c.childNodes); ha < na.length; ha++) { var C = na[ha]; if (C.nodeType !== Node.COMMENT_NODE) if (C.nodeType === Node.TEXT_NODE) U.appendChild(document.createTextNode(C.data)), b && "ttml:span" === K && (A = !0); else { var O = b, T = u.TtmlParser.getAttributeNS(C, "space", w.xmlNS); T && (O = "preserve" === T); C = this.prune(C, F.inheritableStyleSet, O, e, g, !0); A = A || C.hasPreservedContent; C.prunedElement && U.appendChild(C.prunedElement) } } if (!r) for (c = c.parentNode; null !== c && c.nodeType === Node.ELEMENT_NODE && c !== this.body && (F = this.translate(c, a, b, e, g), F.outerNode);)U = F.innerNode, U.appendChild(R), R = F.outerNode, c = c.parentNode } return { prunedElement: R, hasPreservedContent: A } }, l.prototype.getComputedStyleSet = function (c, a, b, e) { a = q.extend({}, a); q.extend(a, this.styleSetCache[parseInt(c.getAttribute("data-styleSet"), 10)]); var g = c.getElementsByTagNameNS(this.settings.ttmlNamespace, "set"), r = 0; for (g = m.nodeListToArray(g); r < g.length; r++) { var A = g[r]; this.isTemporallyActive(A, e) && u.TtmlParser.applyInlineStyles(this.settings, a, A) } "ttml:p" === b && "normal" === a.lineHeight && (c = this.appendSpanFontSizes(c, this.getInheritableStyleSet(a), e, "")) && (a["computed-lineHeight"] = c); return a }, l.prototype.getApplicableStyleSet = function (c, a) { var b = {}; c.extent && this.isStyleApplicable(a, "extent") && (b.extent = c.extent); c.color && this.isStyleApplicable(a, "color") && (b.color = c.color); for (var e in c) this.isStyleApplicable(a, e) && (b[e] = c[e]); return b }, l.prototype.isStyleApplicable = function (c, a) { switch (a) { case "backgroundColor": case "display": case "visibility": return 0 <= "ttml:body ttml:div ttml:p ttml:region ttml:rootcontainerregion ttml:span ttml:br".indexOf(c); case "fontFamily": case "fontSize": case "fontStyle": case "fontWeight": return 0 <= "ttml:p ttml:span ttml:br".indexOf(c); case "color": case "textDecoration": case "textOutline": case "wrapOption": return 0 <= "ttml:span ttml:br".indexOf(c); case "direction": case "unicodeBidi": return 0 <= "ttml:p ttml:span ttml:br".indexOf(c); case "displayAlign": case "opacity": case "origin": case "overflow": case "padding": case "showBackground": case "writingMode": case "zIndex": return 0 <= "ttml:region ttml:rootcontainerregion".indexOf(c); case "extent": return 0 <= "ttml:tt ttml:region ttml:rootcontainerregion".indexOf(c); case "computed-lineHeight": case "lineHeight": case "textAlign": return 0 <= "ttml:p".indexOf(c); default: return !1 } }, l.prototype.getInheritableStyleSet = function (c) { var a = {}, b; for (b in c) if (c.hasOwnProperty(b)) switch (b) { case "backgroundColor": case "computed-lineHeight": case "display": case "displayAlign": case "extent": case "opacity": case "origin": case "overflow": case "padding": case "showBackground": case "unicodeBidi": case "writingMode": case "zIndex": break; default: a[b] = c[b] }return a }, l.prototype.appendSpanFontSizes = function (c, a, b, e) { var g = 0; for (c = m.nodeListToArray(c.childNodes); g < c.length; g++) { var r = c[g]; if (r.nodeType === Node.ELEMENT_NODE && "ttml:span" === this.getTagNameEquivalent(r)) { var A = this.getComputedStyleSet(r, a, "ttml:span", b), F = A.fontSize; F && (e += (e ? "," : "") + F); e = this.appendSpanFontSizes(r, this.getInheritableStyleSet(A), b, e) } } return e }, l.prototype.isInRegion = function (c, a) { if (!a) return !0; var b = u.TtmlParser.getAttributeNS(c, "region", this.settings.ttmlNamespace); if (b === a) return !0; if (!b) { for (b = c.parentNode; null !== b && b.nodeType === Node.ELEMENT_NODE;) { var e = this.getRegionId(b); if (e) return e === a; b = b.parentNode } b = 0; for (c = m.nodeListToArray(c.getElementsByTagName("*")); b < c.length; b++)if (this.getRegionId(c[b]) === a) return !0 } return !1 }, l.prototype.getRegionId = function (c) { var a; return c.nodeType === Node.ELEMENT_NODE && c.namespaceURI === this.settings.ttmlNamespace && (a = "region" === u.TtmlParser.getLocalTagName(c) ? u.TtmlParser.getAttributeNS(c, "id", w.xmlNS) : u.TtmlParser.getAttributeNS(c, "region", this.settings.ttmlNamespace)), a }, l.prototype.getTagNameEquivalent = function (c) { var a = u.TtmlParser.getLocalTagName(c); c = c.namespaceURI; return c === this.settings.ttmlNamespace ? "ttml:" + a : "http://www.w3.org/1999/xhtml" === c ? a : "" }, l.prototype.applyStyle = function (c, a, b, e) { var g = e; switch (b) { case "color": case "backgroundColor": return g = l.ttmlToCssColor(e), void m.css(c, b, g); case "direction": case "display": return void m.css(c, b, g); case "displayAlign": switch (e) { case "before": g = "top"; break; case "center": g = "middle"; break; case "after": g = "bottom" }return void m.css(c, "vertical-align", g); case "extent": return a = g = void 0, "auto" !== e && (e = e.split(/\s+/), 2 === e.length && (g = this.ttmlToCssUnits(e[0], !0), a = this.ttmlToCssUnits(e[1], !1))), g || (g = (this.settings.rootContainerRegionDimensions ? this.settings.rootContainerRegionDimensions.width : this.settings.relatedMediaObjectRegion.width).toString() + "px", a = (this.settings.rootContainerRegionDimensions ? this.settings.rootContainerRegionDimensions.height : this.settings.relatedMediaObjectRegion.height).toString() + "px"), m.css(c, "position", "absolute"), m.css(c, "width", g), m.css(c, "min-width", g), m.css(c, "max-width", g), m.css(c, "height", a), m.css(c, "min-height", a), void m.css(c, "max-height", a); case "fontFamily": return this.settings.fontMap && this.settings.fontMap[e] && (g = this.settings.fontMap[e]), "smallCaps" === e && m.css(c, "fontVariant", "small-caps"), void m.css(c, b, g); case "fontSize": return e = e.split(/\s+/), g = this.ttmlToCssFontSize(1 < e.length ? e[1] : e[0], !1, .75, "ttml:region" === a), void m.css(c, b, g); case "fontStyle": case "fontWeight": return void m.css(c, b, g); // CodeQL [SM03077] This is auto-generated code from cascade environment and the value of indexof is validated. case "lineHeight": return g = "normal" === e ? e : this.ttmlToCssFontSize(e, !1), void m.css(c, "line-height", g); case "computed-lineHeight": b = -1; var r = 0; for (e = e.split(","); r < e.length; r++)if (g = this.ttmlToCssFontSize(e[r], !1), g && g.indexOf("px") === g.length - 2) a = parseFloat(g.substr(0, g.length - 2)), !isNaN(a) && a > b && (b = a); return void (0 <= b && m.css(c, "line-height", b + "px")); case "origin": "auto" !== e && (e = e.split(/\s+/), 2 === e.length && (m.css(c, "position", "absolute"), m.css(c, "left", this.ttmlToCssUnits(e[0], !0)), m.css(c, "top", this.ttmlToCssUnits(e[1], !1)))); break; case "opacity": return void m.css(c, b, g); case "padding": a = q.getDimensions(c); e = e.split(/\s+/); switch (e.length) { case 1: g = this.ttmlToCssUnits(e[0], !1, a); b = this.ttmlToCssUnits(e[0], !0, a); g = f.format("{0} {1} {0} {1}", g, b); break; case 2: g = this.ttmlToCssUnits(e[0], !1, a); b = this.ttmlToCssUnits(e[1], !0, a); g = f.format("{0} {1} {0} {1}", g, b); break; case 3: g = this.ttmlToCssUnits(e[0], !1, a); b = this.ttmlToCssUnits(e[1], !0, a); r = this.ttmlToCssUnits(e[2], !1, a); g = f.format("{0} {1} {2} {1}", g, b, r); break; case 4: g = this.ttmlToCssUnits(e[0], !1, a), b = this.ttmlToCssUnits(e[1], !0, a), r = this.ttmlToCssUnits(e[2], !1, a), e = this.ttmlToCssUnits(e[3], !0, a), g = f.format("{0} {1} {2} {3}", g, b, r, e) }return m.css(c, "box-sizing", "border-box"), m.css(c, "border-style", "solid"), m.css(c, "border-color", "transparent"), void m.css(c, "border-width", g); case "textAlign": switch (e) { case "start": g = "left"; break; case "end": g = "right" }return void m.css(c, "text-align", g); case "textDecoration": return g = l.ttmlToCssTextDecoration(e), void m.css(c, "text-decoration", g); case "textOutline": return void m.css(c, "text-shadow", this.ttmlToCssTextOutline(g)); case "unicodeBidi": switch (e) { case "bidiOverride": g = "bidi-override" }return void m.css(c, "unicode-bidi", g); case "visibility": return void m.css(c, b, g); case "writingMode": switch (e) { case "lr": case "lrtb": return m.css(c, "writing-mode", "horizontal-tb"), m.css(c, "-webkit-writing-mode", "horizontal-tb"), void m.css(c, "writing-mode", "lr-tb"); case "rl": case "rltb": return m.css(c, "writing-mode", "horizontal-tb"), m.css(c, "-webkit-writing-mode", "horizontal-tb"), void m.css(c, "writing-mode", "rl-tb"); case "tblr": return m.css(c, "text-orientation", "upright"), m.css(c, "writing-mode", "vertical-lr"), m.css(c, "-webkit-text-orientation", "upright"), m.css(c, "-webkit-writing-mode", "vertical-lr"), void m.css(c, "writing-mode", "tb-lr"); case "tb": case "tbrl": return m.css(c, "text-orientation", "upright"), m.css(c, "writing-mode", "vertical-rl"), m.css(c, "-webkit-text-orientation", "upright"), m.css(c, "-webkit-writing-mode", "vertical-rl"), void m.css(c, "writing-mode", "tb-rl") }break; case "wrapOption": return void m.css(c, "white-space", "noWrap" === e ? "nowrap" : "pre" === e ? "pre" : "normal"); case "zIndex": return void m.css(c, b, g); default: return void m.css(c, b, g) } }, l.defaultStyle = function (c) { return m.css(c, "background-color", l.TtmlNamedColorMap.transparent), m.css(c, "offset", "0"), m.css(c, "margin", "0"), m.css(c, "padding", "0"), m.css(c, "border", "0"), c }, l.prototype.ttmlToCssUnits = function (c, a, b) { var e = c; if (c) { var g = c.charAt(c.length - 1); if ("c" === g || "%" === g) { e = this.settings.rootContainerRegionDimensions ? this.settings.rootContainerRegionDimensions : this.settings.relatedMediaObjectRegion; c = parseFloat(c.substr(0, c.length - 1)); e = a ? e.width : e.height; var r = void 0; "c" === g ? r = c * e / (a ? this.settings.cellResolution.columns : this.settings.cellResolution.rows) : "%" === g && (b && (e = a ? b.width : b.height), r = e * c / 100); r = Math.round(10 * r) / 10; e = r + "px" } } return e }, l.prototype.ttmlToCssFontSize = function (c, a, b, e) { void 0 === b && (b = 1); void 0 === e && (e = !1); var g = c; if (c) { var r = c.charAt(c.length - 1); if ("c" === r || e && "%" === r) e = this.settings.rootContainerRegionDimensions ? this.settings.rootContainerRegionDimensions : this.settings.relatedMediaObjectRegion, c = parseFloat(c.substr(0, c.length - 1)) * (a ? e.width : e.height) / (a ? this.settings.cellResolution.columns : this.settings.cellResolution.rows), "%" === r && (c /= 100), c = Math.floor(c * b * 10) / 10, g = c + "px" } return g }, l.prototype.ttmlToCssTextOutline = function (c) { var a = "none"; if (!f.isNullOrWhiteSpace(c) && "none" !== c) { var b = c.split(/\s+/), e = c = void 0; if (1 === b.length) { c = $(this).css("color"); e = b[0]; var g = "" } else if (3 === b.length) c = b[0], e = b[1], g = b[2]; else if (2 === b.length) { var r = b[0].charAt(0); "0" <= r && "9" >= r ? (c = $(this).css("color"), e = b[0], g = b[1]) : (c = b[0], e = b[1], g = "") } if (g = this.ttmlToCssFontSize(g, !1, .75), e = this.ttmlToCssFontSize(e, !1, .75), b = l.lengthRegEx.exec(e), b && 3 === b.length) { e = Math.round(parseFloat(b[1])); b = b[2]; a = ""; for (r = -e; r <= e; r++)for (var A = -e; A <= e; A++)0 === r && 0 === A || (a += f.format("{0}{4} {1}{4} {2} {3}, ", r, A, g, l.ttmlToCssColor(c), b)); a && (a = a.substr(0, a.length - 2)) } } return a }, l.ttmlToCssTextDecoration = function (c) { var a = ""; c = c.split(/\s+/); for (var b = 0; b < c.length; b++) { var e = c[b]; switch (e) { case "none": case "noUnderline": case "noLineThrough": case "noOverline": a = "none" } } for (b = 0; b < c.length; b++)switch (e = c[b], e) { case "none": case "noUnderline": case "noLineThrough": case "noOverline": break; case "lineThrough": a += " line-through"; break; default: a += " " + e }return f.trim(a) }, l.ttmlToCssColor = function (c) { var a = c; if (c = c.toLowerCase(), 0 === c.indexOf("rgba")) { if ((c = l.rgbaRegEx.exec(c)) && 5 === c.length) { a = c[1]; var b = c[2], e = c[3]; c = parseInt(c[4], 10); a = f.format("rgba({0},{1},{2},{3})", a, b, e, Math.round(100 * c / 255) / 100) } } else "#" === c.charAt(0) && 9 === c.length ? (a = parseInt(c.substr(1, 2), 16), b = parseInt(c.substr(3, 2), 16), e = parseInt(c.substr(5, 2), 16), c = parseInt(c.substr(7, 2), 16), a = f.format("rgba({0},{1},{2},{3})", a, b, e, Math.round(100 * c / 255) / 100)) : l.TtmlNamedColorMap[c] && (a = l.TtmlNamedColorMap[c]); return a }, l.lengthRegEx = /\s*(\d+\.*\d*)(.*)\s*/, l.rgbaRegEx = /\s*rgba\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*\)\s*/, l.TtmlNamedColorMap = { transparent: "rgba(0,0,0,0)", black: "rgba(0,0,0,1)", silver: "rgba(192,192,192,1)", gray: "rgba(128,128,128,1)", white: "rgba(255,255,255,1)", maroon: "rgba(128,0,0,1)", red: "rgba(255,0,0,1)", purple: "rgba(128,0,128,1)", fuchsia: "rgba(255,0,255,1)", magenta: "rgba(255,0,255,1)", green: "rgba(0,128,0,1)", lime: "rgba(0,255,0,1)", olive: "rgba(128,128,0,1)", yellow: "rgba(255,255,0,1)", navy: "rgba(0,0,128,1)", blue: "rgba(0,0,255,1)", teal: "rgba(0,128,128,1)", aqua: "rgba(0,255,255,1)", cyan: "rgba(0,255,255,1)" }, l }(); x.TtmlContext = I }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(5)]; t = function (I, x, u) { x.xmlNS = "http://www.w3.org/XML/1998/namespace"; I = function () { return function (w) { this.ttmlNamespace = "http://www.w3.org/ns/ttml"; this.ttmlStyleNamespace = "http://www.w3.org/ns/ttml#styling"; this.ttmlParameterNamespace = "http://www.w3.org/ns/ttml#parameter"; this.ttmlMetaNamespace = "http://www.w3.org/ns/ttml#metadata"; this.idPrefix = ""; this.mediaFrameRate = 30; this.mediaSubFrameRate = this.mediaFrameRateMultiplier = 1; this.mediaTickRate = 1E3; this.supportedTimeBase = "media"; this.cellResolution = { rows: 15, columns: 32 }; this.defaultRegionStyle = { backgroundColor: "transparent", color: "#E8E9EA", direction: "ltr", display: "auto", displayAlign: "before", extent: "auto", fontFamily: "default", fontSize: "1c", fontStyle: "normal", fontWeight: "normal", lineHeight: "normal", opacity: "1", origin: "auto", overflow: "hidden", padding: "0", showBackground: "always", textAlign: "start", textDecoration: "none", textOutline: "none", unicodeBidi: "normal", visibility: "visible", wrapOption: "noWrap", writingMode: "lrtb", zIndex: "auto" }; this.fontMap = {}; this.fontMap.default = "Lucida sans typewriter, Lucida console, Consolas"; this.fontMap.monospaceSerif = "Courier"; this.fontMap.proportionalSerif = "Times New Roman, Serif"; this.fontMap.monospaceSansSerif = "Lucida sans typewriter, Lucida console, Consolas"; this.fontMap.proportionalSansSerif = "Arial, Sans-serif"; this.fontMap.casual = "Verdana"; this.fontMap.cursive = "Zapf-Chancery, Segoe script, Cursive"; this.fontMap.smallCaps = "Arial, Helvetica"; this.fontMap.monospace = "Lucida sans typewriter, Lucida console, Consolas"; this.fontMap.sansSerif = "Arial, Sans-serif"; this.fontMap.serif = "Times New Roman, Serif"; w && u.extend(this, w) } }(); x.TtmlSettings = I }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { t = function (I, x) { I = function () { function u(w, m) { this.mediaFrameRate = w; this.mediaTickRate = m } return u.prototype.parse = function (w) { if (!w) return 0; var m = u.absoluteTimeRegex.exec(w); if (m && 3 < m.length) { w = 3600 * parseInt(m[1], 10); var f = 60 * parseInt(m[2], 10), q = parseInt(m[3], 10), l = 0; return m[5] && (l = 1E3 * parseFloat(m[4])), m[6] && (l = Math.round(parseFloat(m[6]) * this.getTimeUnitMultiplier("f"))), 1E3 * (w + f + q) + l } return (m = u.relativeTimeRegex.exec(w)) && 3 < m.length ? Math.round(parseFloat(m[1]) * this.getTimeUnitMultiplier(m[3])) : 0 }, u.prototype.getTimeUnitMultiplier = function (w) { switch (w) { case "h": return 36E5; case "ms": return 1; case "m": return 6E4; case "s": return 1E3; case "f": return 1E3 / this.mediaFrameRate; case "t": return 1E3 / this.mediaTickRate; default: return 0 } }, u.absoluteTimeRegex = /^(\d{1,}):(\d{2}):(\d{2})((\.\d{1,})|:(\d{2,}(\.\d{1,})?))?$/, u.relativeTimeRegex = /^(\d+(\.\d+)?)(ms|[hmsft])$/, u }(); x.TtmlTimeParser = I }.apply(t, [p, t]); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { p = [p, t, p(10), p(6), p(7), p(9), p(71), p(12), p(15), p(14), p(16), p(17), p(18), p(19), p(20), p(21), p(22), p(24), p(25), p(26), p(28), p(29), p(31), p(32), p(33), p(34), p(35), p(42), p(36), p(1), p(43), p(44), p(45), p(47), p(41), p(48), p(50), p(51), p(52), p(54), p(56), p(55), p(39), p(57), p(58), p(59), p(60), p(61), p(62), p(11), p(63)]; t = function (I, x, u, w, m, f, q, l, c, a, b, e, g, r, A, F, K, R, U, ha, na, C, O, T, aa, pa, X, ea, fa, Ba, hb, sb, tb, Qa, za, Ha, ab, La, Ja, ja, xb, db, N, S, da, Y, ma, qa, Ma, xa, la) { I = function () { return function () { } }(); x.ComponentAutoInitializer = I; u.ComponentFactory.create([{ c: w.ActionBar }, { c: m.ActionMenu }, { c: f.ActionToggle }, { c: l.Alert, selector: ".c-alert, .m-alert" }, { c: q.AmbientVideo }, { c: a.BackToTop, selector: ".c-back-to-top, .m-back-to-top" }, { c: c.Button }, { c: b.Checkbox }, { c: e.ChoiceSummary }, { c: g.Combo }, { c: r.CompareChart, selector: ".c-compare-chart, .m-compare-chart" }, { c: A.ContentToggle }, { c: F.DateTimePicker }, { c: K.DeviceActions }, { c: R.Dialog }, { c: U.Drawer }, { c: ha.FeedHeroItem }, { c: na.File }, { c: C.Flyout }, { c: O.HeroItem, selector: ".c-hero, .m-hero-item" }, { c: T.ImmersiveHeroItem }, { c: aa.InPageNavigation, selector: ".c-in-page-navigation, .m-in-page-navigation" }, { c: pa.MosaicPlacement }, { c: X.MultiFeature }, { c: ea.MultiHeroItem }, { c: fa.MultiSlideCarousel }, { c: Ba.NavigationMenu }, { c: hb.NavigationBar }, { c: sb.PageBar }, { c: tb.PageBehaviors }, { c: Qa.Pagination, selector: ".c-pagination, .m-pagination" }, { c: za.Pivot }, { c: Ha.ProductPlacement }, { c: ab.RangeSlider }, { c: La.Rating }, { c: Ja.RefineMenu }, { c: ja.Select }, { c: xb.SelectButton }, { c: db.SelectMenu, selector: ".c-select-menu, .c-select-menu .c-menu-item.f-sub-menu" }, { c: N.SequenceIndicator, selector: ".context-sequence-indicator, .c-sequence-indicator" }, { c: S.SingleSlideCarousel }, { c: da.Slider }, { c: Y.Social, selector: ".c-social, .m-social" }, { c: ma.SupplementalNavigation, selector: ".c-supplemental-nav, .m-supplemental-nav" }, { c: qa.Table }, { c: Ma.Toggle }, { c: xa.Tooltip }, { c: la.Video, eventToBind: "DOMContentLoaded" }]) }.apply(t, p); !(void 0 !== t && (B.exports = t)) }, function (B, t, p) { var I = this && this.__extends || function (x, u) { function w() { this.constructor = x } for (var m in u) u.hasOwnProperty(m) && (x[m] = u[m]); x.prototype = null === u ? Object.create(u) : (w.prototype = u.prototype, new w) }; p = [p, t, p(3), p(2)]; t = function (x, u, w, m) { x = function (f) { function q(l) { f.call(this, l); this.observer = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver; l && this.update() } return I(q, f), q.prototype.update = function () { var l = this; this.htmlRoot = w.selectFirstElement("html"); this.videoElement = w.selectFirstElement("video", this.element); var c = { attributes: !0, childList: !0, characterData: !0 }; "undefined" != typeof MutationObserver ? (this.observer = new MutationObserver(function (a) { a.forEach(function (b) { l.checkReduceMotion() }) }), this.observer.observe(this.htmlRoot, c)) : w.addEvent(document, w.eventTypes.DOMNodeInserted, this.reduceMotion); this.checkReduceMotion() }, q.prototype.checkReduceMotion = function () { w.hasClass(this.htmlRoot, "context-set-motion-limited") && this.reduceMotion() }, q.prototype.reduceMotion = function () { this.videoElement.hasAttribute("autoplay") && this.videoElement.removeAttribute("autoplay"); this.videoElement.hasAttribute("loop") && this.videoElement.removeAttribute("loop"); this.videoElement.pause() }, q.prototype.teardown = function () { "undefined" != typeof MutationObserver ? this.observer.disconnect() : w.removeEvent(document, w.eventTypes.DOMNodeInserted, this.reduceMotion) }, q.selector = ".m-ambient-video", q.typeName = "AmbientVideo", q }(m.ObservableComponent); u.AmbientVideo = x }.apply(t, p); !(void 0 !== t && (B.exports = t)) }]), LeftPosition = 150, TopPosition = 150; function AddLinkPreview(B) { B = B.find("a"); var t = GetQueryString("CollectionId"); /[a-zA-Z0-9-]*/.test(t) && 0 < B.length && null != t && B.each(function () { if (0 == $(this).attr("href").indexOf("/") && 0 < t.length && 0 > $(this).attr("href").indexOf("CollectionId")) { var p = $(this).attr("href"); p = -1 != p.indexOf("?") ? p + "\x26CollectionId\x3d" + GetQueryString("CollectionId") : p + "?CollectionId\x3d" + GetQueryString("CollectionId"); $(this).attr("href", p) } }) } var GetQueryString = function (B) { B = new RegExp("(^|\x26)" + B + "\x3d([^\x26]*)(\x26|$)", "i"); B = encodeURI(window.location.search).substr(1).match(B); return null != B ? unescape(B[2]) : null }, GetPageName = function (B) { var t = -1 == B.indexOf("?") ? !1 : !0, p = B.lastIndexOf("/"); return t ? (t = B.indexOf("?"), B.substr(p + 1, t - p - 1)) : B.substr(p + 1) }, SetERUrl = function (B, t, p) { if (0 < B.indexOf("?")) { var I = B.indexOf("?") - B.lastIndexOf("/"); B.substr(B.lastIndexOf("/") + 1, I - 1) } else B.substr(B.lastIndexOf("/") + 1); return 0 < B.indexOf("FY") ? (I = B.substr(B.lastIndexOf("/") - 10, 10), 2008 >= parseInt(t) ? B.replace(I, "FY-" + t) : B.replace(I, "FY-" + t + "-" + p)) : B }, IRNav = function (B) { $.extend({}, { step: "", menuER: [], menuFinancial: [] }, B); (function (t) { if (null != t && 0 < t.length) { var p; $(".js-cat-head a").each(function () { p = $(this).attr("href"); 0 < p.indexOf("?") ? p += "\x26CollectionId\x3d" + t : p += "?CollectionId\x3d" + t; $(this).attr("href", p) }) } })(GetQueryString("CollectionId")) }, IRNavEarnings = function (B) { var t = this, p = $.extend({}, { ERMenu: [], FinancialMenu: [], headerId: "MSInvestorOldEarningsHeader" }, B), I = { getPeriod: function () { var x = encodeURI(window.location.href), u = /FY-[0-9]{4}-Q[1-4]/, w = /\/earnings\/FY-[0-9]{4}\//, m = /FY-[0-9]{4}/; /\/earnings\/FY-[0-9]{4}-Q[1-4]/.test(x) ? (x = u.exec(x).toString().split("-"), t.pageYear = x[1], t.pageQuarter = x[2]) : w.test(x) && (x = m.exec(x).toString().split("-"), t.pageYear = x[1], t.pageQuarter = "") }, SetEarningsUrl: function () { if (null != t.pageYear && null != t.pageQuarter) { var x = ""; $("a[id^\x3dm-er]").each(function () { x = SetERUrl($(this).attr("href"), t.pageYear, t.pageQuarter); $(this).attr("href", x) }) } }, init: function () { var x = p.headerId; null != x && 0 <= x.toLowerCase().indexOf("msinvestoroldearningsheader") && (I.getPeriod(), I.SetEarningsUrl()) } }; I.init() }; function InitialTrendedSubMenu(B) { var t = $(".thirdMenu #trendedSubMenu"), p = "", I = encodeURI(window.location.href); -1 < I.indexOf("earnings/trended") && (p = B); B = window.location.pathname; B = B.substring(B.lastIndexOf("/") + 1); for (var x, u = 0; u < p.length; u++) { var w = $("\x3cli\x3e"), m = $("\x3ca\x3e"); m.text(p[u].text.replace("\x26amp;", "\x26")); x = I.replace(B, p[u].href); m.attr("href", x).attr("title", p[u].text.replace("\x26amp;", "\x26")); p[u].current && w.addClass("current"); w.append(m); t.append(w) } } function InitialTrendedSubMenuMobile(B) { var t = $("#trendedSubMenu_dropdown"), p = encodeURI(window.location.href), I = window.location.pathname; I = I.substring(I.lastIndexOf("/") + 1); var x = p, u = ""; -1 < p.indexOf("earnings/trended") && (u = B); for (B = 0; B < u.length; B++)if (u[B].current) t.find("a.f-dropdown-link").text(u[B].text); else { var w = $("\x3cli class\x3d'c-menu-item' role\x3d'menuitem'\x3e\x3c/li\x3e"); t.find("ul").append(w); var m = $("\x3ca aria-checked\x3d'false' role\x3d'menuitemradio'\x3e" + u[B].text + "\x3c/a\x3e"); x = p.replace(I, u[B].href); m.attr("href", x).attr("title", u[B].text.replace("\x26amp;", "\x26")); w.append(m) } t.find("a.f-dropdown-link").click(function () { var f = t.find("ul").attr("aria-hidden"); "true" == f ? t.find("ul").attr("aria-hidden", "false") : "false" == f && t.find("ul").attr("aria-hidden", "true") }) } var InitialFourthMenu = function (B) { if (B) for (var t = $(".fourthMenuItems"), p = 0; p < B.length; p++)if (!B[p].flag) { var I = $("\x3cli\x3e"), x = $("\x3ca class\x3d'c-hyperlink'\x3e"); var u = encodeURI(window.location.href); var w = window.location.pathname; w = w.substr(w.lastIndexOf("/") + 1); u = u.replace(w, B[p].href); x.attr("href", u).attr("aria-label", B[p].text.replace("\x26amp;", "\x26")); B[p].supertext ? (x.html(B[p].text), u = $("\x3csup style\x3d'font-size: 8px; vertical-align: super;'\x3e " + B[p].supertext + "\x3c/sup\x3e"), x.append(u)) : x.html(B[p].text); B[p].current && x.addClass("current"); I.append(x); t.append(I) } }; function FourthMenuInMobile(B, t) { if (B) { t = encodeURI(window.location.href); var p = window.location.pathname; p = p.substring(p.lastIndexOf("/") + 1); for (var I, x = 0; x < B.length; x++)if (B[x].current) $("#FourthMenuList").parent().find("a.f-dropdown-link").text(B[x].text.replace("\x26amp;", "\x26")).css("font-weight", "bold"); else { var u = $("\x3cli class\x3d'c-menu-item' role\x3d'menuitem'\x3e\x3c/li\x3e"); $("#FourthMenuList").append(u); var w = $("\x3ca aria-checked\x3d'false' role\x3d'menuitemradio'\x3e" + B[x].text + "\x3c/a\x3e"); I = t.replace(p, B[x].href); w.attr("href", I).attr("title", B[x].text.replace("\x26amp;", "\x26")); u.append(w) } } } function AddTitleToFrame(B) { void 0 == B.attr("title") && B.attr("title", "video player for events") } $(function () { var B = $("#playerframeFAM, #playerframe, #msnVideoPlayer-innerdiv-oneplayer"); AddTitleToFrame(B) }); var IRKPI = function () { $(".kpitable .c-table tbody tr").hover(function () { $(this).addClass("selected") }, function () { $(this).removeClass("selected") }); $(".kpitable .c-table tbody th \x3e a").click(function () { var B = Number($(this).parents("tr").attr("id").substr(1)); var t = $(this).parents("th").attr("class"); var p = 0; $(".kpitable .c-table tbody tr"); if (0 < t.indexOf(" ")) { t = t.split(" "); for (var I = 0; I < t.length; I++)0 == t[I].indexOf("p") && (p = Number(t[I].substr(1))) } else t = t.substr(1), p = Number(t); "true" == $(this).attr("aria-expanded") ? (t = "hidden", $(this).attr("aria-expanded", "false")) : ($(this).attr("aria-expanded", "true"), t = ""); for (B += 1; null != document.getElementById("C" + B); B++) { var x = $("#C" + B).find("th").attr("class"), u = 0; if (0 < x.indexOf(" ")) for (x = x.split(" "), I = 0; I < x.length; I++)0 == x[I].indexOf("p") && (u = Number(x[I].substr(1))); else x = x.substr(1), u = Number(x); if (u > p) "" == t ? ($("#C" + B).removeClass("hidden"), $("#C" + B).find("a").attr("aria-expanded", "true")) : ($("#C" + B).addClass(t), $("#C" + B).find("a").attr("aria-expanded", "false")); else return !1 } }) }; $(function () { $("#DownloadItem a").attr("target", "_blank"); $(".financialTable tr th:first-child img").attr("src", "https://cdn-dynmedia-1.microsoft.com/is/image/microsoftcorp/TagMouseOut"); var B = $(".imgTagsToggle"), t = $("#DownloadItem"), p = $("\x3cdiv\x3e\x3c/div\x3e"); p.css("float", "right"); t.appendTo(p); B.appendTo(p); p.appendTo(".financialHeader_middle"); $("#financialTable a").each(function () { var I = $(this).text().replace(/\s+/g, " "); $(this).attr("aria-label", I) }) }); function hiliteRow(B) { var t = B.getElementsByTagName("th"); for (i = 0; i < t.length; i++)t[i].className += " highlight"; B = B.getElementsByTagName("td"); for (i = 0; i < B.length; i++)B[i].className += " highlight" } function unhiliteRow(B) { var t = B.getElementsByTagName("th"); for (i = 0; i < t.length; i++)unhilite(t[i]); B = B.getElementsByTagName("td"); for (i = 0; i < B.length; i++)unhilite(B[i]) } function unhilite(B) { null != B && (B.className = B.className.split("highlight").join("")) } function hiliteIconForFS(B) { hiliteRow(B.parentNode); B.getElementsByTagName("img")[0].src = "https://cdn-dynmedia-1.microsoft.com/is/image/microsoftcorp/TagMouseOver" } function unhiliteIconForFS(B) { unhiliteRow(B.parentNode); B.getElementsByTagName("img")[0].src = "https://cdn-dynmedia-1.microsoft.com/is/image/microsoftcorp/TagMouseOut" } function doPopup(B) { var t = getUrlParam("CollectionId"); /[a-zA-Z0-9-]*/.test(t) && null != t && "" != t && (0 > B.indexOf("?") ? B += "?CollectionId\x3d" + t : B += "\x26CollectionId\x3d" + t); window.open(B, "FSPop", "height\x3d550,width\x3d740,top\x3d150,left\x3d150status\x3dfalse,toolbar\x3dno,menubar\x3dno,location\x3dno,resizable\x3dyes,scrollbars\x3dyes").focus() } function gotoURL(B) { var t = window.location.href, p = window.location.pathname; p = p.substr(p.lastIndexOf("/") + 1); -1 < B.indexOf("/") && (B = B.substr(B.lastIndexOf("/") + 1).replace(".aspx", "")); var I = t.replace(p, B); I = 0 < I.indexOf("fi\x3d1") ? I.substring(0, I.indexOf("fi\x3d1") - 1) : t.replace(p, B); window.location.href = encodeURI(I) } function getUrlParam(B) { B = new RegExp("(^|\x26)" + B + "\x3d([^\x26]*)(\x26|$)"); B = window.location.search.substr(1).match(B); return null != B ? unescape(B[2]) : null } var tipDivForFS, objForFS1, prevtoolTipText = null, tagClicked = !1, clickedObj = null; function showDescriptorForFS(B, t, p, I, x) { prevtoolTipText != t && (p || window.clearTimeout(timeoutForFS), null == tipDivForFS && (tipDivForFS = document.createElement("div"), tipDivForFS.className = "fsTextDis", tipDivForFS.id = "textDescriptorsForFS", tipDivForFS.style.fontSize = "90%", tipDivForFS.style.position = "absolute", document.body.appendChild(tipDivForFS)), objForFS1 = B, I = 0, null != B && (I = B.offsetHeight), tipDivForFS.style.top = getAbsoluteTop(B) + I + 2 + "px", tipDivForFS.style.left = getAbsoluteLeft(B) + 25 + "px", tipDivForFS.style.display = "block", tipDivForFS.style.zIndex = "10000", tipDivForFS.innerHTML = t, tipDivForFS.setAttribute("aria-label", t), p || (timeoutForFS = window.setTimeout(hideDescriptor, 4500)), prevtoolTipText = t) } function getAbsoluteTop(B) { if (null == B) return 0; var t = B.offsetTop; null != B.offsetParent && (t += getAbsoluteTop(B.offsetParent)); return t } function getAbsoluteLeft(B) { if (null == B) return 0; var t = B.offsetLeft; null != B.offsetParent && (t += getAbsoluteLeft(B.offsetParent)); return t } function hideDescriptor() { null != tipDivForFS && (tipDivForFS.style.display = "none", objForFS1 = prevtoolTipText = null) } function windownResize() { if (null != tipDivForFS && "block" == tipDivForFS.style.display) { var B = 0; null != objForFS1 && (B = objForFS1.offsetHeight); tipDivForFS.style.top = getAbsoluteTop(objForFS1) + B + 2 + "px"; tipDivForFS.style.left = getAbsoluteLeft(objForFS1) + 25 + "px" } } function IsPrintVersion() { return -1 != window.location.search.indexOf("pf\x3dtrue") ? !0 : !1 } function addImgEventListener() { if (window.navigator.msPointerEnabled) for (var B = document.getElementById("financialTable").rows, t = 0; t < B.length; t++)-1 < B[t].cells[0].innerHTML.indexOf("\x3cimg") && (B[t].cells[0].children(0).addEventListener("MSPointerOver", function (p) { p.pointerType == p.MSPOINTER_TYPE_MOUSE && (this.src = "https://cdn-dynmedia-1.microsoft.com/is/image/microsoftcorp/TagMouseOver", showTag(this, this.attributes.getNamedItem("text").nodeValue, this.attributes.getNamedItem("val").nodeValue, this.attributes.getNamedItem("lvalue").nodeValue), webtrendsForXBRLTag(this.attributes.getNamedItem("text").nodeValue)) }), B[t].cells[0].children(0).addEventListener("MSPointerOut", function (p) { p.pointerType == p.MSPOINTER_TYPE_MOUSE && hideTag(this) }), B[t].cells[0].addEventListener("MSPointerDown", function (p) { p.pointerType == p.MSPOINTER_TYPE_TOUCH && (p = this.children[0], p.src = "https://cdn-dynmedia-1.microsoft.com/is/image/microsoftcorp/TagMouseOver", showTag(p, p.attributes.getNamedItem("text").nodeValue, p.attributes.getNamedItem("val").nodeValue, p.attributes.getNamedItem("lvalue").nodeValue), webtrendsForXBRLTag(p.attributes.getNamedItem("text").nodeValue), clickShowTag(p)) }), B[t].cells[0].children(0).addEventListener("MSPointerDown", function (p) { p.pointerType == p.MSPOINTER_TYPE_MOUSE && clickShowTag(this) })); else $("#financialTable tr th img").each(function () { $(this).parent().click(function (p) { p = $(this).children()[0]; p.src = "https://cdn-dynmedia-1.microsoft.com/is/image/microsoftcorp/TagMouseOver"; showTag(p, p.attributes.getNamedItem("text").nodeValue, p.attributes.getNamedItem("val").nodeValue, p.attributes.getNamedItem("lvalue").nodeValue); webtrendsForXBRLTag(p.attributes.getNamedItem("text").nodeValue); clickShowTag(p) }); $(this).hover(function (p) { this.src = "https://cdn-dynmedia-1.microsoft.com/is/image/microsoftcorp/TagMouseOver"; showTag(this, this.attributes.getNamedItem("text").nodeValue, this.attributes.getNamedItem("val").nodeValue, this.attributes.getNamedItem("lvalue").nodeValue); webtrendsForXBRLTag(this.attributes.getNamedItem("text").nodeValue) }, function (p) { hideTag(this) }) }) } $(function () { $("#financialTable").delegate("th", "focus blur", function () { $(this).mouseout(); $(this).siblings().mouseout() }); $("#financialTable tr th img").attr("alt", "XBRL tag"); $("#financialTable tr th img").attr("aria-label", "XBRL tag"); $("#financialTable tr th img").parent().attr("tabIndex", "0"); $("#financialTable tr th img").parent().bind("keydown", function (B) { $(this).mouseover(); 13 == (window.event ? event.keyCode : B.which) && 9 != B.keyCode && (window.navigator.msPointerEnabled ? (B = $(this).children()[0], B.src = "https://cdn-dynmedia-1.microsoft.com/is/image/microsoftcorp/TagMouseOver", showTag(B, B.attributes.getNamedItem("text").nodeValue, B.attributes.getNamedItem("val").nodeValue, B.attributes.getNamedItem("lvalue").nodeValue), webtrendsForXBRLTag(B.attributes.getNamedItem("text").nodeValue), clickShowTag(B)) : $(this).click()) }); $("#financialTable tr th img").parent().bind("keyup", function (B) { $(this).mouseout() }) }); function clickShowTag(B) { tagClicked = !tagClicked; clickedObj = B; hideTag(B) } function showTag(B, t, p, I) { null != clickedObj && clickedObj != B && (clickedObj.src = "https://cdn-dynmedia-1.microsoft.com/is/image/microsoftcorp/TagMouseOut", tagClicked = !1, clickedObj = null); ifTagTogglePin(document.getElementById("showTagButton")) && showDescriptorForFS(B, t, 1, p, I) } function hideTag(B) { tagClicked || (B.src = "https://cdn-dynmedia-1.microsoft.com/is/image/microsoftcorp/TagMouseOut", hideDescriptor()) } function webtrendsForXBRLTag(B) { "undefined" != typeof $.bi && "undefined" != typeof $.bi.dataConsumers && "undefined" != typeof $.bi.dataConsumers.webtrends && "undefined" != typeof $.bi.dataConsumers.webtrends.WebTrends && $.bi.dataConsumers.webtrends.WebTrends.dcsMultiTrack("DCS.dcsuri", window.location.pathname, "WT.ti", "IRFinancialStatements", "WT.inv_event", B, "WT.dl", "7") }; // SIG // Begin signature block // SIG // MIIo2wYJKoZIhvcNAQcCoIIozDCCKMgCAQExDzANBglg // SIG // hkgBZQMEAgEFADB3BgorBgEEAYI3AgEEoGkwZzAyBgor // SIG // BgEEAYI3AgEeMCQCAQEEEBDgyQbOONQRoqMAEEvTUJAC // SIG // AQACAQACAQACAQACAQAwMTANBglghkgBZQMEAgEFAAQg // SIG // gDeBm9ZRWvYDPAOoG/qB7wsVeDeZ9MKbYbgPZxbcp0ug // SIG // gg3DMIIGrTCCBJWgAwIBAgITMwAAANMCiNhpvd8CCQAA // SIG // AAAA0zANBgkqhkiG9w0BAQwFADBiMQswCQYDVQQGEwJV // SIG // UzEeMBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9u // SIG // MTMwMQYDVQQDEypBenVyZSBSU0EgUHVibGljIFNlcnZp // SIG // Y2VzIENvZGUgU2lnbmluZyBQQ0EwHhcNMjYwMzA1MTkw // SIG // NjE5WhcNMjcwMzAzMTkwNjE5WjCBgjELMAkGA1UEBhMC // SIG // VVMxEzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcT // SIG // B1JlZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jw // SIG // b3JhdGlvbjEsMCoGA1UEAxMjQXp1cmUgUHVibGljIFNl // SIG // cnZpY2VzIFJTQSBDb2RlIFNpZ24wggGiMA0GCSqGSIb3 // SIG // DQEBAQUAA4IBjwAwggGKAoIBgQDJrDsZxGHNBYj5RPkR // SIG // yGEIGZlcCQkqE7SdGa6c2FPAMGu1JLqHur8qNWjR5swe // SIG // kMMn0WSz2+QE0c848wHvqVVLpWV+Un3Q01Dnyzjifae4 // SIG // h+kzhQTUIhX2rKQbGHdqBe7LXyCgkfDrTNLXsI1xAXAw // SIG // A42Ar+PpVd1ktqLSsM6pwqrM/FFfEizl9h5gtrEIZODp // SIG // +jo9vESxKvHGp/Ifca7e/IluDeJffP4ME/fFtUzUCLH/ // SIG // IweugiUcsaTmewSny4odYLtmZK/zpBuPjGTLpUnn4HMy // SIG // WXLUSOFlgvFrLKCPZxbNxXxBo5EUquzrFbpg9NmQVipJ // SIG // QsKDSKNHluTwNicItFpZpiPMc7Y2LG11dNAil3yJEBLF // SIG // MQ/5RqQptcWmgSKoG8Tx7x+RCYQj4Sjl2yJt+4OykVn9 // SIG // /kQ5wo6v6TmIHHZsKdmgIkMCKBuIRcB2FaGwLY+UGMP1 // SIG // xmiwIaekgjUgVwXX8Kv/2SYI9XXrjyUME4NLj0JTBIO7 // SIG // YX201gYYOL8CAwEAAaOCAbkwggG1MA4GA1UdDwEB/wQE // SIG // AwIHgDAfBgNVHSUEGDAWBggrBgEFBQcDAwYKKwYBBAGC // SIG // N1sBATAdBgNVHQ4EFgQU6DIfaqBAAm33/QFJGYifZUeQ // SIG // B3AwRQYDVR0RBD4wPKQ6MDgxHjAcBgNVBAsTFU1pY3Jv // SIG // c29mdCBDb3Jwb3JhdGlvbjEWMBQGA1UEBRMNNDY5OTgx // SIG // KzUwNzE4MTAfBgNVHSMEGDAWgBTxL7qRFnzefVInMfV6 // SIG // +9VYWWk6PTBvBgNVHR8EaDBmMGSgYqBghl5odHRwOi8v // SIG // d3d3Lm1pY3Jvc29mdC5jb20vcGtpb3BzL2NybC9BenVy // SIG // ZSUyMFJTQSUyMFB1YmxpYyUyMFNlcnZpY2VzJTIwQ29k // SIG // ZSUyMFNpZ25pbmclMjBQQ0EuY3JsMHwGCCsGAQUFBwEB // SIG // BHAwbjBsBggrBgEFBQcwAoZgaHR0cDovL3d3dy5taWNy // SIG // b3NvZnQuY29tL3BraW9wcy9jZXJ0cy9BenVyZSUyMFJT // SIG // QSUyMFB1YmxpYyUyMFNlcnZpY2VzJTIwQ29kZSUyMFNp // SIG // Z25pbmclMjBQQ0EuY3J0MAwGA1UdEwEB/wQCMAAwDQYJ // SIG // KoZIhvcNAQEMBQADggIBAKJEWoxuo4PDUOPrpeqZZBdc // SIG // EBjIoYQZjSvEIMTd0fcf89rWN/fr6cbAs3fZtR1LQ2kR // SIG // Wo2mYixmAQpm6ijAYu3Qg+/NIHofviOVCDqHmaQGEiwi // SIG // oBsb7Et9V7B9rqsksJslTyCJUJYuIXaKv37suPC7cFpX // SIG // aaWaNLn0juz1sPKdklvTO23fwcahgRO9nqd9gTi9j6dw // SIG // /nEJURWo32dl+rxdylnuRd6RHpkJKdlPVXRrr/ZL8sby // SIG // akoCUN4zNVivUMLmUspYRJIV2TpkZonQnrmTm6TpXGVg // SIG // Cjj56duTzVa/GRAKLVBHNm8je6esjgoswv6eHmYkmgJR // SIG // jvZ+eHNloLnXfqByg3CxJ0Gd+nja5RTavYplIc9zfOgq // SIG // Ng5e6NW8E0Q/AI115WfpM+ncWenWqdPs1YLinyUdRDxi // SIG // DTmhYTyN1p3FojGtyM+mrQVIvC2l8zQr/LNCTvz/dj2h // SIG // WqsF/7SDnK4wE812YAp6pPfgtr6BfVD0LMJu+s6f2PXe // SIG // oLskA4Ac2PoJz5N7FmeY7Wn5shZBf4hOqCJssd5ZBpUb // SIG // tGYh3iCnQSJP9EokoxVxe7D5HmkqTRNnXqIDQ5zW6bL3 // SIG // SDCYFEG5EWtqV9Ytd0Mjplx/s5+w1TnYbXIKbPzi4Hnb // SIG // 3Xr0m8YnMuVyhmxGyHZ2CjMpQclgocs2QNsOyr7evLGD // SIG // MIIHDjCCBPagAwIBAgITMwAAAAKyxJOIeFns0wAAAAAA // SIG // AjANBgkqhkiG9w0BAQwFADBbMQswCQYDVQQGEwJVUzEe // SIG // MBwGA1UEChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSww // SIG // KgYDVQQDEyNNaWNyb3NvZnQgUlNBIFNlcnZpY2VzIFJv // SIG // b3QgQ0EgMjAyMTAeFw0yMTA5MDIxNzQxMTlaFw0zNjA5 // SIG // MDIxNzUxMTlaMGIxCzAJBgNVBAYTAlVTMR4wHAYDVQQK // SIG // ExVNaWNyb3NvZnQgQ29ycG9yYXRpb24xMzAxBgNVBAMT // SIG // KkF6dXJlIFJTQSBQdWJsaWMgU2VydmljZXMgQ29kZSBT // SIG // aWduaW5nIFBDQTCCAiIwDQYJKoZIhvcNAQEBBQADggIP // SIG // ADCCAgoCggIBAKXd/Sy91nFgseVJOFgeRhVxrcahyp1Y // SIG // GSN0FpOEgEREVb3ND/QgI7I0yd7XG6OE8Vomr5FMxvK8 // SIG // TvJ4Lc6LP9BDz2GSa1M0LlzHKX757/24C0ZndzccA1qQ // SIG // i00+BmmOr4plmxRzTFv4Phdw8yBPF9GDvClqV8ASvvbi // SIG // tfjaD7dVPOFLb7N7fvt/qWogGN5eis0FXCqVJdmPZZaX // SIG // 2h4iG0otsAhfq8yvSlJ0YwO4i5GDeLQwTsMN1Rf2UAHQ // SIG // KCUYkFsLSQ0mqbaRbDZhB+2pFL/q/c2a6hlHLnapYyfw // SIG // lNFXkDhwAFWEzfwFHER2oR42UayfN9tsO/p2tWk33Crn // SIG // HdndJDrIZ6oQ3D+Ngol/TR8BAgXCIM6se6YlLDTsxRwh // SIG // 9QUDq7KVhKy58HGKJUqwgIW0E7cvlzUl0Hft/ebhALZy // SIG // FDkhof9C5Cq4c/486XLjQq0nbuKsFNhQU0yvABR3eohw // SIG // 63Kps66Uma48oE0JmqOxmzrPvrITYcsnByKleiHn+4yq // SIG // +Ts/KrtqkQwQcuikMPrZwXCtsYkxMUyUn8gr8oew22WD // SIG // eIQECAM1Cz9TcdJadsrToKqXQa2bAn/AABAYyogPPONf // SIG // GvojTI3DlYD42etMa/gPeZJavX+z7x8d/4eYBnJ9WFSi // SIG // 9q0v+vLOGc3fyM2KQtq5eVbHX5rVyWc6bJ35AgMBAAGj // SIG // ggHCMIIBvjAQBgkrBgEEAYI3FQEEAwIBADAdBgNVHQ4E // SIG // FgQU8S+6kRZ83n1SJzH1evvVWFlpOj0wVAYDVR0gBE0w // SIG // SzBJBgRVHSAAMEEwPwYIKwYBBQUHAgEWM2h0dHA6Ly93 // SIG // d3cubWljcm9zb2Z0LmNvbS9wa2lvcHMvRG9jcy9SZXBv // SIG // c2l0b3J5Lmh0bTAZBgkrBgEEAYI3FAIEDB4KAFMAdQBi // SIG // AEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUwAwEB // SIG // /zAfBgNVHSMEGDAWgBQODLFkab0tsdVrJqZH6lZOgMPt // SIG // ijBmBgNVHR8EXzBdMFugWaBXhlVodHRwOi8vd3d3Lm1p // SIG // Y3Jvc29mdC5jb20vcGtpb3BzL2NybC9NaWNyb3NvZnQl // SIG // MjBSU0ElMjBTZXJ2aWNlcyUyMFJvb3QlMjBDQSUyMDIw // SIG // MjEuY3JsMHMGCCsGAQUFBwEBBGcwZTBjBggrBgEFBQcw // SIG // AoZXaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3BraW9w // SIG // cy9jZXJ0cy9NaWNyb3NvZnQlMjBSU0ElMjBTZXJ2aWNl // SIG // cyUyMFJvb3QlMjBDQSUyMDIwMjEuY3J0MA0GCSqGSIb3 // SIG // DQEBDAUAA4ICAQBin7PMBnXjnIJ0x++LnudLDWWnZ8dZ // SIG // mJ14DuZfUss/doUThLAM4crrHaTbJoulUUELNd2AnOpX // SIG // /Z4tenUMT3sjYIdPYyJfIYWPRqfI6Nbz+JVK7RRvn2nl // SIG // 5EEMIuRE6UKS9ZGBbf02a7sb04E/7BN/NhhrmtS/tVFj // SIG // fRrrVh9zXku45rqWuCwUTzg3EqxKQ8OGbtjBQtq/Syb/ // SIG // clm5BHsoh3XhMnb9VLv3G1duNf90FL5/o88XZ4L18nx1 // SIG // lfky2nllY4HIA8PK8AarqAW4iKSTA3EGqn8s/47WtQKT // SIG // +qED2YbZXVOYL+L7vQDCnFbwhgAx6ucuMz7Ae1rqibg3 // SIG // AjsC7U5M3oA/vqAHDKDA3mdM5D6L/ZEdQgaG20HhUOSQ // SIG // +CiQD3TyHSiVCfVMuTv83IiKCni3LW/23tHC2tbN57rl // SIG // hMcoyjIi+IVd7j7s41MFBaDwJrmfXn/YM+lR/5QqvO7z // SIG // WAbbr/XU531v3jr/jBilmrqt6U/b7y8TXyA9nYxV9iSM // SIG // FmcbyIi2xgdcAHhxnpXcvcvyFWET6YiJiyeSJZwwJv8g // SIG // wXiBF+Zh0IHArl6KVsbAdsATuP1TCEBpPynXZmkviIEW // SIG // Ptnv315ZjTC7nPoOpSnOVaO7wZztrOefZunI5fBxw7mG // SIG // 1oyoRnADZawiFsVo9J/cDu15ErRCfDQRhwSiBTGCGnAw // SIG // ghpsAgEBMHkwYjELMAkGA1UEBhMCVVMxHjAcBgNVBAoT // SIG // FU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEzMDEGA1UEAxMq // SIG // QXp1cmUgUlNBIFB1YmxpYyBTZXJ2aWNlcyBDb2RlIFNp // SIG // Z25pbmcgUENBAhMzAAAA0wKI2Gm93wIJAAAAAADTMA0G // SIG // CWCGSAFlAwQCAQUAoIGuMBkGCSqGSIb3DQEJAzEMBgor // SIG // BgEEAYI3AgEEMBwGCisGAQQBgjcCAQsxDjAMBgorBgEE // SIG // AYI3AgEVMC8GCSqGSIb3DQEJBDEiBCBo7+hbaSuofyCS // SIG // WklpJjWUlp93WkDakWYuN2+dJZ6d4TBCBgorBgEEAYI3 // SIG // AgEMMTQwMqAUgBIATQBpAGMAcgBvAHMAbwBmAHShGoAY // SIG // aHR0cDovL3d3dy5taWNyb3NvZnQuY29tMA0GCSqGSIb3 // SIG // DQEBAQUABIIBgH2qVZ2IsrPwHpHrAQu4LQ7yiEtWeb+t // SIG // vEcfhDcRSWYo7uNqby35Ne7vLSLaTng/iA++jYo9NOuP // SIG // I/UHLNNmgCMevUq0Ax+W/HdD4dd6XRH6+6VvGNdR8uSj // SIG // 8xOaJ867tgdKMrldx6bllgMVfxCfZChJMzksZPpvH4fK // SIG // a6Tfkp6jo/oCNU+Y/lUshHloKTVwGsJpzg4Xr2GE4Wym // SIG // 949LY9G4SGiKmja89eZZjeKaawlGJeUioa9LdbahCLOf // SIG // irSBYHW5A+WDt44OkHkvTS/WE3r0hAtKBtGOWeCjm2uL // SIG // NQdK+evPUEeOltkfkoDIjcn60N1qBsGaIPH8bUwnvQ+j // SIG // bOCFy9UtlcZrFqcjB0MhYWTWXm4E4pV9v1sTRf5KXpH5 // SIG // 2fQvWx+KLMcFesOS9ZsK7DVgV9NgH8ixQVhwYm7g3j5l // SIG // FDwkVZeHkwBybarVY/xa3mlykGTtTxYiqu1aZUFYhThc // SIG // ZCk5PIALaudWQb0iYkiuG04mE4d5A2tPd9Z1NfqJW6GC // SIG // F5cwgheTBgorBgEEAYI3AwMBMYIXgzCCF38GCSqGSIb3 // SIG // DQEHAqCCF3AwghdsAgEDMQ8wDQYJYIZIAWUDBAIBBQAw // SIG // ggFSBgsqhkiG9w0BCRABBKCCAUEEggE9MIIBOQIBAQYK // SIG // KwYBBAGEWQoDATAxMA0GCWCGSAFlAwQCAQUABCBk7pL7 // SIG // 5/Nlho+3mZAzZFrICw4EQl5MCu7W4y/NisPXawIGaftH // SIG // NZUOGBMyMDI2MDUwNzA0MjcxOC4yMTFaMASAAgH0oIHR // SIG // pIHOMIHLMQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2Fz // SIG // aGluZ3RvbjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UE // SIG // ChMVTWljcm9zb2Z0IENvcnBvcmF0aW9uMSUwIwYDVQQL // SIG // ExxNaWNyb3NvZnQgQW1lcmljYSBPcGVyYXRpb25zMScw // SIG // JQYDVQQLEx5uU2hpZWxkIFRTUyBFU046MzMwMy0wNUUw // SIG // LUQ5NDcxJTAjBgNVBAMTHE1pY3Jvc29mdCBUaW1lLVN0 // SIG // YW1wIFNlcnZpY2WgghHtMIIHIDCCBQigAwIBAgITMwAA // SIG // AiEzwDX70g8hpAABAAACITANBgkqhkiG9w0BAQsFADB8 // SIG // MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv // SIG // bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj // SIG // cm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNy // SIG // b3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMDAeFw0yNjAy // SIG // MTkxOTM5NTRaFw0yNzA1MTcxOTM5NTRaMIHLMQswCQYD // SIG // VQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3RvbjEQMA4G // SIG // A1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWljcm9zb2Z0 // SIG // IENvcnBvcmF0aW9uMSUwIwYDVQQLExxNaWNyb3NvZnQg // SIG // QW1lcmljYSBPcGVyYXRpb25zMScwJQYDVQQLEx5uU2hp // SIG // ZWxkIFRTUyBFU046MzMwMy0wNUUwLUQ5NDcxJTAjBgNV // SIG // BAMTHE1pY3Jvc29mdCBUaW1lLVN0YW1wIFNlcnZpY2Uw // SIG // ggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDb // SIG // cTACqU1YvRocyWL2PL9fyf/+ULs2qK7U1aZsRnDZSnlC // SIG // r7K7jgA3eFCEJL5BZ7dUTC0DeZepf+ZC+7HEbB4IdzmJ // SIG // fQAUDFFerqY5VTHmQvP2XA3lWSFj740idcGUHglP5H/P // SIG // bCJU7GAHWP2HdcCjdx1lYAo0A+zLI7xwnTQeMyOXX212 // SIG // Eg4UmDPPJgxdTMw6WFVWsBPWRBi5gDixy2s+7R8ADk5l // SIG // bBBFDB5h0CjrNWIN7uCAzF5g7trrL8nXIKp10mj9Rxhc // SIG // GQ+tlht6VIvdygRVTUGdzFB2/nBvJqQ9kxxFltQST70f // SIG // Edx4TyaKow/f5+BSh4z4/9f7NXIVVTLn/8kcJAfRqFmR // SIG // rrFt3IKby7VrzmYuoQWD0lmNFtGQ57BrJkPrPFAPek1A // SIG // Ltcbb7FH3nQpvi8ngz/MFX/+cnmNFWFU29VVLmzB9XvL // SIG // ZxbYvkeett0mh5lfteeN2rEwUyrdrKufz9h2S6pbate+ // SIG // C2h02CrXwSka0x6ezpTmGkIJLFt25ub/UYXNLdHdsxGD // SIG // 6EfckOIoJYsm4MS9F/vSqLNHK89I0vTLBngQEp6LIFkI // SIG // NanRT3PtNx3pNKRKJRALc6L6mhW4hL4aHL749qPfQ72t // SIG // 5qAMm5xiKYMgJ2WanidRLNuI251JIN7raaeA/2vb0XFk // SIG // ZcIbTR1pfQGsco4U0g5tjwIDAQABo4IBSTCCAUUwHQYD // SIG // VR0OBBYEFOYjIs5qa6pfuquPyyK1FTr5QDCnMB8GA1Ud // SIG // IwQYMBaAFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMF8GA1Ud // SIG // HwRYMFYwVKBSoFCGTmh0dHA6Ly93d3cubWljcm9zb2Z0 // SIG // LmNvbS9wa2lvcHMvY3JsL01pY3Jvc29mdCUyMFRpbWUt // SIG // U3RhbXAlMjBQQ0ElMjAyMDEwKDEpLmNybDBsBggrBgEF // SIG // BQcBAQRgMF4wXAYIKwYBBQUHMAKGUGh0dHA6Ly93d3cu // SIG // bWljcm9zb2Z0LmNvbS9wa2lvcHMvY2VydHMvTWljcm9z // SIG // b2Z0JTIwVGltZS1TdGFtcCUyMFBDQSUyMDIwMTAoMSku // SIG // Y3J0MAwGA1UdEwEB/wQCMAAwFgYDVR0lAQH/BAwwCgYI // SIG // KwYBBQUHAwgwDgYDVR0PAQH/BAQDAgeAMA0GCSqGSIb3 // SIG // DQEBCwUAA4ICAQA4I/3bkdnTxD2rFum3MF8xVKdEkohA // SIG // ObbePrQ+0fr5bRimjz9sVkKT/7gcj4OMcClSYG+IdX6M // SIG // p3EYsLHWfjvwfzFoeZE+yTbdBj/1VHZQRuCmw6QqeVCT // SIG // bw2nnS7nBxnWd9oZXbPUpqEawH5DqXQaWFgR9A4KWVK/ // SIG // IvXVDMj1PlPCES1P3JonNbdhkkkz49rJuKOm5b7e/BH8 // SIG // loqAmXOXRc22yxWVTMWrEp4pslmv8eT7VoY8X/jdKYTP // SIG // VEXsfmLbVFcqzMuB8vFGfUyWsWROS8wgq7lQYfWcYqh7 // SIG // NymoATX+wWYK3zWG7aRciPGUAzznXdf+aHtIWnQLNa5H // SIG // FmSXkiak3fSuprWYZiHhuYjE16hroApcBHpm+8S/kNqh // SIG // m9WjQX+2BxnYv+Jejy6lqTi8fLBLS069WXVw/ptf5IV+ // SIG // FtYl34GvVoeg31UoUmVVZe1SDUJkm9dDXc8l/qBDYiAI // SIG // T2CCsPTyt9XA9JVuHxdP63n7ChvWAO/47QRuCDsUlFJo // SIG // WwyBwl7jeYpaRVMtQt0iuJMGGjgEaJX1Q/2j8sXURvTc // SIG // eLHDD9ipWt092ZDWMQciDRmhHNFOX1dnjBvk/k1UMcg9 // SIG // 97j5oYznAnSpJvlg/4BP3aVE0h/YH2KgsKbU4NXZHAjJ // SIG // Xj2Slqo1C115CG6qBZaFkM8W6vPZCm5qnSezOjCCB3Ew // SIG // ggVZoAMCAQICEzMAAAAVxedrngKbSZkAAAAAABUwDQYJ // SIG // KoZIhvcNAQELBQAwgYgxCzAJBgNVBAYTAlVTMRMwEQYD // SIG // VQQIEwpXYXNoaW5ndG9uMRAwDgYDVQQHEwdSZWRtb25k // SIG // MR4wHAYDVQQKExVNaWNyb3NvZnQgQ29ycG9yYXRpb24x // SIG // MjAwBgNVBAMTKU1pY3Jvc29mdCBSb290IENlcnRpZmlj // SIG // YXRlIEF1dGhvcml0eSAyMDEwMB4XDTIxMDkzMDE4MjIy // SIG // NVoXDTMwMDkzMDE4MzIyNVowfDELMAkGA1UEBhMCVVMx // SIG // EzARBgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1Jl // SIG // ZG1vbmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3Jh // SIG // dGlvbjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3Rh // SIG // bXAgUENBIDIwMTAwggIiMA0GCSqGSIb3DQEBAQUAA4IC // SIG // DwAwggIKAoICAQDk4aZM57RyIQt5osvXJHm9DtWC0/3u // SIG // nAcH0qlsTnXIyjVX9gF/bErg4r25PhdgM/9cT8dm95VT // SIG // cVrifkpa/rg2Z4VGIwy1jRPPdzLAEBjoYH1qUoNEt6aO // SIG // RmsHFPPFdvWGUNzBRMhxXFExN6AKOG6N7dcP2CZTfDlh // SIG // AnrEqv1yaa8dq6z2Nr41JmTamDu6GnszrYBbfowQHJ1S // SIG // /rboYiXcag/PXfT+jlPP1uyFVk3v3byNpOORj7I5LFGc // SIG // 6XBpDco2LXCOMcg1KL3jtIckw+DJj361VI/c+gVVmG1o // SIG // O5pGve2krnopN6zL64NF50ZuyjLVwIYwXE8s4mKyzbni // SIG // jYjklqwBSru+cakXW2dg3viSkR4dPf0gz3N9QZpGdc3E // SIG // XzTdEonW/aUgfX782Z5F37ZyL9t9X4C626p+Nuw2TPYr // SIG // bqgSUei/BQOj0XOmTTd0lBw0gg/wEPK3Rxjtp+iZfD9M // SIG // 269ewvPV2HM9Q07BMzlMjgK8QmguEOqEUUbi0b1qGFph // SIG // AXPKZ6Je1yh2AuIzGHLXpyDwwvoSCtdjbwzJNmSLW6Cm // SIG // gyFdXzB0kZSU2LlQ+QuJYfM2BjUYhEfb3BvR/bLUHMVr // SIG // 9lxSUV0S2yW6r1AFemzFER1y7435UsSFF5PAPBXbGjfH // SIG // CBUYP3irRbb1Hode2o+eFnJpxq57t7c+auIurQIDAQAB // SIG // o4IB3TCCAdkwEgYJKwYBBAGCNxUBBAUCAwEAATAjBgkr // SIG // BgEEAYI3FQIEFgQUKqdS/mTEmr6CkTxGNSnPEP8vBO4w // SIG // HQYDVR0OBBYEFJ+nFV0AXmJdg/Tl0mWnG1M1GelyMFwG // SIG // A1UdIARVMFMwUQYMKwYBBAGCN0yDfQEBMEEwPwYIKwYB // SIG // BQUHAgEWM2h0dHA6Ly93d3cubWljcm9zb2Z0LmNvbS9w // SIG // a2lvcHMvRG9jcy9SZXBvc2l0b3J5Lmh0bTATBgNVHSUE // SIG // DDAKBggrBgEFBQcDCDAZBgkrBgEEAYI3FAIEDB4KAFMA // SIG // dQBiAEMAQTALBgNVHQ8EBAMCAYYwDwYDVR0TAQH/BAUw // SIG // AwEB/zAfBgNVHSMEGDAWgBTV9lbLj+iiXGJo0T2UkFvX // SIG // zpoYxDBWBgNVHR8ETzBNMEugSaBHhkVodHRwOi8vY3Js // SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NybC9wcm9kdWN0cy9N // SIG // aWNSb29DZXJBdXRfMjAxMC0wNi0yMy5jcmwwWgYIKwYB // SIG // BQUHAQEETjBMMEoGCCsGAQUFBzAChj5odHRwOi8vd3d3 // SIG // Lm1pY3Jvc29mdC5jb20vcGtpL2NlcnRzL01pY1Jvb0Nl // SIG // ckF1dF8yMDEwLTA2LTIzLmNydDANBgkqhkiG9w0BAQsF // SIG // AAOCAgEAnVV9/Cqt4SwfZwExJFvhnnJL/Klv6lwUtj5O // SIG // R2R4sQaTlz0xM7U518JxNj/aZGx80HU5bbsPMeTCj/ts // SIG // 0aGUGCLu6WZnOlNN3Zi6th542DYunKmCVgADsAW+iehp // SIG // 4LoJ7nvfam++Kctu2D9IdQHZGN5tggz1bSNU5HhTdSRX // SIG // ud2f8449xvNo32X2pFaq95W2KFUn0CS9QKC/GbYSEhFd // SIG // PSfgQJY4rPf5KYnDvBewVIVCs/wMnosZiefwC2qBwoEZ // SIG // QhlSdYo2wh3DYXMuLGt7bj8sCXgU6ZGyqVvfSaN0DLzs // SIG // kYDSPeZKPmY7T7uG+jIa2Zb0j/aRAfbOxnT99kxybxCr // SIG // dTDFNLB62FD+CljdQDzHVG2dY3RILLFORy3BFARxv2T5 // SIG // JL5zbcqOCb2zAVdJVGTZc9d/HltEAY5aGZFrDZ+kKNxn // SIG // GSgkujhLmm77IVRrakURR6nxt67I6IleT53S0Ex2tVdU // SIG // CbFpAUR+fKFhbHP+CrvsQWY9af3LwUFJfn6Tvsv4O+S3 // SIG // Fb+0zj6lMVGEvL8CwYKiexcdFYmNcP7ntdAoGokLjzba // SIG // ukz5m/8K6TT4JDVnK+ANuOaMmdbhIurwJ0I9JZTmdHRb // SIG // atGePu1+oDEzfbzL6Xu/OHBE0ZDxyKs6ijoIYn/ZcGNT // SIG // TY3ugm2lBRDBcQZqELQdVTNYs6FwZvKhggNQMIICOAIB // SIG // ATCB+aGB0aSBzjCByzELMAkGA1UEBhMCVVMxEzARBgNV // SIG // BAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1vbmQx // SIG // HjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlvbjEl // SIG // MCMGA1UECxMcTWljcm9zb2Z0IEFtZXJpY2EgT3BlcmF0 // SIG // aW9uczEnMCUGA1UECxMeblNoaWVsZCBUU1MgRVNOOjMz // SIG // MDMtMDVFMC1EOTQ3MSUwIwYDVQQDExxNaWNyb3NvZnQg // SIG // VGltZS1TdGFtcCBTZXJ2aWNloiMKAQEwBwYFKw4DAhoD // SIG // FQALbEgZZnyYHXJ1DGb5fGjplXptuaCBgzCBgKR+MHwx // SIG // CzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpXYXNoaW5ndG9u // SIG // MRAwDgYDVQQHEwdSZWRtb25kMR4wHAYDVQQKExVNaWNy // SIG // b3NvZnQgQ29ycG9yYXRpb24xJjAkBgNVBAMTHU1pY3Jv // SIG // c29mdCBUaW1lLVN0YW1wIFBDQSAyMDEwMA0GCSqGSIb3 // SIG // DQEBCwUAAgUA7aZuXjAiGA8yMDI2MDUwNzAxNTAyMloY // SIG // DzIwMjYwNTA4MDE1MDIyWjB3MD0GCisGAQQBhFkKBAEx // SIG // LzAtMAoCBQDtpm5eAgEAMAoCAQACAh1VAgH/MAcCAQAC // SIG // AhJIMAoCBQDtp7/eAgEAMDYGCisGAQQBhFkKBAIxKDAm // SIG // MAwGCisGAQQBhFkKAwKgCjAIAgEAAgMHoSChCjAIAgEA // SIG // AgMBhqAwDQYJKoZIhvcNAQELBQADggEBAFN3fwGM8wBW // SIG // YUhkvU2j7mOU3vflMJKJjsHOPmQpZGRquFghFjAAq0fI // SIG // W6iC0quGnXKga5qg6+qlZNRv1KNFXZjFfP/4vFKH7qlY // SIG // e5++9umA2pBdcE5l6pWTE1ap9M7CxhhM3JtrFJeFNG66 // SIG // Oz2BRF+oAf7f6Tb3hVS19fDcXNIk1uWC5uauq52cowSh // SIG // tBpVDIfebP0wHXvd13jS3b4Rik6spdViPhL0Peg7b4y9 // SIG // I2gdFHI5irqCAMT6TLwZPNvJiEQDuhCr9bpP/hUta2vz // SIG // oRxieaJdidAOV02yG6B+Okvrm0UF0HioyVrrh4BbQGSB // SIG // Xvg3ycPm0R2iduy6zO35yGIxggQNMIIECQIBATCBkzB8 // SIG // MQswCQYDVQQGEwJVUzETMBEGA1UECBMKV2FzaGluZ3Rv // SIG // bjEQMA4GA1UEBxMHUmVkbW9uZDEeMBwGA1UEChMVTWlj // SIG // cm9zb2Z0IENvcnBvcmF0aW9uMSYwJAYDVQQDEx1NaWNy // SIG // b3NvZnQgVGltZS1TdGFtcCBQQ0EgMjAxMAITMwAAAiEz // SIG // wDX70g8hpAABAAACITANBglghkgBZQMEAgEFAKCCAUow // SIG // GgYJKoZIhvcNAQkDMQ0GCyqGSIb3DQEJEAEEMC8GCSqG // SIG // SIb3DQEJBDEiBCAg8suA11vPdG/gYoGqD9yzT9ZlA7Wa // SIG // NqAAI1IDEAmTSzCB+gYLKoZIhvcNAQkQAi8xgeowgecw // SIG // geQwgb0EIADvIQefFVUa4BJy8IZywMAvmGSKdUVqEmy9 // SIG // A++PCj1EMIGYMIGApH4wfDELMAkGA1UEBhMCVVMxEzAR // SIG // BgNVBAgTCldhc2hpbmd0b24xEDAOBgNVBAcTB1JlZG1v // SIG // bmQxHjAcBgNVBAoTFU1pY3Jvc29mdCBDb3Jwb3JhdGlv // SIG // bjEmMCQGA1UEAxMdTWljcm9zb2Z0IFRpbWUtU3RhbXAg // SIG // UENBIDIwMTACEzMAAAIhM8A1+9IPIaQAAQAAAiEwIgQg // SIG // 28w19sx2m26qrJGm4DiRknXWXnvJWEKRJSJ239WskbEw // SIG // DQYJKoZIhvcNAQELBQAEggIAzhVudzGavD72FO1+hmUC // SIG // XojYWsun+o/yyCd0/1s1K60nX9txWFjE0zanBaWXGCWC // SIG // w1HdbbdUma/84PG4EhWtjNGdVfwJeMsVcn6TtWyqDnf0 // SIG // /VryAlTt9oHyuvfuYXxKyrihUYLdeA0BYNwrHjncwJzY // SIG // VkjBpDbReNRoiemo789FWF+LXhrORWF4HrIMmv9FYLsC // SIG // GJ6HOgpHptfPj/po9T7WHyWmJVk4Y0bAIJS0zdJnoLBJ // SIG // +HN20QWUo0Tbf1nRx/6i6CxYk/mK2zjRsq5tCgQDFAVC // SIG // lgayBEEL3SIjylnnGKx5UD9KPRRws8qIERxzXc0i81xF // SIG // 2Ya+lo6+bF4f5JOH28Xe/nMzA8toHPBVbaVWVYHXN2BM // SIG // MlI9/4L4TyjVgTqX52gETYmM52TFoPaWtIAALkoirXWS // SIG // F2caoxpMP5RKK5ySqcT+YFouzJWst1KO/1NW59fDlIaC // SIG // UKx8L0r4f0myovmy33OjSUJNkEMkZ8OhT7cVMgJScP6z // SIG // HdSlSGRtIEfFpriVhSdySwzFNMSx5AE5hmNhO1ebFhO0 // SIG // JLfLviaIz+3hTCIvpywLIGexFHlOKacUqDBB8x0s/uej // SIG // 9rWAxN8ug06iVD4uZG91LEbZfXUg/x3nXrREOINvelXs // SIG // aHP+8SLl+5XshQKrF7uaMD3oKJoTJkNTpJURVoRO3apHeco= // SIG // End signature block