您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
test
当前为
此脚本不应直接安装。它是供其他脚本使用的外部库,要使用该库请加入元指令 // @require https://update.greasyfork.icu/scripts/386194/709149/mux.js
/** * Skipped minification because the original files appears to be already minified. * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files */ /** * videojs-mux * @version 2.5.0 * @copyright 2019 Mux, Inc. * @license */ (function() { var define = false; ! function(e, t) { if ("object" == typeof exports && "object" == typeof module) module.exports = t(require("video.js")); else if ("function" == typeof define && define.amd) define(["video.js"], t); else { var r = t("object" == typeof exports ? require("video.js") : e.videojs); for (var a in r)("object" == typeof exports ? exports : e)[a] = r[a] } }(this, function(e) { return function(e) { function t(a) { if (r[a]) return r[a].exports; var i = r[a] = { i: a, l: !1, exports: {} }; return e[a].call(i.exports, i, i.exports, t), i.l = !0, i.exports } var r = {}; return t.m = e, t.c = r, t.d = function(e, r, a) { t.o(e, r) || Object.defineProperty(e, r, { configurable: !1, enumerable: !0, get: a }) }, t.n = function(e) { var r = e && e.__esModule ? function() { return e.default } : function() { return e }; return t.d(r, "a", r), r }, t.o = function(e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, t.p = "", t(t.s = 2) }([function(e, t, r) { ! function() { ! function(t, r) { e.exports = r() }(0, function() { return function(e) { function t(a) { if (r[a]) return r[a].exports; var i = r[a] = { i: a, l: !1, exports: {} }; return e[a].call(i.exports, i, i.exports, t), i.l = !0, i.exports } var r = {}; return t.m = e, t.c = r, t.d = function(e, r, a) { t.o(e, r) || Object.defineProperty(e, r, { configurable: !1, enumerable: !0, get: a }) }, t.n = function(e) { var r = e && e.__esModule ? function() { return e.default } : function() { return e }; return t.d(r, "a", r), r }, t.o = function(e, t) { return Object.prototype.hasOwnProperty.call(e, t) }, t.p = "", t(t.s = 16) }([function(e, t) { function r(e, t, r) { switch (r.length) { case 0: return e.call(t); case 1: return e.call(t, r[0]); case 2: return e.call(t, r[0], r[1]); case 3: return e.call(t, r[0], r[1], r[2]) } return e.apply(t, r) } function a(e, t) { for (var r = -1, a = Array(e); ++r < e;) a[r] = t(r); return a } function i(e, t) { var r = R(e) || p(e) ? a(e.length, String) : [], i = r.length, n = !!i; for (var o in e) !t && !k.call(e, o) || n && ("length" == o || l(o, i)) || r.push(o); return r } function n(e, t, r) { var a = e[t]; k.call(e, t) && f(a, r) && (void 0 !== r || t in e) || (e[t] = r) } function o(e) { if (!c(e)) return A(e); var t = []; for (var r in Object(e)) k.call(e, r) && "constructor" != r && t.push(r); return t } function s(e, t) { return t = D(void 0 === t ? e.length - 1 : t, 0), function() { for (var a = arguments, i = -1, n = D(a.length - t, 0), o = Array(n); ++i < n;) o[i] = a[t + i]; i = -1; for (var s = Array(t + 1); ++i < t;) s[i] = a[i]; return s[t] = o, r(e, this, s) } } function u(e, t, r, a) { r || (r = {}); for (var i = -1, o = t.length; ++i < o;) { var s = t[i], u = a ? a(r[s], e[s], s, r, e) : void 0; n(r, s, void 0 === u ? e[s] : u) } return r } function l(e, t) { return !!(t = null == t ? w : t) && ("number" == typeof e || E.test(e)) && e > -1 && e % 1 == 0 && e < t } function d(e, t, r) { if (!y(r)) return !1; var a = typeof t; return !!("number" == a ? h(r) && l(t, r.length) : "string" == a && t in r) && f(r[t], e) } function c(e) { var t = e && e.constructor; return e === ("function" == typeof t && t.prototype || O) } function f(e, t) { return e === t || e !== e && t !== t } function p(e) { return _(e) && k.call(e, "callee") && (!M.call(e, "callee") || P.call(e) == x) } function h(e) { return null != e && v(e.length) && !m(e) } function _(e) { return b(e) && h(e) } function m(e) { var t = y(e) ? P.call(e) : ""; return t == S || t == T } function v(e) { return "number" == typeof e && e > -1 && e % 1 == 0 && e <= w } function y(e) { var t = typeof e; return !!e && ("object" == t || "function" == t) } function b(e) { return !!e && "object" == typeof e } function g(e) { return h(e) ? i(e) : o(e) } var w = 9007199254740991, x = "[object Arguments]", S = "[object Function]", T = "[object GeneratorFunction]", E = /^(?:0|[1-9]\d*)$/, O = Object.prototype, k = O.hasOwnProperty, P = O.toString, M = O.propertyIsEnumerable, A = function(e, t) { return function(r) { return e(t(r)) } }(Object.keys, Object), D = Math.max, q = !M.call({ valueOf: 1 }, "valueOf"), R = Array.isArray, j = function(e) { return s(function(t, r) { var a = -1, i = r.length, n = i > 1 ? r[i - 1] : void 0, o = i > 2 ? r[2] : void 0; for (n = e.length > 3 && "function" == typeof n ? (i--, n) : void 0, o && d(r[0], r[1], o) && (n = i < 3 ? void 0 : n, i = 1), t = Object(t); ++a < i;) { var s = r[a]; s && e(t, s) } return t }) }(function(e, t) { if (q || c(t) || h(t)) return void u(t, g(t), e); for (var r in t) k.call(t, r) && n(e, r, t[r]) }); e.exports = j }, function(e, t, r) { "use strict"; function a(e, t, r) { r = void 0 === r ? 1 : r, e[t] = e[t] || 0, e[t] += r } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a }, function(e, t, r) { (function(t) { var r; r = "undefined" != typeof window ? window : void 0 !== t ? t : "undefined" != typeof self ? self : {}, e.exports = r }).call(t, r(5)) }, function(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var a = r(18), i = function(e) { return e && e.__esModule ? e : { default: e } }(a), n = i.default.methodFactory; i.default.methodFactory = function(e, t, r) { var a = n(e, t, r); return function() { for (var e = ["[mux]"], t = 0; t < arguments.length; t++) e.push(arguments[t]); a.apply(void 0, e) } }, i.default.setLevel(i.default.getLevel()), t.default = i.default }, function(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var a = function(e) { return n(e)[0] }, i = function(e) { return n(e)[1] }, n = function(e) { if ("string" != typeof e || "" === e) return ["localhost"]; var t = /^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/, r = e.match(t) || [], a = r[4], i = void 0; return a && (i = (a.match(/[^\.]+\.[^\.]+$/) || [])[0]), [a, i] }; t.extractHostnameAndDomain = n, t.extractHostname = a, t.extractDomain = i }, function(e, t) { var r; r = function() { return this }(); try { r = r || Function("return this")() || (0, eval)("this") } catch (e) { "object" == typeof window && (r = window) } e.exports = r }, function(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var a = function() { return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) { var t = 16 * Math.random() | 0; return ("x" === e ? t : 3 & t | 8).toString(16) }) }, i = function() { return ("000000" + (Math.random() * Math.pow(36, 6) << 0).toString(36)).slice(-6) }; t.generateUUID = a, t.generateShortID = i }, function(e, t, r) { "use strict"; function a(e) { e = e || "", e = e.match(/[^\r\n]+/g) || []; for (var t = {}, r = 0; r < e.length; r++) { var a = e[r].split(/\s*:\s*(.+)/); 3 === a.length && (t[a[0]] = a[1]) } return t } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a }, function(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }), t.findMediaElement = t.getMuxPlayerId = void 0; var a = r(6), i = function(e) { return e && void 0 !== e.nodeName ? (e.muxId || (e.muxId = e.id || (0, a.generateShortID)()), e.muxId) : e }, n = function(e) { var t = void 0; return e && void 0 !== e.nodeName ? (t = e, e = i(t)) : t = document.querySelector(e), [t, e, t && t.nodeName ? t.nodeName.toLowerCase() : ""] }; t.getMuxPlayerId = i, t.findMediaElement = n }, function(e, t, r) { "use strict"; function a() { return "1" === (n.default.doNotTrack || n.default.navigator.doNotTrack || n.default.navigator.msDoNotTrack) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a; var i = r(2), n = function(e) { return e && e.__esModule ? e : { default: e } }(i) }, function(e, t, r) { (function(t) { var a, i = void 0 !== t ? t : "undefined" != typeof window ? window : {}, n = r(21); "undefined" != typeof document ? a = document : (a = i["__GLOBAL_DOCUMENT_CACHE@4"]) || (a = i["__GLOBAL_DOCUMENT_CACHE@4"] = n), e.exports = a }).call(t, r(5)) }, function(e, t) { e.exports = function(e) { return e.webpackPolyfill || (e.deprecate = function() {}, e.paths = [], e.children || (e.children = []), Object.defineProperty(e, "loaded", { enumerable: !0, get: function() { return e.l } }), Object.defineProperty(e, "id", { enumerable: !0, get: function() { return e.i } }), e.webpackPolyfill = 1), e } }, function(e, t, r) { "use strict"; var a = r(40), i = r(41), n = r(14); e.exports = { formats: n, parse: i, stringify: a } }, function(e, t, r) { "use strict"; var a = Object.prototype.hasOwnProperty, i = function() { for (var e = [], t = 0; t < 256; ++t) e.push("%" + ((t < 16 ? "0" : "") + t.toString(16)).toUpperCase()); return e }(), n = function(e) { for (var t; e.length;) { var r = e.pop(); if (t = r.obj[r.prop], Array.isArray(t)) { for (var a = [], i = 0; i < t.length; ++i) void 0 !== t[i] && a.push(t[i]); r.obj[r.prop] = a } } return t }; t.arrayToObject = function(e, t) { for (var r = t && t.plainObjects ? Object.create(null) : {}, a = 0; a < e.length; ++a) void 0 !== e[a] && (r[a] = e[a]); return r }, t.merge = function(e, r, i) { if (!r) return e; if ("object" != typeof r) { if (Array.isArray(e)) e.push(r); else { if ("object" != typeof e) return [e, r]; (i.plainObjects || i.allowPrototypes || !a.call(Object.prototype, r)) && (e[r] = !0) } return e } if ("object" != typeof e) return [e].concat(r); var n = e; return Array.isArray(e) && !Array.isArray(r) && (n = t.arrayToObject(e, i)), Array.isArray(e) && Array.isArray(r) ? (r.forEach(function(r, n) { a.call(e, n) ? e[n] && "object" == typeof e[n] ? e[n] = t.merge(e[n], r, i) : e.push(r) : e[n] = r }), e) : Object.keys(r).reduce(function(e, n) { var o = r[n]; return a.call(e, n) ? e[n] = t.merge(e[n], o, i) : e[n] = o, e }, n) }, t.assign = function(e, t) { return Object.keys(t).reduce(function(e, r) { return e[r] = t[r], e }, e) }, t.decode = function(e) { try { return decodeURIComponent(e.replace(/\+/g, " ")) } catch (t) { return e } }, t.encode = function(e) { if (0 === e.length) return e; for (var t = "string" == typeof e ? e : String(e), r = "", a = 0; a < t.length; ++a) { var n = t.charCodeAt(a); 45 === n || 46 === n || 95 === n || 126 === n || n >= 48 && n <= 57 || n >= 65 && n <= 90 || n >= 97 && n <= 122 ? r += t.charAt(a) : n < 128 ? r += i[n] : n < 2048 ? r += i[192 | n >> 6] + i[128 | 63 & n] : n < 55296 || n >= 57344 ? r += i[224 | n >> 12] + i[128 | n >> 6 & 63] + i[128 | 63 & n] : (a += 1, n = 65536 + ((1023 & n) << 10 | 1023 & t.charCodeAt(a)), r += i[240 | n >> 18] + i[128 | n >> 12 & 63] + i[128 | n >> 6 & 63] + i[128 | 63 & n]) } return r }, t.compact = function(e) { for (var t = [{ obj: { o: e }, prop: "o" }], r = [], a = 0; a < t.length; ++a) for (var i = t[a], o = i.obj[i.prop], s = Object.keys(o), u = 0; u < s.length; ++u) { var l = s[u], d = o[l]; "object" == typeof d && null !== d && -1 === r.indexOf(d) && (t.push({ obj: o, prop: l }), r.push(d)) } return n(t) }, t.isRegExp = function(e) { return "[object RegExp]" === Object.prototype.toString.call(e) }, t.isBuffer = function(e) { return null !== e && void 0 !== e && !!(e.constructor && e.constructor.isBuffer && e.constructor.isBuffer(e)) } }, function(e, t, r) { "use strict"; var a = String.prototype.replace, i = /%20/g; e.exports = { default: "RFC3986", formatters: { RFC1738: function(e) { return a.call(e, i, "+") }, RFC3986: function(e) { return e } }, RFC1738: "RFC1738", RFC3986: "RFC3986" } }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } function i(e) { var t = {}; for (var r in e) e.hasOwnProperty(r) && (t[e[r]] = r); return t } function n(e) { var t = {}, r = {}; return Object.keys(e).forEach(function(a) { var i = !1; if (e.hasOwnProperty(a) && void 0 !== e[a]) { var n = a.split("_"), o = n[0], u = c[o]; u || (s.default.info("Data key word `" + n[0] + "` not expected in " + a), u = o + "_"), n.splice(1).forEach(function(e) { "url" === e && (i = !0), p[e] ? u += p[e] : (s.default.info("Data key word `" + e + "` not expected in " + a), u += "_" + e + "_") }), i ? r[u] = e[a] : t[u] = e[a] } }), (0, l.default)(t, r) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = n; var o = r(3), s = a(o), u = r(0), l = a(u), d = { a: "env", b: "beacon", d: "ad", e: "event", f: "experiment", m: "mux", n: "response", p: "player", q: "request", r: "retry", s: "session", t: "timestamp", u: "viewer", v: "video", w: "page", x: "view", y: "sub" }, c = i(d), f = { ad: "ad", ag: "aggregate", ap: "api", al: "application", ar: "architecture", as: "asset", au: "autoplay", av: "average", bi: "bitrate", br: "break", bw: "browser", by: "bytes", ca: "cached", cb: "cancel", cd: "code", cg: "category", ch: "changed", cn: "config", co: "count", ce: "counter", cp: "complete", ct: "content", cu: "current", dg: "downscaling", dm: "domain", dn: "cdn", do: "downscale", du: "duration", dv: "device", ec: "encoding", en: "end", eg: "engine", em: "embed", er: "error", es: "errorcode", et: "errortext", ee: "event", ev: "events", ex: "expires", fi: "first", fm: "family", ft: "format", fq: "frequency", fr: "frame", fs: "fullscreen", he: "headers", ho: "host", hn: "hostname", ht: "height", id: "id", ii: "init", in: "instance", ip: "ip", is: "is", ke: "key", la: "language", lb: "labeled", le: "level", li: "live", ld: "loaded", lo: "load", ls: "lists", lt: "latency", ma: "max", md: "media", me: "message", mi: "mime", ml: "midroll", mm: "min", mn: "manufacturer", mx: "mux", nm: "name", no: "number", on: "on", os: "os", pa: "paused", pb: "playback", pd: "producer", pe: "percentage", pf: "played", pg: "program", ph: "playhead", pi: "plugin", pl: "preroll", po: "poster", pr: "preload", py: "property", ra: "rate", rd: "requested", re: "rebuffer", rf: "rendition", ro: "ratio", rp: "response", rq: "request", rs: "requests", sa: "sample", se: "session", sk: "seek", sm: "stream", so: "source", sq: "sequence", sr: "series", st: "start", su: "startup", sv: "server", sw: "software", ta: "tag", tc: "tech", te: "text", th: "throughput", ti: "time", tl: "total", to: "to", tt: "title", ty: "type", ug: "upscaling", up: "upscale", ur: "url", us: "user", va: "variant", vd: "viewed", vi: "video", ve: "version", vw: "view", vr: "viewer", wd: "width", wa: "watch", wt: "waiting" }, p = i(f) }, function(e, t, r) { "use strict"; e.exports = r(17).default }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } Object.defineProperty(t, "__esModule", { value: !0 }); var i = function() { function e(e, t) { var r = [], a = !0, i = !1, n = void 0; try { for (var o, s = e[Symbol.iterator](); !(a = (o = s.next()).done) && (r.push(o.value), !t || r.length !== t); a = !0); } catch (e) { i = !0, n = e } finally { try { !a && s.return && s.return() } finally { if (i) throw n } } return r } return function(t, r) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return e(t, r); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(), n = r(2), o = a(n), s = r(8), u = r(3), l = a(u), d = r(9), c = a(d), f = r(19), p = a(f), h = r(48), _ = a(h), m = r(49), v = a(m), y = {}, b = function e(t) { var r = arguments; "string" == typeof t ? e.hasOwnProperty(t) ? o.default.setTimeout(function() { r = Array.prototype.splice.call(r, 1), e[t].apply(null, r) }, 0) : l.default.warn("`" + t + "` is an unknown task") : "function" == typeof t ? o.default.setTimeout(function() { t(e) }, 0) : l.default.warn("`" + t + "` is invalid.") }; b.loaded = Date.now(), b.VERSION = "2.7.0", b.API_VERSION = "2.0", b.PLAYER_TRACKED = !1, b.monitor = function(e, t) { return (0, _.default)(b, e, t) }, b.destroyMonitor = function(e) { var t = (0, s.findMediaElement)(e), r = i(t, 1), a = r[0]; a && a.mux && "function" == typeof a.mux.destroy ? a.mux.destroy() : l.default.error("A video element monitor for `" + e + "` has not been initialized via `mux.monitor`.") }, b.addHLSJS = function(e, t) { var r = (0, s.getMuxPlayerId)(e); y[r] ? y[r].addHLSJS(t) : l.default.error("A monitor for `" + r + "` has not been initialized.") }, b.addDashJS = function(e, t) { var r = (0, s.getMuxPlayerId)(e); y[r] ? y[r].addDashJS(t) : l.default.error("A monitor for `" + r + "` has not been initialized.") }, b.removeHLSJS = function(e) { var t = (0, s.getMuxPlayerId)(e); y[t] ? y[t].removeHLSJS() : l.default.error("A monitor for `" + t + "` has not been initialized.") }, b.removeDashJS = function(e, t) { var r = (0, s.getMuxPlayerId)(e); y[r] ? y[r].removeDashJS(t) : l.default.error("A monitor for `" + r + "` has not been initialized.") }, b.init = function(e, t) { var r = (0, s.getMuxPlayerId)(e); y[r] = new p.default(b, r, t) }, b.emit = function(e, t, r) { var a = (0, s.getMuxPlayerId)(e); y[a] ? (y[a].emit(t, r), "destroy" === t && delete y[a]) : l.default.error("A monitor for `" + a + "` has not been initialized.") }, (0, c.default)() && l.default.info("The browser's Do Not Track flag is enabled - Mux beaconing may be disabled."), o.default.addEventListener("unload", function() { b.WINDOW_UNLOADING = !0 }, !1), b.checkDoNotTrack = c.default, b.log = l.default, b.utils = v.default, t.default = b }, function(e, t, r) { var a, i; ! function(n, o) { "use strict"; a = o, void 0 !== (i = "function" == typeof a ? a.call(t, r, t, e) : a) && (e.exports = i) }(0, function() { "use strict"; function e(e, t) { var r = e[t]; if ("function" == typeof r.bind) return r.bind(e); try { return Function.prototype.bind.call(r, e) } catch (t) { return function() { return Function.prototype.apply.apply(r, [e, arguments]) } } } function t(t) { return "debug" === t && (t = "log"), typeof console !== s && (void 0 !== console[t] ? e(console, t) : void 0 !== console.log ? e(console, "log") : o) } function r(e, t) { for (var r = 0; r < u.length; r++) { var a = u[r]; this[a] = r < e ? o : this.methodFactory(a, e, t) } this.log = this.debug } function a(e, t, a) { return function() { typeof console !== s && (r.call(this, t, a), this[e].apply(this, arguments)) } } function i(e, r, i) { return t(e) || a.apply(this, arguments) } function n(e, t, a) { function n(e) { var t = (u[e] || "silent").toUpperCase(); if (typeof window !== s) { try { return void(window.localStorage[c] = t) } catch (e) {} try { window.document.cookie = encodeURIComponent(c) + "=" + t + ";" } catch (e) {} } } function o() { var e; if (typeof window !== s) { try { e = window.localStorage[c] } catch (e) {} if (typeof e === s) try { var t = window.document.cookie, r = t.indexOf(encodeURIComponent(c) + "="); r && (e = /^([^;]+)/.exec(t.slice(r))[1]) } catch (e) {} return void 0 === d.levels[e] && (e = void 0), e } } var l, d = this, c = "loglevel"; e && (c += ":" + e), d.levels = { TRACE: 0, DEBUG: 1, INFO: 2, WARN: 3, ERROR: 4, SILENT: 5 }, d.methodFactory = a || i, d.getLevel = function() { return l }, d.setLevel = function(t, a) { if ("string" == typeof t && void 0 !== d.levels[t.toUpperCase()] && (t = d.levels[t.toUpperCase()]), !("number" == typeof t && t >= 0 && t <= d.levels.SILENT)) throw "log.setLevel() called with invalid level: " + t; if (l = t, !1 !== a && n(t), r.call(d, t, e), typeof console === s && t < d.levels.SILENT) return "No console available for logging" }, d.setDefaultLevel = function(e) { o() || d.setLevel(e, !1) }, d.enableAll = function(e) { d.setLevel(d.levels.TRACE, e) }, d.disableAll = function(e) { d.setLevel(d.levels.SILENT, e) }; var f = o(); null == f && (f = null == t ? "WARN" : t), d.setLevel(f, !1) } var o = function() {}, s = "undefined", u = ["trace", "debug", "info", "warn", "error"], l = new n, d = {}; l.getLogger = function(e) { if ("string" != typeof e || "" === e) throw new TypeError("You must supply a name when creating a logger."); var t = d[e]; return t || (t = d[e] = new n(e, l.getLevel(), l.methodFactory)), t }; var c = typeof window !== s ? window.log : void 0; return l.noConflict = function() { return typeof window !== s && window.log === l && (window.log = c), l }, l }) }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } Object.defineProperty(t, "__esModule", { value: !0 }); var i = function() { function e(e, t) { var r = [], a = !0, i = !1, n = void 0; try { for (var o, s = e[Symbol.iterator](); !(a = (o = s.next()).done) && (r.push(o.value), !t || r.length !== t); a = !0); } catch (e) { i = !0, n = e } finally { try { !a && s.return && s.return() } finally { if (i) throw n } } return r } return function(t, r) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return e(t, r); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(), n = r(3), o = a(n), s = r(0), u = a(s), l = r(6), d = r(4), c = r(2), f = a(c), p = r(1), h = a(p), _ = r(20), m = a(_), v = r(23), y = r(24), b = r(25), g = a(b), w = r(26), x = a(w), S = r(27), T = a(S), E = r(28), O = a(E), k = r(29), P = a(k), M = r(30), A = a(M), D = r(31), q = a(D), R = r(32), j = a(R), I = r(33), L = a(I), C = r(34), N = a(C), H = r(35), B = a(H), F = r(36), U = a(F), W = r(37), G = a(W), V = r(38), J = a(V), z = r(47), $ = a(z), Q = ["viewstart", "ended", "loadstart", "pause", "play", "playing", "ratechange", "waiting", "adplay", "adpause", "adended", "aderror", "adplaying", "adrequest", "adresponse", "adbreakstart", "adbreakend", "rebufferstart", "rebufferend", "seeked", "error", "hb", "requestcompleted", "requestfailed", "requestcanceled"], K = function(e, t, r) { var a = this; this.DOM_CONTENT_LOADED_EVENT_END = f.default.performance && f.default.performance.timing.domContentLoadedEventEnd, this.NAVIGATION_START = f.default.performance && f.default.performance.timing.navigationStart; var i = { debug: !1, minimumRebufferDuration: 250, sustainedRebufferThreshold: 1e3, playbackHeartbeatTime: 25, beaconDomain: "litix.io", sampleRate: 1, disableCookies: !1, respectDoNotTrack: !0, errorTranslator: function(e) { return e } }; this.mux = e, this.id = t, r = (0, u.default)(i, r), r.data = r.data || {}, r.data.property_key && (r.data.env_key = r.data.property_key, delete r.data.property_key), o.default.setLevel(r.debug ? "debug" : "warn"), this.getPlayheadTime = r.getPlayheadTime, this.getStateData = r.getStateData || function() {}, this.getAdData = r.getAdData || function() {}, this.minimumRebufferDuration = r.minimumRebufferDuration, this.sustainedRebufferThreshold = r.sustainedRebufferThreshold, this.playbackHeartbeatTime = r.playbackHeartbeatTime, this.errorTranslator = r.errorTranslator, this.playbackEventDispatcher = new J.default(e, r.data.env_key, r), this.data = { player_instance_id: (0, l.generateShortID)(), mux_sample_rate: r.sampleRate, beacon_domain: r.beaconDomain }, this.data.view_sequence_number = 1, this.data.player_sequence_number = 1, this.oldEmit = this.emit, this.emit = function(e, t) { t = (0, u.default)({ viewer_time: Date.now() }, t), this.oldEmit(e, t) }; var n = function() { void 0 === this.data.view_start && (this.data.view_start = Date.now(), this.emit("viewstart")) }.bind(this); this.on("viewinit", function(e, t) { this._resetVideoData(), this._resetViewData(), this._resetErrorData(), this._updateStateData(), (0, u.default)(this.data, t), this._initializeViewData(), this.one("play", n), this.one("adbreakstart", n) }); var s = function(e) { this.emit("viewend"), this.send("viewend"), this.emit("viewinit", e) }.bind(this); this.on("videochange", function(e, t) { s(t) }), this.on("programchange", function(e, t) { this.data.player_is_paused && this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."), s((0, u.default)(t, { view_program_changed: !0 })), n() }), this.on("destroy", this.destroy); var d = this.destroy.bind(this); f.default.addEventListener("unload", d, !1), this.on("destroy", function() { f.default.removeEventListener("unload", d) }), this.on("playerready", function(e, t) { (0, u.default)(this.data, t) }), Q.forEach(function(e) { a.on(e, function(t, r) { 0 !== e.indexOf("ad") && this._updateStateData(), (0, u.default)(this.data, r), this._sanitizeData() }), a.on("after" + e, function() { ("error" !== e || this.viewErrored) && this.send(e) }) }), this.on("viewend", function(e, t) { (0, u.default)(a.data, t) }); var c = function(e) { var t = Date.now(); this.data.player_init_time && (this.data.player_startup_time = t - this.data.player_init_time), !this.mux.PLAYER_TRACKED && this.NAVIGATION_START && (this.mux.PLAYER_TRACKED = !0, (this.data.player_init_time || this.DOM_CONTENT_LOADED_EVENT_END) && (this.data.page_load_time = Math.min(this.data.player_init_time || 1 / 0, this.DOM_CONTENT_LOADED_EVENT_END || 1 / 0) - this.NAVIGATION_START)), this.send("playerready"), delete this.data.player_startup_time, delete this.data.page_load_time }; this.one("playerready", c), T.default.apply(this), G.default.apply(this), N.default.apply(this), A.default.apply(this), x.default.apply(this), L.default.apply(this), O.default.apply(this), P.default.apply(this), B.default.apply(this), q.default.apply(this), j.default.apply(this), U.default.apply(this), $.default.apply(this), r.hlsjs && this.addHLSJS(r), r.dashjs && this.addDashJS(r), this.emit("viewinit", r.data) }; (0, u.default)(K.prototype, g.default.prototype), (0, u.default)(K.prototype, A.default.prototype), (0, u.default)(K.prototype, N.default.prototype), (0, u.default)(K.prototype, x.default.prototype), (0, u.default)(K.prototype, O.default.prototype), (0, u.default)(K.prototype, P.default.prototype), (0, u.default)(K.prototype, B.default.prototype), (0, u.default)(K.prototype, q.default.prototype), (0, u.default)(K.prototype, j.default.prototype), K.prototype.destroy = function() { this._destroyed || (this._destroyed = !0, void 0 !== this.data.view_start && (this.emit("viewend"), this.send("viewend")), this.playbackEventDispatcher.destroy(), this.removeHLSJS(), this.removeDashJS(), f.default.clearTimeout(this._heartBeatTimeout)) }, K.prototype.send = function(e) { var t = (0, u.default)({}, this.data); if (1 === t.player_error_code && (delete t.player_error_code, delete t.player_error_message), t.player_source_duration === 1 / 0 || t.video_source_duration === 1 / 0 ? t.video_source_is_live = !0 : (t.player_source_duration > 0 || t.video_source_duration > 0) && (t.video_source_is_live = !1), t.video_source_url = t.video_source_url || t.player_source_url, t.video_source_url) { var r = (0, d.extractHostnameAndDomain)(t.video_source_url), a = i(r, 2), n = a[0], o = a[1]; t.video_source_domain = o, t.video_source_hostname = n } delete t.ad_request_id, this.playbackEventDispatcher.send(e, t), this.data.view_sequence_number++, this.data.player_sequence_number++, this._restartHeartBeat() }, K.prototype._updateStateData = function() { (0, u.default)(this.data, this.getStateData()), this.getPlayheadTime && (this.data.player_playhead_time = this.getPlayheadTime()), this._sanitizeData() }, K.prototype._sanitizeData = function() { var e = this; ["player_width", "player_height", "video_source_width", "video_source_height", "player_playhead_time"].forEach(function(t) { var r = parseInt(e.data[t], 10); e.data[t] = isNaN(r) ? void 0 : r }) }, K.prototype._resetVideoData = function(e, t) { var r = this; Object.keys(this.data).forEach(function(e) { 0 === e.indexOf("video_") && delete r.data[e] }) }, K.prototype._resetViewData = function() { var e = this; Object.keys(this.data).forEach(function(t) { 0 === t.indexOf("view_") && delete e.data[t] }), this.data.view_sequence_number = 1 }, K.prototype._resetErrorData = function(e, t) { delete this.data.player_error_code, delete this.data.player_error_message }, K.prototype._initializeViewData = function() { var e = this, t = this.data.view_id = (0, l.generateUUID)(); this.data.video_id || (this.data.video_id = (0, m.default)(this.data.player_source_url)); var r = function() { t === e.data.view_id && (0, h.default)(e.data, "player_view_count", 1) }; this.data.player_is_paused ? this.one("play", r) : r() }, K.prototype._restartHeartBeat = function() { var e = this; f.default.clearTimeout(this._heartBeatTimeout), this.viewErrored || (this._heartBeatTimeout = f.default.setTimeout(function() { e.data.player_is_paused || e.emit("hb") }, 1e4)) }, K.prototype.addHLSJS = function(e) { return e.hlsjs ? this.hlsjs ? void this.mux.log.warn("An instance of HLS.js is already being monitored for this player.") : (this.hlsjs = e.hlsjs, void(0, v.monitorHlsJs)(this.mux, this.id, e.hlsjs, {}, e.Hls || f.default.Hls)) : void this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.") }, K.prototype.removeHLSJS = function() { this.hlsjs && ((0, v.stopMonitoringHlsJs)(this.hlsjs), this.hlsjs = void 0) }, K.prototype.addDashJS = function(e) { return e.dashjs ? this.dashjs ? void this.mux.log.warn("An instance of Dash.js is already being monitored for this player.") : (this.dashjs = e.dashjs, void(0, y.monitorDashJS)(this.mux, this.id, e.dashjs)) : void this.mux.log.warn("You must pass a valid dashjs instance in order to track it.") }, K.prototype.removeDashJS = function() { this.dashjs && ((0, y.stopMonitoringDashJS)(this.dashjs), this.dashjs = void 0) }, t.default = K }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } function i(e) { var t = o.default.createElement("a"); t.href = e; var r = t.pathname.replace(/\.[^\/.]+$/, ""); return u.default.encode(t.host + r).split("=")[0] } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = i; var n = r(10), o = a(n), s = r(22), u = a(s) }, function(e, t) {}, function(e, t, r) { (function(e, a) { var i; ! function(a) { var n = ("object" == typeof e && e && e.exports, function(e) { this.message = e }); n.prototype = new Error, n.prototype.name = "InvalidCharacterError"; var o = function(e) { throw new n(e) }, s = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/", u = /[\t\n\f\r ]/g, l = function(e) { e = String(e).replace(u, ""); var t = e.length; t % 4 == 0 && (e = e.replace(/==?$/, ""), t = e.length), (t % 4 == 1 || /[^+a-zA-Z0-9\/]/.test(e)) && o("Invalid character: the string to be decoded is not correctly encoded."); for (var r, a, i = 0, n = "", l = -1; ++l < t;) a = s.indexOf(e.charAt(l)), r = i % 4 ? 64 * r + a : a, i++ % 4 && (n += String.fromCharCode(255 & r >> (-2 * i & 6))); return n }, d = function(e) { e = String(e), /[^\0-\xFF]/.test(e) && o("The string to be encoded contains characters outside of the Latin1 range."); for (var t, r, a, i, n = e.length % 3, u = "", l = -1, d = e.length - n; ++l < d;) t = e.charCodeAt(l) << 16, r = e.charCodeAt(++l) << 8, a = e.charCodeAt(++l), i = t + r + a, u += s.charAt(i >> 18 & 63) + s.charAt(i >> 12 & 63) + s.charAt(i >> 6 & 63) + s.charAt(63 & i); return 2 == n ? (t = e.charCodeAt(l) << 8, r = e.charCodeAt(++l), i = t + r, u += s.charAt(i >> 10) + s.charAt(i >> 4 & 63) + s.charAt(i << 2 & 63) + "=") : 1 == n && (i = e.charCodeAt(l), u += s.charAt(i >> 2) + s.charAt(i << 4 & 63) + "=="), u }, c = { encode: d, decode: l, version: "0.1.0" }; void 0 !== (i = function() { return c }.call(t, r, t, e)) && (e.exports = i) }() }).call(t, r(11)(e), r(5)) }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } Object.defineProperty(t, "__esModule", { value: !0 }), t.stopMonitoringHlsJs = t.monitorHlsJs = void 0; var i = r(2), n = a(i), o = r(7), s = a(o), u = r(4), l = function(e) { if (!e) return {}; var t = n.default.performance.timing.navigationStart; return { bytesLoaded: e.total, requestStart: Math.round(t + e.trequest), responseStart: Math.round(t + e.tfirst), responseEnd: Math.round(t + e.tload) } }, d = function(e) { if (e && "function" == typeof e.getAllResponseHeaders) return (0, s.default)(e.getAllResponseHeaders()) }, c = function(e, t, r) { var a = (arguments.length > 3 && void 0 !== arguments[3] && arguments[3], arguments[4]), i = e.log; if (!n.default.performance || !n.default.performance.timing) return void i.warn("window.performance.timing not supported. Not tracking HLS.js."); var o = function(r, a) { return e.emit(t, r, a) }, s = function(e, t) { var r = t.levels, a = t.audioTracks, i = t.url, n = t.stats, s = t.networkDetails, c = {}, f = {}; r.forEach(function(e, t) { c[t] = { width: e.width, height: e.height, bitrate: e.bitrate, attrs: e.attrs } }), a.forEach(function(e, t) { f[t] = { name: e.name, language: e.lang, bitrate: e.bitrate } }); var p = l(n), h = p.bytesLoaded, _ = p.requestStart, m = p.responseStart, v = p.responseEnd; o("requestcompleted", { request_event_type: e, request_bytes_loaded: h, request_start: _, request_response_start: m, request_response_end: v, request_type: "manifest", request_hostname: (0, u.extractHostname)(i), request_response_headers: d(s), request_rendition_lists: { media: c, audio: f, video: {} } }) }; r.on(a.Events.MANIFEST_LOADED, s); var c = function(e, t) { var r = t.details, a = t.level, i = t.networkDetails, n = t.stats, s = l(n), c = s.bytesLoaded, f = s.requestStart, p = s.responseStart, h = s.responseEnd; o("requestcompleted", { request_event_type: e, request_bytes_loaded: c, request_start: f, request_response_start: p, request_response_end: h, request_current_level: a, request_type: "manifest", request_hostname: (0, u.extractHostname)(r.url), request_response_headers: d(i) }) }; r.on(a.Events.LEVEL_LOADED, c); var f = function(e, t) { var r = t.details, a = t.networkDetails, i = t.stats, n = l(i), s = n.bytesLoaded, c = n.requestStart, f = n.responseStart, p = n.responseEnd; o("requestcompleted", { request_event_type: e, request_bytes_loaded: s, request_start: c, request_response_start: f, request_response_end: p, request_type: "manifest", request_hostname: (0, u.extractHostname)(r.url), request_response_headers: d(a) }) }; r.on(a.Events.AUDIO_TRACK_LOADED, f); var p = function(e, t) { var a = t.stats, i = t.networkDetails, n = t.frag, s = l(a), c = s.bytesLoaded, f = s.requestStart, p = s.responseStart, h = s.responseEnd, _ = { request_event_type: e, request_bytes_loaded: c, request_start: f, request_response_start: p, request_response_end: h, request_hostname: i ? (0, u.extractHostname)(i.responseURL) : void 0, request_response_headers: d(i), request_media_duration: n.duration }; "main" === n.type ? (_.request_type = "media", _.request_current_level = n.level, _.request_video_width = (r.levels[n.level] || {}).width, _.request_video_height = (r.levels[n.level] || {}).height) : _.request_type = n.type, o("requestcompleted", _) }; r.on(a.Events.FRAG_LOADED, p); var h = function(e, t) { var r = t.details, i = t.response, n = t.context, s = t.frag; if (r === a.ErrorDetails.MANIFEST_LOAD_ERROR || r === a.ErrorDetails.MANIFEST_LOAD_TIMEOUT || r === a.ErrorDetails.FRAG_LOAD_ERROR || r === a.ErrorDetails.FRAG_LOAD_TIMEOUT || r === a.ErrorDetails.LEVEL_LOAD_ERROR || r === a.ErrorDetails.LEVEL_LOAD_TIMEOUT) { var l = s && s.url || n && n.url || ""; o("requestfailed", { request_error: r, request_url: l, request_hostname: (0, u.extractHostname)(l), request_type: r === a.ErrorDetails.FRAG_LOAD_ERROR || r === a.ErrorDetails.FRAG_LOAD_TIMEOUT ? "media" : "manifest", request_error_code: i && i.code, request_error_text: i && i.text }) } }; r.on(a.Events.ERROR, h); var _ = function(e, t) { var r = t.frag, a = r && r._url || ""; o("requestcanceled", { request_cancel: e, request_url: a, request_type: "media", request_hostname: (0, u.extractHostname)(a) }) }; r.on(a.Events.FRAG_LOAD_EMERGENCY_ABORTED, _), r._stopMuxMonitor = function() { r.off(a.Events.MANIFEST_LOADED, s), r.off(a.Events.LEVEL_LOADED, c), r.off(a.Events.AUDIO_TRACK_LOADED, f), r.off(a.Events.FRAG_LOADED, p), r.off(a.Events.ERROR, h), r.off(a.Events.FRAG_LOAD_EMERGENCY_ABORTED, _), r.off(a.Events.DESTROYING, r._stopMuxMonitor), delete r._stopMuxMonitor }, r.on(a.Events.DESTROYING, r._stopMuxMonitor) }, f = function(e) { e && "function" == typeof e._stopMuxMonitor && e._stopMuxMonitor() }; t.monitorHlsJs = c, t.stopMonitoringHlsJs = f }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } Object.defineProperty(t, "__esModule", { value: !0 }), t.stopMonitoringDashJS = t.monitorDashJS = void 0; var i = r(2), n = a(i), o = r(7), s = a(o), u = r(4), l = function(e, t) { if (!e || "function" != typeof e.getRequests) return {}; var r = e.getRequests({ state: "executed" }); if (0 === r.length) return {}; var a = r[r.length - 1], i = (0, u.extractHostname)(a.url), n = a.bytesLoaded, o = new Date(a.requestStartDate).getTime(), l = new Date(a.firstByteDate).getTime(), d = new Date(a.requestEndDate).getTime(), c = isNaN(a.duration) ? 0 : a.duration, f = t.getMetricsFor(a.mediaType).HttpList, p = void 0; return f.length > 0 && (p = (0, s.default)(f[f.length - 1]._responseHeaders || "")), { requestStart: o, requestResponseStart: l, requestResponseEnd: d, requestBytesLoaded: n, requestResponseHeaders: p, requestMediaDuration: c, requestHostname: i } }, d = function(e, t) { var r = t.getQualityFor(e), a = t.getCurrentTrackFor(e), i = a.bitrateList; return i ? { currentLevel: r, renditionWidth: i[r].width || null, renditionHeight: i[r].height || null, renditionBitrate: i[r].bandwidth } : {} }, c = function(e, t, r) { var a = (arguments.length > 3 && void 0 !== arguments[3] && arguments[3], e.log); if (!r || !r.on) return void a.warn("Invalid dash.js player reference. Monitoring blocked."); var i = function(r, a) { return e.emit(t, r, a) }, o = function(e) { var t = e.type, r = e.data, a = r || {}, n = a.url; i("requestcompleted", { request_event_type: t, request_start: 0, request_response_start: 0, request_response_end: 0, request_bytes_loaded: -1, request_type: "manifest", request_hostname: (0, u.extractHostname)(n) }) }; r.on("manifestLoaded", o); var s = {}, c = function(e) { var t = e.type, a = e.fragmentModel, n = e.chunk, o = n || {}, u = o.mediaInfo, d = u || {}, c = d.type, f = d.bitrateList; f = f || []; var p = {}; f.forEach(function(e, t) { p[t] = {}, p[t].width = e.width, p[t].height = e.height, p[t].bitrate = e.bandwidth, p[t].attrs = {} }), "video" === c ? s.video = p : "audio" === c ? s.audio = p : s.media = p; var h = l(a, r), _ = h.requestStart, m = h.requestResponseStart, v = h.requestResponseEnd, y = h.requestResponseHeaders, b = h.requestMediaDuration, g = h.requestHostname; i("requestcompleted", { request_event_type: t, request_start: _, request_response_start: m, request_response_end: v, request_bytes_loaded: -1, request_type: c + "_init", request_response_headers: y, request_hostname: g, request_media_duration: b, request_rendition_lists: s }) }; r.on("initFragmentLoaded", c); var f = function(e) { var t = e.type, a = e.fragmentModel, n = e.chunk, o = n || {}, s = o.mediaInfo, u = o.start, c = s || {}, f = c.type, p = l(a, r), h = p.requestStart, _ = p.requestResponseStart, m = p.requestResponseEnd, v = p.requestBytesLoaded, y = p.requestResponseHeaders, b = p.requestMediaDuration, g = p.requestHostname, w = d(f, r), x = w.currentLevel, S = w.renditionWidth, T = w.renditionHeight, E = w.renditionBitrate; i("requestcompleted", { request_event_type: t, request_start: h, request_response_start: _, request_response_end: m, request_bytes_loaded: v, request_type: f, request_response_headers: y, request_hostname: g, request_media_start_time: u, request_media_duration: b, request_current_level: x, request_labeled_bitrate: E, request_video_width: S, request_video_height: T }) }; r.on("mediaFragmentLoaded", f); var p = function(e) { var t = e.error, r = e.event; r = r || {}; var a = r.request || {}, o = n.default.event && n.default.event.currentTarget || {}; i("requestfailed", { request_error: t + "_" + r.id + "_" + a.type, request_url: r.url, request_hostname: (0, u.extractHostname)(r.url), request_type: a.mediaType, request_error_code: o.status, request_error_type: o.statusText }) }; r.on("error", p), r._stopMuxMonitor = function() { r.off("manifestLoaded", o), r.off("initFragmentLoaded", c), r.off("mediaFragmentLoaded", f), r.off("error", p), delete r._stopMuxMonitor } }, f = function(e) { e && "function" == typeof e._stopMuxMonitor && e._stopMuxMonitor() }; t.monitorDashJS = c, t.stopMonitoringDashJS = f }, function(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var a = function() {}, i = 0; a.prototype.on = function(e, t, r) { return t._eventEmitterGuid = t._eventEmitterGuid || ++i, this._listeners = this._listeners || {}, this._listeners[e] = this._listeners[e] || [], r && (t = t.bind(r)), this._listeners[e].push(t), t }, a.prototype.off = function(e, t) { var r = this._listeners && this._listeners[e]; r && r.forEach(function(e, a) { e._eventEmitterGuid === t._eventEmitterGuid && r.splice(a, 1) }) }, a.prototype.one = function(e, t, r) { var a = this; t._eventEmitterGuid = t._eventEmitterGuid || ++i; var n = function i() { a.off(e, i), t.apply(r || this, arguments) }; n._eventEmitterGuid = t._eventEmitterGuid, this.on(e, n) }, a.prototype.emit = function(e, t) { var r = this; if (this._listeners) { t = t || {}; var a = this._listeners["before*"] || [], i = this._listeners[e] || [], n = this._listeners["after" + e] || [], o = function(t, a) { t = t.slice(), t.forEach(function(t) { t.call(r, { type: e }, a) }) }; o(a, t), o(i, t), o(n, t) } }, t.default = a }, function(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var a = r(2), i = function(e) { return e && e.__esModule ? e : { default: e } }(a), n = function() { this._playbackHeartbeatInterval = null, this._playheadShouldBeProgressing = !1, this.on("playing", function() { this._playheadShouldBeProgressing = !0 }), this.on("play", this._startPlaybackHeartbeatInterval), this.on("adbreakstart", this._startPlaybackHeartbeatInterval), this.on("adplay", this._startPlaybackHeartbeatInterval), this.on("seeking", this._startPlaybackHeartbeatInterval), this.on("devicewake", this._startPlaybackHeartbeatInterval), this.on("viewstart", this._startPlaybackHeartbeatInterval), this.on("pause", this._stopPlaybackHeartbeatInterval), this.on("ended", this._stopPlaybackHeartbeatInterval), this.on("viewend", this._stopPlaybackHeartbeatInterval), this.on("error", this._stopPlaybackHeartbeatInterval), this.on("adpause", this._stopPlaybackHeartbeatInterval), this.on("adbreakend", this._stopPlaybackHeartbeatInterval), this.on("seeked", function() { this.data.player_is_paused && this._stopPlaybackHeartbeatInterval() }), this.on("timeupdate", function() { null !== this._playbackHeartbeatInterval && this.emit("playbackheartbeat") }), this.on("devicesleep", function(e, t) { null !== this._playbackHeartbeatInterval && (i.default.clearInterval(this._playbackHeartbeatInterval), this.emit("playbackheartbeatend", { viewer_time: t.viewer_time }), this._playbackHeartbeatInterval = null) }) }; n.prototype._startPlaybackHeartbeatInterval = function() { var e = this; null === this._playbackHeartbeatInterval && (this.emit("playbackheartbeat"), this._playbackHeartbeatInterval = i.default.setInterval(function() { e.emit("playbackheartbeat") }, this.playbackHeartbeatTime)) }, n.prototype._stopPlaybackHeartbeatInterval = function() { this._playheadShouldBeProgressing = !1, null !== this._playbackHeartbeatInterval && (i.default.clearInterval(this._playbackHeartbeatInterval), this.emit("playbackheartbeatend"), this._playbackHeartbeatInterval = null) }, t.default = n }, function(e, t, r) { "use strict"; function a() { var e = this; this.on("viewinit", function() { e.viewErrored = !1 }), this.on("error", function() { try { var t = e.errorTranslator({ player_error_code: e.data.player_error_code, player_error_message: e.data.player_error_message }); t ? (e.data.player_error_code = t.player_error_code, e.data.player_error_message = t.player_error_message, e.viewErrored = !0) : (delete e.data.player_error_code, delete e.data.player_error_message) } catch (t) { e.mux.log.warn("Exception in error translator callback.", t), e.viewErrored = !0 } }) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a }, function(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var a = r(1), i = function(e) { return e && e.__esModule ? e : { default: e } }(a), n = function() { this._watchTimeTrackerLastCheckedTime = null, this.on("playbackheartbeat", this._updateWatchTime), this.on("playbackheartbeatend", this._clearWatchTimeState) }; n.prototype._updateWatchTime = function(e, t) { var r = t.viewer_time; null === this._watchTimeTrackerLastCheckedTime && (this._watchTimeTrackerLastCheckedTime = r), (0, i.default)(this.data, "view_watch_time", r - this._watchTimeTrackerLastCheckedTime), this._watchTimeTrackerLastCheckedTime = r }, n.prototype._clearWatchTimeState = function(e, t) { this._updateWatchTime(e, t), this._watchTimeTrackerLastCheckedTime = null }, t.default = n }, function(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var a = r(1), i = function(e) { return e && e.__esModule ? e : { default: e } }(a), n = function() { this._playbackTimeTrackerLastPlayheadPosition = -1, this.on("playbackheartbeat", this._updatePlaybackTime), this.on("playbackheartbeatend", this._clearPlaybackTimeState), this.on("seeking", this._clearPlaybackTimeState) }; n.prototype._updatePlaybackTime = function() { var e = this.data.player_playhead_time; if (this._playbackTimeTrackerLastPlayheadPosition >= 0 && e > this._playbackTimeTrackerLastPlayheadPosition) { var t = e - this._playbackTimeTrackerLastPlayheadPosition; t <= 1e3 && (0, i.default)(this.data, "view_content_playback_time", t) } this._playbackTimeTrackerLastPlayheadPosition = e }, n.prototype._clearPlaybackTimeState = function() { this._updatePlaybackTime(), this._playbackTimeTrackerLastPlayheadPosition = -1 }, t.default = n }, function(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var a = function() { this.on("playbackheartbeat", this._updatePlayheadTime), this.on("playbackheartbeatend", this._updatePlayheadTime), this.on("timeupdate", this._updatePlayheadTime), this.on("destroy", function() { this.off("timeupdate", this._updatePlayheadTime) }) }; a.prototype._updatePlayheadTime = function(e, t) { if (t.player_playhead_time) this.data.player_playhead_time = t.player_playhead_time; else if (this.getPlayheadTime) { var r = this.getPlayheadTime(); void 0 !== r && (this.data.player_playhead_time = r) } }, t.default = a }, function(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var a = r(1), i = function(e) { return e && e.__esModule ? e : { default: e } }(a), n = function() { this._lastCheckedTime = null, this._lastPlayheadTime = null, this._lastPlayheadTimeUpdatedTime = null, this.on("playbackheartbeat", this._checkIfRebuffering), this.on("playbackheartbeatend", this._cleanupRebufferTracker), this.on("seeking", function() { this._cleanupRebufferTracker(null, { viewer_time: Date.now() }) }) }; n.prototype._checkIfRebuffering = function(e, t) { if (this.isSeeking || this.isAdBreak || !this._playheadShouldBeProgressing) return void this._cleanupRebufferTracker(e, t); if (null === this._lastCheckedTime) return this._prepareRebufferTrackerState(t.viewer_time), void this._updateRebufferMetrics(); if (this._lastPlayheadTime !== this.data.player_playhead_time) return void this._cleanupRebufferTracker(e, t, !0); var r = t.viewer_time - this._lastPlayheadTimeUpdatedTime; r >= this.sustainedRebufferThreshold && (this._rebuffering ? this._updateRebufferMetrics(t.viewer_time - this._lastCheckedTime) : (this._rebuffering = !0, (0, i.default)(this.data, "view_rebuffer_count", 1), this._updateRebufferMetrics(r), this.emit("rebufferstart"))), this._lastCheckedTime = t.viewer_time }, n.prototype._clearRebufferTrackerState = function() { this._lastCheckedTime = null, this._lastPlayheadTime = null, this._lastPlayheadTimeUpdatedTime = null }, n.prototype._prepareRebufferTrackerState = function(e) { this._lastCheckedTime = e, this._lastPlayheadTime = this.data.player_playhead_time, this._lastPlayheadTimeUpdatedTime = e }, n.prototype._cleanupRebufferTracker = function(e, t) { var r = arguments.length > 2 && void 0 !== arguments[2] && arguments[2]; if (this._rebuffering) this._rebuffering = !1, this._updateRebufferMetrics(t.viewer_time - this._lastCheckedTime), this.emit("rebufferend", { viewer_time: t.viewer_time }); else { if (null === this._lastCheckedTime) return void this._updateRebufferMetrics(); var a = this.data.player_playhead_time - this._lastPlayheadTime, n = t.viewer_time - this._lastPlayheadTimeUpdatedTime; a > 0 && n - a > this.minimumRebufferDuration ? ((0, i.default)(this.data, "view_rebuffer_count", 1), this._updateRebufferMetrics(n - a), this.emit("rebufferstart", { viewer_time: this._lastPlayheadTimeUpdatedTime }), this.emit("rebufferend", { viewer_time: this._lastPlayheadTimeUpdatedTime + n - a })) : this._updateRebufferMetrics() } r ? this._prepareRebufferTrackerState(t.viewer_time) : this._clearRebufferTrackerState() }, n.prototype._updateRebufferMetrics = function(e) { e > 0 && (0, i.default)(this.data, "view_rebuffer_duration", e), this.data.view_watch_time >= 0 && this.data.view_rebuffer_count > 0 && (this.data.view_rebuffer_frequency = this.data.view_rebuffer_count / this.data.view_watch_time, this.data.view_rebuffer_percentage = this.data.view_rebuffer_duration / this.data.view_watch_time) }, t.default = n }, function(e, t, r) { "use strict"; Object.defineProperty(t, "__esModule", { value: !0 }); var a = function() { this.on("viewinit", function() { var e = this.data, t = e.view_id; if (!e.view_program_changed) { var r = function(e, r) { var a = r.viewer_time; "playing" === e.type && void 0 === this.data.view_time_to_first_frame ? this.calculateTimeToFirstFrame(a || Date.now(), t) : "adplaying" !== e.type || void 0 !== this.data.view_time_to_first_frame && !this.inPrerollPosition() || this.calculateTimeToFirstFrame(a || Date.now(), t) }; this.one("playing", r), this.one("adplaying", r), this.one("viewend", function() { this.off("playing", r), this.off("adplaying", r) }) } }) }; a.prototype.calculateTimeToFirstFrame = function(e, t) { t === this.data.view_id && (this._updateWatchTime(null, { viewer_time: e }), this.data.view_time_to_first_frame = this.data.view_watch_time, (this.data.player_autoplay_on || this.data.video_is_autoplay) && this.NAVIGATION_START && (this.data.view_aggregate_startup_time = this.data.view_start + this.data.view_watch_time - this.NAVIGATION_START)) }, t.default = a }, function(e, t, r) { "use strict"; function a() { var e = this; this.on("viewinit", function() { this._lastPlayheadPosition = -1 }); var t = ["pause", "rebufferstart", "seeking", "error", "adbreakstart", "hb"], r = ["playing", "hb"]; t.forEach(function(t) { e.on(t, function() { if (this._lastPlayheadPosition >= 0 && this.data.player_playhead_time >= 0 && this._lastPlayerWidth >= 0 && this._lastSourceWidth > 0 && this._lastPlayerHeight >= 0 && this._lastSourceHeight > 0) { var e = this.data.player_playhead_time - this._lastPlayheadPosition; if (e < 0) return void(this._lastPlayheadPosition = -1); var t = Math.min(this._lastPlayerWidth / this._lastSourceWidth, this._lastPlayerHeight / this._lastSourceHeight), r = Math.max(0, t - 1), a = Math.max(0, 1 - t); this.data.view_max_upscale_percentage = Math.max(this.data.view_max_upscale_percentage || 0, r), this.data.view_max_downscale_percentage = Math.max(this.data.view_max_downscale_percentage || 0, a), (0, n.default)(this.data, "view_total_content_playback_time", e), (0, n.default)(this.data, "view_total_upscaling", r * e), (0, n.default)(this.data, "view_total_downscaling", a * e) } this._lastPlayheadPosition = -1 }) }), r.forEach(function(t) { e.on(t, function() { this._lastPlayheadPosition = this.data.player_playhead_time, this._lastPlayerWidth = this.data.player_width, this._lastPlayerHeight = this.data.player_height, this._lastSourceWidth = this.data.video_source_width, this._lastSourceHeight = this.data.video_source_height }) }) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a; var i = r(1), n = function(e) { return e && e.__esModule ? e : { default: e } }(i) }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } function i() { this.isSeeking = !1, this.on("seeking", function(e, t) { (0, u.default)(this.data, t), this._lastSeekingTime = Date.now(), !1 === this.isSeeking && (this.isSeeking = !0, this.send("seeking")) }), this.on("seeked", function() { this.isSeeking = !1; var e = this._lastSeekingTime || Date.now(), t = Date.now() - e; (0, o.default)(this.data, "view_seek_count", 1), (0, o.default)(this.data, "view_seek_duration", t); var r = this.data.view_max_seek_time || 0; this.data.view_max_seek_time = Math.max(r, t) }), this.on("viewend", function() { this.isSeeking = !1 }) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = i; var n = r(1), o = a(n), s = r(0), u = a(s) }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } Object.defineProperty(t, "__esModule", { value: !0 }); var i = function() { function e(e, t) { var r = [], a = !0, i = !1, n = void 0; try { for (var o, s = e[Symbol.iterator](); !(a = (o = s.next()).done) && (r.push(o.value), !t || r.length !== t); a = !0); } catch (e) { i = !0, n = e } finally { try { !a && s.return && s.return() } finally { if (i) throw n } } return r } return function(t, r) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return e(t, r); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(), n = r(1), o = a(n), s = r(4), u = r(0), l = a(u), d = function(e, t) { e.push(t), e.sort(function(e, t) { return e.viewer_time - t.viewer_time }) }, c = ["adbreakstart", "adrequest", "adresponse", "adplay", "adplaying", "adpause", "adended", "adbreakend", "aderror"], f = function() { var e = this; this.on("viewinit", function() { this.isAdBreak = !1, this._currentAdRequestNumber = 0, this._currentAdResponseNumber = 0, this._adRequests = [], this._adResponses = [], this._adHasPlayed = !1, this._wouldBeNewAdPlay = !0, this._prerollPlayTime = void 0 }), c.forEach(function(t) { return e.on(t, e._updateAdData) }); var t = function() { e.isAdBreak = !1 }; this.on("adbreakstart", function() { this.isAdBreak = !0 }), this.on("play", t), this.on("playing", t), this.on("viewend", t), this.on("adrequest", function(e, t) { t = (0, l.default)({ ad_request_id: "generatedAdRequestId" + this._currentAdRequestNumber++ }, t), d(this._adRequests, t), (0, o.default)(this.data, "view_ad_request_count"), this.inPrerollPosition() && (this.data.view_preroll_requested = !0, this._adHasPlayed || (0, o.default)(this.data, "view_preroll_request_count")) }), this.on("adresponse", function(e, t) { t = (0, l.default)({ ad_request_id: "generatedAdRequestId" + this._currentAdResponseNumber++ }, t), d(this._adResponses, t); var r = this.findAdRequest(t.ad_request_id); r && (0, o.default)(this.data, "view_ad_request_time", Math.max(0, t.viewer_time - r.viewer_time)) }), this.on("adplay", function(e, t) { this._adHasPlayed = !0, this._wouldBeNewAdPlay && (this._wouldBeNewAdPlay = !1, (0, o.default)(this.data, "view_ad_played_count")), this.inPrerollPosition() && !this.data.view_preroll_played && (this.data.view_preroll_played = !0, this._adRequests.length > 0 && (this.data.view_preroll_request_time = Math.max(0, t.viewer_time - this._adRequests[0].viewer_time)), this.data.view_start && (this.data.view_startup_preroll_request_time = Math.max(0, t.viewer_time - this.data.view_start)), this._prerollPlayTime = t.viewer_time) }), this.on("adplaying", function(e, t) { this.inPrerollPosition() && void 0 === this.data.view_preroll_load_time && void 0 !== this._prerollPlayTime && (this.data.view_preroll_load_time = t.viewer_time - this._prerollPlayTime, this.data.view_startup_preroll_load_time = t.viewer_time - this._prerollPlayTime) }), this.on("adended", function() { this._wouldBeNewAdPlay = !0 }), this.on("aderror", function() { this._wouldBeNewAdPlay = !0 }) }; f.prototype.inPrerollPosition = function() { return void 0 === this.data.view_content_playback_time || this.data.view_content_playback_time <= 1e3 }, f.prototype.findAdRequest = function(e) { for (var t = 0; t < this._adRequests.length; t++) if (this._adRequests[t].ad_request_id === e) return this._adRequests[t] }, f.prototype._updateAdData = function(e, t) { if (this.inPrerollPosition()) { if (!this.data.view_preroll_ad_tag_hostname && t.ad_tag_url) { var r = (0, s.extractHostnameAndDomain)(t.ad_tag_url), a = i(r, 2), n = a[0], o = a[1]; this.data.view_preroll_ad_tag_domain = o, this.data.view_preroll_ad_tag_hostname = n } if (!this.data.view_preroll_ad_asset_hostname && t.ad_asset_url) { var u = (0, s.extractHostnameAndDomain)(t.ad_asset_url), l = i(u, 2), d = l[0], c = l[1]; this.data.view_preroll_ad_asset_domain = c, this.data.view_preroll_ad_asset_hostname = d } } }, t.default = f }, function(e, t, r) { "use strict"; function a() { var e = this, t = void 0, r = void 0, a = function() { (0, n.default)(e.data, "view_waiting_rebuffer_count", 1), t = Date.now(), r = window.setInterval(function() { if (t) { var r = Date.now(); (0, n.default)(e.data, "view_waiting_rebuffer_duration", r - t), t = r } }, 250) }, i = function() { t && ((0, n.default)(e.data, "view_waiting_rebuffer_duration", Date.now() - t), t = !1, window.clearInterval(r)) }, o = !1, s = function() { o = !0 }, u = function() { o = !1, i() }; this.on("waiting", function() { o && a() }), this.on("playing", function() { i(), s() }), this.on("pause", u), this.on("seeking", u) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a; var i = r(1), n = function(e) { return e && e.__esModule ? e : { default: e } }(i) }, function(e, t, r) { "use strict"; function a() { var e = this; this.one("playbackheartbeat", o), this.on("playbackheartbeatend", function() { e.off("before*", s), e.one("playbackheartbeat", o) }) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a; var i = r(0), n = function(e) { return e && e.__esModule ? e : { default: e } }(i), o = function() { this.lastWallClockTime = Date.now(), this.on("before*", s) }, s = function(e) { var t = Date.now(), r = this.lastWallClockTime; this.lastWallClockTime = t, t - r > 3e4 && (this.emit("devicesleep", { viewer_time: r }), (0, n.default)(this.data, { viewer_time: r }), this.send("devicesleep"), this.emit("devicewake", { viewer_time: t }), (0, n.default)(this.data, { viewer_time: t }), this.send("devicewake")) } }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } Object.defineProperty(t, "__esModule", { value: !0 }); var i = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { return typeof e } : function(e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e }, n = r(39), o = r(3), s = a(o), u = r(43), l = a(u), d = r(9), c = a(d), f = r(15), p = a(f), h = r(44), _ = a(h), m = r(46), v = a(m), y = r(0), b = a(y), g = ["env_key", "view_id", "view_sequence_number", "player_sequence_number", "beacon_domain", "player_playhead_time", "viewer_time", "mux_api_version", "event", "video_id"], w = ["viewstart", "error", "ended", "viewend"], x = function(e, t) { var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}; this.mux = e, this.envKey = t, this.eventQueue = new _.default((0, l.default)(t, r.beaconDomain)), this.previousBeaconData = null, this.lastEventTime = null, this.sampleRate = r.sampleRate, this.disableCookies = r.disableCookies, this.respectDoNotTrack = r.respectDoNotTrack, this.pageLevelData = { mux_api_version: this.mux.API_VERSION, mux_embed_version: this.mux.VERSION, page_url: window.location.href, viewer_application_name: v.default.name, viewer_application_version: v.default.version, viewer_application_engine: v.default.layout, viewer_device_name: v.default.product, viewer_device_category: "", viewer_device_manufacturer: v.default.manufacturer, viewer_os_family: v.default.os && v.default.os.family, viewer_os_architecture: v.default.os && v.default.os.architecture, viewer_os_version: v.default.os && v.default.os.version }, this.viewerData = this.disableCookies ? {} : (0, n.getAndUpdateViewerData)() }; x.prototype.send = function(e, t) { if (e) { if (this.respectDoNotTrack && (0, c.default)()) return s.default.info("Not sending `" + e + "` because Do Not Track is enabled in your browser"); if (!t || "object" !== (void 0 === t ? "undefined" : i(t))) return s.default.error("A data object was expected in send() but was not provided"); var r = this.disableCookies ? {} : (0, n.getAndUpdateSessionData)(), a = {}; (0, b.default)(a, this.pageLevelData), (0, b.default)(a, t), (0, b.default)(a, r), (0, b.default)(a, this.viewerData), a.event = e, a.env_key = this.envKey, a.user_id && (a.viewer_user_id = a.user_id, delete a.user_id); var o = a.mux_sample_number >= this.sampleRate, u = this._deduplicateBeaconData(e, a), l = (0, p.default)(u); if (this.lastEventTime = Date.now(), o) return s.default.info("Not sending event due to sample rate restriction", e, a, l); if (!this.envKey) return s.default.info("Not sending event due to missing environment key", e, a, l); if (!this.rateLimited) if (s.default.info("Sending event", e, a, l), this.rateLimited = !this.eventQueue.queueEvent(e, l), this.mux.WINDOW_UNLOADING && "viewend" === e) this.eventQueue.destroy(!0); else if (w.indexOf(e) >= 0 && this.eventQueue.flushEvents(), this.rateLimited) return a.event = "eventrateexceeded", l = (0, p.default)(a), this.eventQueue.queueEvent(a.event, l), s.default.error("Beaconing disabled due to rate limit.") } }, x.prototype.destroy = function() { this.eventQueue.destroy(!1) }; var S = function(e, t, r, a) { return !(!e || 0 !== t.indexOf("request_") || "request_response_headers" !== t && "object" === (void 0 === r ? "undefined" : i(r)) && "object" === (void 0 === a ? "undefined" : i(a)) && Object.keys(r || {}).length === Object.keys(a || {}).length) }; x.prototype._deduplicateBeaconData = function(e, t) { var r = this, a = {}, i = t.view_id; if (!i || "viewstart" === e || "viewend" === e || !this.previousBeaconData || Date.now() - this.lastEventTime >= 6e5) a = (0, b.default)({}, t), i && (this.previousBeaconData = a), i && "viewend" === e && (this.previousBeaconData = null); else { var n = 0 === e.indexOf("request"); Object.keys(t).forEach(function(e) { var i = t[e]; (i !== r.previousBeaconData[e] || g.indexOf(e) > -1 || S(n, e, i, r.previousBeaconData[e])) && (a[e] = i, r.previousBeaconData[e] = i) }) } return a }, t.default = x }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } Object.defineProperty(t, "__esModule", { value: !0 }), t.getAndUpdateSessionData = t.getAndUpdateViewerData = void 0; var i = r(12), n = a(i), o = r(42), s = a(o), u = r(6), l = function() { var e = void 0; try { e = n.default.parse(s.default.get("muxData") || "") } catch (t) { e = {} } return e }, d = function(e) { s.default.set("muxData", n.default.stringify(e), { expires: 7300 }) }, c = function() { var e = l(); return e.mux_viewer_id = e.mux_viewer_id || (0, u.generateUUID)(), e.msn = e.msn || Math.random(), d(e), { mux_viewer_id: e.mux_viewer_id, mux_sample_number: e.msn } }, f = function() { var e = l(), t = Date.now(); return e.session_start && (e.sst = e.session_start, delete e.session_start), e.session_id && (e.sid = e.session_id, delete e.session_id), e.session_expires && (e.sex = e.session_expires, delete e.session_expires), (!e.sex || e.sex < t) && (e.sid = (0, u.generateUUID)(), e.sst = t), e.sex = t + 15e5, d(e), { session_id: e.sid, session_start: e.sst, session_expires: e.sex } }; t.getAndUpdateViewerData = c, t.getAndUpdateSessionData = f }, function(e, t, r) { "use strict"; var a = r(13), i = r(14), n = { brackets: function(e) { return e + "[]" }, indices: function(e, t) { return e + "[" + t + "]" }, repeat: function(e) { return e } }, o = Date.prototype.toISOString, s = { delimiter: "&", encode: !0, encoder: a.encode, encodeValuesOnly: !1, serializeDate: function(e) { return o.call(e) }, skipNulls: !1, strictNullHandling: !1 }, u = function e(t, r, i, n, o, u, l, d, c, f, p, h) { var _ = t; if ("function" == typeof l) _ = l(r, _); else if (_ instanceof Date) _ = f(_); else if (null === _) { if (n) return u && !h ? u(r, s.encoder) : r; _ = "" } if ("string" == typeof _ || "number" == typeof _ || "boolean" == typeof _ || a.isBuffer(_)) return u ? [p(h ? r : u(r, s.encoder)) + "=" + p(u(_, s.encoder))] : [p(r) + "=" + p(String(_))]; var m = []; if (void 0 === _) return m; var v; if (Array.isArray(l)) v = l; else { var y = Object.keys(_); v = d ? y.sort(d) : y } for (var b = 0; b < v.length; ++b) { var g = v[b]; o && null === _[g] || (m = Array.isArray(_) ? m.concat(e(_[g], i(r, g), i, n, o, u, l, d, c, f, p, h)) : m.concat(e(_[g], r + (c ? "." + g : "[" + g + "]"), i, n, o, u, l, d, c, f, p, h))) } return m }; e.exports = function(e, t) { var r = e, o = t ? a.assign({}, t) : {}; if (null !== o.encoder && void 0 !== o.encoder && "function" != typeof o.encoder) throw new TypeError("Encoder has to be a function."); var l = void 0 === o.delimiter ? s.delimiter : o.delimiter, d = "boolean" == typeof o.strictNullHandling ? o.strictNullHandling : s.strictNullHandling, c = "boolean" == typeof o.skipNulls ? o.skipNulls : s.skipNulls, f = "boolean" == typeof o.encode ? o.encode : s.encode, p = "function" == typeof o.encoder ? o.encoder : s.encoder, h = "function" == typeof o.sort ? o.sort : null, _ = void 0 !== o.allowDots && o.allowDots, m = "function" == typeof o.serializeDate ? o.serializeDate : s.serializeDate, v = "boolean" == typeof o.encodeValuesOnly ? o.encodeValuesOnly : s.encodeValuesOnly; if (void 0 === o.format) o.format = i.default; else if (!Object.prototype.hasOwnProperty.call(i.formatters, o.format)) throw new TypeError("Unknown format option provided."); var y, b, g = i.formatters[o.format]; "function" == typeof o.filter ? (b = o.filter, r = b("", r)) : Array.isArray(o.filter) && (b = o.filter, y = b); var w = []; if ("object" != typeof r || null === r) return ""; var x; x = o.arrayFormat in n ? o.arrayFormat : "indices" in o ? o.indices ? "indices" : "repeat" : "indices"; var S = n[x]; y || (y = Object.keys(r)), h && y.sort(h); for (var T = 0; T < y.length; ++T) { var E = y[T]; c && null === r[E] || (w = w.concat(u(r[E], E, S, d, c, f ? p : null, b, h, _, m, g, v))) } var O = w.join(l), k = !0 === o.addQueryPrefix ? "?" : ""; return O.length > 0 ? k + O : "" } }, function(e, t, r) { "use strict"; var a = r(13), i = Object.prototype.hasOwnProperty, n = { allowDots: !1, allowPrototypes: !1, arrayLimit: 20, decoder: a.decode, delimiter: "&", depth: 5, parameterLimit: 1e3, plainObjects: !1, strictNullHandling: !1 }, o = function(e, t) { for (var r = {}, a = t.ignoreQueryPrefix ? e.replace(/^\?/, "") : e, o = t.parameterLimit === 1 / 0 ? void 0 : t.parameterLimit, s = a.split(t.delimiter, o), u = 0; u < s.length; ++u) { var l, d, c = s[u], f = c.indexOf("]="), p = -1 === f ? c.indexOf("=") : f + 1; - 1 === p ? (l = t.decoder(c, n.decoder), d = t.strictNullHandling ? null : "") : (l = t.decoder(c.slice(0, p), n.decoder), d = t.decoder(c.slice(p + 1), n.decoder)), i.call(r, l) ? r[l] = [].concat(r[l]).concat(d) : r[l] = d } return r }, s = function(e, t, r) { for (var a = t, i = e.length - 1; i >= 0; --i) { var n, o = e[i]; if ("[]" === o) n = [], n = n.concat(a); else { n = r.plainObjects ? Object.create(null) : {}; var s = "[" === o.charAt(0) && "]" === o.charAt(o.length - 1) ? o.slice(1, -1) : o, u = parseInt(s, 10); !isNaN(u) && o !== s && String(u) === s && u >= 0 && r.parseArrays && u <= r.arrayLimit ? (n = [], n[u] = a) : n[s] = a } a = n } return a }, u = function(e, t, r) { if (e) { var a = r.allowDots ? e.replace(/\.([^.[]+)/g, "[$1]") : e, n = /(\[[^[\]]*])/, o = /(\[[^[\]]*])/g, u = n.exec(a), l = u ? a.slice(0, u.index) : a, d = []; if (l) { if (!r.plainObjects && i.call(Object.prototype, l) && !r.allowPrototypes) return; d.push(l) } for (var c = 0; null !== (u = o.exec(a)) && c < r.depth;) { if (c += 1, !r.plainObjects && i.call(Object.prototype, u[1].slice(1, -1)) && !r.allowPrototypes) return; d.push(u[1]) } return u && d.push("[" + a.slice(u.index) + "]"), s(d, t, r) } }; e.exports = function(e, t) { var r = t ? a.assign({}, t) : {}; if (null !== r.decoder && void 0 !== r.decoder && "function" != typeof r.decoder) throw new TypeError("Decoder has to be a function."); if (r.ignoreQueryPrefix = !0 === r.ignoreQueryPrefix, r.delimiter = "string" == typeof r.delimiter || a.isRegExp(r.delimiter) ? r.delimiter : n.delimiter, r.depth = "number" == typeof r.depth ? r.depth : n.depth, r.arrayLimit = "number" == typeof r.arrayLimit ? r.arrayLimit : n.arrayLimit, r.parseArrays = !1 !== r.parseArrays, r.decoder = "function" == typeof r.decoder ? r.decoder : n.decoder, r.allowDots = "boolean" == typeof r.allowDots ? r.allowDots : n.allowDots, r.plainObjects = "boolean" == typeof r.plainObjects ? r.plainObjects : n.plainObjects, r.allowPrototypes = "boolean" == typeof r.allowPrototypes ? r.allowPrototypes : n.allowPrototypes, r.parameterLimit = "number" == typeof r.parameterLimit ? r.parameterLimit : n.parameterLimit, r.strictNullHandling = "boolean" == typeof r.strictNullHandling ? r.strictNullHandling : n.strictNullHandling, "" === e || null === e || void 0 === e) return r.plainObjects ? Object.create(null) : {}; for (var i = "string" == typeof e ? o(e, r) : e, s = r.plainObjects ? Object.create(null) : {}, l = Object.keys(i), d = 0; d < l.length; ++d) { var c = l[d], f = u(c, i[c], r); s = a.merge(s, f, r) } return a.compact(s) } }, function(e, t, r) { "use strict"; var a, i, n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(e) { return typeof e } : function(e) { return e && "function" == typeof Symbol && e.constructor === Symbol && e !== Symbol.prototype ? "symbol" : typeof e }; ! function(o) { var s = !1; if (a = o, void 0 !== (i = "function" == typeof a ? a.call(t, r, t, e) : a) && (e.exports = i), s = !0, "object" === n(t) && (e.exports = o(), s = !0), !s) { var u = window.Cookies, l = window.Cookies = o(); l.noConflict = function() { return window.Cookies = u, l } } }(function() { function e(r) { function a(e, i, n) { var o; if ("undefined" != typeof document) { if (arguments.length > 1) { if (n = t({ path: "/" }, a.defaults, n), "number" == typeof n.expires) { var s = new Date; s.setMilliseconds(s.getMilliseconds() + 864e5 * n.expires), n.expires = s } try { o = JSON.stringify(i), /^[\{\[]/.test(o) && (i = o) } catch (e) {} return i = r.write ? r.write(i, e) : encodeURIComponent(String(i)).replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent), e = encodeURIComponent(String(e)), e = e.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent), e = e.replace(/[\(\)]/g, escape), document.cookie = [e, "=", i, n.expires ? "; expires=" + n.expires.toUTCString() : "", n.path ? "; path=" + n.path : "", n.domain ? "; domain=" + n.domain : "", n.secure ? "; secure" : ""].join("") } e || (o = {}); for (var u = document.cookie ? document.cookie.split("; ") : [], l = /(%[0-9A-Z]{2})+/g, d = 0; d < u.length; d++) { var c = u[d].split("="), f = c.slice(1).join("="); '"' === f.charAt(0) && (f = f.slice(1, -1)); try { var p = c[0].replace(l, decodeURIComponent); if (f = r.read ? r.read(f, p) : r(f, p) || f.replace(l, decodeURIComponent), this.json) try { f = JSON.parse(f) } catch (e) {} if (e === p) { o = f; break } e || (o[p] = f) } catch (e) {} } return o } } return a.set = a, a.get = function(e) { return a.call(a, e) }, a.getJSON = function() { return a.apply({ json: !0 }, [].slice.call(arguments)) }, a.defaults = {}, a.remove = function(e, r) { a(e, "", t(r, { expires: -1 })) }, a.withConverter = e, a } var t = function() { for (var e = 0, t = {}; e < arguments.length; e++) { var r = arguments[e]; for (var a in r) t[a] = r[a] } return t }; return e(function() {}) }) }, function(e, t, r) { "use strict"; function a(e, t) { return e = e || "", t = t || "litix.io", e.match(/^[a-z0-9]+$/) ? "https://" + e + "." + t : "https://img.litix.io/a.gif" } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } Object.defineProperty(t, "__esModule", { value: !0 }); var i = r(2), n = a(i), o = r(3), s = a(o), u = r(45), l = a(u), d = r(0), c = a(d), f = r(15), p = a(f), h = !!n.default.XMLHttpRequest && "withCredentials" in new n.default.XMLHttpRequest, _ = { maxBeaconSize: 300, maxQueueLength: 3600, baseTimeBetweenBeacons: 5e3 }, m = function(e, t) { this._beaconUrl = e || "https://img.litix.io", this._eventQueue = [], this._postInFlight = !1, this._failureCount = 0, this._sendTimeout = !1, this._options = (0, c.default)({}, _, t) }; m.prototype.queueEvent = function(e, t) { var r = (0, c.default)({}, t); return h ? (this._eventQueue.length <= this._options.maxQueueLength || "eventrateexceeded" === e) && (this._eventQueue.push(r), this._sendTimeout || this._startBeaconSending(), this._eventQueue.length <= this._options.maxQueueLength) : (l.default.send(this._beaconUrl, r), !0) }, m.prototype.flushEvents = function() { h && (this._eventQueue.length && this._sendBeaconQueue(), this._startBeaconSending()) }, m.prototype.destroy = function() { var e = arguments.length > 0 && void 0 !== arguments[0] && arguments[0]; this.destroyed = !0, e ? this._clearBeaconQueue() : this.flushEvents(), n.default.clearTimeout(this._sendTimeout) }, m.prototype._clearBeaconQueue = function() { var e = n.default.navigator, t = this._eventQueue.length > this._options.maxBeaconSize ? this._eventQueue.length - this._options.maxBeaconSize : 0, r = this._eventQueue.slice(t); if (t > 0 && (0, c.default)(r[r.length - 1], (0, p.default)({ mux_view_message: "event queue truncated" })), e.sendBeacon) e.sendBeacon(this._beaconUrl, JSON.stringify({ events: r })); else if (n.default.XMLHttpRequest) { var a = new n.default.XMLHttpRequest; a.open("POST", this._beaconUrl), a.setRequestHeader("Content-Type", "application/json"), a.send(JSON.stringify({ events: r })) } else l.default.send(this._beaconUrl, r[r.length - 1]) }, m.prototype._sendBeaconQueue = function() { var e = this; if (n.default.XMLHttpRequest && !this._postInFlight) { var t = new n.default.XMLHttpRequest, r = this._eventQueue.slice(0, this._options.maxBeaconSize); this._eventQueue = this._eventQueue.slice(this._options.maxBeaconSize), this._postInFlight = !0, t.onreadystatechange = function() { 4 === t.readyState && (200 !== t.status ? (e._eventQueue = r.concat(e._eventQueue), e._failureCount += 1, s.default.info("Error sending beacon: " + t.status), s.default.info(t.responseText)) : e._failureCount = 0, e._postInFlight = !1) }, t.open("POST", this._beaconUrl), t.setRequestHeader("Content-Type", "application/json"), t.send(JSON.stringify({ events: r })) } }, m.prototype._getNextBeaconTime = function() { if (!this._failureCount) return this._options.baseTimeBetweenBeacons; var e = Math.pow(2, this._failureCount - 1); return (1 + (e *= Math.random())) * this._options.baseTimeBetweenBeacons }, m.prototype._startBeaconSending = function() { var e = this; n.default.clearTimeout(this._sendTimeout), this.destroyed || (this._sendTimeout = n.default.setTimeout(function() { e._eventQueue.length && e._sendBeaconQueue(), e._startBeaconSending() }, this._getNextBeaconTime())) }, t.default = m }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } Object.defineProperty(t, "__esModule", { value: !0 }); var i = r(12), n = a(i), o = r(2), s = a(o), u = {}; u.send = function(e, t) { function r() { a.src = o + (i ? "&rc=" + i : "") } var a = new Image, i = 0, o = e + "?" + n.default.stringify(t); return a.addEventListener("error", function() { i > 3 || s.default.setTimeout(function() { i++, r() }, 5e3 * i) }), r(), a }, t.default = u }, function(e, t, r) { (function(e, a) { var i; (function() { "use strict"; function n(e) { return e = String(e), e.charAt(0).toUpperCase() + e.slice(1) } function o(e, t, r) { var a = { "10.0": "10", 6.4: "10 Technical Preview", 6.3: "8.1", 6.2: "8", 6.1: "Server 2008 R2 / 7", "6.0": "Server 2008 / Vista", 5.2: "Server 2003 / XP 64-bit", 5.1: "XP", 5.01: "2000 SP1", "5.0": "2000", "4.0": "NT", "4.90": "ME" }; return t && r && /^Win/i.test(e) && !/^Windows Phone /i.test(e) && (a = a[/[\d.]+$/.exec(e)]) && (e = "Windows " + a), e = String(e), t && r && (e = e.replace(RegExp(t, "i"), r)), e = u(e.replace(/ ce$/i, " CE").replace(/\bhpw/i, "web").replace(/\bMacintosh\b/, "Mac OS").replace(/_PowerPC\b/i, " OS").replace(/\b(OS X) [^ \d]+/i, "$1").replace(/\bMac (OS X)\b/, "$1").replace(/\/(\d)/, " $1").replace(/_/g, ".").replace(/(?: BePC|[ .]*fc[ \d.]+)$/i, "").replace(/\bx86\.64\b/gi, "x86_64").replace(/\b(Windows Phone) OS\b/, "$1").replace(/\b(Chrome OS \w+) [\d.]+\b/, "$1").split(" on ")[0]) } function s(e, t) { var r = -1, a = e ? e.length : 0; if ("number" == typeof a && a > -1 && a <= x) for (; ++r < a;) t(e[r], r, e); else l(e, t) } function u(e) { return e = h(e), /^(?:webOS|i(?:OS|P))/.test(e) ? e : n(e) } function l(e, t) { for (var r in e) O.call(e, r) && t(e[r], r, e) } function d(e) { return null == e ? n(e) : k.call(e).slice(8, -1) } function c(e, t) { var r = null != e ? typeof e[t] : "number"; return !(/^(?:boolean|number|string|undefined)$/.test(r) || "object" == r && !e[t]) } function f(e) { return String(e).replace(/([ -])(?!$)/g, "$1?") } function p(e, t) { var r = null; return s(e, function(a, i) { r = t(r, a, i, e) }), r } function h(e) { return String(e).replace(/^ +| +$/g, "") } function _(e) { function t(t) { return p(t, function(t, r) { var a = r.pattern || f(r); return !t && (t = RegExp("\\b" + a + " *\\d+[.\\w_]*", "i").exec(e) || RegExp("\\b" + a + " *\\w+-[\\w]*", "i").exec(e) || RegExp("\\b" + a + "(?:; *(?:[a-z]+[_-])?[a-z]+\\d+|[^ ();-]*)", "i").exec(e)) && ((t = String(r.label && !RegExp(a, "i").test(r.label) ? r.label : t).split("/"))[1] && !/[\d.]+/.test(t[0]) && (t[0] += " " + t[1]), r = r.label || r, t = u(t[0].replace(RegExp(a, "i"), r).replace(RegExp("; *(?:" + r + "[_-])?", "i"), " ").replace(RegExp("(" + r + ")[-_.]?(\\w)", "i"), "$1 $2"))), t }) } function r() { return this.description || "" } var a = v, i = e && "object" == typeof e && "String" != d(e); i && (a = e, e = null); var n = a.navigator || {}, s = n.userAgent || ""; e || (e = s); var m, b, g = i || T == y, w = i ? !!n.likeChrome : /\bChrome\b/.test(e) && !/internal|\n/i.test(k.toString()), x = i ? "Object" : "ScriptBridgingProxyObject", E = i ? "Object" : "Environment", O = i && a.java ? "JavaPackage" : d(a.java), P = i ? "Object" : "RuntimeObject", M = /\bJava/.test(O) && a.java, A = M && d(a.environment) == E, D = M ? "a" : "α", q = M ? "b" : "β", R = a.document || {}, j = a.operamini || a.opera, I = S.test(I = i && j ? j["[[Class]]"] : d(j)) ? I : j = null, L = e, C = [], N = null, H = e == s, B = H && j && "function" == typeof j.version && j.version(), F = function(t) { return p(t, function(t, r) { return t || RegExp("\\b" + (r.pattern || f(r)) + "\\b", "i").exec(e) && (r.label || r) }) }([{ label: "EdgeHTML", pattern: "Edge" }, "Trident", { label: "WebKit", pattern: "AppleWebKit" }, "iCab", "Presto", "NetFront", "Tasman", "KHTML", "Gecko"]), U = function(t) { return p(t, function(t, r) { return t || RegExp("\\b" + (r.pattern || f(r)) + "\\b", "i").exec(e) && (r.label || r) }) }(["Adobe AIR", "Arora", "Avant Browser", "Breach", "Camino", "Electron", "Epiphany", "Fennec", "Flock", "Galeon", "GreenBrowser", "iCab", "Iceweasel", "K-Meleon", "Konqueror", "Lunascape", "Maxthon", { label: "Microsoft Edge", pattern: "Edge" }, "Midori", "Nook Browser", "PaleMoon", "PhantomJS", "Raven", "Rekonq", "RockMelt", { label: "Samsung Internet", pattern: "SamsungBrowser" }, "SeaMonkey", { label: "Silk", pattern: "(?:Cloud9|Silk-Accelerated)" }, "Sleipnir", "SlimBrowser", { label: "SRWare Iron", pattern: "Iron" }, "Sunrise", "Swiftfox", "Waterfox", "WebPositive", "Opera Mini", { label: "Opera Mini", pattern: "OPiOS" }, "Opera", { label: "Opera", pattern: "OPR" }, "Chrome", { label: "Chrome Mobile", pattern: "(?:CriOS|CrMo)" }, { label: "Firefox", pattern: "(?:Firefox|Minefield)" }, { label: "Firefox for iOS", pattern: "FxiOS" }, { label: "IE", pattern: "IEMobile" }, { label: "IE", pattern: "MSIE" }, "Safari"]), W = t([{ label: "BlackBerry", pattern: "BB10" }, "BlackBerry", { label: "Galaxy S", pattern: "GT-I9000" }, { label: "Galaxy S2", pattern: "GT-I9100" }, { label: "Galaxy S3", pattern: "GT-I9300" }, { label: "Galaxy S4", pattern: "GT-I9500" }, { label: "Galaxy S5", pattern: "SM-G900" }, { label: "Galaxy S6", pattern: "SM-G920" }, { label: "Galaxy S6 Edge", pattern: "SM-G925" }, { label: "Galaxy S7", pattern: "SM-G930" }, { label: "Galaxy S7 Edge", pattern: "SM-G935" }, "Google TV", "Lumia", "iPad", "iPod", "iPhone", "Kindle", { label: "Kindle Fire", pattern: "(?:Cloud9|Silk-Accelerated)" }, "Nexus", "Nook", "PlayBook", "PlayStation Vita", "PlayStation", "TouchPad", "Transformer", { label: "Wii U", pattern: "WiiU" }, "Wii", "Xbox One", { label: "Xbox 360", pattern: "Xbox" }, "Xoom"]), G = function(t) { return p(t, function(t, r, a) { return t || (r[W] || r[/^[a-z]+(?: +[a-z]+\b)*/i.exec(W)] || RegExp("\\b" + f(a) + "(?:\\b|\\w*\\d)", "i").exec(e)) && a }) }({ Apple: { iPad: 1, iPhone: 1, iPod: 1 }, Archos: {}, Amazon: { Kindle: 1, "Kindle Fire": 1 }, Asus: { Transformer: 1 }, "Barnes & Noble": { Nook: 1 }, BlackBerry: { PlayBook: 1 }, Google: { "Google TV": 1, Nexus: 1 }, HP: { TouchPad: 1 }, HTC: {}, LG: {}, Microsoft: { Xbox: 1, "Xbox One": 1 }, Motorola: { Xoom: 1 }, Nintendo: { "Wii U": 1, Wii: 1 }, Nokia: { Lumia: 1 }, Samsung: { "Galaxy S": 1, "Galaxy S2": 1, "Galaxy S3": 1, "Galaxy S4": 1 }, Sony: { PlayStation: 1, "PlayStation Vita": 1 } }), V = function(t) { return p(t, function(t, r) { var a = r.pattern || f(r); return !t && (t = RegExp("\\b" + a + "(?:/[\\d.]+|[ \\w.]*)", "i").exec(e)) && (t = o(t, a, r.label || r)), t }) }(["Windows Phone", "Android", "CentOS", { label: "Chrome OS", pattern: "CrOS" }, "Debian", "Fedora", "FreeBSD", "Gentoo", "Haiku", "Kubuntu", "Linux Mint", "OpenBSD", "Red Hat", "SuSE", "Ubuntu", "Xubuntu", "Cygwin", "Symbian OS", "hpwOS", "webOS ", "webOS", "Tablet OS", "Tizen", "Linux", "Mac OS X", "Macintosh", "Mac", "Windows 98;", "Windows "]); if (F && (F = [F]), G && !W && (W = t([G])), (m = /\bGoogle TV\b/.exec(W)) && (W = m[0]), /\bSimulator\b/i.test(e) && (W = (W ? W + " " : "") + "Simulator"), "Opera Mini" == U && /\bOPiOS\b/.test(e) && C.push("running in Turbo/Uncompressed mode"), "IE" == U && /\blike iPhone OS\b/.test(e) ? (m = _(e.replace(/like iPhone OS/, "")), G = m.manufacturer, W = m.product) : /^iP/.test(W) ? (U || (U = "Safari"), V = "iOS" + ((m = / OS ([\d_]+)/i.exec(e)) ? " " + m[1].replace(/_/g, ".") : "")) : "Konqueror" != U || /buntu/i.test(V) ? G && "Google" != G && (/Chrome/.test(U) && !/\bMobile Safari\b/i.test(e) || /\bVita\b/.test(W)) || /\bAndroid\b/.test(V) && /^Chrome/.test(U) && /\bVersion\//i.test(e) ? (U = "Android Browser", V = /\bAndroid\b/.test(V) ? V : "Android") : "Silk" == U ? (/\bMobi/i.test(e) || (V = "Android", C.unshift("desktop mode")), /Accelerated *= *true/i.test(e) && C.unshift("accelerated")) : "PaleMoon" == U && (m = /\bFirefox\/([\d.]+)\b/.exec(e)) ? C.push("identifying as Firefox " + m[1]) : "Firefox" == U && (m = /\b(Mobile|Tablet|TV)\b/i.exec(e)) ? (V || (V = "Firefox OS"), W || (W = m[1])) : !U || (m = !/\bMinefield\b/i.test(e) && /\b(?:Firefox|Safari)\b/.exec(U)) ? (U && !W && /[\/,]|^[^(]+?\)/.test(e.slice(e.indexOf(m + "/") + 8)) && (U = null), (m = W || G || V) && (W || G || /\b(?:Android|Symbian OS|Tablet OS|webOS)\b/.test(V)) && (U = /[a-z]+(?: Hat)?/i.exec(/\bAndroid\b/.test(V) ? V : m) + " Browser")) : "Electron" == U && (m = (/\bChrome\/([\d.]+)\b/.exec(e) || 0)[1]) && C.push("Chromium " + m) : V = "Kubuntu", B || (B = function(t) { return p(t, function(t, r) { return t || (RegExp(r + "(?:-[\\d.]+/|(?: for [\\w-]+)?[ /-])([\\d.]+[^ ();/_-]*)", "i").exec(e) || 0)[1] || null }) }(["(?:Cloud9|CriOS|CrMo|Edge|FxiOS|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\d.]+$))", "Version", f(U), "(?:Firefox|Minefield|NetFront)"])), (m = "iCab" == F && parseFloat(B) > 3 && "WebKit" || /\bOpera\b/.test(U) && (/\bOPR\b/.test(e) ? "Blink" : "Presto") || /\b(?:Midori|Nook|Safari)\b/i.test(e) && !/^(?:Trident|EdgeHTML)$/.test(F) && "WebKit" || !F && /\bMSIE\b/i.test(e) && ("Mac OS" == V ? "Tasman" : "Trident") || "WebKit" == F && /\bPlayStation\b(?! Vita\b)/i.test(U) && "NetFront") && (F = [m]), "IE" == U && (m = (/; *(?:XBLWP|ZuneWP)(\d+)/i.exec(e) || 0)[1]) ? (U += " Mobile", V = "Windows Phone " + (/\+$/.test(m) ? m : m + ".x"), C.unshift("desktop mode")) : /\bWPDesktop\b/i.test(e) ? (U = "IE Mobile", V = "Windows Phone 8.x", C.unshift("desktop mode"), B || (B = (/\brv:([\d.]+)/.exec(e) || 0)[1])) : "IE" != U && "Trident" == F && (m = /\brv:([\d.]+)/.exec(e)) && (U && C.push("identifying as " + U + (B ? " " + B : "")), U = "IE", B = m[1]), H) { if (c(a, "global")) if (M && (m = M.lang.System, L = m.getProperty("os.arch"), V = V || m.getProperty("os.name") + " " + m.getProperty("os.version")), g && c(a, "system") && (m = [a.system])[0]) { V || (V = m[0].os || null); try { m[1] = a.require("ringo/engine").version, B = m[1].join("."), U = "RingoJS" } catch (e) { m[0].global.system == a.system && (U = "Narwhal") } } else "object" == typeof a.process && !a.process.browser && (m = a.process) ? "object" == typeof m.versions ? "string" == typeof m.versions.electron ? (C.push("Node " + m.versions.node), U = "Electron", B = m.versions.electron) : "string" == typeof m.versions.nw && (C.push("Chromium " + B, "Node " + m.versions.node), U = "NW.js", B = m.versions.nw) : (U = "Node.js", L = m.arch, V = m.platform, B = /[\d.]+/.exec(m.version), B = B ? B[0] : "unknown") : A && (U = "Rhino"); else d(m = a.runtime) == x ? (U = "Adobe AIR", V = m.flash.system.Capabilities.os) : d(m = a.phantom) == P ? (U = "PhantomJS", B = (m = m.version || null) && m.major + "." + m.minor + "." + m.patch) : "number" == typeof R.documentMode && (m = /\bTrident\/(\d+)/i.exec(e)) ? (B = [B, R.documentMode], (m = +m[1] + 4) != B[1] && (C.push("IE " + B[1] + " mode"), F && (F[1] = ""), B[1] = m), B = "IE" == U ? String(B[1].toFixed(1)) : B[0]) : "number" == typeof R.documentMode && /^(?:Chrome|Firefox)\b/.test(U) && (C.push("masking as " + U + " " + B), U = "IE", B = "11.0", F = ["Trident"], V = "Windows"); V = V && u(V) } if (B && (m = /(?:[ab]|dp|pre|[ab]\d+pre)(?:\d+\+?)?$/i.exec(B) || /(?:alpha|beta)(?: ?\d)?/i.exec(e + ";" + (H && n.appMinorVersion)) || /\bMinefield\b/i.test(e) && "a") && (N = /b/i.test(m) ? "beta" : "alpha", B = B.replace(RegExp(m + "\\+?$"), "") + ("beta" == N ? q : D) + (/\d+\+?/.exec(m) || "")), "Fennec" == U || "Firefox" == U && /\b(?:Android|Firefox OS)\b/.test(V)) U = "Firefox Mobile"; else if ("Maxthon" == U && B) B = B.replace(/\.[\d.]+/, ".x"); else if (/\bXbox\b/i.test(W)) "Xbox 360" == W && (V = null), "Xbox 360" == W && /\bIEMobile\b/.test(e) && C.unshift("mobile mode"); else if (!/^(?:Chrome|IE|Opera)$/.test(U) && (!U || W || /Browser|Mobi/.test(U)) || "Windows CE" != V && !/Mobi/i.test(e)) if ("IE" == U && H) try { null === a.external && C.unshift("platform preview") } catch (e) { C.unshift("embedded") } else(/\bBlackBerry\b/.test(W) || /\bBB10\b/.test(e)) && (m = (RegExp(W.replace(/ +/g, " *") + "/([.\\d]+)", "i").exec(e) || 0)[1] || B) ? (m = [m, /BB10/.test(e)], V = (m[1] ? (W = null, G = "BlackBerry") : "Device Software") + " " + m[0], B = null) : this != l && "Wii" != W && (H && j || /Opera/.test(U) && /\b(?:MSIE|Firefox)\b/i.test(e) || "Firefox" == U && /\bOS X (?:\d+\.){2,}/.test(V) || "IE" == U && (V && !/^Win/.test(V) && B > 5.5 || /\bWindows XP\b/.test(V) && B > 8 || 8 == B && !/\bTrident\b/.test(e))) && !S.test(m = _.call(l, e.replace(S, "") + ";")) && m.name && (m = "ing as " + m.name + ((m = m.version) ? " " + m : ""), S.test(U) ? (/\bIE\b/.test(m) && "Mac OS" == V && (V = null), m = "identify" + m) : (m = "mask" + m, U = I ? u(I.replace(/([a-z])([A-Z])/g, "$1 $2")) : "Opera", /\bIE\b/.test(m) && (V = null), H || (B = null)), F = ["Presto"], C.push(m)); else U += " Mobile"; (m = (/\bAppleWebKit\/([\d.]+\+?)/i.exec(e) || 0)[1]) && (m = [parseFloat(m.replace(/\.(\d)$/, ".0$1")), m], "Safari" == U && "+" == m[1].slice(-1) ? (U = "WebKit Nightly", N = "alpha", B = m[1].slice(0, -1)) : B != m[1] && B != (m[2] = (/\bSafari\/([\d.]+\+?)/i.exec(e) || 0)[1]) || (B = null), m[1] = (/\bChrome\/([\d.]+)/i.exec(e) || 0)[1], 537.36 == m[0] && 537.36 == m[2] && parseFloat(m[1]) >= 28 && "WebKit" == F && (F = ["Blink"]), H && (w || m[1]) ? (F && (F[1] = "like Chrome"), m = m[1] || (m = m[0], m < 530 ? 1 : m < 532 ? 2 : m < 532.05 ? 3 : m < 533 ? 4 : m < 534.03 ? 5 : m < 534.07 ? 6 : m < 534.1 ? 7 : m < 534.13 ? 8 : m < 534.16 ? 9 : m < 534.24 ? 10 : m < 534.3 ? 11 : m < 535.01 ? 12 : m < 535.02 ? "13+" : m < 535.07 ? 15 : m < 535.11 ? 16 : m < 535.19 ? 17 : m < 536.05 ? 18 : m < 536.1 ? 19 : m < 537.01 ? 20 : m < 537.11 ? "21+" : m < 537.13 ? 23 : m < 537.18 ? 24 : m < 537.24 ? 25 : m < 537.36 ? 26 : "Blink" != F ? "27" : "28")) : (F && (F[1] = "like Safari"), m = m[0], m = m < 400 ? 1 : m < 500 ? 2 : m < 526 ? 3 : m < 533 ? 4 : m < 534 ? "4+" : m < 535 ? 5 : m < 537 ? 6 : m < 538 ? 7 : m < 601 ? 8 : "8"), F && (F[1] += " " + (m += "number" == typeof m ? ".x" : /[.+]/.test(m) ? "" : "+")), "Safari" == U && (!B || parseInt(B) > 45) && (B = m)), "Opera" == U && (m = /\bzbov|zvav$/.exec(V)) ? (U += " ", C.unshift("desktop mode"), "zvav" == m ? (U += "Mini", B = null) : U += "Mobile", V = V.replace(RegExp(" *" + m + "$"), "")) : "Safari" == U && /\bChrome\b/.exec(F && F[1]) && (C.unshift("desktop mode"), U = "Chrome Mobile", B = null, /\bOS X\b/.test(V) ? (G = "Apple", V = "iOS 4.3+") : V = null), B && 0 == B.indexOf(m = /[\d.]+$/.exec(V)) && e.indexOf("/" + m + "-") > -1 && (V = h(V.replace(m, ""))), F && !/\b(?:Avant|Nook)\b/.test(U) && (/Browser|Lunascape|Maxthon/.test(U) || "Safari" != U && /^iOS/.test(V) && /\bSafari\b/.test(F[1]) || /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|Web)/.test(U) && F[1]) && (m = F[F.length - 1]) && C.push(m), C.length && (C = ["(" + C.join("; ") + ")"]), G && W && W.indexOf(G) < 0 && C.push("on " + G), W && C.push((/^on /.test(C[C.length - 1]) ? "" : "on ") + W), V && (m = / ([\d.+]+)$/.exec(V), b = m && "/" == V.charAt(V.length - m[0].length - 1), V = { architecture: 32, family: m && !b ? V.replace(m[0], "") : V, version: m ? m[1] : null, toString: function() { var e = this.version; return this.family + (e && !b ? " " + e : "") + (64 == this.architecture ? " 64-bit" : "") } }), (m = /\b(?:AMD|IA|Win|WOW|x86_|x)64\b/i.exec(L)) && !/\bi686\b/i.test(L) ? (V && (V.architecture = 64, V.family = V.family.replace(RegExp(" *" + m), "")), U && (/\bWOW64\b/i.test(e) || H && /\w(?:86|32)$/.test(n.cpuClass || n.platform) && !/\bWin64; x64\b/i.test(e)) && C.unshift("32-bit")) : V && /^OS X/.test(V.family) && "Chrome" == U && parseFloat(B) >= 39 && (V.architecture = 64), e || (e = null); var J = {}; return J.description = e, J.layout = F && F[0], J.manufacturer = G, J.name = U, J.prerelease = N, J.product = W, J.ua = e, J.version = U && B, J.os = V || { architecture: null, family: null, version: null, toString: function() { return "null" } }, J.parse = _, J.toString = r, J.version && C.unshift(B), J.name && C.unshift(U), V && U && (V != String(V).split(" ")[0] || V != U.split(" ")[0] && !W) && C.push(W ? "(" + V + ")" : "on " + V), C.length && (J.description = C.join(" ")), J } var m = { function: !0, object: !0 }, v = m[typeof window] && window || this, y = v, b = m[typeof t] && t, g = m[typeof e] && e && !e.nodeType && e, w = b && g && "object" == typeof a && a; !w || w.global !== w && w.window !== w && w.self !== w || (v = w); var x = Math.pow(2, 53) - 1, S = /\bOpera/, T = this, E = Object.prototype, O = E.hasOwnProperty, k = E.toString, P = _(); v.platform = P, void 0 !== (i = function() { return P }.call(t, r, t, e)) && (e.exports = i) }).call(this) }).call(t, r(11)(e), r(5)) }, function(e, t, r) { "use strict"; function a() { function e(e, t) { var r = t.request_start, u = t.request_response_start, l = t.request_response_end, d = t.request_bytes_loaded; o++; var c = u - r, f = l - u; if (c > 0 && f > 0 && d > 0) { var p = d / f * 8e3; s++, a += c, i += d, n += f, this.data.view_min_request_throughput = Math.min(this.data.view_min_request_throughput || 1 / 0, p), this.data.view_average_request_throughput = i / n * 8e3, this.data.view_max_request_latency = Math.max(this.data.view_max_request_latency || 0, c), this.data.view_average_request_latency = a / s, this.data.view_request_count = o } } function t(e, t) { o++, u++, this.data.view_request_count = o, this.data.view_request_failed_count = u } function r(e, t) { o++, l++, this.data.view_request_count = o, this.data.view_request_canceled_count = l } var a = 0, i = 0, n = 0, o = 0, s = 0, u = 0, l = 0; this.on("requestcompleted", e), this.on("requestfailed", t), this.on("requestcanceled", r) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a }, function(e, t, r) { "use strict"; function a(e, t, r) { var a = (0, s.findMediaElement)(t), n = i(a, 3), d = n[0], c = n[1], f = n[2], p = e.log, h = e.utils.getComputedStyle, _ = e.utils.secondsToMs, m = { automaticErrorTracking: !0 }; return d ? "video" !== f && "audio" !== f ? p.error("The element of `" + c + "` was not a media element.") : (r = (0, o.default)(m, r), r.data = (0, o.default)({ player_software: "HTML5 Video Element", player_software_version: "No Versions", player_mux_plugin_name: "VideoElementMonitor", player_mux_plugin_version: "2.7.0" }, r.data), r.getPlayheadTime = function() { return _(d.currentTime) }, r.getStateData = function() { return { player_is_paused: d.paused, player_playhead_time: _(d.currentTime), player_width: parseInt(h(d, "width")), player_height: parseInt(h(d, "height")), player_autoplay_on: d.autoplay, player_preload_on: d.preload, video_poster_url: d.poster, video_source_url: d.currentSrc, video_source_duration: _(d.duration), video_source_height: d.videoHeight, video_source_width: d.videoWidth } }, d.mux = d.mux || {}, d.mux.emit = function(t, r) { e.emit(c, t, r) }, d.mux.destroy = function() { Object.keys(d.mux.listeners).forEach(function(e) { d.removeEventListener(e, d.mux.listeners[e], !1) }), delete d.mux.listeners, e.emit(c, "destroy") }, d.mux.swapElement = function(t) { var r = (0, s.findMediaElement)(t), a = i(r, 3), n = a[0], u = a[1], l = a[2]; return n ? "video" !== l && "audio" !== l ? e.log.error("The element of `" + u + "` was not a media element.") : (n.muxId = d.muxId, delete d.muxId, n.mux = n.mux || {}, n.mux.listeners = (0, o.default)({}, d.mux.listeners), delete d.mux.listeners, Object.keys(n.mux.listeners).forEach(function(e) { d.removeEventListener(e, n.mux.listeners[e], !1), n.addEventListener(e, n.mux.listeners[e], !1) }), n.mux.swapElement = d.mux.swapElement, n.mux.destroy = d.mux.destroy, delete d.mux, void(d = n)) : e.log.error("No element was found with the `" + u + "` query selector.") }, d.mux.addHLSJS = function(t) { e.addHLSJS(c, t) }, d.mux.addDashJS = function(t) { e.addDashJS(c, t) }, d.mux.removeHLSJS = function() { e.removeHLSJS(c) }, d.mux.removeDashJS = function() { e.removeDashJS(c) }, e.init(c, r), e.emit(c, "playerready"), d.paused || (e.emit(c, "play"), d.readyState > 2 && e.emit(c, "playing")), d.mux.listeners = {}, void u.forEach(function(t) { ("error" !== t || r.automaticErrorTracking) && (d.mux.listeners[t] = function() { var r = {}; "error" === t && (r.player_error_code = d.error && d.error.code, r.player_error_message = d.error && l[d.error.code]), e.emit(c, t, r) }, d.addEventListener(t, d.mux.listeners[t], !1)) })) : p.error("No element was found with the `" + c + "` query selector.") } Object.defineProperty(t, "__esModule", { value: !0 }); var i = function() { function e(e, t) { var r = [], a = !0, i = !1, n = void 0; try { for (var o, s = e[Symbol.iterator](); !(a = (o = s.next()).done) && (r.push(o.value), !t || r.length !== t); a = !0); } catch (e) { i = !0, n = e } finally { try { !a && s.return && s.return() } finally { if (i) throw n } } return r } return function(t, r) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return e(t, r); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(); t.default = a; var n = r(0), o = function(e) { return e && e.__esModule ? e : { default: e } }(n), s = r(8), u = ["loadstart", "pause", "play", "playing", "seeking", "seeked", "timeupdate", "ratechange", "stalled", "waiting", "error", "ended"], l = { 1: "MEDIA_ERR_ABORTED", 2: "MEDIA_ERR_NETWORK", 3: "MEDIA_ERR_DECODE", 4: "MEDIA_ERR_SRC_NOT_SUPPORTED" } }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } Object.defineProperty(t, "__esModule", { value: !0 }); var i = r(50), n = a(i), o = r(1), s = a(o), u = r(51), l = a(u), d = r(52), c = a(d), f = r(0), p = a(f), h = r(7), _ = a(h), m = r(4), v = {}; v.safeCall = n.default, v.safeIncrement = s.default, v.getComputedStyle = l.default, v.secondsToMs = c.default, v.assign = p.default, v.headersStringToObject = _.default, v.extractHostnameAndDomain = m.extractHostnameAndDomain, t.default = v }, function(e, t, r) { "use strict"; function a(e, t, r, a) { var i = a; if (e && "function" == typeof e[t]) try { i = e[t].apply(e, r) } catch (e) { n.default.info("safeCall error", e) } return i } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a; var i = r(3), n = function(e) { return e && e.__esModule ? e : { default: e } }(i) }, function(e, t, r) { "use strict"; function a(e, t) { if (n.default.defaultView && n.default.defaultView.getComputedStyle) return n.default.defaultView.getComputedStyle(e, null).getPropertyValue(t) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a; var i = r(10), n = function(e) { return e && e.__esModule ? e : { default: e } }(i) }, function(e, t, r) { "use strict"; function a(e) { return Math.floor(1e3 * e) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a }]) }) }() }, function(e, t, r) { "use strict"; function a(e, t) { var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : [], a = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : [], i = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : function() { return {} }, n = !1; e.on("adstart", function() { n = !0 }), e.on("adend", function() { n = !1 }), e.on("adserror", function() { n = !1 }); var s = function() { var a = o(t.currentTime()), s = function r() { var s = Date.now(), u = o(t.currentTime()); if (n) { if (u > a) { var l = i(); l.viewer_time = s - Math.max(0, u - a), t.off("timeupdate", r), e.mux.emit("adplaying", l) } } else t.off("timeupdate", r) }; t.on("timeupdate", s); var u = function e() { t.off("timeupdate", s), r.forEach(function(r) { t.off(r, e) }) }; r.forEach(function(e) { t.on(e, u) }) }; a.forEach(function(e) { t.on(e, s) }) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a; var i = r(0), n = function(e) { return e && e.__esModule ? e : { default: e } }(i), o = n.default.utils.secondsToMs }, function(e, t, r) { "use strict"; function a(e) { return e && e.__esModule ? e : { default: e } } function i(e) { if (o.default.IS_IE8) return !1; var t = this, r = t.id(); e = x({ automaticErrorTracking: !0 }, e), e.data = x({ player_software_name: "Video.js", player_software_version: o.default.VERSION || "< 4.11", player_mux_plugin_name: "videojs-mux", player_mux_plugin_version: "2.5.0" }, e.data), e.getPlayheadTime = function() { return E(t.currentTime()) }, e.getStateData = function() { var e = S(t, "videoHeight"), r = S(t, "videoWidth"); if (void 0 === r || void 0 === e) { var a = t.el().firstChild; a && "VIDEO" === a.nodeName.toUpperCase() && (e = a.videoHeight, r = a.videoWidth) } return { player_is_paused: S(t, "paused"), player_is_fullscreen: S(t, "isFullscreen"), player_autoplay_on: !!S(t, "autoplay"), player_preload_on: S(t, "preload"), player_width: T(t.el(), "width"), player_height: T(t.el(), "height"), player_language_code: S(t, "language"), video_poster_url: S(t, "poster"), video_source_url: S(t, "currentSrc"), video_source_mime_type: S(t, "currentType"), video_source_duration: E(S(t, "duration") || 0), video_source_height: e, video_source_width: r } }, t.mux = function() { w.error("[videojs-mux] The plugin was initialized more than once.") }, t.mux.emit = function(e, t) { u.default.emit(r, e, t) }, t.mux.log = w, t.mux.utils = u.default.utils, u.default.init(r, e); var a = !1, i = function() { a || t.mux.emit("playerready"), a = !0 }; t.ready(function() { t.addClass("vjs-mux"), d.default.setTimeout(i, 0) }); var n = !1; t.one("play", i), O.forEach(function(r) { ("error" !== r || e.automaticErrorTracking) && t.on(r, function() { if (!n) { var e = {}; if ("error" === r) { var a = S(t, "error"); e.player_error_code = a && a.code, e.player_error_message = a && a.message } t.mux.emit(r, e) } }) }); var s = !1; t.on("play", function() { s = !0 }), t.on("pause", function() { s = !1 }), t.on("adstart", function() { n = !0, s && t.mux.emit("pause"), t.mux.emit("adbreakstart") }), t.on("adend", function() { t.mux.emit("adbreakend"), n = !1, S(t, "paused") || (t.mux.emit("play"), s = !0, t.onceux && t.mux.emit("playing")) }), t.ima && (0, f.default)(t), t.onceux && (0, y.default)(t), t.ima3 && "function" == typeof t.ima3.ready && (0, h.default)(t), t.FreeWheelPlugin && t.FreeWheelPlugin.VERSION && (0, m.default)(t), t.on("dispose", function() { t.mux.emit("destroy") }) } var n = r(3), o = a(n), s = r(0), u = a(s), l = r(4), d = a(l), c = r(6), f = a(c), p = r(7), h = a(p), _ = r(8), m = a(_), v = r(9), y = a(v), b = r(10), g = a(b), w = u.default.log, x = u.default.utils.assign, S = u.default.utils.safeCall, T = u.default.utils.getComputedStyle, E = u.default.utils.secondsToMs, O = ["loadstart", "pause", "play", "playing", "seeking", "seeked", "timeupdate", "ratechange", "stalled", "waiting", "error", "ended"]; (o.default.registerPlugin || o.default.plugin || function() { u.default.log.error("No valid method to register videojs plugin available.") })("mux", i), (0, g.default)(o.default) }, function(t, r) { t.exports = e }, function(e, t, r) { (function(t) { var r; r = "undefined" != typeof window ? window : void 0 !== t ? t : "undefined" != typeof self ? self : {}, e.exports = r }).call(t, r(5)) }, function(e, t) { var r; r = function() { return this }(); try { r = r || Function("return this")() || (0, eval)("this") } catch (e) { "object" == typeof window && (r = window) } e.exports = r }, function(e, t, r) { "use strict"; function a(e) { var t = function(t) { t = t || {}; var r = "function" == typeof t.getAdData ? t.getAdData() : {}, a = "function" == typeof t.getAd ? t.getAd() : {}, i = "function" == typeof a.getMediaUrl ? a.getMediaUrl() : r.mediaUrl, n = e.ima.settings || {}, o = {}; return i && (o.ad_asset_url = i), n.adTagUrl && (o.ad_tag_url = n.adTagUrl), o }, r = void 0, a = void 0, i = void 0, n = void 0, o = void 0, s = void 0; try { var u = window.google.ima.AdEvent.Type; r = u.LOADED, a = u.STARTED, i = u.COMPLETE, n = u.PAUSED, o = u.RESUMED, s = u.SKIPPED } catch (e) { r = "loaded", a = "start", i = "complete", n = "pause", o = "resume", s = "skip" } var l = 0; e.mux.triggerAdRequest = function() { l++, e.mux.emit("adrequest", t()) }, e.on("adsready", function() { var u = e.ima.addEventListener || function() {}; u(r, function(r) { var a = t(r); l > 0 && (l--, e.mux.emit("adresponse", a)), e.mux.emit("adplay", a) }), u(a, function(r) { var a = t(r); e.mux.emit("adplaying", a) }), u(o, function(r) { var a = t(r); e.mux.emit("adplay", a), e.mux.emit("adplaying", a) }), u(n, function(r) { var a = t(r); e.mux.emit("adpause", a) }), u(i, function(r) { var a = t(r); e.mux.emit("adended", a) }), u(s, function(r) { var a = t(r); e.mux.emit("adended", a) }), e.on("adserror", function() { l > 0 && (l--, e.mux.emit("adresponse")), e.mux.emit("aderror") }) }) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a }, function(e, t, r) { "use strict"; function a(e) { if ("string" != typeof e) return !1; var t = e.split(".").map(function(e) { return parseInt(e) }), r = t[0], a = t[1]; return r > 2 || 2 === r && a >= 3 } function i(e) { var t = function() { var t = e.ima3.currentAd, r = e.ima3.settings, a = {}; return t && (a.ad_asset_url = t.mediaUrl), r && (a.ad_tag_url = r.serverUrl), a }; if (a(e.ima3.version)) { var r = 0, i = function() { r > 0 && (r--, e.mux.emit("adresponse", t())) }; e.on("ads-request", function() { r++, e.mux.emit("adrequest", t()) }), e.on("ads-load", function() { i(), e.mux.emit("adplay", t()) }), e.on("adserror", function() { i(), e.mux.emit("aderror") }), e.on("ads-play", function() { e.mux.emit("adplay", t()) }), e.on("ads-pause", function() { e.mux.emit("adpause", t()) }), e.on("ads-ad-ended", function() { e.mux.emit("adended", t()) }) } e.ima3.ready(function() { if (e.ima3.adPlayer) { a(e.ima3.version) || (e.ima3.adPlayer.on("play", function() { e.mux.emit("adplay") }), e.ima3.adPlayer.on("pause", function() { e.mux.emit("adpause") }), e.ima3.adPlayer.on("ended", function() { e.mux.emit("adended") })); var r = ["pause", "ended", "adserror"], i = ["play"]; (0, o.default)(e, e.ima3.adPlayer, r, i, t) } else e.mux.log("Legacy IMA3 plugin found, ad events may not track correctly."), e.on("ads-ad-started", function() { e.mux.emit("adplaying", t()) }), e.on("ads-play", function() { e.mux.emit("adplaying", t()) }) }) } Object.defineProperty(t, "__esModule", { value: !0 }), t.brightcoveImaAdsEventsSupported = a, t.default = i; var n = r(1), o = function(e) { return e && e.__esModule ? e : { default: e } }(n) }, function(e, t, r) { "use strict"; function a(e) { var t = function(t) { var r = e.FreeWheelPlugin, a = {}; switch (t) { case "adplay": case "adplaying": case "adpause": a.ad_asset_url = e.currentSrc() } return r && (a.ad_tag_url = "html5" === r.tech.toLowerCase() ? r.settings.Html5.serverUrl : r.settings.Flash.serverUrl), a }; e.on("ads-request", function() { e.mux.emit("adrequest", t("adrequest")) }), e.on("ads-load", function() { e.mux.emit("adresponse", t("adresponse")) }), e.on("adserror", function() { e.mux.emit("aderror") }), e.on("ads-ad-started", function() { e.mux.emit("adplay", t("adplay")), e.mux.emit("adplaying", t("adplaying")) }), e.on("ads-play", function() { e.mux.emit("adplay", t("adplay")), e.mux.emit("adplaying", t("adplaying")) }), e.on("ads-pause", function() { e.mux.emit("adpause", t("adpause")) }), e.on("ads-ad-ended", function() { e.mux.emit("adended", t("adended")) }), e.on("adend", function() { e.mux.emit("play") }) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a }, function(e, t, r) { "use strict"; function a(e) { var t = ["onceux-linearad-pause", "onceux-linearad-skipped", "onceux-linearad-complete", "adserror"], r = ["adstart", "onceux-linearad-resume"]; (0, n.default)(e, e, t, r), e.on("adstart", function() { e.mux.emit("adplay") }), e.on("onceux-linearad-start", function(t) { t.linearAd && t.linearAd.index > 0 && (e.mux.emit("adplay"), e.mux.emit("adplaying")) }), e.on("onceux-linearad-resume", function() { e.mux.emit("adplay") }), e.on("onceux-linearad-pause", function() { e.mux.emit("adpause") }), e.on("onceux-linearad-complete", function() { e.mux.emit("adended") }), e.on("onceux-linearad-skipped", function() { e.mux.emit("adended") }) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a; var i = r(1), n = function(e) { return e && e.__esModule ? e : { default: e } }(i) }, function(e, t, r) { "use strict"; function a(e) { if (!o && "function" == typeof e.getTech) { for (var t = e.getTech("Html5") || {}, r = t.sourceHandlers, a = 0; a < r.length; a++) ! function(t) { var a = r[t], i = a.handleSource; a.handleSource = function(t, r) { var a = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : {}, o = i(t, r, a); if (o && "function" == typeof o.xhr) try { (0, n.default)(e(o.player_.el_.parentNode.id), o.xhr) } catch (e) {} return o } }(a); o = !0 } } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a; var i = r(11), n = function(e) { return e && e.__esModule ? e : { default: e } }(i), o = !1 }, function(e, t, r) { "use strict"; function a(e, t) { var r = function(t, r, a) { var i = (0, n.default)(e, t, r); return function() { try { i() } catch (e) {} try { a() } catch (e) {} } }, a = function(e) { return function(t) { var a = Date.now(); try { e(t) } catch (e) {} try { t.onreadystatechange = r(t, a, t.onreadystatechange || function() {}) } catch (e) {} } }; t.beforeRequest = function(e) { return function(t) { var r = e(t); return r.beforeSend = a(r.beforeSend || function() {}), r } }(t.beforeRequest || function(e) { return e }) } Object.defineProperty(t, "__esModule", { value: !0 }), t.default = a; var i = r(12), n = function(e) { return e && e.__esModule ? e : { default: e } }(i) }, function(e, t, r) { "use strict"; function a(e, t, r) { var a = e.mux.utils.extractHostnameAndDomain, n = e.mux.utils.headersStringToObject, o = function(e) { var t = e["content-type"]; return t ? t.match(/^audio\/mpegurl/i) ? "manifest" : t.match(/^audio.*/i) ? "audio" : t.match(/^video.*/) ? "video" : t.match(/^application\/x-mpegurl/i) ? "manifest" : t.match(/^application\/vnd.apple.mpegurl/i) ? "manifest" : t.match(/^application\/dash+xml/i) ? "manifest" : "unknown" : "unknown" }, s = 0; return function() { var u = t.readyState; if (u >= 2) { if (s = s || Date.now(), 4 !== u) return; if (t.status >= 200 && t.status < 300) { var l = Date.now(), d = "arraybuffer" === t.responseType ? t.response.byteLength : t.responseText.length, c = a(t.responseURL), f = i(c, 1), p = f[0], h = n(t.getAllResponseHeaders ? t.getAllResponseHeaders() : ""), _ = o(h), m = { request_start: r, request_response_start: s, request_response_end: l, request_bytes_loaded: d, request_hostname: p, request_response_headers: h, request_type: _ }; e.mux.emit("requestcompleted", m) } else e.mux.emit("requestfailed") } } } Object.defineProperty(t, "__esModule", { value: !0 }); var i = function() { function e(e, t) { var r = [], a = !0, i = !1, n = void 0; try { for (var o, s = e[Symbol.iterator](); !(a = (o = s.next()).done) && (r.push(o.value), !t || r.length !== t); a = !0); } catch (e) { i = !0, n = e } finally { try { !a && s.return && s.return() } finally { if (i) throw n } } return r } return function(t, r) { if (Array.isArray(t)) return t; if (Symbol.iterator in Object(t)) return e(t, r); throw new TypeError("Invalid attempt to destructure non-iterable instance") } }(); t.default = a }]) }); })();