(() => { var e = { 564: (e, t, i) => { var n, r, a; ! function(i, o) { if (i) { var s = {}, d = i.TraceKit, A = [].slice, c = "?", l = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/; s.noConflict = function() { return i.TraceKit = d, s }, s.wrap = function(e) { return function() { try { return e.apply(this, arguments) } catch (e) { throw s.report(e), e } } }, s.report = function() { var e, t, n, r, a = [], o = null, d = null; function A(e, t, i) { var n = null; if (!t || s.collectWindowErrors) { for (var r in a) if (p(a, r)) try { a[r](e, t, i) } catch (e) { n = e } if (n) throw n } } function c(t, i, n, r, a) { if (d) s.computeStackTrace.augmentStackTraceWithInitialElement(d, i, n, t), h(); else if (a) A(s.computeStackTrace(a), !0, a); else { var o, c = { url: i, line: n, column: r }, p = t; if ("[object String]" === {}.toString.call(t)) { var u = t.match(l); u && (o = u[1], p = u[2]) } c.func = s.computeStackTrace.guessFunctionName(c.url, c.line), c.context = s.computeStackTrace.gatherContext(c.url, c.line), A({ name: o, message: p, mode: "onerror", stack: [c] }, !0, null) } return !!e && e.apply(this, arguments) } function u(e) { A(s.computeStackTrace(e.reason), !0, e.reason) } function h() { var e = d, t = o; d = null, o = null, A(e, !1, t) } function m(e) { if (d) { if (o === e) return; h() } var t = s.computeStackTrace(e); throw d = t, o = e, setTimeout((function() { o === e && h() }), t.incomplete ? 2e3 : 0), e } return m.subscribe = function(o) { ! function() { if (!0 === t) return; e = i.onerror, i.onerror = c, t = !0 }(), function() { if (!0 === r) return; n = i.onunhandledrejection, i.onunhandledrejection = u, r = !0 }(), a.push(o) }, m.unsubscribe = function(o) { for (var s = a.length - 1; s >= 0; --s) a[s] === o && a.splice(s, 1); 0 === a.length && (t && (i.onerror = e, t = !1), r && (i.onunhandledrejection = n, r = !1)) }, m }(), s.computeStackTrace = function() { var e = !1, t = {}; function n(e) { if ("string" != typeof e) return []; if (!p(t, e)) { var n = "", r = ""; try { r = i.document.domain } catch (e) {} var a = /(.*)\:\/\/([^:\/]+)([:\d]*)\/{0,1}([\s\S]*)/.exec(e); a && a[2] === r && (n = function(e) { if (!s.remoteFetching) return ""; try { var t = function() { try { return new i.XMLHttpRequest } catch (e) { return new i.ActiveXObject("Microsoft.XMLHTTP") } }(); return t.open("GET", e, !1), t.send(""), t.responseText } catch (e) { return "" } }(e)), t[e] = n ? n.split("\n") : [] } return t[e] } function r(e, t) { var i, r = /function ([^(]*)\(([^)]*)\)/, a = /['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/, o = "", s = n(e); if (!s.length) return c; for (var d = 0; d < 10; ++d) if (!u(o = s[t - d] + o)) { if (i = a.exec(o)) return i[1]; if (i = r.exec(o)) return i[1] } return c } function a(e, t) { var i = n(e); if (!i.length) return null; var r = [], a = Math.floor(s.linesOfContext / 2), o = a + s.linesOfContext % 2, d = Math.max(0, t - a - 1), A = Math.min(i.length, t + o - 1); t -= 1; for (var c = d; c < A; ++c) u(i[c]) || r.push(i[c]); return r.length > 0 ? r : null } function o(e) { return e.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g, "\\$&") } function d(e) { return o(e).replace("<", "(?:<|<)").replace(">", "(?:>|>)").replace("&", "(?:&|&)").replace('"', '(?:"|")').replace(/\s+/g, "\\s+") } function A(e, t) { for (var i, r, a = 0, o = t.length; a < o; ++a) if ((i = n(t[a])).length && (i = i.join("\n"), r = e.exec(i))) return { url: t[a], line: i.substring(0, r.index).split("\n").length, column: r.index - i.lastIndexOf("\n", r.index) - 1 }; return null } function l(e, t, i) { var r, a = n(t), s = new RegExp("\\b" + o(e) + "\\b"); return i -= 1, a && a.length > i && (r = s.exec(a[i])) ? r.index : null } function h(e) { if (!u(i && i.document)) { for (var t, n, r, a, s = [i.location.href], c = i.document.getElementsByTagName("script"), l = "" + e, p = 0; p < c.length; ++p) { var h = c[p]; h.src && s.push(h.src) } if (r = /^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/.exec(l)) { var m = r[1] ? "\\s+" + r[1] : "", g = r[2].split(",").join("\\s*,\\s*"); t = o(r[3]).replace(/;$/, ";?"), n = new RegExp("function" + m + "\\s*\\(\\s*" + g + "\\s*\\)\\s*{\\s*" + t + "\\s*}") } else n = new RegExp(o(l).replace(/\s+/g, "\\s+")); if (a = A(n, s)) return a; if (r = /^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/.exec(l)) { var v = r[1]; if (t = d(r[2]), a = A(n = new RegExp("on" + v + "=[\\'\"]\\s*" + t + "\\s*[\\'\"]", "i"), s[0])) return a; if (a = A(n = new RegExp(t), s)) return a } return null } } function m(e) { if (!e.stack) return null; for (var t, i, n, o = /^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack||\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i, s = /^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i, d = /^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i, A = /(\S+) line (\d+)(?: > eval line \d+)* > eval/i, p = /\((\S*)(?::(\d+))(?::(\d+))\)/, h = e.stack.split("\n"), m = [], g = /^(.*) is undefined$/.exec(e.message), v = 0, f = h.length; v < f; ++v) { if (i = o.exec(h[v])) { var b = i[2] && 0 === i[2].indexOf("native"); i[2] && 0 === i[2].indexOf("eval") && (t = p.exec(i[2])) && (i[2] = t[1], i[3] = t[2], i[4] = t[3]), n = { url: b ? null : i[2], func: i[1] || c, args: b ? [i[2]] : [], line: i[3] ? +i[3] : null, column: i[4] ? +i[4] : null } } else if (i = d.exec(h[v])) n = { url: i[2], func: i[1] || c, args: [], line: +i[3], column: i[4] ? +i[4] : null }; else { if (!(i = s.exec(h[v]))) continue; i[3] && i[3].indexOf(" > eval") > -1 && (t = A.exec(i[3])) ? (i[3] = t[1], i[4] = t[2], i[5] = null) : 0 !== v || i[5] || u(e.columnNumber) || (m[0].column = e.columnNumber + 1), n = { url: i[3], func: i[1] || c, args: i[2] ? i[2].split(",") : [], line: i[4] ? +i[4] : null, column: i[5] ? +i[5] : null } }!n.func && n.line && (n.func = r(n.url, n.line)), n.context = n.line ? a(n.url, n.line) : null, m.push(n) } return m.length ? (m[0] && m[0].line && !m[0].column && g && (m[0].column = l(g[1], m[0].url, m[0].line)), { mode: "stack", name: e.name, message: e.message, stack: m }) : null } function g(e, t, i, n) { var o = { url: t, line: i }; if (o.url && o.line) { e.incomplete = !1, o.func || (o.func = r(o.url, o.line)), o.context || (o.context = a(o.url, o.line)); var s = / '([^']+)' /.exec(n); if (s && (o.column = l(s[1], o.url, o.line)), e.stack.length > 0 && e.stack[0].url === o.url) { if (e.stack[0].line === o.line) return !1; if (!e.stack[0].line && e.stack[0].func === o.func) return e.stack[0].line = o.line, e.stack[0].context = o.context, !1 } return e.stack.unshift(o), e.partial = !0, !0 } return e.incomplete = !0, !1 } function v(e, t) { for (var i, n, a, o = /function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i, d = [], A = {}, p = !1, u = v.caller; u && !p; u = u.caller) if (u !== f && u !== s.report) { if (n = { url: null, func: c, args: [], line: null, column: null }, u.name ? n.func = u.name : (i = o.exec(u.toString())) && (n.func = i[1]), void 0 === n.func) try { n.func = i.input.substring(0, i.input.indexOf("{")) } catch (e) {} if (a = h(u)) { n.url = a.url, n.line = a.line, n.func === c && (n.func = r(n.url, n.line)); var m = / '([^']+)' /.exec(e.message || e.description); m && (n.column = l(m[1], a.url, a.line)) } A["" + u] ? p = !0 : A["" + u] = !0, d.push(n) } t && d.splice(0, t); var b = { mode: "callers", name: e.name, message: e.message, stack: d }; return g(b, e.sourceURL || e.fileName, e.line || e.lineNumber, e.message || e.description), b } function f(t, o) { var s = null; o = null == o ? 0 : +o; try { if (s = function(e) { var t = e.stacktrace; if (t) { for (var i, n = / line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i, o = / line (\d+), column (\d+)\s*(?:in (?:]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i, s = t.split("\n"), d = [], A = 0; A < s.length; A += 2) { var c = null; if ((i = n.exec(s[A])) ? c = { url: i[2], line: +i[1], column: null, func: i[3], args: [] } : (i = o.exec(s[A])) && (c = { url: i[6], line: +i[1], column: +i[2], func: i[3] || i[4], args: i[5] ? i[5].split(",") : [] }), c) { if (!c.func && c.line && (c.func = r(c.url, c.line)), c.line) try { c.context = a(c.url, c.line) } catch (e) {} c.context || (c.context = [s[A + 1]]), d.push(c) } } return d.length ? { mode: "stacktrace", name: e.name, message: e.message, stack: d } : null } }(t), s) return s } catch (t) { e } try { if (s = m(t)) return s } catch (t) { e } try { if (s = function(e) { var t = e.message.split("\n"); if (t.length < 4) return null; var o, s = /^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i, c = /^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i, l = /^\s*Line (\d+) of function script\s*$/i, u = [], h = i && i.document && i.document.getElementsByTagName("script"), m = []; for (var g in h) p(h, g) && !h[g].src && m.push(h[g]); for (var v = 2; v < t.length; v += 2) { var f = null; if (o = s.exec(t[v])) f = { url: o[2], func: o[3], args: [], line: +o[1], column: null }; else if (o = c.exec(t[v])) { f = { url: o[3], func: o[4], args: [], line: +o[1], column: null }; var b = +o[1], y = m[o[2] - 1]; if (y) { var k = n(f.url); if (k) { var w = (k = k.join("\n")).indexOf(y.innerText); w >= 0 && (f.line = b + k.substring(0, w).split("\n").length) } } } else if (o = l.exec(t[v])) { var I = i.location.href.replace(/#.*$/, ""), S = A(new RegExp(d(t[v + 1])), [I]); f = { url: I, func: "", args: [], line: S ? S.line : o[1], column: null } } if (f) { f.func || (f.func = r(f.url, f.line)); var E = a(f.url, f.line), _ = E ? E[Math.floor(E.length / 2)] : null; E && _.replace(/^\s*/, "") === t[v + 1].replace(/^\s*/, "") ? f.context = E : f.context = [t[v + 1]], u.push(f) } } return u.length ? { mode: "multiline", name: e.name, message: t[0], stack: u } : null }(t), s) return s } catch (t) { e } try { if (s = v(t, o + 1)) return s } catch (t) { e } return { name: t.name, message: t.message, mode: "failed" } } return f.augmentStackTraceWithInitialElement = g, f.computeStackTraceFromStackProp = m, f.guessFunctionName = r, f.gatherContext = a, f.ofCaller = function(e) { e = 1 + (null == e ? 0 : +e); try { throw new Error } catch (t) { return f(t, e + 1) } }, f.getSource = n, f }(), s.extendToAsynchronousCallbacks = function() { var e = function(e) { var t = i[e]; i[e] = function() { var e = A.call(arguments), i = e[0]; return "function" == typeof i && (e[0] = s.wrap(i)), t.apply ? t.apply(this, e) : t(e[0], e[1]) } }; e("setTimeout"), e("setInterval") }, s.remoteFetching || (s.remoteFetching = !0), s.collectWindowErrors || (s.collectWindowErrors = !0), (!s.linesOfContext || s.linesOfContext < 1) && (s.linesOfContext = 11), r = [], void 0 === (a = "function" == typeof(n = s) ? n.apply(t, r) : n) || (e.exports = a) } function p(e, t) { return Object.prototype.hasOwnProperty.call(e, t) } function u(e) { return void 0 === e } }("undefined" != typeof window ? window : i.g) } }, t = {}; function i(n) { if (t[n]) return t[n].exports; var r = t[n] = { exports: {} }; return e[n](r, r.exports, i), r.exports } i.n = e => { var t = e && e.__esModule ? () => e.default : () => e; return i.d(t, { a: t }), t }, i.d = (e, t) => { for (var n in t) i.o(t, n) && !i.o(e, n) && Object.defineProperty(e, n, { enumerable: !0, get: t[n] }) }, i.g = function() { if ("object" == typeof globalThis) return globalThis; try { return this || new Function("return this")() } catch (e) { if ("object" == typeof window) return window } }(), i.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), (() => { "use strict"; var e = i(564), t = i.n(e); const n = { ready: "pokiAppReady", adblocked: "pokiAppAdblocked", ads: { completed: "pokiAdsCompleted", error: "pokiAdsError", impression: "pokiAdsImpression", durationChange: "pokiAdsDurationChange", limit: "pokiAdsLimit", ready: "pokiAdsReady", requested: "pokiAdsRequested", prebidRequested: "pokiAdsPrebidRequested", skipped: "pokiAdsSkipped", started: "pokiAdsStarted", stopped: "pokiAdsStopped", busy: "pokiAdsBusy", position: { preroll: "PP", midroll: "PM", rewarded: "PR", display: "DP" }, video: { clicked: "pokiVideoAdsClicked", firstQuartile: "pokiVideoAdsFirstQuartile", midPoint: "pokiVideoAdsMidPoint", thirdQuartile: "pokiVideoAdsThirdQuartile", error: "pokiVideoAdsError", loaderError: "pokiVideoAdsLoaderError", paused: "pokiVideoAdsPauseTriggered", resumed: "pokiVideoAdsResumedTriggered", progress: "pokiVideoAdsProgress", buffering: "pokiVideoAdsBuffering" } }, info: { messages: { timeLimit: "The ad-request was not processed, because of a time constraint", prerollLimit: "The ad-request was cancelled, because we're not allowed to show a preroll" } }, message: { event: "pokiMessageEvent", sdkDetails: "pokiMessageSdkDetails", toggleProgrammaticAds: "pokiMessageToggleProgrammaticAds" }, tracking: { custom: "pokiTrackingCustom", togglePlayerAdvertisingConsent: "pokiTrackingTogglePlayerAdvertisingConsent", debugTrueInProduction: "pokiMessageDebugTrueProduction", screen: { gameplayStart: "pokiTrackingScreenGameplayStart", gameplayStop: "pokiTrackingScreenGameplayStop", gameLoadingStarted: "pokiTrackingScreenGameLoadingStarted", gameLoadingProgress: "pokiTrackingScreenGameLoadingProgress", gameLoadingFinished: "pokiTrackingScreenGameLoadingFinished", commercialBreak: "pokiTrackingScreenCommercialBreak", rewardedBreak: "pokiTrackingScreenRewardedBreak", happyTime: "pokiTrackingScreenHappyTime", firstRound: "pokiTrackingScreenFirstRound", roundStart: "pokiTrackingScreenRoundStart", roundEnd: "pokiTrackingScreenRoundEnd", gameInteractive: "pokiTrackingScreenGameInteractive", displayAd: "pokiTrackingScreenDisplayAdRequest", destroyAd: "pokiTrackingScreenDisplayAdDestroy" }, sdk: { status: { initialized: "pokiTrackingSdkStatusInitialized", failed: "pokiTrackingSdkStatusFailed" } }, ads: { status: { busy: "pokiTrackingAdsStatusBusy", completed: "pokiTrackingAdsStatusCompleted", error: "pokiTrackingAdsStatusError", displayError: "pokiTrackingAdsStatusDisplayError", impression: "pokiTrackingAdsStatusImpression", limit: "pokiTrackingAdsStatusLimit", ready: "pokiTrackingAdsStatusReady", requested: "pokiTrackingAdsStatusRequested", prebidRequested: "pokiTrackingAdsStatusPrebidRequested", skipped: "pokiTrackingAdsStatusSkipped", started: "pokiTrackingAdsStatusStarted", buffering: "pokiTrackingAdsStatusBuffering" }, video: { clicked: "pokiTrackingAdsVideoClicked", error: "pokiTrackingAdsVideoError", loaderError: "pokiTrackingAdsVideoLoaderError", progress: "pokiTrackingAdsVideoProgress", paused: "pokiTrackingAdsVideoPaused", resumed: "pokiTrackingAdsVideoResumed" }, display: { requested: "pokiTrackingScreenDisplayAdRequested", impression: "pokiTrackingScreenDisplayAdImpression", viewable: "pokiTrackingScreenDisplayAdViewable" } } } }; const r = function() { function e() {} return e.debug = !1, e.log = !1, e }(); var a = function() { return a = Object.assign || function(e) { for (var t, i = 1, n = arguments.length; i < n; i++) for (var r in t = arguments[i]) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]); return e }, a.apply(this, arguments) }; const o = function() { function e() {} return e.clearEventListeners = function() { this.listeners = {} }, e.removeEventListener = function(e, t) { if (Object.prototype.hasOwnProperty.call(this.listeners, e)) { var i = this.listeners[e].indexOf(t); - 1 !== i && this.listeners[e].splice(i, 1) } }, e.addEventListener = function(e, t, i) { var n = this; if (void 0 === i && (i = !1), i = !!i, Object.prototype.hasOwnProperty.call(this.listeners, e) || (this.listeners[e] = []), i) { var r = function(i) { n.removeEventListener.bind(n)(e, r), t(i) }; this.listeners[e].push(r) } else this.listeners[e].push(t) }, e.dispatchEvent = function(e, t) { void 0 === t && (t = {}), !r.debug || window.process && window.process.env && "test" === window.process.env.NODE_ENV || console.info(e, t); for (var i = Object.keys(this.listeners), n = 0; n < i.length; n++) { var o = i[n]; if (e === o) for (var s = this.listeners[o], d = 0; d < s.length; d++) s[d](a(a({}, this.dataAnnotations), t)) } }, e.setDataAnnotations = function(e) { this.dataAnnotations = a(a({}, this.dataAnnotations), e) }, e.getDataAnnotations = function() { return this.dataAnnotations }, e.clearAnnotations = function() { this.dataAnnotations = {} }, e.listeners = {}, e.dataAnnotations = {}, e }(); const s = function(e, t) { var i = !1; return Object.keys(t).forEach((function(n) { t[n] === e && (i = !0) })), i }; function d() { var e, t = (null === (e = null === window || void 0 === window ? void 0 : window.location) || void 0 === e ? void 0 : e.hostname) || ""; return "game-cdn.poki.com" === t || t.endsWith(".poki-gdn.com"), !1 } var A = { adTagUrl: "", adTiming: { preroll: !1, timeBetweenAds: 12e4, timePerTry: 7e3, startAdsAfter: 12e4 }, waterfallRetries: d() ? 1 : 2 }, c = { AE: { video: { amazon: .7, appnexus: .76 } }, AL: { video: { amazon: .75 } }, AT: { video: { appnexus: .6, onetag: .81, pubmatic: .82 } }, AU: { video: { pubmatic: .43, rubicon: .38 } }, AZ: { video: { amazon: .72, onetag: .84 } }, BE: { video: { amazon: .83, appnexus: .79 } }, BG: { video: { appnexus: .72 } }, BO: { video: { ix: .84 } }, CA: { video: { amazon: .84, pubmatic: .81 } }, CL: { video: { amazon: .78 } }, CO: { video: { amazon: .85 } }, CZ: { video: { appnexus: .77 } }, DE: { video: { appnexus: .21, onetag: .81 } }, DO: { video: { onetag: .84 } }, DZ: { video: { amazon: .41 } }, EG: { video: { amazon: .15, rubicon: .63 } }, ES: { video: { appnexus: .66, ix: .84, onetag: .82, openx: .84, pubmatic: .79 } }, FI: { video: { appnexus: .43 } }, FR: { video: { appnexus: .26, ix: .53, onetag: .81 } }, GB: { video: { districtm: .83, onetag: .8 } }, GT: { video: { amazon: .74 } }, HU: { video: { amazon: .55, appnexus: .65 } }, IE: { video: { onetag: .66 } }, IN: { video: { appnexus: .72 } }, IT: { video: { appnexus: .46, onetag: .46 } }, JP: { video: { onetag: .84 } }, KE: { video: { onetag: .84 } }, KW: { video: { onetag: .83 } }, KZ: { video: { onetag: .8 } }, LU: { video: { onetag: .82 } }, MA: { video: { amazon: .68 } }, MD: { video: { onetag: .7 } }, MX: { video: { amazon: .47, pubmatic: .75 } }, NL: { video: { ix: .39, onetag: .81, openx: .71, richaudience: .72 } }, NZ: { video: { amazon: .76, openx: .83 } }, OM: { video: { onetag: .84 } }, PE: { video: { amazon: .82 } }, PL: { video: { appnexus: .84, districtm: .71, onetag: .73 } }, PR: { video: { amazon: .83 } }, RU: { video: { amazon: .78, onetag: .84 } }, SA: { video: { amazon: .83, appnexus: .74 } }, SK: { video: { appnexus: .79 } }, TN: { video: { amazon: .61 } }, UA: { video: { onetag: .8 } }, US: { video: { pubmatic: .01 } }, VE: { video: { onetag: .8 } }, VN: { video: { appnexus: .81 } } }; const l = A; const p = function(e) { return e instanceof Array ? e : [e] }; const u = function() { function e(e) { void 0 === e && (e = {}), this.setTimings(e), this.timingIdx = { timePerTry: 0 }, this.timers = { timePerTry: void 0, timeBetweenAds: void 0, startAdsAfter: void 0 }, o.addEventListener(n.ads.requested, this.startTimeBetweenAdsTimer.bind(this)), o.addEventListener(n.ads.completed, this.startTimeBetweenAdsTimer.bind(this)), o.addEventListener(n.ads.stopped, this.startTimeBetweenAdsTimer.bind(this)) } return e.prototype.setTimings = function(e) { var t = l.adTiming, i = e.preroll, n = void 0 === i ? t.preroll : i, r = e.timePerTry, a = void 0 === r ? t.timePerTry : r, o = e.timeBetweenAds, s = void 0 === o ? t.timeBetweenAds : o, d = e.startAdsAfter, A = void 0 === d ? t.startAdsAfter : d; this.timings = { preroll: !1 !== n, timePerTry: p(a), timeBetweenAds: s, startAdsAfter: A } }, e.prototype.startTimeBetweenAdsTimer = function() { this.startTimer("timeBetweenAds") }, e.prototype.startStartAdsAfterTimer = function() { this.startTimer("startAdsAfter") }, e.prototype.requestPossible = function() { return !this.timers.timeBetweenAds && !this.timers.startAdsAfter }, e.prototype.startWaterfallTimer = function(e) { this.startTimer("timePerTry", e) }, e.prototype.stopWaterfallTimer = function() { this.stopTimer("timePerTry") }, e.prototype.nextWaterfallTimer = function() { this.nextTiming("timePerTry") }, e.prototype.resetWaterfallTimerIdx = function() { this.resetTimingIdx("timePerTry") }, e.prototype.stopTimer = function(e) { this.timers[e] && (clearTimeout(this.timers[e]), this.timers[e] = void 0) }, e.prototype.startTimer = function(e, t) { var i = this; void 0 === t && (t = function() {}), this.getTiming(e) <= 0 ? t() : (this.timers[e] && clearTimeout(this.timers[e]), this.timers[e] = window.setTimeout((function() { i.stopTimer(e), t() }), this.getTiming(e))) }, e.prototype.getTiming = function(e) { var t = this.timings[e]; return t instanceof Array ? t[this.timingIdx[e]] : t }, e.prototype.nextTiming = function(e) { if (void 0 === this.timingIdx[e]) throw new Error("AdTimings Error: " + e + " does not have multiple timers"); this.timingIdx[e] = (this.timingIdx[e] + 1) % this.timings[e].length }, e.prototype.resetTimingIdx = function(e) { if (void 0 === this.timingIdx[e]) throw new Error("AdTimings Error: " + e + " does not have multiple timers"); this.timingIdx[e] = 0 }, e.prototype.prerollPossible = function() { return this.timings.preroll }, e }(); var h = document.location.hostname; function m(e) { var t = new RegExp(e + "=([^;]+)(?:;|$)").exec(document.cookie); return t ? t[1] : "" } function g(e, t) { document.cookie = e + "=" + t + "; path=/; samesite=none; secure; max-age=15552000; domain=" + h } h.endsWith("poki-gdn.com") && (h = "poki-gdn.com"); var v = function(e, t, i, n) { return new(i || (i = Promise))((function(r, a) { function o(e) { try { d(n.next(e)) } catch (e) { a(e) } } function s(e) { try { d(n.throw(e)) } catch (e) { a(e) } } function d(e) { var t; e.done ? r(e.value) : (t = e.value, t instanceof i ? t : new i((function(e) { e(t) }))).then(o, s) } d((n = n.apply(e, t || [])).next()) })) }, f = function(e, t) { var i, n, r, a, o = { label: 0, sent: function() { if (1 & r[0]) throw r[1]; return r[1] }, trys: [], ops: [] }; return a = { next: s(0), throw: s(1), return: s(2) }, "function" == typeof Symbol && (a[Symbol.iterator] = function() { return this }), a; function s(a) { return function(s) { return function(a) { if (i) throw new TypeError("Generator is already executing."); for (; o;) try { if (i = 1, n && (r = 2 & a[0] ? n.return : a[0] ? n.throw || ((r = n.return) && r.call(n), 0) : n.next) && !(r = r.call(n, a[1])).done) return r; switch (n = 0, r && (a = [2 & a[0], r.value]), a[0]) { case 0: case 1: r = a; break; case 4: return o.label++, { value: a[1], done: !1 }; case 5: o.label++, n = a[1], a = [0]; continue; case 7: a = o.ops.pop(), o.trys.pop(); continue; default: if (!(r = o.trys, (r = r.length > 0 && r[r.length - 1]) || 6 !== a[0] && 2 !== a[0])) { o = 0; continue } if (3 === a[0] && (!r || a[1] > r[0] && a[1] < r[3])) { o.label = a[1]; break } if (6 === a[0] && o.label < r[1]) { o.label = r[1], r = a; break } if (r && o.label < r[2]) { o.label = r[2], o.ops.push(a); break } r[2] && o.ops.pop(), o.trys.pop(); continue } a = t.call(e, o) } catch (e) { a = [6, e], n = 0 } finally { i = r = 0 } if (5 & a[0]) throw a[1]; return { value: a[0] ? a[1] : void 0, done: !0 } }([a, s]) } } }, b = function(e, t, i) { if (i || 2 === arguments.length) for (var n, r = 0, a = t.length; r < a; r++) !n && r in t || (n || (n = Array.prototype.slice.call(t, 0, r)), n[r] = t[r]); return e.concat(n || Array.prototype.slice.call(t)) }, y = "poki_gcuid", k = m(y); const w = function() { function e() {} return e.collectAndLog = function() { return v(this, void 0, void 0, (function() { var e, t, i, n, r; return f(this, (function(a) { switch (a.label) { case 0: return a.trys.push([0, 5, , 6]), [4, window.cookieStore.getAll()]; case 1: return e = a.sent(), window.indexedDB.databases ? [4, window.indexedDB.databases()] : [3, 3]; case 2: return i = a.sent(), [3, 4]; case 3: i = [], a.label = 4; case 4: return t = i, n = b(b(b([], e.map((function(e) { return { name: e.name, expire_seconds: Math.round((e.expires - Date.now()) / 1e3), type: "cookie" } })), !0), Object.keys(window.localStorage).map((function(e) { return { name: e, expire_seconds: 15552e3, type: "localStorage" } })), !0), t.map((function(e) { return { name: e.name, expire_seconds: 0, type: "idb" } })), !0), r = { cookies: n, p4d_game_id: tt.gameId, user_id: k }, window.fetch("https://t.poki.io/game-cookies", { method: "post", body: JSON.stringify(r) }).catch(), [3, 6]; case 5: return a.sent(), [3, 6]; case 6: return [2] } })) })) }, e.trackSavegames = function() { window.cookieStore && window.cookieStore.getAll && tt.gameId && (Math.random() > .01 || (k || (k = Math.random().toString(36).substr(2, 9), g(y, k)), e.collectAndLog(), setInterval(e.collectAndLog, 12e4))) }, e }(), I = function() { return window.location.href }, S = function() { return "undefined" != typeof navigator && /(?:phone|windows\s+phone|ipod|blackberry|(?:android|bb\d+|meego|silk|googlebot) .+? mobile|palm|windows\s+ce|opera\smini|avantgo|mobilesafari|docomo)/i.test(navigator.userAgent) }, E = function() { return "undefined" != typeof navigator && /(?:ipad|playbook|(?:android|bb\d+|meego|silk)(?! .+? mobile))/i.test(navigator.userAgent) }, _ = function(e, t) { var i; if ("undefined" == typeof window && !t) return ""; e = e.replace(/[\[]/, "\\[").replace(/[\]]/, "\\]"); var n = new RegExp("(?:[\\?&]|^)" + e + "=([^&#]*)").exec(t || (null === (i = null === window || void 0 === window ? void 0 : window.location) || void 0 === i ? void 0 : i.search) || ""); return null === n ? "" : decodeURIComponent(n[1].replace(/\+/g, " ")) }, x = function() { return "undefined" != typeof navigator && /MSIE \\d|Trident.*rv:/i.test(navigator.userAgent) }; var C = { 1: "eNjDw1AVTr", 2: "HkuQJaWnBa", 3: "AfRKClvdYk", 4: "Db7uYbsnlW", 5: "UprdYKe74r", 6: "tBCJC9E6Y4", 7: "AfRKClvdYk", 8: "tJ44vpLpuM", 9: "mF5ASaga4A", 10: "rKV8rMwiwk", 11: "SvK8BH5qS5", 12: "SpfIMxnWTS", 13: "ysxIcmt3tW", 14: "gLmtGS4aUq", 15: "RU6ebIFLw9", 16: "r9G4tVMYw7", 17: "SgcDa5B8s1", 18: "AfRKClvdYk", 19: "DNZX8XdJXV", 20: "39o4YUyZTX", 21: "5sb2HFpz5a", 22: "pgXzCJZipE", 23: "Oani8EAGI9", 24: "IzCeh7d7vW", 25: "I5vRNtjoMr", 26: "KpySvG7luq", 27: "dK42J4rI14", 28: "HuYorw3fRg", 29: "mf84cGYc1h", 30: "9ALgxEyGXU", 31: "lBzSdVGY8F", 32: "hKYgk9Wb8q", 33: "xPBr8E54eE", 34: "ZvIK2WKC7G", 35: "7kiYi3zlIX", 36: "VpygYMTDgm", 37: "mis9Mt4np4", 38: "AfRKClvdYk", 41: "Fqmjp9Hit3", 42: "lS2XGg058L", 43: "AfRKClvdYk", 46: "AfRKClvdYk", 47: "21OybbiIdc", 48: "AfRKClvdYk", 49: "CMVoMvvEmu", 50: "IoQrhRb3wU", 52: "AfRKClvdYk", 53: "AfRKClvdYk" }; const T = function(e) { return 15 === e ? "MP_gIE1VDieUi" : C[e] || "" }; var B = ["AU", "CA", "IE", "NZ", "US", "GB"], P = ["AT", "BE", "DK", "FI", "FR", "DE", "JA", "NO", "NL", "SA", "ES", "SE", "CH", "AE", "IT"], D = ["BR", "CL", "CZ", "HU", "PL", "PT", "RU", "SK", "TH"], M = ["AR", "BG", "CO", "EC", "GR", "IN", "MX", "PE", "PH", "RO", "TR", "UY"]; function R(e) { return B.includes(e) ? .13 : P.includes(e) ? .07 : D.includes(e) ? .04 : .02 } function L(e) { return "US" === e ? 1.5 : B.includes(e) ? .5 : P.includes(e) ? .15 : D.includes(e) ? .08 : M.includes(e) ? .03 : .02 } const z = function(e) { r.debug ? console.log(e) : fetch("https://t.poki.io/adserver", { method: "POST", mode: "no-cors", body: JSON.stringify(e) }) }; var O = ["https://a.poki.com/houseads/duo_survival_3.xml", "https://a.poki.com/houseads/like_a_king.xml", "https://a.poki.com/houseads/merge_cyber_racers.xml", "https://a.poki.com/houseads/subway_surfers.xml", "https://a.poki.com/houseads/tower_crush_compressed.xml"]; function G() { return (e = O)[Math.floor(Math.random() * e.length)]; var e } var j = { v_k0treo: 2.5, v_qr1wxs: 7.5, v_9diccg: 19, v_13q0xkw: .25, v_dn33ls: 1, v_z07u2o: 1.5, v_1400iyo: 2.25, v_9w8kxs: 3, v_ufej9c: 3.5, v_10960ao: 4.25, v_1ksbym8: 4.75, v_1ag9340: 5.25, v_1tbhh4w: 5.75, v_jjcgzk: 6.5, v_brnu9s: 7, v_1wscef4: 7.75, v_q22xhc: 8.5, v_f8irk0: 9, v_1rik45c: 9.75, v_lxhyww: 10.5, v_a9z0u8: 11, v_1yhiww0: 11.75, v_10mwg74: 12.25, v_1ji4u80: 12.75, v_wm2c5c: 13.5, v_2na6tc: 14, v_1myzri8: 14.75, v_3pzm68: 6, v_16kerr4: 6.25, v_1mdrmkg: 6.75, v_1ga0k5c: 7.25, v_5iwz5s: 8, v_12tk934: 8.25, v_1hsybr4: 8.75, v_1cj61hc: 9.25, v_y3r5kw: 9.5, v_94ow0: 10, v_15woqgw: 10.25, v_1orx4hs: 10.75, v_1d4e6f4: 11.25, v_t57ev4: 11.5, v_783hmo: 12, v_m7hkao: 12.5, v_hmo9hc: 13, v_19djnr4: 13.25, v_1twpm2o: 13.75, v_17zlou8: 14.25, v_ign1mo: 14.5, v_ccvz7k: 15, v_1f7b4sg: 15.25, v_snq4g0: 15.5, v_5wnf28: 16, v_137aozk: 16.25, v_1j0njsw: 16.75, v_1b8yx34: 17.25, v_yhhlhc: 17.5, v_25swe8: 18, v_15081z4: 18.25, v_1pje0ao: 18.75, v_1eptudc: 19.25, v_1xl28e8: 19.75, v_gfliio: 21, v_3y3sao: 22, v_ixhuyo: 22.5, v_ro52io: 23.5, v_qa73ls: 24.5, v_emo5j4: 25, v_yq5fk: 26, v_aobxts: 27, v_6shmgw: 28, v_natgqo: 28.5, v_x0f94w: 29.5, v_d2hfr4: 31, v_dch14w: 33, v_1jyadc: 34, v_8p5tz4: 36, v_fwv9xc: 37, v_c60r9c: 39, v_58awow: 40, v_bbcow: 42, v_a0x534: 43, v_hdmdq8: 45, v_2e8b28: 46, v_5nljb4: 48, v_1wr0n4: 50, v_pam1og: .5, v_1ipf08w: .75, v_1axqdj4: 1.25, v_1qr38cg: 1.75, v_15ldds: 2, v_1q248w0: 2.75, v_1eelatc: 3.25, v_1x9tou8: 3.75, v_8iam0w: 4, v_nhooow: 4.5, v_fq01z4: 5, v_w0u77k: 5.5, v_1vi5a0w: 15.75, v_orvt34: 16.5, v_dybn5s: 17, v_1q8czr4: 17.75, v_l11af4: 18.5, v_uqn2tc: 19.5, v_7zkdfk: 20, v_o7a58g: 20.5, v_vezl6o: 21.5, v_b5t88w: 23, v_4x2d4w: 24, v_xhwjk0: 25.5, v_lhw3r4: 26.5, v_tjkbuo: 27.5, v_h72ebk: 29, v_31n3sw: 30, v_64rl6o: 32, v_9lmigw: 35, v_3fdjpc: 38, v_fapfcw: 41, v_7o0lc0: 44, v_clbdvk: 47, v_ee8qv4: 49 }; var U = function() { return U = Object.assign || function(e) { for (var t, i = 1, n = arguments.length; i < n; i++) for (var r in t = arguments[i]) Object.prototype.hasOwnProperty.call(t, r) && (e[r] = t[r]); return e }, U.apply(this, arguments) }, N = function(e, t, i) { if (i || 2 === arguments.length) for (var n, r = 0, a = t.length; r < a; r++) !n && r in t || (n || (n = Array.prototype.slice.call(t, 0, r)), n[r] = t[r]); return e.concat(n || Array.prototype.slice.call(t)) }, Q = parseInt(_("site_id"), 10) || 0, F = "desktop"; S() && (F = "mobile"), E() && (F = "tablet"); var X = "rewarded", Z = "video", K = { "728x90": "/21682198607/" + F + "_ingame_728x90/" + Q + "_" + F + "_ingame_728x90", "300x250": "/21682198607/" + F + "_ingame_300x250/" + Q + "_" + F + "_ingame_300x250", "970x250": "/21682198607/" + F + "_ingame_970x250/" + Q + "_" + F + "_ingame_970x250", "160x600": "/21682198607/" + F + "_ingame_160x600/" + Q + "_" + F + "_ingame_160x600", "320x50": "/21682198607/" + F + "_ingame_320x50/" + Q + "_" + F + "_ingame_320x50", "728x90_external": "/21682198607/external_" + F + "_display_ingame/external_" + F + "_ingame_728x90", "300x250_external": "/21682198607/external_" + F + "_display_ingame/external_" + F + "_ingame_300x250", "970x250_external": "/21682198607/external_" + F + "_display_ingame/external_" + F + "_ingame_970x250", "160x600_external": "/21682198607/external_" + F + "_display_ingame/external_" + F + "_ingame_160x600", "320x50_external": "/21682198607/external_" + F + "_display_ingame/external_" + F + "_ingame_320x50" }, H = parseInt(_("site_id"), 10) || 0, W = function(e) { var t = x() || S() || E() ? ["video/mp4", "application/javascript"] : ["video/mp4", "video/webm", "video/ogg", "application/javascript"], i = U(U({ mimes: t, minduration: 0, maxduration: 15, protocols: [2, 3, 5, 6, 7, 8], w: 640, h: 480, placement: 1, linearity: 1 }, e ? {} : { skip: 1, skipafter: 5 }), { boxingallowed: 1, pos: 1, api: [2] }); return { bids: [{ bidder: "appnexus", params: { placementId: 13184250, supplyType: "web" } }, { bidder: "openx", params: { delDomain: "poki-d.openx.net", unit: "540105196" } }, { bidder: "spotx", params: { channel_id: "265590", ad_unit: "instream", secure: !0, hide_skin: !0 } }, { bidder: "ix", params: { siteId: "436284", video: U({}, i) } }, { bidder: "richaudience", params: { pid: T(H), supplyType: "site" } }, { bidder: "onetag", params: { pubId: "6da09f566a9dc06" } }, { bidder: "onetag", params: { pubId: "6da09f566a9dc06", ext: { override_maxduration: 3600, enforce_skip: !0 } } }, { bidder: "rubicon", params: { accountId: "18608", siteId: "266914", zoneId: "1322034", position: "atf", video: { size_id: 204 } } }, { bidder: "pubmatic", params: { publisherId: "156838", adSlot: "3607869@640x360" } }, { bidder: "districtm", params: { placementId: 12906789 } }], mediaTypes: { video: U({ context: "instream", playerSize: [640, 480] }, i) } } }, V = W(!0), q = W(!1), J = [{ code: Z, mediaTypes: q.mediaTypes, bids: N([], q.bids, !0) }, { code: X, mediaTypes: V.mediaTypes, bids: N([], V.bids, !0) }, { code: K["728x90"], mediaTypes: { banner: { sizes: [ [728, 90] ] } }, bids: [{ bidder: "districtm", params: { placementId: "12906789" } }, { bidder: "appnexus", params: { placementId: "12940427" } }, { bidder: "openx", params: { unit: "539859872", delDomain: "poki-d.openx.net" } }, { bidder: "ix", params: { siteId: "268177", size: [728, 90] } }, { bidder: "pubmatic", params: { publisherId: "156838", adSlot: "1374895@728x90" } }, { bidder: "emx_digital", params: { tagid: "80117" } }, { bidder: "conversant", params: { site_id: "117477", secure: 1, position: 1 } }, { bidder: "rubicon", params: { accountId: "18608", siteId: "204596", zoneId: "1008080" } }, { bidder: "onetag", params: { pubId: "6da09f566a9dc06" } }, { bidder: "richaudience", params: { pid: 15 === H ? "MP_gIE1VDieUi" : "1V6a2fgLvX", supplyType: "site" } }] }, { code: K["300x250"], mediaTypes: { banner: { sizes: [ [300, 250] ] } }, bids: [{ bidder: "districtm", params: { placementId: "12906789" } }, { bidder: "appnexus", params: { placementId: "12935252" } }, { bidder: "openx", params: { unit: "539859873", delDomain: "poki-d.openx.net" } }, { bidder: "ix", params: { siteId: "268178", size: [300, 250] } }, { bidder: "pubmatic", params: { publisherId: "156838", adSlot: "1374896@300x250" } }, { bidder: "emx_digital", params: { tagid: "80118" } }, { bidder: "conversant", params: { site_id: "117477", secure: 1, position: 1 } }, { bidder: "rubicon", params: { accountId: "18608", siteId: "204596", zoneId: "1008080" } }, { bidder: "onetag", params: { pubId: "6da09f566a9dc06" } }, { bidder: "richaudience", params: { pid: 15 === H ? "MP_gIE1VDieUi" : "pKqNt5LyvF", supplyType: "site" } }] }, { code: K["970x250"], mediaTypes: { banner: { sizes: [ [970, 250] ] } }, bids: [{ bidder: "districtm", params: { placementId: "12906789" } }, { bidder: "appnexus", params: { placementId: "20595278" } }, { bidder: "openx", params: { unit: "543540497", delDomain: "poki-d.openx.net" } }, { bidder: "ix", params: { siteId: "597527", size: [970, 250] } }, { bidder: "pubmatic", params: { publisherId: "156838", adSlot: "3344351@970x250" } }, { bidder: "emx_digital", params: { tagid: "123738" } }, { bidder: "conversant", params: { site_id: "117477", secure: 1, position: 1 } }, { bidder: "onetag", params: { pubId: "6da09f566a9dc06" } }, { bidder: "richaudience", params: { pid: 15 === H ? "MP_gIE1VDieUi" : "yYyae7vnIh", supplyType: "site" } }] }, { code: K["160x600"], mediaTypes: { banner: { sizes: [ [160, 600] ] } }, bids: [{ bidder: "districtm", params: { placementId: "12906789" } }, { bidder: "appnexus", params: { placementId: "12940425" } }, { bidder: "openx", params: { unit: "539859871", delDomain: "poki-d.openx.net" } }, { bidder: "ix", params: { siteId: "268175", size: [160, 600] } }, { bidder: "pubmatic", params: { publisherId: "156838", adSlot: "1374893@160x600" } }, { bidder: "emx_digital", params: { tagid: "80119" } }, { bidder: "conversant", params: { site_id: "117477", secure: 1, position: 1 } }, { bidder: "rubicon", params: { accountId: "18608", siteId: "204596", zoneId: "1008080" } }, { bidder: "onetag", params: { pubId: "6da09f566a9dc06" } }, { bidder: "richaudience", params: { pid: 15 === H ? "MP_gIE1VDieUi" : "rAEnPimPzC", supplyType: "site" } }] }, { code: K["320x50"], mediaTypes: { banner: { sizes: [ [320, 50] ] } }, bids: [{ bidder: "districtm", params: { placementId: "12906789" } }, { bidder: "appnexus", params: { placementId: "20595224" } }, { bidder: "openx", params: { unit: "543540495", delDomain: "poki-d.openx.net" } }, { bidder: "ix", params: { siteId: "597529", size: [320, 50] } }, { bidder: "pubmatic", params: { publisherId: "156838", adSlot: "3344350@320x50" } }, { bidder: "conversant", params: { site_id: "117477", secure: 1, position: 1 } }, { bidder: "rubicon", params: { accountId: "18608", siteId: "204596", zoneId: "1008080" } }, { bidder: "emx_digital", params: { tagid: "123737" } }, { bidder: "onetag", params: { pubId: "6da09f566a9dc06" } }, { bidder: "richaudience", params: { pid: 15 === H ? "MP_gIE1VDieUi" : "1DP5EtcOip", supplyType: "site" } }] }, { code: K["728x90_external"], mediaTypes: { banner: { sizes: [ [728, 90] ] } }, bids: [{ bidder: "districtm", params: { placementId: "12906789" } }, { bidder: "appnexus", params: { placementId: "20973406" } }, { bidder: "openx", params: { unit: "543885656", delDomain: "poki-d.openx.net" } }, { bidder: "ix", params: { siteId: "268177", placementId: "625562", size: [728, 90] } }, { bidder: "pubmatic", params: { publisherId: "156838", adSlot: "3457872" } }, { bidder: "emx_digital", params: { tagid: "132973" } }, { bidder: "conversant", params: { site_id: "117477", tag_id: "96373699", secure: 1, position: 1 } }, { bidder: "rubicon", params: { accountId: "18608", siteId: "362566", zoneId: "1962680-2" } }, { bidder: "onetag", params: { pubId: "6da09f566a9dc06" } }, { bidder: "richaudience", params: { pid: 15 === H ? "MP_gIE1VDieUi" : "1V6a2fgLvX", supplyType: "site" } }] }, { code: K["300x250_external"], mediaTypes: { banner: { sizes: [ [300, 250] ] } }, bids: [{ bidder: "districtm", params: { placementId: "12906789" } }, { bidder: "appnexus", params: { placementId: "20973408" } }, { bidder: "openx", params: { unit: "543885657", delDomain: "poki-d.openx.net" } }, { bidder: "ix", params: { siteId: "625564", size: [300, 250] } }, { bidder: "pubmatic", params: { publisherId: "156838", adSlot: "3457874" } }, { bidder: "emx_digital", params: { tagid: "132975" } }, { bidder: "conversant", params: { site_id: "117477", tag_id: "94f55c24", secure: 1, position: 1 } }, { bidder: "rubicon", params: { accountId: "18608", siteId: "362566", zoneId: "1962680-15" } }, { bidder: "onetag", params: { pubId: "6da09f566a9dc06" } }, { bidder: "richaudience", params: { pid: 15 === H ? "MP_gIE1VDieUi" : "pKqNt5LyvF", supplyType: "site" } }] }, { code: K["970x250_external"], mediaTypes: { banner: { sizes: [ [970, 250] ] } }, bids: [{ bidder: "districtm", params: { placementId: "12906789" } }, { bidder: "appnexus", params: { placementId: "20973415" } }, { bidder: "openx", params: { unit: "543885650", delDomain: "poki-d.openx.net" } }, { bidder: "ix", params: { siteId: "625560", size: [970, 250] } }, { bidder: "pubmatic", params: { publisherId: "156838", adSlot: "3457879" } }, { bidder: "emx_digital", params: { tagid: "132979" } }, { bidder: "conversant", params: { site_id: "117477", tag_id: "62235ccb", secure: 1, position: 1 } }, { bidder: "rubicon", params: { accountId: "18608", siteId: "362566", zoneId: "1962680-57" } }, { bidder: "onetag", params: { pubId: "6da09f566a9dc06" } }, { bidder: "richaudience", params: { pid: 15 === H ? "MP_gIE1VDieUi" : "yYyae7vnIh", supplyType: "site" } }] }, { code: K["160x600_external"], mediaTypes: { banner: { sizes: [ [160, 600] ] } }, bids: [{ bidder: "districtm", params: { placementId: "12906789" } }, { bidder: "appnexus", params: { placementId: "20973407" } }, { bidder: "openx", params: { unit: "543885653", delDomain: "poki-d.openx.net" } }, { bidder: "ix", params: { siteId: "625563", size: [160, 600] } }, { bidder: "pubmatic", params: { publisherId: "156838", adSlot: "3457877" } }, { bidder: "emx_digital", params: { tagid: "132974" } }, { bidder: "conversant", params: { site_id: "117477", tag_id: "9960183e", secure: 1, position: 1 } }, { bidder: "rubicon", params: { accountId: "18608", siteId: "362566", zoneId: "1962680-9" } }, { bidder: "onetag", params: { pubId: "6da09f566a9dc06" } }, { bidder: "richaudience", params: { pid: 15 === H ? "MP_gIE1VDieUi" : "rAEnPimPzC", supplyType: "site" } }] }, { code: K["320x50_external"], mediaTypes: { banner: { sizes: [ [320, 50] ] } }, bids: [{ bidder: "districtm", params: { placementId: "12906789" } }, { bidder: "appnexus", params: { placementId: "20973413" } }, { bidder: "openx", params: { unit: "543885649", delDomain: "poki-d.openx.net" } }, { bidder: "ix", params: { siteId: "625559", size: [320, 50] } }, { bidder: "pubmatic", params: { publisherId: "156838", adSlot: "3457875" } }, { bidder: "conversant", params: { site_id: "117477", tag_id: "402db827", secure: 1, position: 1 } }, { bidder: "rubicon", params: { accountId: "18608", siteId: "362566", zoneId: "1962680-43" } }, { bidder: "emx_digital", params: { tagid: "132978" } }, { bidder: "onetag", params: { pubId: "6da09f566a9dc06" } }, { bidder: "richaudience", params: { pid: 15 === H ? "MP_gIE1VDieUi" : "1DP5EtcOip", supplyType: "site" } }] }], Y = { debug: !1, enableSendAllBids: !0, usePrebidCache: !0, bidderTimeout: 1500, priceGranularity: { buckets: [{ precision: 2, min: .01, max: 3, increment: .01 }, { precision: 2, min: 3, max: 8, increment: .05 }, { precision: 2, min: 8, max: 20, increment: .5 }, { precision: 2, min: 20, max: 45, increment: 1 }] }, currency: { adServerCurrency: "EUR", defaultRates: { EUR: { EUR: 1, GBP: .86408, USD: 1.2212 }, GBP: { EUR: 1.157300249976854, GBP: 1, USD: 1.4132950652717342 }, USD: { EUR: .8188666885031116, GBP: .7075663282017687, USD: 1 } } }, cache: { url: "https://prebid.adnxs.com/pbc/v1/cache" }, targetingControls: { allowTargetingKeys: ["BIDDER", "AD_ID", "PRICE_BUCKET", "SIZE", "DEAL", "SOURCE", "FORMAT", "UUID", "CACHE_ID", "CACHE_HOST", "ADOMAIN"], allowSendAllBidsTargetingKeys: ["BIDDER", "AD_ID", "PRICE_BUCKET", "SIZE", "DEAL", "SOURCE", "FORMAT", "UUID", "CACHE_ID", "CACHE_HOST", "ADOMAIN"] }, userSync: { filterSettings: { all: { bidders: "*", filter: "include" } }, syncsPerBidder: 1e3, syncDelay: 100, userIds: [{ name: "pubCommonId", storage: { type: "cookie", name: "poki_pubcid", expires: 180 } }] } }, $ = function(e, t) { window.pbjs = window.pbjs || {}, window.pbjs.que = window.pbjs.que || [], window.pbjs.que.push((function() { window.pbjs.aliasBidder("appnexus", "districtm"); var i = U(U({ floors: { data: { currency: "EUR", schema: { fields: ["mediaType"] }, values: { banner: R(t), video: L(t) } } } }, Y), e.config); window.pbjs.addAdUnits(function(e, t, i) { var n, r, a = t[i = i.toUpperCase()]; if (!a) return e; for (var o = Math.random(), s = 0; s <= e.length; s++) for (var d = e[s], A = a[(null === (n = null == d ? void 0 : d.mediaTypes) || void 0 === n ? void 0 : n.video) ? "video" : "display"] || {}, c = (null === (r = null == d ? void 0 : d.bids) || void 0 === r ? void 0 : r.length) - 1; c >= 0; c--) { var l = d.bids[c]; A[l.bidder] && o > A[l.bidder] && e[s].bids.splice(c, 1) } return e }(e.adUnits || J, c, t)), window.pbjs.setConfig(i), window.pbjs.bidderSettings = { districtm: { bidCpmAdjustment: function(e) { return .85 * e } } } })) }, ee = !1, te = function(e, t, i) { (function(e, t) { var i, n, r = null === (n = null === (i = e[t = t.toUpperCase()]) || void 0 === i ? void 0 : i.video) || void 0 === n ? void 0 : n.amazon; return !!r && Math.random() > r })(c, t) || window.apstag && window.apstag.init(e.settings || U({ pubID: "e32f1423-28bc-43ed-8ab0-5ae6b4449cf8", adServer: "", videoAdServer: "GAM" }, i ? { gdpr: { cmpTimeout: 1e4 } } : {}), (function() { ee = !0, e.callback && e.callback() })) }, ie = function() { ! function() { if (!window.__tcfapi) { var e = window.top, t = {}; window.__tcfapi = function(i, n, r, a) { var o = "" + Math.random(), s = { __tcfapiCall: { command: i, parameter: a, version: n, callId: o } }; t[o] = r, e.postMessage(s, "*") }, window.addEventListener("message", (function(e) { var i = {}; try { i = "string" == typeof e.data ? JSON.parse(e.data) : e.data } catch (e) {} var n = i.__tcfapiReturn; n && "function" == typeof t[n.callId] && (t[n.callId](n.returnValue, n.success), t[n.callId] = null) }), !1) } }(), window.pbjs.que.push((function() { window.pbjs.setConfig({ consentManagement: { gdpr: { cmpApi: "iab", timeout: 8e3, defaultGdprScope: !0 } } }) })) }, ne = function() { ! function() { if (!window.__uspapi) { var e = window.top, t = {}; window.__uspapi = function(i, n, r) { var a = "" + Math.random(), o = { __uspapiCall: { command: i, version: n, callId: a } }; t[a] = r, e.postMessage(o, "*") }, window.addEventListener("message", (function(e) { var i = e && e.data && e.data.__uspapiReturn; i && i.callId && "function" == typeof t[i.callId] && (t[i.callId](i.returnValue, i.success), t[i.callId] = null) }), !1) } }(), window.pbjs.que.push((function() { window.pbjs.setConfig({ consentManagement: { usp: { cmpApi: "iab", timeout: 8e3 } } }) })) }; function re(e, t, i, r, a) { var s = d(), A = s ? "nope" : t; if (window.pbjs && window.pbjs.que && window.pbjs.getConfig) { var c, l = I().split("?"), p = encodeURIComponent(l[0]), u = r ? X : Z, h = o.getDataAnnotations(), m = 1, g = function() { if (!(--m > 0)) try { o.dispatchEvent(n.ads.prebidRequested); var d = window.pbjs.adUnits.filter((function(e) { return e.code === u }))[0]; if ("undefined" === d) return console.error("Video-ad-unit not found, did you give it the adunit.code='video' value?"), void e.requestAd(A); var l = window.pbjs.adServers.dfp.buildVideoUrl({ adUnit: d, params: { iu: _("iu", t), sz: "640x360|640x480", output: "vast", cust_params: i, description_url: p } }), g = window.pbjs.getHighestCpmBids(u); window.pbjs.markWinningBidAsUsed({ adUnitCode: u }), c && (l = l.replace("cust_params=", "cust_params=" + c + "%26")); var v = !1; if (s) { var f = void 0; if (g.length > 0 && (f = g[0]), c) { var b = function(e) { var t = decodeURIComponent(e), i = _("amznbid", t); if (!i) return null; var n = j[i]; return n ? { bid: n, vast: "https://aax.amazon-adsystem.com/e/dtb/vast?b=" + _("amzniid", t) + "&rnd=" + Math.round(1e10 * Math.random()) + "&pp=" + i } : null }(c); b && (!f || !f.videoCacheKey || f.cpm < b.bid) && (f = { cpm: b.bid, vast: b.vast, bidder: "amazon", videoCacheKey: "amazon" }) } if ((!f || !f.videoCacheKey || f.cpm < L(a)) && (r || Math.random() > .5)) { var y = void 0; y = function(e) { return "US" === e ? 6.1 : B.includes(e) ? .5 : P.includes(e) ? .15 : D.includes(e) ? .08 : M.includes(e) ? .03 : .02 }(a), f = { cpm: 2 * y, vast: G(), bidder: "poki", videoCacheKey: "poki" } } if (!f || !f.videoCacheKey) return void o.dispatchEvent(n.ads.completed); switch (f.bidder) { case "onetag": l = "https://onetag-sys.com/invocation/?key=" + f.videoCacheKey; break; case "rubicon": l = "https://prebid-server.rubiconproject.com/cache?uuid=" + f.videoCacheKey; break; case "spotx": l = "https://search.spotxchange.com/ad/vast.html?key=" + f.videoCacheKey; break; case "amazon": case "poki": l = f.vast; break; default: l = "https://prebid.adnxs.com/pbc/v1/cache?uuid=" + f.videoCacheKey } z({ event: "video-ready", size: "640x360v", opportunityId: null == h ? void 0 : h.opportunityId, adUnitPath: null == h ? void 0 : h.adUnitPath, p4d_game_id: tt.gameId, p4d_version_id: tt.versionId, bidder: null == f ? void 0 : f.bidder, bid: null == f ? void 0 : f.cpm }), v = !0, o.setDataAnnotations({ p4d_game_id: tt.gameId, p4d_version_id: tt.versionId, bidder: null == f ? void 0 : f.bidder, bid: null == f ? void 0 : f.cpm }) } if (o.setDataAnnotations({ vhbOnlyMode: v, adTagUrl: l }), g.length > 0) { f = g[0]; o.setDataAnnotations({ prebidBidder: null == f ? void 0 : f.bidder, prebidBid: null == f ? void 0 : f.cpm }) } else o.setDataAnnotations({ prebidBidder: void 0, prebidBid: void 0 }); e.requestAd(l) } catch (t) { e.requestAd(A) } }; ee && (m++, window.apstag.fetchBids({ slots: [{ slotID: r ? "Rewarded" : "Midroll", mediaType: "video" }], timeout: Y.bidderTimeout }, (function(e) { e.length > 0 && (c = e[0].encodedQsParams), g() }))), s && z({ event: "video-request", size: "640x360v", opportunityId: null == h ? void 0 : h.opportunityId, adUnitPath: null == h ? void 0 : h.adUnitPath, p4d_game_id: tt.gameId, p4d_version_id: tt.versionId }), window.pbjs.que.push((function() { window.pbjs.requestBids({ adUnitCodes: [u], bidsBackHandler: function() { g() } }) })) } else e.requestAd(A) } var ae = function() { function e(e, t) { void 0 === t && (t = {}), this.retries = 0, this.running = !1, this.ima = e, this.siteID = t.siteID || 3, this.country = t.country || "ZZ", this.totalRetries = t.totalRetries || l.waterfallRetries || 1, this.timing = t.timing || new u(l.adTiming), d() && (this.totalRetries = 1), o.addEventListener(n.ads.video.error, this.moveThroughWaterfall.bind(this)), o.addEventListener(n.ads.video.loaderError, this.moveThroughWaterfall.bind(this)), o.addEventListener(n.ads.ready, this.timing.stopWaterfallTimer.bind(this.timing)), o.addEventListener(n.ads.started, this.stopWaterfall.bind(this)) } return e.prototype.moveThroughWaterfall = function() { if (!1 !== this.running) { if (this.timing.stopWaterfallTimer(), this.retries < this.totalRetries) return this.timing.nextWaterfallTimer(), void this.requestAd(); this.running = !1, this.timing.resetWaterfallTimerIdx(), o.dispatchEvent(n.ads.error, { message: "No ads" }) } }, e.prototype.cutOffWaterfall = function() { this.ima.tearDown(), this.moveThroughWaterfall() }, e.prototype.buildAdUnitPaths = function(e) { if (r.debug) { var t = "/21682198607/debug-video/"; return e === n.ads.position.rewarded ? [t + "debug-video-rewarded"] : e === n.ads.position.preroll ? [t + "debug-video-preroll"] : [t + "debug-video-midroll"] } var i = "desktop", a = "midroll"; S() ? i = "mobile" : E() && (i = "tablet"), e === n.ads.position.rewarded && (a = "rewarded"); var o = "/21682198607/"; return nt.GetIsPokiIFrame() ? ["" + o + i + "_ingame_" + a + "_1/" + this.siteID + "_" + i + "_ingame_" + a + "_1", "" + o + i + "_ingame_" + a + "_2/" + this.siteID + "_" + i + "_ingame_" + a + "_2"] : [o + "external_" + i + "_video_1/external_" + i + "_ingame_" + a + "_1", o + "external_" + i + "_video_2/external_" + i + "_ingame_" + a + "_2"] }, e.prototype.start = function(e, t) { void 0 === e && (e = {}), this.running = !0, this.retries = 0, this.criteria = e, this.timing.resetWaterfallTimerIdx(), this.rewarded = t === n.ads.position.rewarded, this.adUnitPaths = this.buildAdUnitPaths(t), this.requestAd() }, e.prototype.requestAd = function() { this.timing.startWaterfallTimer(this.cutOffWaterfall.bind(this)), this.retries++, this.criteria.waterfall = this.retries; var e = (this.retries - 1) % this.adUnitPaths.length, t = this.adUnitPaths[e], i = "https://securepubads.g.doubleclick.net/gampad/ads?sz=640x360|640x480&iu=" + t + "&ciu_szs&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&url={url}&description_url={descriptionUrl}&correlator={timestamp}"; nt.consentString && nt.consentString.length > 0 && (this.criteria.consent_string = nt.consentString); var r = Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0) > 970; this.criteria.billboards_fit = r ? "yes" : "no"; var a, s, A = function(e) { var t = I().split("?"), i = encodeURIComponent(t[0]); return (e = e.split("{descriptionUrl}").join(i)).split("{timestamp}").join((new Date).getTime().toString()) }(i) + (a = this.criteria, s = "", Object.keys(a).forEach((function(e) { if (Object.prototype.hasOwnProperty.call(a, e)) { var t = a[e]; Array.isArray(t) && (t = t.join()), s += e + "=" + t + "&" } })), "&cust_params=" + (s = encodeURIComponent(s)) + "&"); nt.childDirected && (A += "&tfcd=1"), nt.nonPersonalized && (A += "&npa=1"), o.setDataAnnotations({ adUnitPath: t, adTagUrl: A, waterfall: this.retries }), o.dispatchEvent(n.ads.requested), d() || 1 === this.retries && !S() && !E() ? (console.debug("adRequest started with Prebid Video enabled"), re(this.ima, A, this.criteria, this.rewarded, this.country)) : (console.debug("adRequest started in plain mode"), this.ima.requestAd(A)) }, e.prototype.isRunning = function() { return this.running }, e.prototype.stopWaterfall = function() { this.running = !1, this.timing.stopWaterfallTimer(), this.timing.resetWaterfallTimerIdx() }, e }(); const oe = ae; var se = "pokiSdkContainer", de = "pokiSdkFixed", Ae = "pokiSdkOverlay", ce = "pokiSdkHidden", le = "pokiSdkInsideContainer", pe = "pokiSdkPauseButton", ue = "pokiSdkPauseButtonBG", he = "pokiSdkStartAdButton", me = "pokiSdkProgressBar", ge = "pokiSdkProgressContainer", ve = "pokiSdkSpinnerContainer", fe = "pokiSdkVideoContainer", be = "pokiSdkVisible", ye = "pokiSDKAdContainer"; var ke = function(e, t, i) { if (i || 2 === arguments.length) for (var n, r = 0, a = t.length; r < a; r++) !n && r in t || (n || (n = Array.prototype.slice.call(t, 0, r)), n[r] = t[r]); return e.concat(n || Array.prototype.slice.call(t)) }; const we = function() { function e(e) { var t = this; if (this.hideElement = function(e) { e.classList.add(ce), e.classList.remove(be) }, this.showElement = function(e) { e.classList.add(be), e.classList.remove(ce) }, this.wrapper = e.wrapper, this.progressFaker = new Ie((function(e) { return t.updateProgressBar(e) })), this.progressFaker.queueFakeProgress(10, 1e3, n.ads.prebidRequested), this.progressFaker.queueFakeProgress(20, 2e3, n.ads.started), this.wrapper instanceof HTMLElement || (console.error("POKI-SDK: wrapper is not a HTMLElement, falling back to document.body"), this.wrapper = document.body), this.createElements(), "undefined" != typeof window && document) { var i = document.createElement("style"); i.innerHTML = "\n.pokiSdkContainer {\n\toverflow: hidden;\n\tposition: absolute;\n\tleft: 0;\n\ttop: 0;\n\twidth: 100%;\n\theight: 100%;\n\tz-index: 1000;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n.pokiSdkContainer.pokiSdkFixed {\n\tposition: fixed;\n}\n\n.pokiSdkContainer.pokiSdkVisible {\n\tdisplay: block;\n}\n\n.pokiSdkContainer.pokiSdkHidden,\n.pokiSdkSpinnerContainer.pokiSdkHidden {\n\tdisplay: none;\n}\n\n.pokiSdkContainer.pokiSdkHidden,\n.pokiSdkSpinnerContainer {\n\tpointer-events: none;\n}\n\n.pokiSdkSpinnerContainer {\n\tz-index: 10;\n\tposition: absolute;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100%;\n\theight: 100%;\n\tbackground: url('https://a.poki.com/images/thumb_anim_2x.gif') 50% 50% no-repeat;\n\tuser-select: none;\n}\n\n.pokiSdkInsideContainer {\n\tbackground: #000;\n\tposition: relative;\n\tz-index: 1;\n\twidth: 100%;\n\theight: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\n\topacity: 0;\n\t-webkit-transition: opacity 0.5s ease-in-out;\n\t-moz-transition: opacity 0.5s ease-in-out;\n\t-ms-transition: opacity 0.5s ease-in-out;\n\t-o-transition: opacity 0.5s ease-in-out;\n\ttransition: opacity 0.5s ease-in-out;\n}\n\n.pokiSdkContainer.pokiSdkVisible .pokiSdkInsideContainer {\n\topacity: 1;\n}\n\n.pokiSDKAdContainer, .pokiSdkVideoContainer {\n\tposition: absolute;\n\twidth: 100%;\n\theight: 100%;\n}\n\n.pokiSdkStartAdButton {\n\tposition: absolute;\n\tz-index: 9999;\n\ttop: 0;\n\n\tpadding-top: 10%;\n\twidth: 100%;\n\theight: 100%;\n\ttext-align: center;\n\tcolor: #FFF;\n\n\tfont: 700 15pt 'Arial', sans-serif;\n\tfont-weight: bold;\n\tletter-spacing: 1px;\n\ttransition: 0.1s ease-in-out;\n\tline-height: 1em;\n}\n\n.pokiSdkPauseButton {\n\tcursor:pointer;\n position: absolute;\n top: 50%;\n left: 50%;\n z-index: 1;\n}\n\n.pokiSdkPauseButton:before {\n\tcontent: '';\n\tposition: absolute;\n\twidth: 100px;\n\theight: 100px;\n\tdisplay: block;\n\tborder: 2px solid #fff;\n\tborder-radius: 50%;\n\tuser-select: none;\n\tbackground-color: rgba(0, 0, 0, 0.6);\n\ttransition: background-color 0.5s ease;\n\tanimation: 1s linear infinite pulse;\n}\n\n.pokiSdkPauseButton:after {\n\tcontent: '';\n\tposition: absolute;\n\tdisplay: block;\n\tbox-sizing: border-box;\n\tborder-color: transparent transparent transparent #fff;\n\tborder-style: solid;\n\tborder-width: 26px 0 26px 40px;\n\tpointer-events: none;\n\tanimation: 1s linear infinite pulse;\n\tleft: 6px;\n}\n.pokiSdkPauseButtonBG {\n position: fixed;\n top: 0;\n left: 0;\n display: block;\n content: '';\n background: rgba(0, 43, 80, 0.5);\n width: 100%;\n height: 100%;\n}\n\n.pokiSdkPauseButtonBG:hover{\n\tbackground: rgba(0, 43, 80, 0.7);\n}\n\n@keyframes pulse {\n\t0% {\n\t\ttransform: translate(-50%, -50%) scale(0.95);\n\t}\n\t70% {\n\t\ttransform: translate(-50%, -50%) scale(1.1);\n\t}\n\t100% {\n\t\ttransform: translate(-50%, -50%) scale(0.95);\n\t}\n}\n\n.pokiSdkProgressContainer {\n\tbackground: #B8C7DD;\n\twidth: 100%;\n\theight: 5px;\n\tposition: absolute;\n\tbottom: 0;\n\tz-index: 9999;\n}\n\n.pokiSdkProgressBar {\n\tposition:relative;\n\tbottom:0px;\n\tbackground: #FFDC00;\n\theight: 100%;\n\twidth: 0%;\n\ttransition: width 0.5s;\n\ttransition-timing-function: linear;\n}\n\n.pokiSdkProgressBar.pokiSdkVisible, .pokiSdkPauseButton.pokiSdkVisible, .pokiSdkStartAdButton.pokiSdkVisible {\n\tdisplay: block;\n\tpointer-events: auto;\n}\n\n.pokiSdkProgressBar.pokiSdkHidden, .pokiSdkPauseButton.pokiSdkHidden, .pokiSdkStartAdButton.pokiSdkHidden {\n\tdisplay: none;\n\tpointer-events: none;\n}\n", document.head.appendChild(i) } } return e.prototype.updateProgressBar = function(e) { this.progressBar.style.width = e + "%" }, e.prototype.setupEvents = function(e) { this.internalSDK = e }, e.prototype.hide = function() { this.hideElement(this.containerDiv), this.hideElement(this.progressContainer), this.hidePauseButton(), this.hideElement(this.startAdButton), this.containerDiv.classList.remove(Ae), this.progressBar.style.width = "0%", this.progressFaker.reset() }, e.prototype.hideSpinner = function() { this.hideElement(this.spinnerContainer) }, e.prototype.show = function() { this.containerDiv.classList.add(Ae), this.showElement(this.containerDiv), this.showElement(this.spinnerContainer), this.showElement(this.progressContainer), this.progressFaker.start() }, e.prototype.getVideoBounds = function() { return this.adContainer.getBoundingClientRect() }, e.prototype.getAdContainer = function() { return this.adContainer }, e.prototype.getVideoContainer = function() { return this.videoContainer }, e.prototype.showPauseButton = function() { this.showElement(this.pauseButton), this.internalSDK && this.pauseButton.addEventListener("click", this.internalSDK.resumeAd.bind(this.internalSDK)) }, e.prototype.hidePauseButton = function() { this.hideElement(this.pauseButton), this.internalSDK && this.pauseButton.removeEventListener("click", this.internalSDK.resumeAd.bind(this.internalSDK)) }, e.prototype.showStartAdButton = function() { this.showElement(this.startAdButton), this.internalSDK && this.startAdButton.addEventListener("click", this.internalSDK.startAdClicked.bind(this.internalSDK)) }, e.prototype.hideStartAdButton = function() { this.hideElement(this.startAdButton), this.internalSDK && this.startAdButton.removeEventListener("click", this.internalSDK.startAdClicked.bind(this.internalSDK)) }, e.prototype.createElements = function() { if (this.containerDiv = document.createElement("div"), this.insideContainer = document.createElement("div"), this.pauseButton = document.createElement("div"), this.pauseButtonBG = document.createElement("div"), this.startAdButton = document.createElement("div"), this.progressBar = document.createElement("div"), this.progressContainer = document.createElement("div"), this.spinnerContainer = document.createElement("div"), this.adContainer = document.createElement("div"), this.videoContainer = document.createElement("video"), this.adContainer.id = "pokiSDKAdContainer", this.videoContainer.id = "pokiSDKVideoContainer", this.containerDiv.className = se, this.insideContainer.className = le, this.pauseButton.className = pe, this.pauseButtonBG.className = ue, this.pauseButton.appendChild(this.pauseButtonBG), this.startAdButton.className = he, this.startAdButton.innerHTML = "Tap anywhere to play ad", this.progressBar.className = me, this.progressContainer.className = ge, this.spinnerContainer.className = ve, this.adContainer.className = ye, this.videoContainer.className = fe, this.hide(), this.videoContainer.setAttribute("playsinline", "playsinline"), this.videoContainer.setAttribute("muted", "muted"), this.containerDiv.appendChild(this.insideContainer), this.containerDiv.appendChild(this.spinnerContainer), this.insideContainer.appendChild(this.progressContainer), this.insideContainer.appendChild(this.videoContainer), this.insideContainer.appendChild(this.adContainer), this.containerDiv.appendChild(this.pauseButton), this.containerDiv.appendChild(this.startAdButton), this.progressContainer.appendChild(this.progressBar), this.wrapper.appendChild(this.containerDiv), this.wrapper === document.body) this.containerDiv.classList.add(de); else { var e = window.getComputedStyle(this.wrapper).position; e && -1 !== ["absolute", "fixed", "relative"].indexOf(e) || (this.wrapper.style.position = "relative") } }, e }(); var Ie = function() { function e(e) { var t = this; this.storedQueue = [], this.progressCallback = e, this.reset(), o.addEventListener(n.ads.video.progress, (function(e) { var i = 100 - t.currentProgress, n = e.currentTime / e.duration * i; n < i && t.progressCallback(t.currentProgress + n) })), this.initializeNoProgressFix() } return e.prototype.queueFakeProgress = function(e, t, i) { var n = this; this.storedQueue.push({ progressToFake: e, duration: t, stopEvent: i }), o.addEventListener(i, (function() { n.eventWatcher[i] = !0, n.currentProgress = n.startProgress + e, n.startProgress = n.currentProgress, n.progressCallback(n.currentProgress), n.activeQueue.shift(), n.activeQueue.length > 0 ? n.continue() : n.pause() })) }, e.prototype.fakeProgress = function(e, t, i) { this.activeQueue.push({ progressToFake: e, duration: t, stopEvent: i }), this.fakeProgressEvents = !0, this.continue() }, e.prototype.start = function() { this.activeQueue.length > 0 || (this.activeQueue = ke([], this.storedQueue, !0), this.active = !0, this.continue()) }, e.prototype.continue = function() { if (this.activeQueue.length > 0 && !this.tickInterval) { this.startTime = Date.now(); this.tickInterval = window.setInterval(this.tick.bind(this), 50), this.active = !0 } }, e.prototype.pause = function() { this.clearInterval() }, e.prototype.tick = function() { var e = this.activeQueue[0], t = Date.now() - this.startTime, i = Math.min(t / e.duration, 1); this.currentProgress = this.startProgress + e.progressToFake * i, this.fakeProgressEvents && o.dispatchEvent(n.ads.video.progress, { duration: e.duration / 1e3, currentTime: t / 1e3 }), this.progressCallback(this.currentProgress), (this.eventWatcher[e.stopEvent] || 1 === i) && this.pause() }, e.prototype.clearInterval = function() { this.tickInterval && (clearInterval(this.tickInterval), this.tickInterval = 0) }, e.prototype.initializeNoProgressFix = function() { var e = this; o.addEventListener(n.ads.started, (function(t) { e.progressWatcherTimeout = window.setTimeout((function() { if (e.active) { var i = 100 - e.currentProgress, r = 1e3 * t.duration - 1e3; e.fakeProgress(i, r, n.ads.completed) } }), 1e3) })), o.addEventListener(n.ads.video.progress, (function() { e.progressWatcherTimeout && (clearTimeout(e.progressWatcherTimeout), e.progressWatcherTimeout = 0) })) }, e.prototype.reset = function() { this.eventWatcher = {}, this.startProgress = 0, this.startTime = 0, this.currentProgress = 0, this.activeQueue = [], this.active = !1, this.fakeProgressEvents = !1, this.clearInterval() }, e }(), Se = !0, Ee = {}; function _e() { if (document.body && document.body.appendChild) { var e = document.createElement("iframe"); if (e.style.display = "none", document.body.appendChild(e), e.contentWindow && (window.pokiKeysChanged = new Map, e.contentWindow.document.open(), e.contentWindow.document.write("