!function() {
"use strict";
function t() {
return "cf-marker-" + Math.random().toString().slice(2)
}
function e() {
for (var t = [], e = 0; e < arguments.length; e++)
t[e] = arguments[e];
(n = console.warn || console.log).call.apply(n, [console, "[ROCKET LOADER] "].concat(t));
var n
}
function n(t, e) {
var n = e.parentNode;
n && h(t, n, e)
}
function r(t, e) {
h(t, e, e.childNodes[0])
}
function o(t) {
var e = t.parentNode;
e && e.removeChild(t)
}
function i(t) {
var e = t.namespaceURI === A ? "xlink:href" : "src";
return t.getAttribute(e)
}
function a(t, e) {
var n = t.type.substr(e.length);
return !(n && !E[n.trim()]) && ((!k || !t.hasAttribute("nomodule")) && !(!k && "module" === n))
}
function c(t) {
return a(t, "")
}
function s(t, e) {
return function(n) {
if (e(),
t)
return t.call(this, n)
}
}
function u(t, e) {
t.onload = s(t.onload, e),
t.onerror = s(t.onerror, e)
}
function p(t) {
var e = document.createElementNS(t.namespaceURI, "script");
e.async = t.hasAttribute("async"),
e.textContent = t.textContent;
for (var n = 0; n < t.attributes.length; n++) {
var r = t.attributes[n];
try {
r.namespaceURI ? e.setAttributeNS(r.namespaceURI, r.name, r.value) : e.setAttribute(r.name, r.value)
} catch (o) {}
}
return e
}
function l(t, e) {
var n = new I(e);
t.dispatchEvent(n)
}
function d(e) {
var n = e.namespaceURI === A
, r = t();
e.setAttribute(r, "");
var i = n ? "" : e.outerHTML;
L.call(document, i);
var a = document.querySelector("[" + r + "]");
if (a) {
a.removeAttribute(r);
var c = n && a.parentNode;
c && o(c)
}
return a
}
function f(t) {
if (t && "handleEvent"in t) {
var e = t.handleEvent;
return "function" == typeof e ? e.bind(t) : e
}
return t
}
function h(t, e, n) {
var r = n ? function(t) {
return e.insertBefore(t, n)
}
: function(t) {
return e.appendChild(t)
}
;
Array.prototype.slice.call(t).forEach(r)
}
function v() {
return /chrome/i.test(navigator.userAgent) && /google/i.test(navigator.vendor)
}
function y(t, e) {
function n() {
this.constructor = t
}
H(t, e),
t.prototype = null === e ? Object.create(e) : (n.prototype = e.prototype,
new n)
}
function m(t) {
return t instanceof Window ? ["load"] : t instanceof Document ? ["DOMContentLoaded", "readystatechange"] : []
}
function b(t) {
var e = t.getAttribute(R);
if (!e)
return null;
var n = e.split(T);
return {
nonce: n[0],
handlerPrefixLength: +n[1],
bailout: !t.hasAttribute("defer")
}
}
function g(t) {
var e = B + t.nonce;
Array.prototype.forEach.call(document.querySelectorAll("[" + e + "]"), function(n) {
n.removeAttribute(e),
Array.prototype.forEach.call(n.attributes, function(e) {
/^on/.test(e.name) && "function" != typeof n[e.name] && n.setAttribute(e.name, e.value.substring(t.handlerPrefixLength))
})
})
}
function S() {
var t = window;
"undefined" != typeof Promise && (t.__cfQR = {
done: new Promise(function(t) {
return U = t
}
)
})
}
function w(t) {
var e = new N(t)
, n = new C(e);
e.harvestScriptsInDocument(),
new W(e,{
nonce: t,
blocking: !0,
docWriteSimulator: n,
callback: function() {}
}).run()
}
function x(t) {
var e = new N(t)
, n = new C(e);
e.harvestScriptsInDocument();
var r = new W(e,{
nonce: t,
blocking: !1,
docWriteSimulator: n,
callback: function() {
window.__cfRLUnblockHandlers = !0,
r.removePreloadHints(),
P(t)
}
});
r.insertPreloadHints(),
M.runOnLoad(function() {
r.run()
})
}
function P(t) {
var e = new O(t);
M.simulateStateBeforeDeferScriptsActivation(),
e.harvestDeferScriptsInDocument(),
new W(e,{
nonce: t,
blocking: !1,
callback: function() {
M.simulateStateAfterDeferScriptsActivation(),
U && U()
}
}).run()
}
var A = "http://www.w3.org/2000/svg"
, E = {
"application/ecmascript": !0,
"application/javascript": !0,
"application/x-ecmascript": !0,
"application/x-javascript": !0,
"text/ecmascript": !0,
"text/javascript": !0,
"text/javascript1.0": !0,
"text/javascript1.1": !0,
"text/javascript1.2": !0,
"text/javascript1.3": !0,
"text/javascript1.4": !0,
"text/javascript1.5": !0,
"text/jscript": !0,
"text/livescript": !0,
"text/x-ecmascript": !0,
"text/x-javascript": !0,
module: !0
}
, k = void 0 !== document.createElement("script").noModule
, I = function() {
var t = window;
return t.__rocketLoaderEventCtor || Object.defineProperty(t, "__rocketLoaderEventCtor", {
value: Event
}),
t.__rocketLoaderEventCtor
}()
, L = document.write
, _ = document.writeln
, H = Object.setPrototypeOf || {
__proto__: []
}instanceof Array && function(t, e) {
t.__proto__ = e
}
|| function(t, e) {
for (var n in e)
e.hasOwnProperty(n) && (t[n] = e[n])
}
, D = function() {
function t(t) {
this.nonce = t,
this.items = []
}
return Object.defineProperty(t.prototype, "hasItems", {
get: function() {
return this.items.length > 0
},
enumerable: !0,
configurable: !0
}),
t.prototype.pop = function() {
return this.items.pop()
}
,
t.prototype.forEach = function(t) {
this.items.forEach(function(e) {
var n = e.script;
return t(n)
})
}
,
t.prototype.harvestScripts = function(t, e) {
var n = this
, r = e.filter
, o = e.mutate;
Array.prototype.slice.call(t.querySelectorAll("script")).filter(r).reverse().forEach(function(t) {
o(t),
n.pushScriptOnStack(t)
})
}
,
t.prototype.pushScriptOnStack = function(t) {
var e = t.parentNode
, n = this.createPlaceholder(t)
, r = !!i(t);
e.replaceChild(n, t),
this.items.push({
script: t,
placeholder: n,
external: r,
async: r && t.hasAttribute("async"),
executable: c(t)
})
}
,
t.prototype.hasNonce = function(t) {
return 0 === (t.getAttribute("type") || "").indexOf(this.nonce)
}
,
t.prototype.removeNonce = function(t) {
t.type = t.type.substr(this.nonce.length)
}
,
t.prototype.makeNonExecutable = function(t) {
t.type = this.nonce + t.type
}
,
t.prototype.isPendingDeferScript = function(t) {
return t.hasAttribute("defer") || t.type === this.nonce + "module" && !t.hasAttribute("async")
}
,
t
}()
, N = function(t) {
function e() {
return null !== t && t.apply(this, arguments) || this
}
return y(e, t),
e.prototype.harvestScriptsInDocument = function() {
var t = this;
this.harvestScripts(document, {
filter: function(e) {
return t.hasNonce(e)
},
mutate: function(e) {
t.isPendingDeferScript(e) || t.removeNonce(e)
}
})
}
,
e.prototype.harvestScriptsAfterDocWrite = function(t) {
var e = this;
this.harvestScripts(t, {
filter: c,
mutate: function(t) {
e.isPendingDeferScript(t) && e.makeNonExecutable(t)
}
})
}
,
e.prototype.createPlaceholder = function(t) {
return document.createComment(t.outerHTML)
}
,
e
}(D)
, O = function(t) {
function e() {
return null !== t && t.apply(this, arguments) || this
}
return y(e, t),
e.prototype.harvestDeferScriptsInDocument = function() {
var t = this;
this.harvestScripts(document, {
filter: function(e) {
return t.hasNonce(e) && t.isPendingDeferScript(e)
},
mutate: function(e) {
return t.removeNonce(e)
}
})
}
,
e.prototype.createPlaceholder = function(t) {
var e = p(t);
return this.makeNonExecutable(e),
e
}
,
e
}(D)
, C = function() {
function t(t) {
this.scriptStack = t
}
return t.prototype.enable = function(t) {
var e = this;
this.insertionPointMarker = t,
this.buffer = "",
document.write = function() {
for (var t = [], n = 0; n < arguments.length; n++)
t[n] = arguments[n];
return e.write(t, !1)
}
,
document.writeln = function() {
for (var t = [], n = 0; n < arguments.length; n++)
t[n] = arguments[n];
return e.write(t, !0)
}
}
,
t.prototype.flushWrittenContentAndDisable = function() {
document.write = L,
document.writeln = _,
this.buffer.length && (document.contains(this.insertionPointMarker) ? this.insertionPointMarker.parentNode === document.head ? this.insertContentInHead() : this.insertContentInBody() : e("Insertion point marker for document.write was detached from document:", "Markup will not be inserted"))
}
,
t.prototype.insertContentInHead = function() {
var t = new DOMParser
, e = "" + this.buffer + ""
, o = t.parseFromString(e, "text/html");
if (this.scriptStack.harvestScriptsAfterDocWrite(o),
n(o.head.childNodes, this.insertionPointMarker),
o.body.childNodes.length) {
for (var i = Array.prototype.slice.call(o.body.childNodes), a = this.insertionPointMarker.nextSibling; a; )
i.push(a),
a = a.nextSibling;
document.body || L.call(document, ""),
r(i, document.body)
}
}
,
t.prototype.insertContentInBody = function() {
var t = this.insertionPointMarker.parentElement
, e = document.createElement(t.tagName);
e.innerHTML = this.buffer,
this.scriptStack.harvestScriptsAfterDocWrite(e),
n(e.childNodes, this.insertionPointMarker)
}
,
t.prototype.write = function(t, e) {
var n = document.currentScript;
n && i(n) && n.hasAttribute("async") ? (r = e ? _ : L).call.apply(r, [document].concat(t)) : this.buffer += t.map(String).join(e ? "\n" : "");
var r
}
,
t
}()
, j = function() {
function t() {
var t = this;
this.simulatedReadyState = "loading",
this.bypassEventsInProxies = !1,
this.nativeWindowAddEventListener = window.addEventListener;
try {
Object.defineProperty(document, "readyState", {
get: function() {
return t.simulatedReadyState
}
})
} catch (e) {}
this.setupEventListenerProxy(),
this.updateInlineHandlers()
}
return t.prototype.runOnLoad = function(t) {
var e = this;
this.nativeWindowAddEventListener.call(window, "load", function(n) {
if (!e.bypassEventsInProxies)
return t(n)
})
}
,
t.prototype.updateInlineHandlers = function() {
this.proxyInlineHandler(document, "onreadystatechange"),
this.proxyInlineHandler(window, "onload"),
document.body && this.proxyInlineHandler(document.body, "onload")
}
,
t.prototype.simulateStateBeforeDeferScriptsActivation = function() {
this.bypassEventsInProxies = !0,
this.simulatedReadyState = "interactive",
l(document, "readystatechange"),
this.bypassEventsInProxies = !1
}
,
t.prototype.simulateStateAfterDeferScriptsActivation = function() {
var t = this;
this.bypassEventsInProxies = !0,
l(document, "DOMContentLoaded"),
this.simulatedReadyState = "complete",
l(document, "readystatechange"),
l(window, "load"),
this.bypassEventsInProxies = !1,
window.setTimeout(function() {
return t.bypassEventsInProxies = !0
}, 0)
}
,
t.prototype.setupEventListenerProxy = function() {
var t = this;
("undefined" != typeof EventTarget ? [EventTarget.prototype] : [Node.prototype, Window.prototype]).forEach(function(e) {
return t.patchEventTargetMethods(e)
})
}
,
t.prototype.patchEventTargetMethods = function(t) {
var e = this
, n = t.addEventListener
, r = t.removeEventListener;
t.addEventListener = function(t, r) {
for (var o = [], i = 2; i < arguments.length; i++)
o[i - 2] = arguments[i];
var a = m(this)
, c = r && r.__rocketLoaderProxiedHandler;
if (!c) {
var s = f(r);
"function" == typeof s ? (c = function(n) {
if (e.bypassEventsInProxies || a.indexOf(t) < 0)
return s.call(this, n)
}
,
Object.defineProperty(r, "__rocketLoaderProxiedHandler", {
value: c
})) : c = r
}
n.call.apply(n, [this, t, c].concat(o))
}
,
t.removeEventListener = function(t, e) {
for (var n = [], o = 2; o < arguments.length; o++)
n[o - 2] = arguments[o];
var i = e && e.__rocketLoaderProxiedHandler || e;
r.call.apply(r, [this, t, i].concat(n))
}
}
,
t.prototype.proxyInlineHandler = function(t, e) {
try {
var n = t[e];
if (n && !n.__rocketLoaderInlineHandlerProxy) {
var r = this;
t[e] = function(t) {
if (r.bypassEventsInProxies)
return n.call(this, t)
}
,
Object.defineProperty(t[e], "__rocketLoaderInlineHandlerProxy", {
value: !0
})
}
} catch (o) {
return void console.warn("encountered an error when accessing " + e + " handler:", o.message)
}
}
,
t
}()
, M = function() {
var t = window;
return t.__rocketLoaderLoadProgressSimulator || Object.defineProperty(t, "__rocketLoaderLoadProgressSimulator", {
value: new j
}),
t.__rocketLoaderLoadProgressSimulator
}()
, W = function() {
function t(t, e) {
this.scriptStack = t,
this.settings = e,
this.preloadHints = []
}
return t.prototype.insertPreloadHints = function() {
var t = this;
this.scriptStack.forEach(function(e) {
if (a(e, t.settings.nonce)) {
var n = i(e)
, r = v() && e.hasAttribute("integrity");
if (n && !r) {
var o = document.createElement("link");
o.setAttribute("rel", "preload"),
o.setAttribute("as", "script"),
o.setAttribute("href", n),
e.crossOrigin && o.setAttribute("crossorigin", e.crossOrigin),
document.head.appendChild(o),
t.preloadHints.push(o)
}
}
})
}
,
t.prototype.removePreloadHints = function() {
this.preloadHints.forEach(function(t) {
return o(t)
})
}
,
t.prototype.run = function() {
for (var t = this, e = this; this.scriptStack.hasItems; ) {
var n = function() {
var n = e.settings.docWriteSimulator
, r = e.scriptStack.pop();
n && !r.async && n.enable(r.placeholder);
var o = e.activateScript(r);
return o ? r.external && r.executable && !r.async ? (u(o, function() {
t.finalizeActivation(r),
t.run()
}),
{
value: void 0
}) : void e.finalizeActivation(r) : (n && n.flushWrittenContentAndDisable(),
"continue")
}();
if ("object" == typeof n)
return n.value
}
this.scriptStack.hasItems || this.settings.callback()
}
,
t.prototype.finalizeActivation = function(t) {
this.settings.docWriteSimulator && !t.async && this.settings.docWriteSimulator.flushWrittenContentAndDisable(),
M.updateInlineHandlers(),
o(t.placeholder)
}
,
t.prototype.activateScript = function(t) {
var n = t.script
, r = t.placeholder
, o = t.external
, i = t.async
, a = r.parentNode;
if (!document.contains(r))
return e("Placeholder for script \n" + n.outerHTML + "\n was detached from document.", "Script will not be executed."),
null;
var c = this.settings.blocking && o && !i ? d(n) : p(n);
return c ? (a.insertBefore(c, r),
c) : (e("Failed to create activatable copy of script \n" + n.outerHTML + "\n", "Script will not be executed."),
null)
}
,
t
}()
, R = "data-cf-settings"
, T = "|"
, B = "data-cf-modified-"
, U = void 0;
!function() {
var t = document.currentScript;
if (t) {
var n = b(t);
n ? (o(t),
g(n),
M.updateInlineHandlers(),
n.bailout ? w(n.nonce) : (S(),
x(n.nonce))) : e("Activator script doesn't have settings. No scripts will be executed.")
} else
e("Can't obtain activator script. No scripts will be executed.")
}()
}();