103 skills found · Page 2 of 4
HKUSTDial / LiteCoST🔥[ICLR'26] Official repository for the paper "Long-Document QA with Chain-of-Structured-Thought and Fine-Tuned SLMs"
benayat / Rag With Spring AIa rag implementation example for document-based QA, using spring-ai, ollama, and postgres-pgvector vetor db.
neel1996 / SupesquireDocument Q&A chatbot
zsith / Launcher.user.js// ==UserScript== // @name AposLauncher // @namespace AposLauncher // @include http://agar.io/* // @version 3.062 // @grant none // @author http://www.twitch.tv/apostolique // ==/UserScript== var aposLauncherVersion = 3.062; Number.prototype.mod = function(n) { return ((this % n) + n) % n; }; Array.prototype.peek = function() { return this[this.length - 1]; } var sha = "efde0488cc2cc176db48dd23b28a20b90314352b"; function getLatestCommit() { window.jQuery.ajax({ url: "https://api.github.com/repos/apostolique/Agar.io-bot/git/refs/heads/master", cache: false, dataType: "jsonp" }).done(function(data) { console.dir(data["data"]) console.log("hmm: " + data["data"]["object"]["sha"]); sha = data["data"]["object"]["sha"]; function update(prefix, name, url) { window.jQuery(document.body).prepend("<div id='" + prefix + "Dialog' style='position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; z-index: 100; display: none;'>"); window.jQuery('#' + prefix + 'Dialog').append("<div id='" + prefix + "Message' style='width: 350px; background-color: #FFFFFF; margin: 100px auto; border-radius: 15px; padding: 5px 15px 5px 15px;'>"); window.jQuery('#' + prefix + 'Message').append("<h2>UPDATE TIME!!!</h2>"); window.jQuery('#' + prefix + 'Message').append("<p>Grab the update for: <a id='" + prefix + "Link' href='" + url + "' target=\"_blank\">" + name + "</a></p>"); window.jQuery('#' + prefix + 'Link').on('click', function() { window.jQuery("#" + prefix + "Dialog").hide(); window.jQuery("#" + prefix + "Dialog").remove(); }); window.jQuery("#" + prefix + "Dialog").show(); } window.jQuery.get('https://raw.githubusercontent.com/Apostolique/Agar.io-bot/master/launcher.user.js?' + Math.floor((Math.random() * 1000000) + 1), function(data) { var latestVersion = data.replace(/(\r\n|\n|\r)/gm, ""); latestVersion = latestVersion.substring(latestVersion.indexOf("// @version") + 11, latestVersion.indexOf("// @grant")); latestVersion = parseFloat(latestVersion + 0.0000); var myVersion = parseFloat(aposLauncherVersion + 0.0000); if (latestVersion > myVersion) { update("aposLauncher", "launcher.user.js", "https://github.com/Apostolique/Agar.io-bot/blob/" + sha + "/launcher.user.js/"); } console.log('Current launcher.user.js Version: ' + myVersion + " on Github: " + latestVersion); }); }).fail(function() {}); } getLatestCommit(); console.log("Running Bot Launcher!"); (function(d, e) { //UPDATE function keyAction(e) { if (84 == e.keyCode) { console.log("Toggle"); toggle = !toggle; } if (82 == e.keyCode) { console.log("ToggleDraw"); toggleDraw = !toggleDraw; } if (83 == e.keyCode) { selectedCell = (selectedCell + 1).mod(getPlayer().length + 1); console.log("Next Cell " + selectedCell); } if (68 == e.keyCode) { window.setDarkTheme(!getDarkBool()); } if (70 == e.keyCode) { window.setShowMass(!getMassBool()); } if (69 == e.keyCode) { if (message.length > 0) { window.setMessage([]); window.onmouseup = function() {}; window.ignoreStream = true; } else { window.ignoreStream = false; window.refreshTwitch(); } } if (81 == e.keyCode) { console.log("ToggleFollowMouse"); toggleFollow = !toggleFollow; } } function humanPlayer() { //Don't need to do anything. var player = getPlayer(); var destination = []; for (var i = 0; i < player.length; i++) { destination.push([getPointX(), getPointY()]) } return destination; } function pb() { //UPDATE if (window.botList == null) { window.botList = []; window.jQuery('#locationUnknown').append(window.jQuery('<select id="bList" class="form-control" onchange="setBotIndex($(this).val());" />')); window.jQuery('#locationUnknown').addClass('form-group'); } window.jQuery('#nick').val(originalName); if (window.botList.length == 0) { window.botList.push(["Human", humanPlayer]); var bList = window.jQuery('#bList'); window.jQuery('<option />', { value: (window.botList.length - 1), text: "Human" }).appendTo(bList); } ya = !0; Pa(); setInterval(Pa, 18E4); var father = window.jQuery("#canvas").parent(); window.jQuery("#canvas").remove(); father.prepend("<canvas id='canvas'>"); G = za = document.getElementById("canvas"); f = G.getContext("2d"); G.onmousedown = function(a) { if (Qa) { var b = a.clientX - (5 + m / 5 / 2), c = a.clientY - (5 + m / 5 / 2); if (Math.sqrt(b * b + c * c) <= m / 5 / 2) { V(); H(17); return } } fa = a.clientX; ga = a.clientY; Aa(); V(); }; G.onmousemove = function(a) { fa = a.clientX; ga = a.clientY; Aa(); }; G.onmouseup = function() {}; /firefox/i.test(navigator.userAgent) ? document.addEventListener("DOMMouseScroll", Ra, !1) : document.body.onmousewheel = Ra; var a = !1, b = !1, c = !1; d.onkeydown = function(l) { //UPDATE if (!window.jQuery('#nick').is(":focus")) { 32 != l.keyCode || a || (V(), H(17), a = !0); 81 != l.keyCode || b || (H(18), b = !0); 87 != l.keyCode || c || (V(), H(21), c = !0); 27 == l.keyCode && Sa(!0); //UPDATE keyAction(l); } }; d.onkeyup = function(l) { 32 == l.keyCode && (a = !1); 87 == l.keyCode && (c = !1); 81 == l.keyCode && b && (H(19), b = !1); }; d.onblur = function() { H(19); c = b = a = !1 }; d.onresize = Ta; d.requestAnimationFrame(Ua); setInterval(V, 40); y && e("#region").val(y); Va(); ha(e("#region").val()); 0 == Ba && y && I(); W = !0; e("#overlays").show(); Ta(); d.location.hash && 6 <= d.location.hash.length && Wa(d.location.hash) } function Ra(a) { J *= Math.pow(.9, a.wheelDelta / -120 || a.detail || 0); //UPDATE 0.07 > J && (J = 0.07); J > 4 / h && (J = 4 / h) } function qb() { if (.4 > h) X = null; else { for (var a = Number.POSITIVE_INFINITY, b = Number.POSITIVE_INFINITY, c = Number.NEGATIVE_INFINITY, l = Number.NEGATIVE_INFINITY, d = 0, p = 0; p < v.length; p++) { var g = v[p]; !g.N() || g.R || 20 >= g.size * h || (d = Math.max(g.size, d), a = Math.min(g.x, a), b = Math.min(g.y, b), c = Math.max(g.x, c), l = Math.max(g.y, l)) } X = rb.ka({ ca: a - d + 100, da: b - d + 100, oa: c + d + 100, pa: l + d + 100, ma: 2, na: 4 }); for (p = 0; p < v.length; p++) if (g = v[p], g.N() && !(20 >= g.size * h)) for (a = 0; a < g.a.length; ++a) b = g.a[a].x, c = g.a[a].y, b < s - m / 2 / h || c < t - r / 2 / h || b > s + m / 2 / h || c > t + r / 2 / h || X.m(g.a[a]) } } function Aa() { //UPDATE if (selectedCell > 0 && selectedCell <= getPlayer().length) { setPoint(((fa - m / 2) / h + s), ((ga - r / 2) / h + t), selectedCell - 1); drawCircle(getPlayer()[selectedCell - 1].x, getPlayer()[selectedCell - 1].y, getPlayer()[selectedCell - 1].size, 8); drawCircle(getPlayer()[selectedCell - 1].x, getPlayer()[selectedCell - 1].y, getPlayer()[selectedCell - 1].size / 2, 8); } else if (selectedCell > getPlayer().length) { selectedCell = 0; } if (toggle || window.botList[botIndex][0] == "Human") { var startIndex = (selectedCell == 0 ? 0 : selectedCell - 1); for (var i = 0; i < getPlayer().length - (selectedCell == 0 ? 0 : 1); i++) { setPoint(((fa - m / 2) / h + s) + i, ((ga - r / 2) / h + t) + i, (i + startIndex).mod(getPlayer().length)); } } } function Pa() { null == ka && (ka = {}, e("#region").children().each(function() { var a = e(this), b = a.val(); b && (ka[b] = a.text()) })); e.get("https://m.agar.io/info", function(a) { var b = {}, c; for (c in a.regions) { var l = c.split(":")[0]; b[l] = b[l] || 0; b[l] += a.regions[c].numPlayers } for (c in b) e('#region option[value="' + c + '"]').text(ka[c] + " (" + b[c] + " players)") }, "json") } function Xa() { e("#adsBottom").hide(); e("#overlays").hide(); W = !1; Va(); d.googletag && d.googletag.pubads && d.googletag.pubads().clear(d.aa) } function ha(a) { a && a != y && (e("#region").val() != a && e("#region").val(a), y = d.localStorage.location = a, e(".region-message").hide(), e(".region-message." + a).show(), e(".btn-needs-server").prop("disabled", !1), ya && I()) } function Sa(a) { W || (K = null, sb(), a && (x = 1), W = !0, e("#overlays").fadeIn(a ? 200 : 3E3)) } function Y(a) { e("#helloContainer").attr("data-gamemode", a); P = a; e("#gamemode").val(a) } function Va() { e("#region").val() ? d.localStorage.location = e("#region").val() : d.localStorage.location && e("#region").val(d.localStorage.location); e("#region").val() ? e("#locationKnown").append(e("#region")) : e("#locationUnknown").append(e("#region")) } function sb() { la && (la = !1, setTimeout(function() { la = !0 //UPDATE }, 6E4 * Ya)) } function Z(a) { return d.i18n[a] || d.i18n_dict.en[a] || a } function Za() { var a = ++Ba; console.log("Find " + y + P); e.ajax("https://m.agar.io/", { error: function() { setTimeout(Za, 1E3) }, success: function(b) { a == Ba && (b = b.split("\n"), b[2] && alert(b[2]), Ca("ws://" + b[0], b[1])) }, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: (y + P || "?") + "\n154669603" }) } function I() { ya && y && (e("#connecting").show(), Za()) } function Ca(a, b) { if (q) { q.onopen = null; q.onmessage = null; q.onclose = null; try { q.close() } catch (c) {} q = null } Da.la && (a = "ws://" + Da.la); if (null != L) { var l = L; L = function() { l(b) } } if (tb) { var d = a.split(":"); a = d[0] + "s://ip-" + d[1].replace(/\./g, "-").replace(/\//g, "") + ".tech.agar.io:" + (+d[2] + 2E3) } M = []; k = []; E = {}; v = []; Q = []; F = []; z = A = null; R = 0; $ = !1; console.log("Connecting to " + a); //UPDATE serverIP = a; q = new WebSocket(a); q.binaryType = "arraybuffer"; q.onopen = function() { var a; console.log("socket open"); a = N(5); a.setUint8(0, 254); a.setUint32(1, 4, !0); O(a); a = N(5); a.setUint8(0, 255); a.setUint32(1, 154669603, !0); O(a); a = N(1 + b.length); a.setUint8(0, 80); for (var c = 0; c < b.length; ++c) a.setUint8(c + 1, b.charCodeAt(c)); O(a); $a() }; q.onmessage = ub; q.onclose = vb; q.onerror = function() { console.log("socket error") } } function N(a) { return new DataView(new ArrayBuffer(a)) } function O(a) { q.send(a.buffer) } function vb() { $ && (ma = 500); console.log("socket close"); setTimeout(I, ma); ma *= 2 } function ub(a) { wb(new DataView(a.data)) } function wb(a) { function b() { for (var b = "";;) { var d = a.getUint16(c, !0); c += 2; if (0 == d) break; b += String.fromCharCode(d) } return b } var c = 0; 240 == a.getUint8(c) && (c += 5); switch (a.getUint8(c++)) { case 16: xb(a, c); break; case 17: aa = a.getFloat32(c, !0); c += 4; ba = a.getFloat32(c, !0); c += 4; ca = a.getFloat32(c, !0); c += 4; break; case 20: k = []; M = []; break; case 21: Ea = a.getInt16(c, !0); c += 2; Fa = a.getInt16(c, !0); c += 2; Ga || (Ga = !0, na = Ea, oa = Fa); break; case 32: M.push(a.getUint32(c, !0)); c += 4; break; case 49: if (null != A) break; var l = a.getUint32(c, !0), c = c + 4; F = []; for (var d = 0; d < l; ++d) { var p = a.getUint32(c, !0), c = c + 4; F.push({ id: p, name: b() }) } ab(); break; case 50: A = []; l = a.getUint32(c, !0); c += 4; for (d = 0; d < l; ++d) A.push(a.getFloat32(c, !0)), c += 4; ab(); break; case 64: pa = a.getFloat64(c, !0); c += 8; qa = a.getFloat64(c, !0); c += 8; ra = a.getFloat64(c, !0); c += 8; sa = a.getFloat64(c, !0); c += 8; aa = (ra + pa) / 2; ba = (sa + qa) / 2; ca = 1; 0 == k.length && (s = aa, t = ba, h = ca); break; case 81: var g = a.getUint32(c, !0), c = c + 4, e = a.getUint32(c, !0), c = c + 4, f = a.getUint32(c, !0), c = c + 4; setTimeout(function() { S({ e: g, f: e, d: f }) }, 1200) } } function xb(a, b) { bb = C = Date.now(); $ || ($ = !0, e("#connecting").hide(), cb(), L && (L(), L = null)); var c = Math.random(); Ha = !1; var d = a.getUint16(b, !0); b += 2; for (var u = 0; u < d; ++u) { var p = E[a.getUint32(b, !0)], g = E[a.getUint32(b + 4, !0)]; b += 8; p && g && (g.X(), g.s = g.x, g.t = g.y, g.r = g.size, g.J = p.x, g.K = p.y, g.q = g.size, g.Q = C) } for (u = 0;;) { d = a.getUint32(b, !0); b += 4; if (0 == d) break; ++u; var f, p = a.getInt16(b, !0); b += 4; g = a.getInt16(b, !0); b += 4; f = a.getInt16(b, !0); b += 2; for (var h = a.getUint8(b++), w = a.getUint8(b++), m = a.getUint8(b++), h = (h << 16 | w << 8 | m).toString(16); 6 > h.length;) h = "0" + h; var h = "#" + h, w = a.getUint8(b++), m = !!(w & 1), r = !!(w & 16); w & 2 && (b += 4); w & 4 && (b += 8); w & 8 && (b += 16); for (var q, n = "";;) { q = a.getUint16(b, !0); b += 2; if (0 == q) break; n += String.fromCharCode(q) } q = n; n = null; E.hasOwnProperty(d) ? (n = E[d], n.P(), n.s = n.x, n.t = n.y, n.r = n.size, n.color = h) : (n = new da(d, p, g, f, h, q), v.push(n), E[d] = n, n.ua = p, n.va = g); n.h = m; n.n = r; n.J = p; n.K = g; n.q = f; n.sa = c; n.Q = C; n.ba = w; q && n.B(q); - 1 != M.indexOf(d) && -1 == k.indexOf(n) && (document.getElementById("overlays").style.display = "none", k.push(n), 1 == k.length && (s = n.x, t = n.y, db())) //UPDATE interNodes[d] = window.getCells()[d]; } //UPDATE Object.keys(interNodes).forEach(function(element, index) { //console.log("start: " + interNodes[element].updateTime + " current: " + D + " life: " + (D - interNodes[element].updateTime)); var isRemoved = !window.getCells().hasOwnProperty(element); if (isRemoved && (window.getLastUpdate() - interNodes[element].getUptimeTime()) > 3000) { delete interNodes[element]; } else { for (var i = 0; i < getPlayer().length; i++) { if (isRemoved && computeDistance(getPlayer()[i].x, getPlayer()[i].y, interNodes[element].x, interNodes[element].y) < getPlayer()[i].size + 710) { delete interNodes[element]; break; } } } }); c = a.getUint32(b, !0); b += 4; for (u = 0; u < c; u++) d = a.getUint32(b, !0), b += 4, n = E[d], null != n && n.X(); //UPDATE //Ha && 0 == k.length && Sa(!1) } //UPDATE function computeDistance(x1, y1, x2, y2) { var xdis = x1 - x2; // <--- FAKE AmS OF COURSE! var ydis = y1 - y2; var distance = Math.sqrt(xdis * xdis + ydis * ydis); return distance; } function screenDistance() { return Math.min(computeDistance(getOffsetX(), getOffsetY(), screenToGameX(getWidth()), getOffsetY()), computeDistance(getOffsetX(), getOffsetY(), getOffsetX(), screenToGameY(getHeight()))); } window.verticalDistance = function() { return computeDistance(screenToGameX(0), screenToGameY(0), screenToGameX(getWidth()), screenToGameY(getHeight())); } function screenToGameX(x) { return (x - getWidth() / 2) / getRatio() + getX(); } function screenToGameY(y) { return (y - getHeight() / 2) / getRatio() + getY(); } window.drawPoint = function(x_1, y_1, drawColor, text) { if (!toggleDraw) { dPoints.push([x_1, y_1, drawColor]); dText.push(text); } } window.drawArc = function(x_1, y_1, x_2, y_2, x_3, y_3, drawColor) { if (!toggleDraw) { var radius = computeDistance(x_1, y_1, x_3, y_3); dArc.push([x_1, y_1, x_2, y_2, x_3, y_3, radius, drawColor]); } } window.drawLine = function(x_1, y_1, x_2, y_2, drawColor) { if (!toggleDraw) { lines.push([x_1, y_1, x_2, y_2, drawColor]); } } window.drawCircle = function(x_1, y_1, radius, drawColor) { if (!toggleDraw) { circles.push([x_1, y_1, radius, drawColor]); } } function V() { //UPDATE if (getPlayer().length == 0 && !reviving && ~~(getCurrentScore() / 100) > 0) { console.log("Dead: " + ~~(getCurrentScore() / 100)); apos('send', 'pageview'); } if (getPlayer().length == 0) { console.log("Revive"); setNick(originalName); reviving = true; } else if (getPlayer().length > 0 && reviving) { reviving = false; } var a; if (T()) { a = fa - m / 2; var b = ga - r / 2; for (var i = 0; i < getPlayer().length; i++) { var tempID = getPlayer()[i].id; 64 > a * a + b * b || .01 > Math.abs(eb - ia[i]) && .01 > Math.abs(fb - ja[i]) || (eb = ia[i], fb = ja[i], a = N(21), a.setUint8(0, 16), a.setFloat64(1, ia[i], !0), a.setFloat64(9, ja[i], !0), a.setUint32(17, tempID, !0), O(a)) } } } function cb() { if (T() && $ && null != K) { var a = N(1 + 2 * K.length); a.setUint8(0, 0); for (var b = 0; b < K.length; ++b) a.setUint16(1 + 2 * b, K.charCodeAt(b), !0); O(a) } } function T() { return null != q && q.readyState == q.OPEN } window.opCode = function(a) { console.log("Sending op code."); H(parseInt(a)); } function H(a) { if (T()) { var b = N(1); b.setUint8(0, a); O(b) } } function $a() { if (T() && null != B) { var a = N(1 + B.length); a.setUint8(0, 81); for (var b = 0; b < B.length; ++b) a.setUint8(b + 1, B.charCodeAt(b)); O(a) } } function Ta() { m = d.innerWidth; r = d.innerHeight; za.width = G.width = m; za.height = G.height = r; var a = e("#helloContainer"); a.css("transform", "none"); var b = a.height(), c = d.innerHeight; b > c / 1.1 ? a.css("transform", "translate(-50%, -50%) scale(" + c / b / 1.1 + ")") : a.css("transform", "translate(-50%, -50%)"); gb() } function hb() { var a; a = Math.max(r / 1080, m / 1920); return a *= J } function yb() { if (0 != k.length) { for (var a = 0, b = 0; b < k.length; b++) a += k[b].size; a = Math.pow(Math.min(64 / a, 1), .4) * hb(); h = (9 * h + a) / 10 } } function gb() { //UPDATE dPoints = []; circles = []; dArc = []; dText = []; lines = []; var a, b = Date.now(); ++zb; C = b; if (0 < k.length) { yb(); for (var c = a = 0, d = 0; d < k.length; d++) k[d].P(), a += k[d].x / k.length, c += k[d].y / k.length; aa = a; ba = c; ca = h; s = (s + a) / 2; t = (t + c) / 2; } else s = (29 * s + aa) / 30, t = (29 * t + ba) / 30, h = (9 * h + ca * hb()) / 10; qb(); Aa(); Ia || f.clearRect(0, 0, m, r); Ia ? (f.fillStyle = ta ? "#111111" : "#F2FBFF", f.globalAlpha = .05, f.fillRect(0, 0, m, r), f.globalAlpha = 1) : Ab(); v.sort(function(a, b) { return a.size == b.size ? a.id - b.id : a.size - b.size }); f.save(); f.translate(m / 2, r / 2); f.scale(h, h); f.translate(-s, -t); //UPDATE f.save(); f.beginPath(); f.lineWidth = 5; f.strokeStyle = "#FFFFFF"; f.moveTo(getMapStartX(), getMapStartY()); f.lineTo(getMapStartX(), getMapEndY()); f.stroke(); f.moveTo(getMapStartX(), getMapStartY()); f.lineTo(getMapEndX(), getMapStartY()); f.stroke(); f.moveTo(getMapEndX(), getMapStartY()); f.lineTo(getMapEndX(), getMapEndY()); f.stroke(); f.moveTo(getMapStartX(), getMapEndY()); f.lineTo(getMapEndX(), getMapEndY()); f.stroke(); f.restore(); for (d = 0; d < v.length; d++) v[d].w(f); for (d = 0; d < Q.length; d++) Q[d].w(f); //UPDATE if (getPlayer().length > 0) { var moveLoc = window.botList[botIndex][1](toggleFollow); if (selectedCell > 0) { Aa(); } if (!toggle) { var startIndex = (selectedCell == 0 ? 0 : selectedCell); for (var i = 0; i < getPlayer().length - (selectedCell == 0 ? 0 : 1); i++) { setPoint(moveLoc[(i + startIndex).mod(getPlayer().length)][0], moveLoc[(i + startIndex).mod(getPlayer().length)][1], (i + startIndex).mod(getPlayer().length)); } } } customRender(f); if (Ga) { na = (3 * na + Ea) / 4; oa = (3 * oa + Fa) / 4; f.save(); f.strokeStyle = "#FFAAAA"; f.lineWidth = 10; f.lineCap = "round"; f.lineJoin = "round"; f.globalAlpha = .5; f.beginPath(); for (d = 0; d < k.length; d++) f.moveTo(k[d].x, k[d].y), f.lineTo(na, oa); f.stroke(); f.restore(); } f.restore(); z && z.width && f.drawImage(z, m - z.width - 10, 10); R = Math.max(R, Bb()); //UPDATE var currentDate = new Date(); var nbSeconds = 0; if (getPlayer().length > 0) { //nbSeconds = currentDate.getSeconds() + currentDate.getMinutes() * 60 + currentDate.getHours() * 3600 - lifeTimer.getSeconds() - lifeTimer.getMinutes() * 60 - lifeTimer.getHours() * 3600; nbSeconds = (currentDate.getTime() - lifeTimer.getTime())/1000; } bestTime = Math.max(nbSeconds, bestTime); var displayText = 'Score: ' + ~~(R / 100) + " Current Time: " + nbSeconds + " seconds."; 0 != R && (null == ua && (ua = new va(24, "#FFFFFF")), ua.C(displayText), c = ua.L(), a = c.width, f.globalAlpha = .2, f.fillStyle = "#000000", f.fillRect(10, r - 10 - 24 - 10, a + 10, 34), f.globalAlpha = 1, f.drawImage(c, 15, r - 10 - 24 - 5)); Cb(); b = Date.now() - b; b > 1E3 / 60 ? D -= .01 : b < 1E3 / 65 && (D += .01);.4 > D && (D = .4); 1 < D && (D = 1); b = C - ib; !T() || W ? (x += b / 2E3, 1 < x && (x = 1)) : (x -= b / 300, 0 > x && (x = 0)); 0 < x && (f.fillStyle = "#000000", f.globalAlpha = .5 * x, f.fillRect(0, 0, m, r), f.globalAlpha = 1); ib = C drawStats(f); } //UPDATE function customRender(d) { d.save(); for (var i = 0; i < lines.length; i++) { d.beginPath(); d.lineWidth = 5; if (lines[i][4] == 0) { d.strokeStyle = "#FF0000"; } else if (lines[i][4] == 1) { d.strokeStyle = "#00FF00"; } else if (lines[i][4] == 2) { d.strokeStyle = "#0000FF"; } else if (lines[i][4] == 3) { d.strokeStyle = "#FF8000"; } else if (lines[i][4] == 4) { d.strokeStyle = "#8A2BE2"; } else if (lines[i][4] == 5) { d.strokeStyle = "#FF69B4"; } else if (lines[i][4] == 6) { d.strokeStyle = "#008080"; } else if (lines[i][4] == 7) { d.strokeStyle = "#FFFFFF"; } else { d.strokeStyle = "#000000"; } d.moveTo(lines[i][0], lines[i][1]); d.lineTo(lines[i][2], lines[i][3]); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < circles.length; i++) { if (circles[i][3] == 0) { d.strokeStyle = "#FF0000"; } else if (circles[i][3] == 1) { d.strokeStyle = "#00FF00"; } else if (circles[i][3] == 2) { d.strokeStyle = "#0000FF"; } else if (circles[i][3] == 3) { d.strokeStyle = "#FF8000"; } else if (circles[i][3] == 4) { d.strokeStyle = "#8A2BE2"; } else if (circles[i][3] == 5) { d.strokeStyle = "#FF69B4"; } else if (circles[i][3] == 6) { d.strokeStyle = "#008080"; } else if (circles[i][3] == 7) { d.strokeStyle = "#FFFFFF"; } else { d.strokeStyle = "#000000"; } d.beginPath(); d.lineWidth = 10; //d.setLineDash([5]); d.globalAlpha = 0.3; d.arc(circles[i][0], circles[i][1], circles[i][2], 0, 2 * Math.PI, false); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < dArc.length; i++) { if (dArc[i][7] == 0) { d.strokeStyle = "#FF0000"; } else if (dArc[i][7] == 1) { d.strokeStyle = "#00FF00"; } else if (dArc[i][7] == 2) { d.strokeStyle = "#0000FF"; } else if (dArc[i][7] == 3) { d.strokeStyle = "#FF8000"; } else if (dArc[i][7] == 4) { d.strokeStyle = "#8A2BE2"; } else if (dArc[i][7] == 5) { d.strokeStyle = "#FF69B4"; } else if (dArc[i][7] == 6) { d.strokeStyle = "#008080"; } else if (dArc[i][7] == 7) { d.strokeStyle = "#FFFFFF"; } else { d.strokeStyle = "#000000"; } d.beginPath(); d.lineWidth = 5; var ang1 = Math.atan2(dArc[i][1] - dArc[i][5], dArc[i][0] - dArc[i][4]); var ang2 = Math.atan2(dArc[i][3] - dArc[i][5], dArc[i][2] - dArc[i][4]); d.arc(dArc[i][4], dArc[i][5], dArc[i][6], ang1, ang2, false); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < dPoints.length; i++) { if (dText[i] == "") { var radius = 10; d.beginPath(); d.arc(dPoints[i][0], dPoints[i][1], radius, 0, 2 * Math.PI, false); if (dPoints[i][2] == 0) { d.fillStyle = "black"; } else if (dPoints[i][2] == 1) { d.fillStyle = "yellow"; } else if (dPoints[i][2] == 2) { d.fillStyle = "blue"; } else if (dPoints[i][2] == 3) { d.fillStyle = "red"; } else if (dPoints[i][2] == 4) { d.fillStyle = "#008080"; } else if (dPoints[i][2] == 5) { d.fillStyle = "#FF69B4"; } else { d.fillStyle = "#000000"; } d.fill(); d.lineWidth = 2; d.strokeStyle = '#003300'; d.stroke(); } else { var text = new va(18, (getDarkBool() ? '#F2FBFF' : '#111111'), true, '#000000'); text.C(dText[i]); var textRender = text.L(); d.drawImage(textRender, dPoints[i][0], dPoints[i][1]); } } d.restore(); } function drawStats(d) { d.save() sessionScore = Math.max(getCurrentScore(), sessionScore); var debugStrings = []; debugStrings.push("Current Bot: " + window.botList[botIndex][0]); debugStrings.push("T - Bot: " + (!toggle ? "On" : "Off")); debugStrings.push("R - Lines: " + (!toggleDraw ? "On" : "Off")); debugStrings.push("Q - Follow Mouse: " + (toggleFollow ? "On" : "Off")); debugStrings.push("S - Manual Cell: " + (selectedCell == 0 ? "None" : selectedCell) + " of " + getPlayer().length); debugStrings.push(""); debugStrings.push("Best Score: " + ~~(sessionScore / 100)); debugStrings.push("Best Time: " + bestTime + " seconds"); debugStrings.push(""); debugStrings.push(serverIP); if (getPlayer().length > 0) { var offsetX = -getMapStartX(); var offsetY = -getMapStartY(); debugStrings.push("Location: " + Math.floor(getPlayer()[0].x + offsetX) + ", " + Math.floor(getPlayer()[0].y + offsetY)); } var offsetValue = 20; var text = new va(18, (getDarkBool() ? '#F2FBFF' : '#111111')); for (var i = 0; i < debugStrings.length; i++) { text.C(debugStrings[i]); var textRender = text.L(); d.drawImage(textRender, 20, offsetValue); offsetValue += textRender.height; } if (message.length > 0) { var mRender = []; var mWidth = 0; var mHeight = 0; for (var i = 0; i < message.length; i++) { var mText = new va(28, '#FF0000', true, '#000000'); mText.C(message[i]); mRender.push(mText.L()); if (mRender[i].width > mWidth) { mWidth = mRender[i].width; } mHeight += mRender[i].height; } var mX = getWidth() / 2 - mWidth / 2; var mY = 20; d.globalAlpha = 0.4; d.fillStyle = '#000000'; d.fillRect(mX - 10, mY - 10, mWidth + 20, mHeight + 20); d.globalAlpha = 1; var mOffset = mY; for (var i = 0; i < mRender.length; i++) { d.drawImage(mRender[i], getWidth() / 2 - mRender[i].width / 2, mOffset); mOffset += mRender[i].height; } } d.restore(); } function Ab() { f.fillStyle = ta ? "#111111" : "#F2FBFF"; f.fillRect(0, 0, m, r); f.save(); f.strokeStyle = ta ? "#AAAAAA" : "#000000"; f.globalAlpha = .2 * h; for (var a = m / h, b = r / h, c = (a / 2 - s) % 50; c < a; c += 50) f.beginPath(), f.moveTo(c * h - .5, 0), f.lineTo(c * h - .5, b * h), f.stroke(); for (c = (b / 2 - t) % 50; c < b; c += 50) f.beginPath(), f.moveTo(0, c * h - .5), f.lineTo(a * h, c * h - .5), f.stroke(); f.restore() } function Cb() { if (Qa && Ja.width) { var a = m / 5; f.drawImage(Ja, 5, 5, a, a) } } function Bb() { for (var a = 0, b = 0; b < k.length; b++) a += k[b].q * k[b].q; return a } function ab() { z = null; if (null != A || 0 != F.length) if (null != A || wa) { z = document.createElement("canvas"); var a = z.getContext("2d"), b = 60, b = null == A ? b + 24 * F.length : b + 180, c = Math.min(200, .3 * m) / 200; z.width = 200 * c; z.height = b * c; a.scale(c, c); a.globalAlpha = .4; a.fillStyle = "#000000"; a.fillRect(0, 0, 200, b); a.globalAlpha = 1; a.fillStyle = "#FFFFFF"; c = null; c = Z("leaderboard"); a.font = "30px Ubuntu"; a.fillText(c, 100 - a.measureText(c).width / 2, 40); if (null == A) for (a.font = "20px Ubuntu", b = 0; b < F.length; ++b) c = F[b].name || Z("unnamed_cell"), wa || (c = Z("unnamed_cell")), -1 != M.indexOf(F[b].id) ? (k[0].name && (c = k[0].name), a.fillStyle = "#FFAAAA") : a.fillStyle = "#FFFFFF", c = b + 1 + ". " + c, a.fillText(c, 100 - a.measureText(c).width / 2, 70 + 24 * b); else for (b = c = 0; b < A.length; ++b) { var d = c + A[b] * Math.PI * 2; a.fillStyle = Db[b + 1]; a.beginPath(); a.moveTo(100, 140); a.arc(100, 140, 80, c, d, !1); a.fill(); c = d } } } function Ka(a, b, c, d, e) { this.V = a; this.x = b; this.y = c; this.i = d; this.b = e } function da(a, b, c, d, e, p) { this.id = a; this.s = this.x = b; this.t = this.y = c; this.r = this.size = d; this.color = e; this.a = []; this.W(); this.B(p) } function va(a, b, c, d) { a && (this.u = a); b && (this.S = b); this.U = !!c; d && (this.v = d) } function S(a, b) { var c = "1" == e("#helloContainer").attr("data-has-account-data"); e("#helloContainer").attr("data-has-account-data", "1"); if (null == b && d.localStorage.loginCache) { var l = JSON.parse(d.localStorage.loginCache); l.f = a.f; l.d = a.d; l.e = a.e; d.localStorage.loginCache = JSON.stringify(l) } if (c) { var u = +e(".agario-exp-bar .progress-bar-text").first().text().split("/")[0], c = +e(".agario-exp-bar .progress-bar-text").first().text().split("/")[1].split(" ")[0], l = e(".agario-profile-panel .progress-bar-star").first().text(); if (l != a.e) S({ f: c, d: c, e: l }, function() { e(".agario-profile-panel .progress-bar-star").text(a.e); e(".agario-exp-bar .progress-bar").css("width", "100%"); e(".progress-bar-star").addClass("animated tada").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() { e(".progress-bar-star").removeClass("animated tada") }); setTimeout(function() { e(".agario-exp-bar .progress-bar-text").text(a.d + "/" + a.d + " XP"); S({ f: 0, d: a.d, e: a.e }, function() { S(a, b) }) }, 1E3) }); else { var p = Date.now(), g = function() { var c; c = (Date.now() - p) / 1E3; c = 0 > c ? 0 : 1 < c ? 1 : c; c = c * c * (3 - 2 * c); e(".agario-exp-bar .progress-bar-text").text(~~(u + (a.f - u) * c) + "/" + a.d + " XP"); e(".agario-exp-bar .progress-bar").css("width", (88 * (u + (a.f - u) * c) / a.d).toFixed(2) + "%"); 1 > c ? d.requestAnimationFrame(g) : b && b() }; d.requestAnimationFrame(g) } } else e(".agario-profile-panel .progress-bar-star").text(a.e), e(".agario-exp-bar .progress-bar-text").text(a.f + "/" + a.d + " XP"), e(".agario-exp-bar .progress-bar").css("width", (88 * a.f / a.d).toFixed(2) + "%"), b && b() } function jb(a) { "string" == typeof a && (a = JSON.parse(a)); Date.now() + 18E5 > a.ja ? e("#helloContainer").attr("data-logged-in", "0") : (d.localStorage.loginCache = JSON.stringify(a), B = a.fa, e(".agario-profile-name").text(a.name), $a(), S({ f: a.f, d: a.d, e: a.e }), e("#helloContainer").attr("data-logged-in", "1")) } function Eb(a) { a = a.split("\n"); jb({ name: a[0], ta: a[1], fa: a[2], ja: 1E3 * +a[3], e: +a[4], f: +a[5], d: +a[6] }) } function La(a) { if ("connected" == a.status) { var b = a.authResponse.accessToken; d.FB.api("/me/picture?width=180&height=180", function(a) { d.localStorage.fbPictureCache = a.data.url; e(".agario-profile-picture").attr("src", a.data.url) }); e("#helloContainer").attr("data-logged-in", "1"); null != B ? e.ajax("https://m.agar.io/checkToken", { error: function() { B = null; La(a) }, success: function(a) { a = a.split("\n"); S({ e: +a[0], f: +a[1], d: +a[2] }) }, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: B }) : e.ajax("https://m.agar.io/facebookLogin", { error: function() { B = null; e("#helloContainer").attr("data-logged-in", "0") }, success: Eb, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: b }) } } function Wa(a) { Y(":party"); e("#helloContainer").attr("data-party-state", "4"); a = decodeURIComponent(a).replace(/.*#/gim, ""); Ma("#" + d.encodeURIComponent(a)); e.ajax(Na + "//m.agar.io/getToken", { error: function() { e("#helloContainer").attr("data-party-state", "6") }, success: function(b) { b = b.split("\n"); e(".partyToken").val("agar.io/#" + d.encodeURIComponent(a)); e("#helloContainer").attr("data-party-state", "5"); Y(":party"); Ca("ws://" + b[0], a) }, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: a }) } function Ma(a) { d.history && d.history.replaceState && d.history.replaceState({}, d.document.title, a) } if (!d.agarioNoInit) { var Na = d.location.protocol, tb = "https:" == Na, xa = d.navigator.userAgent; if (-1 != xa.indexOf("Android")) d.ga && d.ga("send", "event", "MobileRedirect", "PlayStore"), setTimeout(function() { d.location.href = "market://details?id=com.miniclip.agar.io" }, 1E3); else if (-1 != xa.indexOf("iPhone") || -1 != xa.indexOf("iPad") || -1 != xa.indexOf("iPod")) d.ga && d.ga("send", "event", "MobileRedirect", "AppStore"), setTimeout(function() { d.location.href = "https://itunes.apple.com/app/agar.io/id995999703" }, 1E3); else { var za, f, G, m, r, X = null, //UPDATE toggle = false, toggleDraw = false, toggleFollow = false, tempPoint = [0, 0, 1], dPoints = [], circles = [], dArc = [], dText = [], lines = [], names = ["-|0_0|-"], originalName = names[Math.floor(Math.random() * names.length)], sessionScore = 0, serverIP = "", interNodes = [], lifeTimer = new Date(), bestTime = 0, botIndex = 0, reviving = false, message = [], selectedCell = 0, q = null, s = 0, t = 0, M = [], k = [], E = {}, v = [], Q = [], F = [], fa = 0, ga = 0, //UPDATE ia = [-1], ja = [-1], zb = 0, C = 0, ib = 0, K = null, pa = 0, qa = 0, ra = 1E4, sa = 1E4, h = 1, y = null, kb = !0, wa = !0, Oa = !1, Ha = !1, R = 0, ta = !1, lb = !1, aa = s = ~~((pa + ra) / 2), ba = t = ~~((qa + sa) / 2), ca = 1, P = "", A = null, ya = !1, Ga = !1, Ea = 0, Fa = 0, na = 0, oa = 0, mb = 0, Db = ["#333333", "#FF3333", "#33FF33", "#3333FF"], Ia = !1, $ = !1, bb = 0, B = null, J = 1, x = 1, W = !0, Ba = 0, Da = {}; (function() { var a = d.location.search; "?" == a.charAt(0) && (a = a.slice(1)); for (var a = a.split("&"), b = 0; b < a.length; b++) { var c = a[b].split("="); Da[c[0]] = c[1] } })(); var Qa = "ontouchstart" in d && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(d.navigator.userAgent), Ja = new Image; Ja.src = "img/split.png"; var nb = document.createElement("canvas"); if ("undefined" == typeof console || "undefined" == typeof DataView || "undefined" == typeof WebSocket || null == nb || null == nb.getContext || null == d.localStorage) alert("You browser does not support this game, we recommend you to use Firefox to play this"); else { var ka = null; d.setNick = function(a) { //UPDATE originalName = a; if (getPlayer().length == 0) { lifeTimer = new Date(); } Xa(); K = a; cb(); R = 0 }; d.setRegion = ha; d.setSkins = function(a) { kb = a }; d.setNames = function(a) { wa = a }; d.setDarkTheme = function(a) { ta = a }; d.setColors = function(a) { Oa = a }; d.setShowMass = function(a) { lb = a }; d.spectate = function() { K = null; H(1); Xa() }; d.setGameMode = function(a) { a != P && (":party" == P && e("#helloContainer").attr("data-party-state", "0"), Y(a), ":party" != a && I()) }; d.setAcid = function(a) { Ia = a }; null != d.localStorage && (null == d.localStorage.AB9 && (d.localStorage.AB9 = 0 + ~~(100 * Math.random())), mb = +d.localStorage.AB9, d.ABGroup = mb); e.get(Na + "//gc.agar.io", function(a) { var b = a.split(" "); a = b[0]; b = b[1] || ""; - 1 == ["UA"].indexOf(a) && ob.push("ussr"); ea.hasOwnProperty(a) && ("string" == typeof ea[a] ? y || ha(ea[a]) : ea[a].hasOwnProperty(b) && (y || ha(ea[a][b]))) }, "text"); d.ga && d.ga("send", "event", "User-Agent", d.navigator.userAgent, { nonInteraction: 1 }); var la = !1, Ya = 0; setTimeout(function() { la = !0 }, Math.max(6E4 * Ya, 1E4)); var ea = { AF: "JP-Tokyo", AX: "EU-London", AL: "EU-London", DZ: "EU-London", AS: "SG-Singapore", AD: "EU-London", AO: "EU-London", AI: "US-Atlanta", AG: "US-Atlanta", AR: "BR-Brazil", AM: "JP-Tokyo", AW: "US-Atlanta", AU: "SG-Singapore", AT: "EU-London", AZ: "JP-Tokyo", BS: "US-Atlanta", BH: "JP-Tokyo", BD: "JP-Tokyo", BB: "US-Atlanta", BY: "EU-London", BE: "EU-London", BZ: "US-Atlanta", BJ: "EU-London", BM: "US-Atlanta", BT: "JP-Tokyo", BO: "BR-Brazil", BQ: "US-Atlanta", BA: "EU-London", BW: "EU-London", BR: "BR-Brazil", IO: "JP-Tokyo", VG: "US-Atlanta", BN: "JP-Tokyo", BG: "EU-London", BF: "EU-London", BI: "EU-London", KH: "JP-Tokyo", CM: "EU-London", CA: "US-Atlanta", CV: "EU-London", KY: "US-Atlanta", CF: "EU-London", TD: "EU-London", CL: "BR-Brazil", CN: "CN-China", CX: "JP-Tokyo", CC: "JP-Tokyo", CO: "BR-Brazil", KM: "EU-London", CD: "EU-London", CG: "EU-London", CK: "SG-Singapore", CR: "US-Atlanta", CI: "EU-London", HR: "EU-London", CU: "US-Atlanta", CW: "US-Atlanta", CY: "JP-Tokyo", CZ: "EU-London", DK: "EU-London", DJ: "EU-London", DM: "US-Atlanta", DO: "US-Atlanta", EC: "BR-Brazil", EG: "EU-London", SV: "US-Atlanta", GQ: "EU-London", ER: "EU-London", EE: "EU-London", ET: "EU-London", FO: "EU-London", FK: "BR-Brazil", FJ: "SG-Singapore", FI: "EU-London", FR: "EU-London", GF: "BR-Brazil", PF: "SG-Singapore", GA: "EU-London", GM: "EU-London", GE: "JP-Tokyo", DE: "EU-London", GH: "EU-London", GI: "EU-London", GR: "EU-London", GL: "US-Atlanta", GD: "US-Atlanta", GP: "US-Atlanta", GU: "SG-Singapore", GT: "US-Atlanta", GG: "EU-London", GN: "EU-London", GW: "EU-London", GY: "BR-Brazil", HT: "US-Atlanta", VA: "EU-London", HN: "US-Atlanta", HK: "JP-Tokyo", HU: "EU-London", IS: "EU-London", IN: "JP-Tokyo", ID: "JP-Tokyo", IR: "JP-Tokyo", IQ: "JP-Tokyo", IE: "EU-London", IM: "EU-London", IL: "JP-Tokyo", IT: "EU-London", JM: "US-Atlanta", JP: "JP-Tokyo", JE: "EU-London", JO: "JP-Tokyo", KZ: "JP-Tokyo", KE: "EU-London", KI: "SG-Singapore", KP: "JP-Tokyo", KR: "JP-Tokyo", KW: "JP-Tokyo", KG: "JP-Tokyo", LA: "JP-Tokyo", LV: "EU-London", LB: "JP-Tokyo", LS: "EU-London", LR: "EU-London", LY: "EU-London", LI: "EU-London", LT: "EU-London", LU: "EU-London", MO: "JP-Tokyo", MK: "EU-London", MG: "EU-London", MW: "EU-London", MY: "JP-Tokyo", MV: "JP-Tokyo", ML: "EU-London", MT: "EU-London", MH: "SG-Singapore", MQ: "US-Atlanta", MR: "EU-London", MU: "EU-London", YT: "EU-London", MX: "US-Atlanta", FM: "SG-Singapore", MD: "EU-London", MC: "EU-London", MN: "JP-Tokyo", ME: "EU-London", MS: "US-Atlanta", MA: "EU-London", MZ: "EU-London", MM: "JP-Tokyo", NA: "EU-London", NR: "SG-Singapore", NP: "JP-Tokyo", NL: "EU-London", NC: "SG-Singapore", NZ: "SG-Singapore", NI: "US-Atlanta", NE: "EU-London", NG: "EU-London", NU: "SG-Singapore", NF: "SG-Singapore", MP: "SG-Singapore", NO: "EU-London", OM: "JP-Tokyo", PK: "JP-Tokyo", PW: "SG-Singapore", PS: "JP-Tokyo", PA: "US-Atlanta", PG: "SG-Singapore", PY: "BR-Brazil", PE: "BR-Brazil", PH: "JP-Tokyo", PN: "SG-Singapore", PL: "EU-London", PT: "EU-London", PR: "US-Atlanta", QA: "JP-Tokyo", RE: "EU-London", RO: "EU-London", RU: "RU-Russia", RW: "EU-London", BL: "US-Atlanta", SH: "EU-London", KN: "US-Atlanta", LC: "US-Atlanta", MF: "US-Atlanta", PM: "US-Atlanta", VC: "US-Atlanta", WS: "SG-Singapore", SM: "EU-London", ST: "EU-London", SA: "EU-London", SN: "EU-London", RS: "EU-London", SC: "EU-London", SL: "EU-London", SG: "JP-Tokyo", SX: "US-Atlanta", SK: "EU-London", SI: "EU-London", SB: "SG-Singapore", SO: "EU-London", ZA: "EU-London", SS: "EU-London", ES: "EU-London", LK: "JP-Tokyo", SD: "EU-London", SR: "BR-Brazil", SJ: "EU-London", SZ: "EU-London", SE: "EU-London", CH: "EU-London", SY: "EU-London", TW: "JP-Tokyo", TJ: "JP-Tokyo", TZ: "EU-London", TH: "JP-Tokyo", TL: "JP-Tokyo", TG: "EU-London", TK: "SG-Singapore", TO: "SG-Singapore", TT: "US-Atlanta", TN: "EU-London", TR: "TK-Turkey", TM: "JP-Tokyo", TC: "US-Atlanta", TV: "SG-Singapore", UG: "EU-London", UA: "EU-London", AE: "EU-London", GB: "EU-London", US: "US-Atlanta", UM: "SG-Singapore", VI: "US-Atlanta", UY: "BR-Brazil", UZ: "JP-Tokyo", VU: "SG-Singapore", VE: "BR-Brazil", VN: "JP-Tokyo", WF: "SG-Singapore", EH: "EU-London", YE: "JP-Tokyo", ZM: "EU-London", ZW: "EU-London" }, L = null; d.connect = Ca; //UPDATE window.getDarkBool = function() { return ta; } window.getMassBool = function() { return lb; } window.getMemoryCells = function() { return interNodes; } window.getCellsArray = function() { return v; } window.getCells = function() { return E; } window.getPlayer = function() { return k; } window.getWidth = function() { return m; } window.getHeight = function() { return r; } window.getRatio = function() { return h; } window.getOffsetX = function() { return aa; } window.getOffsetY = function() { return ba; } window.getX = function() { return s; } window.getY = function() { return t; } window.getPointX = function() { return ia[0]; } window.getPointY = function() { return ja[0]; } window.getMouseX = function() { return fa; } window.getMouseY = function() { return ga; } window.getMapStartX = function() { return pa; } window.getMapStartY = function() { return qa; } window.getMapEndX = function() { return ra; } window.getMapEndY = function() { return sa; } window.getScreenDistance = function() { var temp = screenDistance(); return temp; } window.getLastUpdate = function() { return C; } window.getCurrentScore = function() { return R; } window.getMode = function() { return P; } window.setPoint = function(x, y, index) { while (ia.length > getPlayer().length) { ia.pop(); ja.pop(); } if (index < ia.length) { ia[index] = x; ja[index] = y; } else { while (index < ia.length - 1) { ia.push(-1); ja.push(-1); } ia.push(x); ja.push(y); } } window.setScore = function(a) { sessionScore = a * 100; } window.setBestTime = function(a) { bestTime = a; } window.best = function(a, b) { setScore(a); setBestTime(b); } window.setBotIndex = function(a) { console.log("Changing bot"); botIndex = a; } window.setMessage = function(a) { message = a; } var ma = 500, eb = -1, fb = -1, z = null, D = 1, ua = null, Ua = function() { var a = Date.now(), b = 1E3 / 60; return function() { d.requestAnimationFrame(Ua); var c = Date.now(), l = c - a; l > b && (a = c - l % b, !T() || 240 > Date.now() - bb ? gb() : console.warn("Skipping draw"), Fb()) } }(), U = {}, ob = "poland;usa;china;russia;canada;australia;spain;brazil;germany;ukraine;france;sweden;chaplin;north korea;south korea;japan;united kingdom;earth;greece;latvia;lithuania;estonia;finland;norway;cia;maldivas;austria;nigeria;reddit;yaranaika;confederate;9gag;indiana;4chan;italy;bulgaria;tumblr;2ch.hk;hong kong;portugal;jamaica;german empire;mexico;sanik;switzerland;croatia;chile;indonesia;bangladesh;thailand;iran;iraq;peru;moon;botswana;bosnia;netherlands;european union;taiwan;pakistan;hungary;satanist;qing dynasty;matriarchy;patriarchy;feminism;ireland;texas;facepunch;prodota;cambodia;steam;piccolo;ea;india;kc;denmark;quebec;ayy lmao;sealand;bait;tsarist russia;origin;vinesauce;stalin;belgium;luxembourg;stussy;prussia;8ch;argentina;scotland;sir;romania;belarus;wojak;doge;nasa;byzantium;imperial japan;french kingdom;somalia;turkey;mars;pokerface;8;irs;receita federal;facebook".split(";"), Gb = ["8", "nasa"], Hb = ["m'blob"]; Ka.prototype = { V: null, x: 0, y: 0, i: 0, b: 0 }; da.prototype = { id: 0, a: null, name: null, o: null, O: null, x: 0, y: 0, size: 0, s: 0, t: 0, r: 0, J: 0, K: 0, q: 0, ba: 0, Q: 0, sa: 0, ia: 0,
DickDumBR1 / AimSkip to content Sign up Sign in This repository Search Explore Features Enterprise Pricing Watch 137 Star 490 Fork 1,535 Apostolique/Agar.io-bot Branch: master Agar.io-bot/launcher.user.js @ApostoliqueApostolique 10 days ago Easier to see the borders 7 contributors @Apostolique @DarkN3ss61 @Linkaan @Timtech @henopied @Gjum @lilezek RawBlameHistory 2456 lines (2277 sloc) 93.893 kB /*The MIT License (MIT) Copyright (c) 2015 Apostolique Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // ==UserScript== // @name AposLauncher // @namespace AposLauncher // @include http://agar.io/* // @version 4.123 // @grant none // @author http://www.twitch.tv/apostolique // ==/UserScript== var aposLauncherVersion = 4.123; Number.prototype.mod = function(n) { return ((this % n) + n) % n; }; Array.prototype.peek = function() { return this[this.length - 1]; }; var sha = "efde0488cc2cc176db48dd23b28a20b90314352b"; function getLatestCommit() { window.jQuery.ajax({ url: "https://api.github.com/repos/apostolique/Agar.io-bot/git/refs/heads/master", cache: false, dataType: "jsonp" }).done(function(data) { console.dir(data.data); console.log("hmm: " + data.data.object.sha); sha = data.data.object.sha; function update(prefix, name, url) { window.jQuery(document.body).prepend("<div id='" + prefix + "Dialog' style='position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; z-index: 100; display: none;'>"); window.jQuery('#' + prefix + 'Dialog').append("<div id='" + prefix + "Message' style='width: 350px; background-color: #FFFFFF; margin: 100px auto; border-radius: 15px; padding: 5px 15px 5px 15px;'>"); window.jQuery('#' + prefix + 'Message').append("<h2>UPDATE TIME!!!</h2>"); window.jQuery('#' + prefix + 'Message').append("<p>Grab the update for: <a id='" + prefix + "Link' href='" + url + "' target=\"_blank\">" + name + "</a></p>"); window.jQuery('#' + prefix + 'Link').on('click', function() { window.jQuery("#" + prefix + "Dialog").hide(); window.jQuery("#" + prefix + "Dialog").remove(); }); window.jQuery("#" + prefix + "Dialog").show(); } window.jQuery.get('https://raw.githubusercontent.com/Apostolique/Agar.io-bot/master/launcher.user.js?' + Math.floor((Math.random() * 1000000) + 1), function(data) { var latestVersion = data.replace(/(\r\n|\n|\r)/gm, ""); latestVersion = latestVersion.substring(latestVersion.indexOf("// @version") + 11, latestVersion.indexOf("// @grant")); latestVersion = parseFloat(latestVersion + 0.0000); var myVersion = parseFloat(aposLauncherVersion + 0.0000); if (latestVersion > myVersion) { update("aposLauncher", "launcher.user.js", "https://github.com/Apostolique/Agar.io-bot/blob/" + sha + "/launcher.user.js/"); } console.log('Current launcher.user.js Version: ' + myVersion + " on Github: " + latestVersion); }); }).fail(function() {}); } getLatestCommit(); console.log("Running Bot Launcher!"); (function(d, e) { //UPDATE function keyAction(e) { if (84 == e.keyCode) { console.log("Toggle"); toggle = !toggle; } if (82 == e.keyCode) { console.log("ToggleDraw"); toggleDraw = !toggleDraw; } if (68 == e.keyCode) { window.setDarkTheme(!getDarkBool()); } if (70 == e.keyCode) { window.setShowMass(!getMassBool()); } if (69 == e.keyCode) { if (message.length > 0) { window.setMessage([]); window.onmouseup = function() {}; window.ignoreStream = true; } else { window.ignoreStream = false; window.refreshTwitch(); } } window.botList[botIndex].keyAction(e); } function humanPlayer() { //Don't need to do anything. return [getPointX(), getPointY()]; } function pb() { //UPDATE window.botList = window.botList || []; window.jQuery('#nick').val(originalName); function HumanPlayerObject() { this.name = "Human"; this.keyAction = function(key) {}; this.displayText = function() {return [];}; this.mainLoop = humanPlayer; } var hpo = new HumanPlayerObject(); window.botList.push(hpo); window.updateBotList(); ya = !0; Pa(); setInterval(Pa, 18E4); var father = window.jQuery("#canvas").parent(); window.jQuery("#canvas").remove(); father.prepend("<canvas id='canvas'>"); G = za = document.getElementById("canvas"); f = G.getContext("2d"); G.onmousedown = function(a) { if (Qa) { var b = a.clientX - (5 + m / 5 / 2), c = a.clientY - (5 + m / 5 / 2); if (Math.sqrt(b * b + c * c) <= m / 5 / 2) { V(); H(17); return } } fa = a.clientX; ga = a.clientY; Aa(); V(); }; G.onmousemove = function(a) { fa = a.clientX; ga = a.clientY; Aa(); }; G.onmouseup = function() {}; /firefox/i.test(navigator.userAgent) ? document.addEventListener("DOMMouseScroll", Ra, !1) : document.body.onmousewheel = Ra; var a = !1, b = !1, c = !1; d.onkeydown = function(l) { //UPDATE if (!window.jQuery('#nick').is(":focus")) { 32 != l.keyCode || a || (V(), H(17), a = !0); 81 != l.keyCode || b || (H(18), b = !0); 87 != l.keyCode || c || (V(), H(21), c = !0); 27 == l.keyCode && Sa(!0); //UPDATE keyAction(l); } }; d.onkeyup = function(l) { 32 == l.keyCode && (a = !1); 87 == l.keyCode && (c = !1); 81 == l.keyCode && b && (H(19), b = !1); }; d.onblur = function() { H(19); c = b = a = !1 }; d.onresize = Ta; d.requestAnimationFrame(Ua); setInterval(V, 40); y && e("#region").val(y); Va(); ha(e("#region").val()); 0 == Ba && y && I(); W = !0; e("#overlays").show(); Ta(); d.location.hash && 6 <= d.location.hash.length && Wa(d.location.hash) } function Ra(a) { J *= Math.pow(.9, a.wheelDelta / -120 || a.detail || 0); //UPDATE 0.07 > J && (J = 0.07); J > 4 / h && (J = 4 / h) } function qb() { if (.4 > h) X = null; else { for (var a = Number.POSITIVE_INFINITY, b = Number.POSITIVE_INFINITY, c = Number.NEGATIVE_INFINITY, l = Number.NEGATIVE_INFINITY, d = 0, p = 0; p < v.length; p++) { var g = v[p]; !g.N() || g.R || 20 >= g.size * h || (d = Math.max(g.size, d), a = Math.min(g.x, a), b = Math.min(g.y, b), c = Math.max(g.x, c), l = Math.max(g.y, l)) } X = rb.ka({ ca: a - 10, da: b - 10, oa: c + 10, pa: l + 10, ma: 2, na: 4 }); for (p = 0; p < v.length; p++) if (g = v[p], g.N() && !(20 >= g.size * h)) for (a = 0; a < g.a.length; ++a) b = g.a[a].x, c = g.a[a].y, b < s - m / 2 / h || c < t - r / 2 / h || b > s + m / 2 / h || c > t + r / 2 / h || X.m(g.a[a]) } } function Aa() { //UPDATE if (toggle || window.botList[botIndex].name == "Human") { setPoint(((fa - m / 2) / h + s), ((ga - r / 2) / h + t)); } } function Pa() { null == ka && (ka = {}, e("#region").children().each(function() { var a = e(this), b = a.val(); b && (ka[b] = a.text()) })); e.get("https://m.agar.io/info", function(a) { var b = {}, c; for (c in a.regions) { var l = c.split(":")[0]; b[l] = b[l] || 0; b[l] += a.regions[c].numPlayers } for (c in b) e('#region option[value="' + c + '"]').text(ka[c] + " (" + b[c] + " players)") }, "json") } function Xa() { e("#adsBottom").hide(); e("#overlays").hide(); W = !1; Va(); d.googletag && d.googletag.pubads && d.googletag.pubads().clear(d.aa) } function ha(a) { a && a != y && (e("#region").val() != a && e("#region").val(a), y = d.localStorage.location = a, e(".region-message").hide(), e(".region-message." + a).show(), e(".btn-needs-server").prop("disabled", !1), ya && I()) } function Sa(a) { W || (K = null, sb(), a && (x = 1), W = !0, e("#overlays").fadeIn(a ? 200 : 3E3)) } function Y(a) { e("#helloContainer").attr("data-gamemode", a); P = a; e("#gamemode").val(a) } function Va() { e("#region").val() ? d.localStorage.location = e("#region").val() : d.localStorage.location && e("#region").val(d.localStorage.location); e("#region").val() ? e("#locationKnown").append(e("#region")) : e("#locationUnknown").append(e("#region")) } function sb() { la && (la = !1, setTimeout(function() { la = !0 //UPDATE }, 6E4 * Ya)) } function Z(a) { return d.i18n[a] || d.i18n_dict.en[a] || a } function Za() { var a = ++Ba; console.log("Find " + y + P); e.ajax("https://m.agar.io/findServer", { error: function() { setTimeout(Za, 1E3) }, success: function(b) { a == Ba && (b.alert && alert(b.alert), Ca("ws://" + b.ip, b.token)) }, dataType: "json", method: "POST", cache: !1, crossDomain: !0, data: (y + P || "?") + "\n154669603" }) } function I() { ya && y && (e("#connecting").show(), Za()) } function Ca(a, b) { if (q) { q.onopen = null; q.onmessage = null; q.onclose = null; try { q.close() } catch (c) {} q = null } Da.la && (a = "ws://" + Da.la); if (null != L) { var l = L; L = function() { l(b) } } if (tb) { var d = a.split(":"); a = d[0] + "s://ip-" + d[1].replace(/\./g, "-").replace(/\//g, "") + ".tech.agar.io:" + (+d[2] + 2E3) } M = []; k = []; E = {}; v = []; Q = []; F = []; z = A = null; R = 0; $ = !1; console.log("Connecting to " + a); //UPDATE serverIP = a; q = new WebSocket(a); q.binaryType = "arraybuffer"; q.onopen = function() { var a; console.log("socket open"); a = N(5); a.setUint8(0, 254); a.setUint32(1, 5, !0); O(a); a = N(5); a.setUint8(0, 255); a.setUint32(1, 154669603, !0); O(a); a = N(1 + b.length); a.setUint8(0, 80); for (var c = 0; c < b.length; ++c) a.setUint8(c + 1, b.charCodeAt(c)); O(a); $a() }; q.onmessage = ub; q.onclose = vb; q.onerror = function() { console.log("socket error") } } function N(a) { return new DataView(new ArrayBuffer(a)) } function O(a) { q.send(a.buffer) } function vb() { $ && (ma = 500); console.log("socket close"); setTimeout(I, ma); ma *= 2 } function ub(a) { wb(new DataView(a.data)) } function wb(a) { function b() { for (var b = "";;) { var d = a.getUint16(c, !0); c += 2; if (0 == d) break; b += String.fromCharCode(d) } return b } var c = 0; 240 == a.getUint8(c) && (c += 5); switch (a.getUint8(c++)) { case 16: xb(a, c); break; case 17: aa = a.getFloat32(c, !0); c += 4; ba = a.getFloat32(c, !0); c += 4; ca = a.getFloat32(c, !0); c += 4; break; case 20: k = []; M = []; break; case 21: Ea = a.getInt16(c, !0); c += 2; Fa = a.getInt16(c, !0); c += 2; Ga || (Ga = !0, na = Ea, oa = Fa); break; case 32: M.push(a.getUint32(c, !0)); c += 4; break; case 49: if (null != A) break; var l = a.getUint32(c, !0), c = c + 4; F = []; for (var d = 0; d < l; ++d) { var p = a.getUint32(c, !0), c = c + 4; F.push({ id: p, name: b() }) } ab(); break; case 50: A = []; l = a.getUint32(c, !0); c += 4; for (d = 0; d < l; ++d) A.push(a.getFloat32(c, !0)), c += 4; ab(); break; case 64: pa = a.getFloat64(c, !0); c += 8; qa = a.getFloat64(c, !0); c += 8; ra = a.getFloat64(c, !0); c += 8; sa = a.getFloat64(c, !0); c += 8; aa = (ra + pa) / 2; ba = (sa + qa) / 2; ca = 1; 0 == k.length && (s = aa, t = ba, h = ca); break; case 81: var g = a.getUint32(c, !0), c = c + 4, e = a.getUint32(c, !0), c = c + 4, f = a.getUint32(c, !0), c = c + 4; setTimeout(function() { S({ e: g, f: e, d: f }) }, 1200) } } function xb(a, b) { bb = C = Date.now(); $ || ($ = !0, e("#connecting").hide(), cb(), L && (L(), L = null)); var c = Math.random(); Ha = !1; var d = a.getUint16(b, !0); b += 2; for (var u = 0; u < d; ++u) { var p = E[a.getUint32(b, !0)], g = E[a.getUint32(b + 4, !0)]; b += 8; p && g && (g.X(), g.s = g.x, g.t = g.y, g.r = g.size, g.J = p.x, g.K = p.y, g.q = g.size, g.Q = C) } for (u = 0;;) { d = a.getUint32(b, !0); b += 4; if (0 == d) break; ++u; var f, p = a.getInt16(b, !0); b += 4; g = a.getInt16(b, !0); b += 4; f = a.getInt16(b, !0); b += 2; for (var h = a.getUint8(b++), w = a.getUint8(b++), m = a.getUint8(b++), h = (h << 16 | w << 8 | m).toString(16); 6 > h.length;) h = "0" + h; var h = "#" + h, w = a.getUint8(b++), m = !!(w & 1), r = !!(w & 16); w & 2 && (b += 4); w & 4 && (b += 8); w & 8 && (b += 16); for (var q, n = "";;) { q = a.getUint16(b, !0); b += 2; if (0 == q) break; n += String.fromCharCode(q) } q = n; n = null; E.hasOwnProperty(d) ? (n = E[d], n.P(), n.s = n.x, n.t = n.y, n.r = n.size, n.color = h) : (n = new da(d, p, g, f, h, q), v.push(n), E[d] = n, n.ua = p, n.va = g); n.h = m; n.n = r; n.J = p; n.K = g; n.q = f; n.sa = c; n.Q = C; n.ba = w; q && n.B(q); - 1 != M.indexOf(d) && -1 == k.indexOf(n) && (document.getElementById("overlays").style.display = "none", k.push(n), n.birth = getLastUpdate(), n.birthMass = (n.size * n.size / 100), 1 == k.length && (s = n.x, t = n.y, db())) //UPDATE interNodes[d] = window.getCells()[d]; } //UPDATE Object.keys(interNodes).forEach(function(element, index) { //console.log("start: " + interNodes[element].updateTime + " current: " + D + " life: " + (D - interNodes[element].updateTime)); var isRemoved = !window.getCells().hasOwnProperty(element); //console.log("Time not updated: " + (window.getLastUpdate() - interNodes[element].getUptimeTime())); if (isRemoved && (window.getLastUpdate() - interNodes[element].getUptimeTime()) > 3000) { delete interNodes[element]; } else { for (var i = 0; i < getPlayer().length; i++) { if (isRemoved && computeDistance(getPlayer()[i].x, getPlayer()[i].y, interNodes[element].x, interNodes[element].y) < getPlayer()[i].size + 710) { delete interNodes[element]; break; } } } }); c = a.getUint32(b, !0); b += 4; for (u = 0; u < c; u++) d = a.getUint32(b, !0), b += 4, n = E[d], null != n && n.X(); //UPDATE //Ha && 0 == k.length && Sa(!1) } //UPDATE function computeDistance(x1, y1, x2, y2) { var xdis = x1 - x2; // <--- FAKE AmS OF COURSE! var ydis = y1 - y2; var distance = Math.sqrt(xdis * xdis + ydis * ydis); return distance; } /** * Some horse shit of some sort. * @return Horse Shit */ function screenDistance() { return Math.min(computeDistance(getOffsetX(), getOffsetY(), screenToGameX(getWidth()), getOffsetY()), computeDistance(getOffsetX(), getOffsetY(), getOffsetX(), screenToGameY(getHeight()))); } window.verticalDistance = function() { return computeDistance(screenToGameX(0), screenToGameY(0), screenToGameX(getWidth()), screenToGameY(getHeight())); } /** * A conversion from the screen's horizontal coordinate system * to the game's horizontal coordinate system. * @param x in the screen's coordinate system * @return x in the game's coordinate system */ window.screenToGameX = function(x) { return (x - getWidth() / 2) / getRatio() + getX(); } /** * A conversion from the screen's vertical coordinate system * to the game's vertical coordinate system. * @param y in the screen's coordinate system * @return y in the game's coordinate system */ window.screenToGameY = function(y) { return (y - getHeight() / 2) / getRatio() + getY(); } window.drawPoint = function(x_1, y_1, drawColor, text) { if (!toggleDraw) { dPoints.push([x_1, y_1, drawColor]); dText.push(text); } } window.drawArc = function(x_1, y_1, x_2, y_2, x_3, y_3, drawColor) { if (!toggleDraw) { var radius = computeDistance(x_1, y_1, x_3, y_3); dArc.push([x_1, y_1, x_2, y_2, x_3, y_3, radius, drawColor]); } } window.drawLine = function(x_1, y_1, x_2, y_2, drawColor) { if (!toggleDraw) { lines.push([x_1, y_1, x_2, y_2, drawColor]); } } window.drawCircle = function(x_1, y_1, radius, drawColor) { if (!toggleDraw) { circles.push([x_1, y_1, radius, drawColor]); } } function V() { //UPDATE if (getPlayer().length == 0 && !reviving && ~~(getCurrentScore() / 100) > 0) { console.log("Dead: " + ~~(getCurrentScore() / 100)); apos('send', 'pageview'); } if (getPlayer().length == 0) { console.log("Revive"); setNick(originalName); reviving = true; } else if (getPlayer().length > 0 && reviving) { reviving = false; console.log("Done Reviving!"); } if (T()) { var a = fa - m / 2; var b = ga - r / 2; 64 > a * a + b * b || .01 > Math.abs(eb - ia) && .01 > Math.abs(fb - ja) || (eb = ia, fb = ja, a = N(13), a.setUint8(0, 16), a.setInt32(1, ia, !0), a.setInt32(5, ja, !0), a.setUint32(9, 0, !0), O(a)) } } function cb() { if (T() && $ && null != K) { var a = N(1 + 2 * K.length); a.setUint8(0, 0); for (var b = 0; b < K.length; ++b) a.setUint16(1 + 2 * b, K.charCodeAt(b), !0); O(a) } } function T() { return null != q && q.readyState == q.OPEN } window.opCode = function(a) { console.log("Sending op code."); H(parseInt(a)); } function H(a) { if (T()) { var b = N(1); b.setUint8(0, a); O(b) } } function $a() { if (T() && null != B) { var a = N(1 + B.length); a.setUint8(0, 81); for (var b = 0; b < B.length; ++b) a.setUint8(b + 1, B.charCodeAt(b)); O(a) } } function Ta() { m = d.innerWidth; r = d.innerHeight; za.width = G.width = m; za.height = G.height = r; var a = e("#helloContainer"); a.css("transform", "none"); var b = a.height(), c = d.innerHeight; b > c / 1.1 ? a.css("transform", "translate(-50%, -50%) scale(" + c / b / 1.1 + ")") : a.css("transform", "translate(-50%, -50%)"); gb() } function hb() { var a; a = Math.max(r / 1080, m / 1920); return a *= J } function yb() { if (0 != k.length) { for (var a = 0, b = 0; b < k.length; b++) a += k[b].size; a = Math.pow(Math.min(64 / a, 1), .4) * hb(); h = (9 * h + a) / 10 } } function gb() { //UPDATE dPoints = []; circles = []; dArc = []; dText = []; lines = []; var a, b = Date.now(); ++zb; C = b; if (0 < k.length) { yb(); for (var c = a = 0, d = 0; d < k.length; d++) k[d].P(), a += k[d].x / k.length, c += k[d].y / k.length; aa = a; ba = c; ca = h; s = (s + a) / 2; t = (t + c) / 2; } else s = (29 * s + aa) / 30, t = (29 * t + ba) / 30, h = (9 * h + ca * hb()) / 10; qb(); Aa(); Ia || f.clearRect(0, 0, m, r); Ia ? (f.fillStyle = ta ? "#111111" : "#F2FBFF", f.globalAlpha = .05, f.fillRect(0, 0, m, r), f.globalAlpha = 1) : Ab(); v.sort(function(a, b) { return a.size == b.size ? a.id - b.id : a.size - b.size }); f.save(); f.translate(m / 2, r / 2); f.scale(h, h); f.translate(-s, -t); //UPDATE f.save(); f.beginPath(); f.lineWidth = 5; f.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); f.moveTo(getMapStartX(), getMapStartY()); f.lineTo(getMapStartX(), getMapEndY()); f.stroke(); f.moveTo(getMapStartX(), getMapStartY()); f.lineTo(getMapEndX(), getMapStartY()); f.stroke(); f.moveTo(getMapEndX(), getMapStartY()); f.lineTo(getMapEndX(), getMapEndY()); f.stroke(); f.moveTo(getMapStartX(), getMapEndY()); f.lineTo(getMapEndX(), getMapEndY()); f.stroke(); f.restore(); for (d = 0; d < v.length; d++) v[d].w(f); for (d = 0; d < Q.length; d++) Q[d].w(f); //UPDATE if (getPlayer().length > 0) { var moveLoc = window.botList[botIndex].mainLoop(); if (!toggle) { setPoint(moveLoc[0], moveLoc[1]); } } customRender(f); if (Ga) { na = (3 * na + Ea) / 4; oa = (3 * oa + Fa) / 4; f.save(); f.strokeStyle = "#FFAAAA"; f.lineWidth = 10; f.lineCap = "round"; f.lineJoin = "round"; f.globalAlpha = .5; f.beginPath(); for (d = 0; d < k.length; d++) f.moveTo(k[d].x, k[d].y), f.lineTo(na, oa); f.stroke(); f.restore(); } f.restore(); z && z.width && f.drawImage(z, m - z.width - 10, 10); R = Math.max(R, Bb()); //UPDATE var currentDate = new Date(); var nbSeconds = 0; if (getPlayer().length > 0) { //nbSeconds = currentDate.getSeconds() + currentDate.getMinutes() * 60 + currentDate.getHours() * 3600 - lifeTimer.getSeconds() - lifeTimer.getMinutes() * 60 - lifeTimer.getHours() * 3600; nbSeconds = (currentDate.getTime() - lifeTimer.getTime())/1000; } bestTime = Math.max(nbSeconds, bestTime); var displayText = 'Score: ' + ~~(R / 100) + " Current Time: " + nbSeconds + " seconds."; 0 != R && (null == ua && (ua = new va(24, "#FFFFFF")), ua.C(displayText), c = ua.L(), a = c.width, f.globalAlpha = .2, f.fillStyle = "#000000", f.fillRect(10, r - 10 - 24 - 10, a + 10, 34), f.globalAlpha = 1, f.drawImage(c, 15, r - 10 - 24 - 5)); Cb(); b = Date.now() - b; b > 1E3 / 60 ? D -= .01 : b < 1E3 / 65 && (D += .01);.4 > D && (D = .4); 1 < D && (D = 1); b = C - ib; !T() || W ? (x += b / 2E3, 1 < x && (x = 1)) : (x -= b / 300, 0 > x && (x = 0)); 0 < x && (f.fillStyle = "#000000", f.globalAlpha = .5 * x, f.fillRect(0, 0, m, r), f.globalAlpha = 1); ib = C drawStats(f); } //UPDATE function customRender(d) { d.save(); for (var i = 0; i < lines.length; i++) { d.beginPath(); d.lineWidth = 5; if (lines[i][4] == 0) { d.strokeStyle = "#FF0000"; } else if (lines[i][4] == 1) { d.strokeStyle = "#00FF00"; } else if (lines[i][4] == 2) { d.strokeStyle = "#0000FF"; } else if (lines[i][4] == 3) { d.strokeStyle = "#FF8000"; } else if (lines[i][4] == 4) { d.strokeStyle = "#8A2BE2"; } else if (lines[i][4] == 5) { d.strokeStyle = "#FF69B4"; } else if (lines[i][4] == 6) { d.strokeStyle = "#008080"; } else if (lines[i][4] == 7) { d.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); } else { d.strokeStyle = "#000000"; } d.moveTo(lines[i][0], lines[i][1]); d.lineTo(lines[i][2], lines[i][3]); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < circles.length; i++) { if (circles[i][3] == 0) { d.strokeStyle = "#FF0000"; } else if (circles[i][3] == 1) { d.strokeStyle = "#00FF00"; } else if (circles[i][3] == 2) { d.strokeStyle = "#0000FF"; } else if (circles[i][3] == 3) { d.strokeStyle = "#FF8000"; } else if (circles[i][3] == 4) { d.strokeStyle = "#8A2BE2"; } else if (circles[i][3] == 5) { d.strokeStyle = "#FF69B4"; } else if (circles[i][3] == 6) { d.strokeStyle = "#008080"; } else if (circles[i][3] == 7) { d.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); } else { d.strokeStyle = "#000000"; } d.beginPath(); d.lineWidth = 10; //d.setLineDash([5]); d.globalAlpha = 0.3; d.arc(circles[i][0], circles[i][1], circles[i][2], 0, 2 * Math.PI, false); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < dArc.length; i++) { if (dArc[i][7] == 0) { d.strokeStyle = "#FF0000"; } else if (dArc[i][7] == 1) { d.strokeStyle = "#00FF00"; } else if (dArc[i][7] == 2) { d.strokeStyle = "#0000FF"; } else if (dArc[i][7] == 3) { d.strokeStyle = "#FF8000"; } else if (dArc[i][7] == 4) { d.strokeStyle = "#8A2BE2"; } else if (dArc[i][7] == 5) { d.strokeStyle = "#FF69B4"; } else if (dArc[i][7] == 6) { d.strokeStyle = "#008080"; } else if (dArc[i][7] == 7) { d.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); } else { d.strokeStyle = "#000000"; } d.beginPath(); d.lineWidth = 5; var ang1 = Math.atan2(dArc[i][1] - dArc[i][5], dArc[i][0] - dArc[i][4]); var ang2 = Math.atan2(dArc[i][3] - dArc[i][5], dArc[i][2] - dArc[i][4]); d.arc(dArc[i][4], dArc[i][5], dArc[i][6], ang1, ang2, false); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < dPoints.length; i++) { if (dText[i] == "") { var radius = 10; d.beginPath(); d.arc(dPoints[i][0], dPoints[i][1], radius, 0, 2 * Math.PI, false); if (dPoints[i][2] == 0) { d.fillStyle = "black"; } else if (dPoints[i][2] == 1) { d.fillStyle = "yellow"; } else if (dPoints[i][2] == 2) { d.fillStyle = "blue"; } else if (dPoints[i][2] == 3) { d.fillStyle = "red"; } else if (dPoints[i][2] == 4) { d.fillStyle = "#008080"; } else if (dPoints[i][2] == 5) { d.fillStyle = "#FF69B4"; } else { d.fillStyle = "#000000"; } d.fill(); d.lineWidth = 2; d.strokeStyle = '#003300'; d.stroke(); } else { var text = new va(18, (getDarkBool() ? '#F2FBFF' : '#111111'), true, (getDarkBool() ? '#111111' : '#F2FBFF')); text.C(dText[i]); var textRender = text.L(); d.drawImage(textRender, dPoints[i][0] - (textRender.width / 2), dPoints[i][1] - (textRender.height / 2)); } } d.restore(); } function drawStats(d) { d.save() sessionScore = Math.max(getCurrentScore(), sessionScore); var botString = window.botList[botIndex].displayText(); var debugStrings = []; debugStrings.push("Bot: " + window.botList[botIndex].name); debugStrings.push("Launcher: AposLauncher " + aposLauncherVersion); debugStrings.push("T - Bot: " + (!toggle ? "On" : "Off")); debugStrings.push("R - Lines: " + (!toggleDraw ? "On" : "Off")); for (var i = 0; i < botString.length; i++) { debugStrings.push(botString[i]); } debugStrings.push(""); debugStrings.push("Best Score: " + ~~(sessionScore / 100)); debugStrings.push("Best Time: " + bestTime + " seconds"); debugStrings.push(""); debugStrings.push(serverIP); if (getPlayer().length > 0) { var offsetX = -getMapStartX(); var offsetY = -getMapStartY(); debugStrings.push("Location: " + Math.floor(getPlayer()[0].x + offsetX) + ", " + Math.floor(getPlayer()[0].y + offsetY)); } var offsetValue = 20; var text = new va(18, (getDarkBool() ? '#F2FBFF' : '#111111')); for (var i = 0; i < debugStrings.length; i++) { text.C(debugStrings[i]); var textRender = text.L(); d.drawImage(textRender, 20, offsetValue); offsetValue += textRender.height; } if (message.length > 0) { var mRender = []; var mWidth = 0; var mHeight = 0; for (var i = 0; i < message.length; i++) { var mText = new va(28, '#FF0000', true, '#000000'); mText.C(message[i]); mRender.push(mText.L()); if (mRender[i].width > mWidth) { mWidth = mRender[i].width; } mHeight += mRender[i].height; } var mX = getWidth() / 2 - mWidth / 2; var mY = 20; d.globalAlpha = 0.4; d.fillStyle = '#000000'; d.fillRect(mX - 10, mY - 10, mWidth + 20, mHeight + 20); d.globalAlpha = 1; var mOffset = mY; for (var i = 0; i < mRender.length; i++) { d.drawImage(mRender[i], getWidth() / 2 - mRender[i].width / 2, mOffset); mOffset += mRender[i].height; } } d.restore(); } function Ab() { f.fillStyle = ta ? "#111111" : "#F2FBFF"; f.fillRect(0, 0, m, r); f.save(); f.strokeStyle = ta ? "#AAAAAA" : "#000000"; f.globalAlpha = .2 * h; for (var a = m / h, b = r / h, c = (a / 2 - s) % 50; c < a; c += 50) f.beginPath(), f.moveTo(c * h - .5, 0), f.lineTo(c * h - .5, b * h), f.stroke(); for (c = (b / 2 - t) % 50; c < b; c += 50) f.beginPath(), f.moveTo(0, c * h - .5), f.lineTo(a * h, c * h - .5), f.stroke(); f.restore() } function Cb() { if (Qa && Ja.width) { var a = m / 5; f.drawImage(Ja, 5, 5, a, a) } } function Bb() { for (var a = 0, b = 0; b < k.length; b++) a += k[b].q * k[b].q; return a } function ab() { z = null; if (null != A || 0 != F.length) if (null != A || wa) { z = document.createElement("canvas"); var a = z.getContext("2d"), b = 60, b = null == A ? b + 24 * F.length : b + 180, c = Math.min(200, .3 * m) / 200; z.width = 200 * c; z.height = b * c; a.scale(c, c); a.globalAlpha = .4; a.fillStyle = "#000000"; a.fillRect(0, 0, 200, b); a.globalAlpha = 1; a.fillStyle = "#FFFFFF"; c = null; c = Z("leaderboard"); a.font = "30px Ubuntu"; a.fillText(c, 100 - a.measureText(c).width / 2, 40); if (null == A) for (a.font = "20px Ubuntu", b = 0; b < F.length; ++b) c = F[b].name || Z("unnamed_cell"), wa || (c = Z("unnamed_cell")), -1 != M.indexOf(F[b].id) ? (k[0].name && (c = k[0].name), a.fillStyle = "#FFAAAA") : a.fillStyle = "#FFFFFF", c = b + 1 + ". " + c, a.fillText(c, 100 - a.measureText(c).width / 2, 70 + 24 * b); else for (b = c = 0; b < A.length; ++b) { var d = c + A[b] * Math.PI * 2; a.fillStyle = Db[b + 1]; a.beginPath(); a.moveTo(100, 140); a.arc(100, 140, 80, c, d, !1); a.fill(); c = d } } } function Ka(a, b, c, d, e) { this.V = a; this.x = b; this.y = c; this.i = d; this.b = e } function da(a, b, c, d, e, p) { this.id = a; this.s = this.x = b; this.t = this.y = c; this.r = this.size = d; this.color = e; this.a = []; this.W(); this.B(p) } function va(a, b, c, d) { a && (this.u = a); b && (this.S = b); this.U = !!c; d && (this.v = d) } function S(a, b) { var c = "1" == e("#helloContainer").attr("data-has-account-data"); e("#helloContainer").attr("data-has-account-data", "1"); if (null == b && d.localStorage.loginCache) { var l = JSON.parse(d.localStorage.loginCache); l.f = a.f; l.d = a.d; l.e = a.e; d.localStorage.loginCache = JSON.stringify(l) } if (c) { var u = +e(".agario-exp-bar .progress-bar-text").first().text().split("/")[0], c = +e(".agario-exp-bar .progress-bar-text").first().text().split("/")[1].split(" ")[0], l = e(".agario-profile-panel .progress-bar-star").first().text(); if (l != a.e) S({ f: c, d: c, e: l }, function() { e(".agario-profile-panel .progress-bar-star").text(a.e); e(".agario-exp-bar .progress-bar").css("width", "100%"); e(".progress-bar-star").addClass("animated tada").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() { e(".progress-bar-star").removeClass("animated tada") }); setTimeout(function() { e(".agario-exp-bar .progress-bar-text").text(a.d + "/" + a.d + " XP"); S({ f: 0, d: a.d, e: a.e }, function() { S(a, b) }) }, 1E3) }); else { var p = Date.now(), g = function() { var c; c = (Date.now() - p) / 1E3; c = 0 > c ? 0 : 1 < c ? 1 : c; c = c * c * (3 - 2 * c); e(".agario-exp-bar .progress-bar-text").text(~~(u + (a.f - u) * c) + "/" + a.d + " XP"); e(".agario-exp-bar .progress-bar").css("width", (88 * (u + (a.f - u) * c) / a.d).toFixed(2) + "%"); 1 > c ? d.requestAnimationFrame(g) : b && b() }; d.requestAnimationFrame(g) } } else e(".agario-profile-panel .progress-bar-star").text(a.e), e(".agario-exp-bar .progress-bar-text").text(a.f + "/" + a.d + " XP"), e(".agario-exp-bar .progress-bar").css("width", (88 * a.f / a.d).toFixed(2) + "%"), b && b() } function jb(a) { "string" == typeof a && (a = JSON.parse(a)); Date.now() + 18E5 > a.ja ? e("#helloContainer").attr("data-logged-in", "0") : (d.localStorage.loginCache = JSON.stringify(a), B = a.fa, e(".agario-profile-name").text(a.name), $a(), S({ f: a.f, d: a.d, e: a.e }), e("#helloContainer").attr("data-logged-in", "1")) } function Eb(a) { a = a.split("\n"); jb({ name: a[0], ta: a[1], fa: a[2], ja: 1E3 * +a[3], e: +a[4], f: +a[5], d: +a[6] }); console.log("Hello Facebook?"); } function La(a) { if ("connected" == a.status) { var b = a.authResponse.accessToken; d.FB.api("/me/picture?width=180&height=180", function(a) { d.localStorage.fbPictureCache = a.data.url; e(".agario-profile-picture").attr("src", a.data.url) }); e("#helloContainer").attr("data-logged-in", "1"); null != B ? e.ajax("https://m.agar.io/checkToken", { error: function() { console.log("Facebook Fail!"); B = null; La(a) }, success: function(a) { a = a.split("\n"); S({ e: +a[0], f: +a[1], d: +a[2] }); console.log("Facebook connected!"); }, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: B }) : e.ajax("https://m.agar.io/facebookLogin", { error: function() { console.log("You have a Facebook problem!"); B = null; e("#helloContainer").attr("data-logged-in", "0") }, success: Eb, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: b }) } } function Wa(a) { Y(":party"); e("#helloContainer").attr("data-party-state", "4"); a = decodeURIComponent(a).replace(/.*#/gim, ""); Ma("#" + d.encodeURIComponent(a)); e.ajax(Na + "//m.agar.io/getToken", { error: function() { e("#helloContainer").attr("data-party-state", "6") }, success: function(b) { b = b.split("\n"); e(".partyToken").val("agar.io/#" + d.encodeURIComponent(a)); e("#helloContainer").attr("data-party-state", "5"); Y(":party"); Ca("ws://" + b[0], a) }, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: a }) } function Ma(a) { d.history && d.history.replaceState && d.history.replaceState({}, d.document.title, a) } if (!d.agarioNoInit) { var Na = d.location.protocol, tb = "https:" == Na, xa = d.navigator.userAgent; if (-1 != xa.indexOf("Android")) d.ga && d.ga("send", "event", "MobileRedirect", "PlayStore"), setTimeout(function() { d.location.href = "market://details?id=com.miniclip.agar.io" }, 1E3); else if (-1 != xa.indexOf("iPhone") || -1 != xa.indexOf("iPad") || -1 != xa.indexOf("iPod")) d.ga && d.ga("send", "event", "MobileRedirect", "AppStore"), setTimeout(function() { d.location.href = "https://itunes.apple.com/app/agar.io/id995999703" }, 1E3); else { var za, f, G, m, r, X = null, //UPDATE toggle = false, toggleDraw = false, tempPoint = [0, 0, 1], dPoints = [], circles = [], dArc = [], dText = [], lines = [], names = ["Vilhena"], originalName = names[Math.floor(Math.random() * names.length)], sessionScore = 0, serverIP = "", interNodes = [], lifeTimer = new Date(), bestTime = 0, botIndex = 0, reviving = false, message = [], q = null, s = 0, t = 0, M = [], k = [], E = {}, v = [], Q = [], F = [], fa = 0, ga = 0, //UPDATE ia = -1, ja = -1, zb = 0, C = 0, ib = 0, K = null, pa = 0, qa = 0, ra = 1E4, sa = 1E4, h = 1, y = null, kb = !0, wa = !0, Oa = !1, Ha = !1, R = 0, ta = !1, lb = !1, aa = s = ~~((pa + ra) / 2), ba = t = ~~((qa + sa) / 2), ca = 1, P = "", A = null, ya = !1, Ga = !1, Ea = 0, Fa = 0, na = 0, oa = 0, mb = 0, Db = ["#333333", "#FF3333", "#33FF33", "#3333FF"], Ia = !1, $ = !1, bb = 0, B = null, J = 1, x = 1, W = !0, Ba = 0, Da = {}; (function() { var a = d.location.search; "?" == a.charAt(0) && (a = a.slice(1)); for (var a = a.split("&"), b = 0; b < a.length; b++) { var c = a[b].split("="); Da[c[0]] = c[1] } })(); var Qa = "ontouchstart" in d && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(d.navigator.userAgent), Ja = new Image; Ja.src = "img/split.png"; var nb = document.createElement("canvas"); if ("undefined" == typeof console || "undefined" == typeof DataView || "undefined" == typeof WebSocket || null == nb || null == nb.getContext || null == d.localStorage) alert("You browser does not support this game, we recommend you to use Firefox to play this"); else { var ka = null; d.setNick = function(a) { //UPDATE originalName = a; if (getPlayer().length == 0) { lifeTimer = new Date(); } Xa(); K = a; cb(); R = 0 }; d.setRegion = ha; d.setSkins = function(a) { kb = a }; d.setNames = function(a) { wa = a }; d.setDarkTheme = function(a) { ta = a }; d.setColors = function(a) { Oa = a }; d.setShowMass = function(a) { lb = a }; d.spectate = function() { K = null; H(1); Xa() }; d.setGameMode = function(a) { a != P && (":party" == P && e("#helloContainer").attr("data-party-state", "0"), Y(a), ":party" != a && I()) }; d.setAcid = function(a) { Ia = a }; null != d.localStorage && (null == d.localStorage.AB9 && (d.localStorage.AB9 = 0 + ~~(100 * Math.random())), mb = +d.localStorage.AB9, d.ABGroup = mb); e.get(Na + "//gc.agar.io", function(a) { var b = a.split(" "); a = b[0]; b = b[1] || ""; - 1 == ["UA"].indexOf(a) && ob.push("ussr"); ea.hasOwnProperty(a) && ("string" == typeof ea[a] ? y || ha(ea[a]) : ea[a].hasOwnProperty(b) && (y || ha(ea[a][b]))) }, "text"); d.ga && d.ga("send", "event", "User-Agent", d.navigator.userAgent, { nonInteraction: 1 }); var la = !1, Ya = 0; setTimeout(function() { la = !0 }, Math.max(6E4 * Ya, 1E4)); var ea = { AF: "JP-Tokyo", AX: "EU-London", AL: "EU-London", DZ: "EU-London", AS: "SG-Singapore", AD: "EU-London", AO: "EU-London", AI: "US-Atlanta", AG: "US-Atlanta", AR: "BR-Brazil", AM: "JP-Tokyo", AW: "US-Atlanta", AU: "SG-Singapore", AT: "EU-London", AZ: "JP-Tokyo", BS: "US-Atlanta", BH: "JP-Tokyo", BD: "JP-Tokyo", BB: "US-Atlanta", BY: "EU-London", BE: "EU-London", BZ: "US-Atlanta", BJ: "EU-London", BM: "US-Atlanta", BT: "JP-Tokyo", BO: "BR-Brazil", BQ: "US-Atlanta", BA: "EU-London", BW: "EU-London", BR: "BR-Brazil", IO: "JP-Tokyo", VG: "US-Atlanta", BN: "JP-Tokyo", BG: "EU-London", BF: "EU-London", BI: "EU-London", KH: "JP-Tokyo", CM: "EU-London", CA: "US-Atlanta", CV: "EU-London", KY: "US-Atlanta", CF: "EU-London", TD: "EU-London", CL: "BR-Brazil", CN: "CN-China", CX: "JP-Tokyo", CC: "JP-Tokyo", CO: "BR-Brazil", KM: "EU-London", CD: "EU-London", CG: "EU-London", CK: "SG-Singapore", CR: "US-Atlanta", CI: "EU-London", HR: "EU-London", CU: "US-Atlanta", CW: "US-Atlanta", CY: "JP-Tokyo", CZ: "EU-London", DK: "EU-London", DJ: "EU-London", DM: "US-Atlanta", DO: "US-Atlanta", EC: "BR-Brazil", EG: "EU-London", SV: "US-Atlanta", GQ: "EU-London", ER: "EU-London", EE: "EU-London", ET: "EU-London", FO: "EU-London", FK: "BR-Brazil", FJ: "SG-Singapore", FI: "EU-London", FR: "EU-London", GF: "BR-Brazil", PF: "SG-Singapore", GA: "EU-London", GM: "EU-London", GE: "JP-Tokyo", DE: "EU-London", GH: "EU-London", GI: "EU-London", GR: "EU-London", GL: "US-Atlanta", GD: "US-Atlanta", GP: "US-Atlanta", GU: "SG-Singapore", GT: "US-Atlanta", GG: "EU-London", GN: "EU-London", GW: "EU-London", GY: "BR-Brazil", HT: "US-Atlanta", VA: "EU-London", HN: "US-Atlanta", HK: "JP-Tokyo", HU: "EU-London", IS: "EU-London", IN: "JP-Tokyo", ID: "JP-Tokyo", IR: "JP-Tokyo", IQ: "JP-Tokyo", IE: "EU-London", IM: "EU-London", IL: "JP-Tokyo", IT: "EU-London", JM: "US-Atlanta", JP: "JP-Tokyo", JE: "EU-London", JO: "JP-Tokyo", KZ: "JP-Tokyo", KE: "EU-London", KI: "SG-Singapore", KP: "JP-Tokyo", KR: "JP-Tokyo", KW: "JP-Tokyo", KG: "JP-Tokyo", LA: "JP-Tokyo", LV: "EU-London", LB: "JP-Tokyo", LS: "EU-London", LR: "EU-London", LY: "EU-London", LI: "EU-London", LT: "EU-London", LU: "EU-London", MO: "JP-Tokyo", MK: "EU-London", MG: "EU-London", MW: "EU-London", MY: "JP-Tokyo", MV: "JP-Tokyo", ML: "EU-London", MT: "EU-London", MH: "SG-Singapore", MQ: "US-Atlanta", MR: "EU-London", MU: "EU-London", YT: "EU-London", MX: "US-Atlanta", FM: "SG-Singapore", MD: "EU-London", MC: "EU-London", MN: "JP-Tokyo", ME: "EU-London", MS: "US-Atlanta", MA: "EU-London", MZ: "EU-London", MM: "JP-Tokyo", NA: "EU-London", NR: "SG-Singapore", NP: "JP-Tokyo", NL: "EU-London", NC: "SG-Singapore", NZ: "SG-Singapore", NI: "US-Atlanta", NE: "EU-London", NG: "EU-London", NU: "SG-Singapore", NF: "SG-Singapore", MP: "SG-Singapore", NO: "EU-London", OM: "JP-Tokyo", PK: "JP-Tokyo", PW: "SG-Singapore", PS: "JP-Tokyo", PA: "US-Atlanta", PG: "SG-Singapore", PY: "BR-Brazil", PE: "BR-Brazil", PH: "JP-Tokyo", PN: "SG-Singapore", PL: "EU-London", PT: "EU-London", PR: "US-Atlanta", QA: "JP-Tokyo", RE: "EU-London", RO: "EU-London", RU: "RU-Russia", RW: "EU-London", BL: "US-Atlanta", SH: "EU-London", KN: "US-Atlanta", LC: "US-Atlanta", MF: "US-Atlanta", PM: "US-Atlanta", VC: "US-Atlanta", WS: "SG-Singapore", SM: "EU-London", ST: "EU-London", SA: "EU-London", SN: "EU-London", RS: "EU-London", SC: "EU-London", SL: "EU-London", SG: "JP-Tokyo", SX: "US-Atlanta", SK: "EU-London", SI: "EU-London", SB: "SG-Singapore", SO: "EU-London", ZA: "EU-London", SS: "EU-London", ES: "EU-London", LK: "JP-Tokyo", SD: "EU-London", SR: "BR-Brazil", SJ: "EU-London", SZ: "EU-London", SE: "EU-London", CH: "EU-London", SY: "EU-London", TW: "JP-Tokyo", TJ: "JP-Tokyo", TZ: "EU-London", TH: "JP-Tokyo", TL: "JP-Tokyo", TG: "EU-London", TK: "SG-Singapore", TO: "SG-Singapore", TT: "US-Atlanta", TN: "EU-London", TR: "TK-Turkey", TM: "JP-Tokyo", TC: "US-Atlanta", TV: "SG-Singapore", UG: "EU-London", UA: "EU-London", AE: "EU-London", GB: "EU-London", US: "US-Atlanta", UM: "SG-Singapore", VI: "US-Atlanta", UY: "BR-Brazil", UZ: "JP-Tokyo", VU: "SG-Singapore", VE: "BR-Brazil", VN: "JP-Tokyo", WF: "SG-Singapore", EH: "EU-London", YE: "JP-Tokyo", ZM: "EU-London", ZW: "EU-London" }, L = null; d.connect = Ca; //UPDATE /** * Tells you if the game is in Dark mode. * @return Boolean for dark mode. */ window.getDarkBool = function() { return ta; } /** * Tells you if the mass is shown. * @return Boolean for player's mass. */ window.getMassBool = function() { return lb; } /** * This is a copy of everything that is shown on screen. * Normally stuff will time out when off the screen, this * memorizes everything that leaves the screen for a little * while longer. * @return The memory object. */ window.getMemoryCells = function() { return interNodes; } /** * [getCellsArray description] * @return {[type]} [description] */ window.getCellsArray = function() { return v; } /** * [getCellsArray description] * @return {[type]} [description] */ window.getCells = function() { return E; } /** * Returns an array with all the player's cells. * @return Player's cells */ window.getPlayer = function() { return k; } /** * The canvas' width. * @return Integer Width */ window.getWidth = function() { return m; } /** * The canvas' height * @return Integer Height */ window.getHeight = function() { return r; } /** * Scaling ratio of the canvas. The bigger this ration, * the further that you see. * @return Screen scaling ratio. */ window.getRatio = function() { return h; } /** * [getOffsetX description] * @return {[type]} [description] */ window.getOffsetX = function() { return aa; } window.getOffsetY = function() { return ba; } window.getX = function() { return s; } window.getY = function() { return t; } window.getPointX = function() { return ia; } window.getPointY = function() { return ja; } /** * The X location of the mouse. * @return Integer X */ window.getMouseX = function() { return fa; } /** * The Y location of the mouse. * @return Integer Y */ window.getMouseY = function() { return ga; } window.getMapStartX = function() { return pa; } window.getMapStartY = function() { return qa; } window.getMapEndX = function() { return ra; } window.getMapEndY = function() { return sa; } window.getScreenDistance = function() { var temp = screenDistance(); return temp; } /** * A timestamp since the last time the server sent any data. * @return Last update timestamp */ window.getLastUpdate = function() { return C; } window.getCurrentScore = function() { return R; } /** * The game's current mode. (":ffa", ":experimental", ":teams". ":party") * @return {[type]} [description] */ window.getMode = function() { return P; } window.setPoint = function(x, y) { ia = x; ja = y; } window.setScore = function(a) { sessionScore = a * 100; } window.setBestTime = function(a) { bestTime = a; } window.best = function(a, b) { setScore(a); setBestTime(b); } window.setBotIndex = function(a) { console.log("Changing bot"); botIndex = a; } window.setMessage = function(a) { message = a; } window.updateBotList = function() { window.bot
ruankie / Rag QaRAG-QA is a free, containerised question-answer framework that allows you to ask questions to your documents in an intuitive way
tmori / Generative AgentsThis Repositry is an experiment with an agent that searches documents and asks questions repeatedly in response to the main question. It automatically determines the optimal answer from the current documents or recognizes when there is no answer.
Virgil-L / Local MultiModal RAG With LlamaindexMultimodal RAG using LlamaIndex, Qdrant, llama.cpp for document QA with local VisonLLM and embedding models
chatvector-ai / Chatvector AIOpen-source RAG engine for ingesting, indexing, and querying unstructured documents
Knele83 / SyberGhosthttps://support.cyberghostvpn.com/index.php?/News/Subscriber/Unsubscribe/2264/30184b2e54f51ad6b63 <!-- #header --> <div id="header"> <div class="wrapper"> <h1><a href="http://www.cyberghostvpn.com/en/surf-anonym.html"><font><font>?????????? ??? - ???? ?? ????</font></font></a></h1> <div id="navi"> <!-- Flags --> </div> <div id="topNav" class="clearfix"> <div id="cleverSecurityVerification" class=""><div class="block"><div class="blockContent"><span class="securitySignCOS"><script type="text/javascript"><!-- function comodoPop(){ var w = window.open('https://secure.comodo.net/ttb_searcher/trustlogo?v_querytype=W&v_shortname=SCAS&x=6&y=5&v_search=store.cyberghostvpn.com', 'comodo', 'width=420,height=600,left=50,top=50'); w.focus(); } document.write('<a title="Click to verify" href="javascript:comodoPop();"><img src="/images/clientDefaultStyle/logoComodoSecureSite2010Small.png" style="width: 70px; height: 63px;" alt="Click to verify" border="0" /></a>'); //--></script><a title="???????? ?? ???????" href="javascript:comodoPop();"><img src="/images/clientDefaultStyle/logoComodoSecureSite2010Small.png" style="width: 70px; height: 63px;" alt="???????? ?? ???????" border="0"></a><noscript><a target="_blank" href="https://secure.comodo.net/ttb_searcher/trustlogo?v_querytype=W&amp;v_shortname=SCAS&amp;x=6&amp;y=5&amp;v_search=store.cyberghostvpn.com"><img src="/images/clientDefaultStyle/logoComodoSecureSite2010Small.png" style="width: 70px; height: 63px;" /></a></noscript></span><span class="securitySignCBS"><script type="text/javascript"><!-- function cbsecurityPop(){ var w = window.open('https://store.cyberghostvpn.com/848/?scope=opsecurity&id=xFVSoPqOuv', 'cbsecurity', 'width=520,height=600,left=50,top=50,resizable=yes,scrollbars=auto'); w.focus(); } document.write('<a title="Click to verify" href="javascript:cbsecurityPop();"><img src="/images/en/logoSslSecuredLarge.png" alt="Click to verify" border="0" /></a>'); //--></script><a title="???????? ?? ???????" href="javascript:cbsecurityPop();"><img src="/images/en/logoSslSecuredLarge.png" alt="???????? ?? ???????" border="0"></a><noscript><a target="_blank" href="https://store.cyberghostvpn.com/848/?scope=opsecurity&amp;id=xFVSoPqOuv"><img border="0" src="/images/en/logoSslSecuredLarge.png" /></a></noscript></span><span class="securitySignPCIDSS"><script type="text/javascript"><!-- function cbPciDssPop(){ var w = window.open('https://store.cyberghostvpn.com/848/?scope=oppcidss&id=xFVSoPqOuv', 'cbpcidss', 'width=520,height=600,left=50,top=50,resizable=yes,scrollbars=auto'); w.focus(); } document.write('<a title="Click to verify" href="javascript:cbPciDssPop();"><img src="/images/en/logoPciDssCertificateMedium.png" alt="Click to verify" border="0" /></a>'); //--></script><a title="???????? ?? ???????" href="javascript:cbPciDssPop();"><img src="/images/en/logoPciDssCertificateMedium.png" alt="???????? ?? ???????" border="0"></a><noscript><a target="_blank" href="https://store.cyberghostvpn.com/848/?scope=oppcidss&amp;id=xFVSoPqOuv"><img border="0" src="/images/en/logoPciDssCertificateMedium.png" /></a></noscript></span><div class="Clearer"><!--Hidden clearer--></div><div class="blockContentClearer"><!--//23--></div></div></div></div> </div> </div> </div> <!--//end of #header --> <div id="sliderHeader"> <div class="wrapper"> <div id="contentPadding" class="clearfix"> <script type="text/javascript"> /*<![CDATA[*/ DomLoaded.Load(function(){cbProvideAjaxLayerContent("https://store.cyberghostvpn.com/ajax/848/en/ic.webOrderProcessHelp/p.135911/file.xml?id=xFVSoPqOuv&fck=false" + vfb() + fck() + hsv());}); /*]]>*/ </script><div id="cleverContent"><div class="CBPage CBScopecheckout CBPagedefault"><div class="CBWrapper" id="cleverPageHeadline"><span class="CBText"><h1><font><font>???? ?????</font></font></h1></span></div><form method="post" action="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv" name="cleverForm"><input type="hidden" id="cbiID0ERBOA" name="progress" value="default"><div class="CBWrapper" id="cleverGlobalizer"><div class="CBWrapper" id="cleverGlobalizerLanguage"><div class="interact language"><div class="interactLabel"><label for="cbiID0EAAAACPBOA"><span class="interactLabel"><font><font>?????:</font></font></span></label></div><div class="interactField"><div class="CBSelection"><div class="CBListItemSelected"><span class="CBListItemSelected CBListItemVen"><font><font>????????</font></font></span></div><ul class="CBList"><li class="CBListItem CBListItemVen"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=en" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{en}];', this, event);"><span class="CBHyperLink"><font><font>????????</font></font></span></a></li><li class="CBListItem CBListItemVde"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=de" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{de}];', this, event);"><span class="CBHyperLink"><font><font>???????</font></font></span></a></li><li class="CBListItem CBListItemVes"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=es" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{es}];', this, event);"><span class="CBHyperLink"><font><font>???????</font></font></span></a></li><li class="CBListItem CBListItemVpt"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=pt" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{pt}];', this, event);"><span class="CBHyperLink"><font><font>??????????? - ??????</font></font></span></a></li><li class="CBListItem CBListItemVpb"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=pb" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{pb}];', this, event);"><span class="CBHyperLink"><font><font>??????????? - ??????</font></font></span></a></li><li class="CBListItem CBListItemVfr"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=fr" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{fr}];', this, event);"><span class="CBHyperLink"><font><font>????????</font></font></span></a></li><li class="CBListItem CBListItemVit"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=it" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{it}];', this, event);"><span class="CBHyperLink"><font><font>????????</font></font></span></a></li><li class="CBListItem CBListItemVnl"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=nl" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{nl}];', this, event);"><span class="CBHyperLink"><font><font>??????????</font></font></span></a></li><li class="CBListItem CBListItemVda"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=da" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{da}];', this, event);"><span class="CBHyperLink"><font><font>?????</font></font></span></a></li><li class="CBListItem CBListItemVsv"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=sv" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{sv}];', this, event);"><span class="CBHyperLink"><font><font>???????</font></font></span></a></li><li class="CBListItem CBListItemVno"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=no" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{no}];', this, event);"><span class="CBHyperLink"><font><font>?????</font></font></span></a></li><li class="CBListItem CBListItemVfi"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=fi" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{fi}];', this, event);"><span class="CBHyperLink"><font><font>?????</font></font></span></a></li><li class="CBListItem CBListItemVtr"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=tr" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{tr}];', this, event);"><span class="CBHyperLink"><font><font>??????</font></font></span></a></li><li class="CBListItem CBListItemVel"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=el" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{el}];', this, event);"><span class="CBHyperLink"><font><font>???????a</font></font></span></a></li><li class="CBListItem CBListItemVru"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=ru" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{ru}];', this, event);"><span class="CBHyperLink"><font><font>???????</font></font></span></a></li><li class="CBListItem CBListItemVcs"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=cs" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{cs}];', this, event);"><span class="CBHyperLink"><font><font>?????</font></font></span></a></li><li class="CBListItem CBListItemVpl"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=pl" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{pl}];', this, event);"><span class="CBHyperLink"><font><font>??????</font></font></span></a></li><li class="CBListItem CBListItemVhu"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=hu" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{hu}];', this, event);"><span class="CBHyperLink"><font><font>?????</font></font></span></a></li><li class="CBListItem CBListItemVro"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=ro" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{ro}];', this, event);"><span class="CBHyperLink"><font><font>???????</font></font></span></a></li><li class="CBListItem CBListItemVsl"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=sl" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{sl}];', this, event);"><span class="CBHyperLink"><font><font>??????</font></font></span></a></li><li class="CBListItem CBListItemVsk"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=sk" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{sk}];', this, event);"><span class="CBHyperLink"><font><font>??????????</font></font></span></a></li><li class="CBListItem CBListItemVhr"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=hr" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{hr}];', this, event);"><span class="CBHyperLink"><font><font>????????</font></font></span></a></li><li class="CBListItem CBListItemVja"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=ja" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{ja}];', this, event);"><span class="CBHyperLink"><font><font>???</font></font></span></a></li><li class="CBListItem CBListItemVko"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=ko" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{ko}];', this, event);"><span class="CBHyperLink"><font><font>???</font></font></span></a></li><li class="CBListItem CBListItemVzh"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=zh" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{zh}];', this, event);"><span class="CBHyperLink"><font><font>?? ??</font></font></span></a></li><li class="CBListItem CBListItemVzg"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=zg" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{zg}];', this, event);"><span class="CBHyperLink"><font><font>?? ??</font></font></span></a></li><li class="CBListItem CBListItemVth"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=th" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{th}];', this, event);"><span class="CBHyperLink"><font><font>???? ???</font></font></span></a></li><li class="CBListItem CBListItemVhi"><a href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&language=hi" class="CBHyperLink" onclick="cbBind('cbSubmit[languageId{hi}];', this, event);"><span class="CBHyperLink"><font><font>?????</font></font></span></a></li></ul></div></div></div></div><div class="Clearer"><!--Hidden clearer--></div></div><div id="cleverError" class=""><div class="block"><div class="blockHeadline"><h1><font><font>???? ??????</font></font></h1><!--//21--></div><div class="blockContent"><span class="CBText"><font><font>????? ?? ?? ?????? ???????? ????? ??????. </font><font>????????? ??????? ? ????????? ?????? ?????.</font></font></span><div class="Clearer"><!--Hidden clearer--></div><div class="blockContentClearer"><!--//23--></div></div></div></div><div id="cleverCart" class=" CBCart"><div class="block"><div class="blockHeadline"><h1><font><font>???? ?????</font></font></h1><!--//21--></div><div class="blockContent"><div class="CBWrapper CBCurrencySelection" id="cleverCartCurrency"><div class="interact currencyId"><div class="interactLabel"><label for="cbiID0EDAAABBMBOA"><span class="interactLabel"><font><font>??????:</font></font></span></label></div><div class="interactField"><select class="inputSelect medium CBEvent" id="cbiID0EDAAABBMBOA" onchange="cbBind('cbSubmit[validation{server},buttonName{buttonupdategc}];cbChangeInteractLabel[targetId{label_cbiID0EDAAABBMBOA}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbiID0EDAAABBMBOA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbiID0EDAAABBMBOA}];', this, event);" tabindex="4" value="" name="currencyId"><option value="AUD"><font><font>???????????? ?????</font></font></option><option value="BRL"><font><font>????????? ????</font></font></option><option value="GBP"><font><font>????????? ?????</font></font></option><option value="CAD"><font><font>???????? ?????</font></font></option><option value="CNY"><font><font>??????? ????</font></font></option><option value="CZK"><font><font>????? ?????</font></font></option><option value="DKK"><font><font>?????? ?????</font></font></option><option value="EUR" selected="selected"><font><font>????</font></font></option><option value="HKD"><font><font>???? ???? ?????</font></font></option><option value="HUF"><font><font>???????? ???????</font></font></option><option value="INR"><font><font>???????? ??????</font></font></option><option value="JPY"><font><font>???????? ???</font></font></option><option value="KRW"><font><font>?????? ???</font></font></option><option value="LVL"><font><font>???????? ???</font></font></option><option value="LTL"><font><font>????????? ?????</font></font></option><option value="MXN"><font><font>???????? ?????</font></font></option><option value="NZD"><font><font>????????????? ?????</font></font></option><option value="NOK"><font><font>???????? ?????</font></font></option><option value="PLN"><font><font>?????? ????</font></font></option><option value="RUB"><font><font>????? ??????</font></font></option><option value="SGD"><font><font>???????? ?????</font></font></option><option value="ZAR"><font><font>???????????? ????</font></font></option><option value="SEK"><font><font>??????? ?????</font></font></option><option value="CHF"><font><font>?????????? ??????</font></font></option><option value="TWD"><font><font>?????? ?????</font></font></option><option value="THB"><font><font>?????????? ???</font></font></option><option value="TRY"><font><font>?????? ????</font></font></option><option value="USD"><font><font>?? ?????</font></font></option></select><noscript><input type="submit" class="inputSubmit" id="cbiID0EACAAABBMBOA" tabindex="5" name="buttonupdategc" value=" Change" /></noscript></div></div></div><div class="CBCartHeadlines"><div class="CBCartHeadlineImage CBCartHeadline"><span class="CBText"><font><font>?????? ????</font></font></span></div><div class="CBCartHeadlineProduct CBCartHeadline"><span class="CBText"><font><font>??? ?????????</font></font></span></div><div class="CBCartHeadlineUnitPrice CBCartHeadline"><span class="CBText"><font><font>????????? ????</font></font></span></div><div class="CBCartHeadlineQuantity CBCartHeadline"><span class="CBText"><font><font>???.</font></font></span></div><div class="CBCartHeadlineUnitPriceTotal CBCartHeadline"><span class="CBText"><font><font>????</font></font></span></div></div><div class="CBCartItems"><ul class="CBCartItemList"><script type="text/javascript"> /*<![CDATA[*/ window.cbCart = window.cbCart || { clientId: "848", precisionFactor: 100, priceFormatString: "€###,###,##0.00;-€###,###,##0.00", floatPercentFormatString: "###,##0.00 %;-###,##0.00 %", intPercentFormatString: "###,##0 %;-###,##0 %" }; window.cbCart.items = window.cbCart.items || {}; window.cbCart.items["rNo1"] = { runningNo: 1, type: "product", name: "CyberGhost 5 Premium Plus VPN 12 Months + 12 FREE", nameExtension: "12 + 12 Months Prepaid", minQuantity: 1, maxQuantity: 999999, quantity: 1, isCallYourPrice: false, isOptional: false, isReadOnly: false, isHidden: false, isRemovable: true, hasShipping: false, isXSelling: false, clientVatSetTypeId: "Unknown", positionTypeId: "CAR", vatPct: 0, prices: { unitPriceNet: 00.00, unitPriceGross: 00.00, unitPriceVat: 0.00, unitDiscountNet: 0.00, unitDiscountGross: 0.00, unitDiscountVat: 0.00, subTotalNet: 00.00, subTotalGross: 00.00, subTotalVat: 0.00, unitTotalNet: 00.00, unitTotalGross: 00.00, unitTotalVat: 0.00, totalNet: 00.00, totalGross: 00.00, totalVat: 0.00, discountNet: 0.00, discountGross: 0.00, discountVat: 0.00 } }; /*]]>*/ </script><li class="CBCartItem CBListItem CBCartItemTypeproduct CBCartItem135911 CBitem1 CBFirst CBOdd"><div class="CBCartItem"><div class="CBProductImage CBProductImageSmall CBCartItemColumn"><img src="/mycontent/848/pp-1212-EN.png" width="120" height="188"></div><div class="CBCartItemDetailsWrapper"><div class="CBCartItemDetails"><div class="CBProductDetailsWrapper CBCartItemColumn"><span class="CBProductName"><font><font>?????????? 5 ??????? ???? ??? 12 ?????? + 12 ?????????? </font></font></span><span class="CBProductNameExtension"><font><font>12 + 12 ?????? ???????</font></font></span></div><div class="CBProductUnitPrice CBCartItemColumn"><span class="CBProductUnitPriceRegular"><span id="cbp_ID0EAKNA_ID0EAAAAAACEAAAABCACBAAOA"><font><font>€ 67.22</font></font></span><script type="text/javascript"> /*<![CDATA[*/ window.cbCartTargets = window.cbCartTargets || {}; window.cbCartTargets.items = window.cbCartTargets.items || {}; window.cbCartTargets.items['rNo1'] = window.cbCartTargets.items["rNo1"] || []; window.cbCartTargets.items['rNo1'].push({ id: 'cbp_ID0EAKNA_ID0EAAAAAACEAAAABCACBAAOA', type: 'itemPrice', priceTypeId: 'unitPriceGross' }); /*]]>*/ </script></span></div><div class="CBProductQuantity CBCartItemColumn"><div class="CBQuantityStepper"><input type="text" class="inputText small CBEvent" id="cbp_ID0ECABABEAAAABCACBAAOA_ID0EAKNA" onchange="cbBind('cbChangeInteractLabel[targetId{label_cbp_ID0ECABABEAAAABCACBAAOA_ID0EAKNA}];', this, event);" onkeyup="cbBind('cbKeyInteractLabel[targetId{label_cbp_ID0ECABABEAAAABCACBAAOA_ID0EAKNA}];', this, event);" onkeydown="cbBind('cbCalcCartItem[operation{setItemQuantity},cartItem{rNo1}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbp_ID0ECABABEAAAABCACBAAOA_ID0EAKNA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbp_ID0ECABABEAAAABCACBAAOA_ID0EAKNA}];', this, event);" tabindex="6" name="quantityrno_1" value="1" autocomplete="off" size=""><script type="text/javascript"> /*<![CDATA[*/ window.cbCartTargets = window.cbCartTargets || {}; window.cbCartTargets.items = window.cbCartTargets.items || {}; window.cbCartTargets.items["rNo1"] = window.cbCartTargets.items["rNo1"] || []; window.cbCartTargets.items["rNo1"].push({ id: "cbp_ID0ECABABEAAAABCACBAAOA_ID0EAKNA", propertyId: "quantity" }); /*]]>*/ </script><div class="CBQuantityStepperArrows"><a class="CBHyperLink CBQuantityStepperUp CBEvent" id="cbiID0EBAABCAAAACAABMBOA" href="https://store.cyberghostvpn.com/848/?id=xFVSoPqOuv&scope=checkout&quantityrno_1=2" onclick="cbBind('cbCalcCartItem[operation{addItem},cartItem{rNo1}];', this, event);"><span class="CBHyperLink CBQuantityStepperUp CBEvent"><!--//16--></span></a><a class="CBHyperLink CBQuantityStepperDown CBEvent" id="cbiID0EAAABCAAAACAABMBOA" href="https://store.cyberghostvpn.com/848/?id=xFVSoPqOuv&scope=checkout&quantityrno_1=1" onclick="cbBind('cbCalcCartItem[operation{removeItem},cartItem{rNo1}];', this, event);"><span class="CBHyperLink CBQuantityStepperDown CBEvent"><!--//16--></span></a></div></div></div><div class="CBProductTotalPrice CBCartItemColumn"><span class="CBProductTotalPrice"><span id="cbp_ID0EAKNA_ID0EAAACAEAAAABCACBAAOA"><font><font>€ 00.00</font></font></span><script type="text/javascript"> /*<![CDATA[*/ window.cbCartTargets = window.cbCartTargets || {}; window.cbCartTargets.items = window.cbCartTargets.items || {}; window.cbCartTargets.items['rNo1'] = window.cbCartTargets.items["rNo1"] || []; window.cbCartTargets.items['rNo1'].push({ id: 'cbp_ID0EAKNA_ID0EAAACAEAAAABCACBAAOA', type: 'itemPrice', priceTypeId: 'totalGross' }); /*]]>*/ </script></span></div></div><div class="CBAdditionalProductDetailsWrapper"><div class="CBDictionary"><div class="CBProductDelivery CBDictionaryItem"><span class="CBDictionaryLabel"><font><font>????????: </font></font></span><span class="CBDictionaryValue"><span class="CBDeliveryValueImage"><!--//5--></span><span class="CBDeliveryValueText"><font><font>???????????</font></font></span></span></div></div><div class="CBProductDescription"><font><font>???????????? ???? ?????????? ??????? ??????????? </font></font><br><font><font> ?????? ??????? ??????? </font></font><br><font><font> ?????????? ????????? ? ??????? ??????? </font></font><br><font><font> ??????? ??????? ?? ??????? ??????? (????, ?2??/?????) </font></font><br><font><font> ??????????? ?????????? ??? ?????? ???? </font></font><br><font><font> ????. </font><font>??????? ??????? </font></font><br><font><font> 5 ???????</font></font><br> </div><div class="CBProductSelections"><div class="CBWrapper CBProductSelection CBProductSelectionRadio CBProductSelectionLevel1" id="cbp_3779_3779"><span class="CBLabel"><font><font>???????</font></font></span><ul class="CBProductSelectionRadio"><li class="CBRadioItem CBRadioItem1"><div class="radio CBProductSelectionItem CBSelected CBFirst CBOdd CBEvent"><input type="radio" class="inputRadio CBProductSelectionItem CBSelected CBFirst CBOdd CBEvent" tabindex="7" id="cbp_3779ListenerRG14211" onclick="cbBind('cbSubmit[buttonName{update},listenerCheckedState{bool:true}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" name="cartselection_r1_l1" value="14211" checked="checked"><label for="cbp_3779ListenerRG14211"><span class="radioLabel CBProductSelectionItem CBSelected CBFirst CBOdd CBEvent"><font><font>2 ??????</font></font></span></label></div></li><li class="CBRadioItem CBRadioItem2"><div class="radio CBProductSelectionItem CBEven CBEvent"><input type="radio" class="inputRadio CBProductSelectionItem CBEven CBEvent" tabindex="8" id="cbp_3779ListenerRG14197" onclick="cbBind('cbSubmit[buttonName{update},listenerCheckedState{bool:true}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" name="cartselection_r1_l1" value="14197"><label for="cbp_3779ListenerRG14197"><span class="radioLabel CBProductSelectionItem CBEven CBEvent"><font><font>1 ??????</font></font></span></label></div></li><li class="CBRadioItem CBRadioItem3"><div class="radio CBProductSelectionItem CBLast CBOdd CBEvent"><input type="radio" class="inputRadio CBProductSelectionItem CBLast CBOdd CBEvent" tabindex="9" id="cbp_3779ListenerRG14196" onclick="cbBind('cbSubmit[buttonName{update},listenerCheckedState{bool:true}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" name="cartselection_r1_l1" value="14196"><label for="cbp_3779ListenerRG14196"><span class="radioLabel CBProductSelectionItem CBLast CBOdd CBEvent"><font><font>1 ?????</font></font></span></label></div></li></ul></div></div></div><div class="CBCartActionsWrapper"><div class="CBProductDelete"><a class="CBHyperLink" href="https://store.cyberghostvpn.com/848/?scope=checkout&id=xFVSoPqOuv&buttondeleterno_1=YES"><span class="CBHyperLink"><font><font>?????????</font></font><!--//16--></span></a></div></div></div></div></li></ul></div><div id="cleverCartTotalsWrapper"><script type="text/javascript"> /*<![CDATA[*/ window.cbCart = window.cbCart || { clientId: "848", precisionFactor: 100, priceFormatString: "€###,###,##0.00;-€###,###,##0.00", floatPercentFormatString: "###,##0.00 %;-###,##0.00 %", intPercentFormatString: "###,##0 %;-###,##0 %" }; window.cbCart.totals = window.cbCart.totals || {}; window.cbCart.totals["None"] = { clientVatSetTypeId: "None", prices: { totalNet: 00.00, totalVat: 0.00, totalGross: 00.00 } }; window.cbCart.totals["Unknown"] = { clientVatSetTypeId: "Unknown", prices: { totalNet: 00.00, totalVat: 0.00, totalGross: 00.00 } }; /*]]>*/ </script><script type="text/javascript"> /*<![CDATA[*/ window.cbCart = window.cbCart || { clientId: "848", precisionFactor: 100, priceFormatString: "€###,###,##0.00;-€###,###,##0.00", floatPercentFormatString: "###,##0.00 %;-###,##0.00 %", intPercentFormatString: "###,##0 %;-###,##0 %" }; window.cbCart.totals = window.cbCart.totals || {}; window.cbCart.totals["None"] = { clientVatSetTypeId: "None", prices: { totalNet: 00.00, totalVat: 0.00, totalGross: 00.00 } }; window.cbCart.totals["Unknown"] = { clientVatSetTypeId: "Unknown", prices: { totalNet: 00.00, totalVat: 0.00, totalGross: 00.00 } }; /*]]>*/ </script><script type="text/javascript"> /*<![CDATA[*/ window.cbCart = window.cbCart || { clientId: "848", precisionFactor: 100, priceFormatString: "€###,###,##0.00;-€###,###,##0.00", floatPercentFormatString: "###,##0.00 %;-###,##0.00 %", intPercentFormatString: "###,##0 %;-###,##0 %" }; window.cbCart.shippings = window.cbCart.shippings || {}; window.cbCart.shippings["None"] = { clientVatSetTypeId: "None", prices: { totalNet: 0.00, totalVat: 0.00, totalGross: 0.00 } }; /*]]>*/ </script><div id="cleverCartTotalsConsumer"><ul class="CBCartTotals"><li class="CBCartTotal CBListItem"><div class="CBDictionaryItem"><span class="CBDictionaryLabel"><font><font>??????: </font></font></span><span class="CBDictionaryValue"><span id="cbp_ID0ENA_ID0EAAABADBBAAOA"><font><font>€ 67.22</font></font></span><script type="text/javascript"> /*<![CDATA[*/ window.cbCartTargets = window.cbCartTargets || {}; window.cbCartTargets.totals = window.cbCartTargets.totals || []; window.cbCartTargets.totals.push({ id: "cbp_ID0ENA_ID0EAAABADBBAAOA", clientVatSetTypeId: "None", priceTypeId: "totalGross" }); /*]]>*/ </script></span></div></li></ul></div><div class="Clearer"><!--Hidden clearer--></div><div class="CBTaxExemption"><!--//5--></div></div><div id="cleverCartBottom"><noscript><div id="cleverCartUpdate"><span class="CBSubmit"><span class="CBTop"><span class="CBRight"><span class="CBBottom"><span class="CBLeft"><input type="submit" class="CBSubmit" tabindex="12" name="buttonupdate" value="Update" /></span></span></span></span></span></div></noscript><div class="Clearer"><!--Hidden clearer--></div></div><div class="blockContentClearer"><!--//23--></div></div></div><input type="hidden" name="x-frstat" value=",0,1,0,1,0,0,0,1,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,1,0,0,0,0,1,0,1,0,1,0,0,0,1,0,0"></div><div id="cleverDelivery" class=""><div class="block"><div class="blockHeadline"><h1><font><font>??????</font></font></h1><!--//21--></div><div class="blockContent"><div class="blockContentIntro"><span class="CBText"><p><font><font>?????? ??????? ???? ??????????? ? ??????.</font></font></p></span><span class="CBText NoteRequiredSymbol"><font><font>???? ???????? ?? </font></font><span class="requiredSymbol"><font><font>*</font></font></span><font><font> ?? ????????.</font></font></span></div><div class="CBWrapper interactSetContactDataOneColumn"><div class="CBWrapper" id="deliveryContactLeft"><input type="hidden" id="cbiID0EDCBIBOA" name="deliveryClearKatakana" value="true"><fieldset class="fieldset CBFieldsetName CBFieldsetNameRow"><legend><font><font>???</font></font></legend><div class="interact interactRequired deliveryFirstname CBLabelOverlay"><div class="interactLabel interactLabelRequired"><label id="label_cbiID0ECABCCBIBOA" class=" CBJSFold" for="cbiID0ECABCCBIBOA"><span class="interactLabel interactLabelRequired"><span class="requiredSymbol"><font><font>*</font></font></span><font><font> ???</font></font></span></label></div><div class="interactField interactFieldRequired"><input type="text" class="inputText large" id="cbiID0ECABCCBIBOA" onchange="cbBind('cbChangeInteractLabel[targetId{label_cbiID0ECABCCBIBOA}];', this, event);" onkeyup="cbBind('cbKeyInteractLabel[targetId{label_cbiID0ECABCCBIBOA}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbiID0ECABCCBIBOA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbiID0ECABCCBIBOA}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" tabindex="14" name="deliveryFirstname" value="Dejan" size="20"></div></div><div class="interact interactRequired deliveryLastname CBLabelOverlay"><div class="interactLabel interactLabelRequired"><label id="label_cbiID0ECAACCBIBOA" class=" CBJSFold" for="cbiID0ECAACCBIBOA"><span class="interactLabel interactLabelRequired"><span class="requiredSymbol"><font><font>*</font></font></span><font><font> ???????</font></font></span></label></div><div class="interactField interactFieldRequired"><input type="text" class="inputText large" id="cbiID0ECAACCBIBOA" onchange="cbBind('cbChangeInteractLabel[targetId{label_cbiID0ECAACCBIBOA}];', this, event);" onkeyup="cbBind('cbKeyInteractLabel[targetId{label_cbiID0ECAACCBIBOA}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbiID0ECAACCBIBOA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbiID0ECAACCBIBOA}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" tabindex="15" name="deliveryLastname" value="Knele" size="20"></div></div></fieldset><input type="hidden" id="cbiID0EBCBIBOA" name="deliveryClearRomanized" value="true"><fieldset class="fieldset CBFieldsetAddress CBFieldsetAddressEu"><legend><font><font>??????</font></font></legend><div class="interact interactRequired deliveryStreet1 CBLabelOverlay" id="cbiID0EEACBIBOA"><div class="interactLabel interactLabelRequired"><label id="label_cbiID0ECAEACBIBOA" class=" CBJSFold" for="cbiID0ECAEACBIBOA"><span class="interactLabel interactLabelRequired"><span class="requiredSymbol"><font><font>*</font></font></span><font><font> ??????</font></font></span></label></div><div class="interactField interactFieldRequired"><input type="text" class="inputText large" id="cbiID0ECAEACBIBOA" onchange="cbBind('cbChangeInteractLabel[targetId{label_cbiID0ECAEACBIBOA}];', this, event);" onkeyup="cbBind('cbKeyInteractLabel[targetId{label_cbiID0ECAEACBIBOA}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbiID0ECAEACBIBOA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbiID0ECAEACBIBOA}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" tabindex="17" name="deliveryStreet1" value="Jovana Subotica" size="20"></div></div><div class="interact interactRequired deliveryPostalcode CBLabelOverlay"><div class="interactLabel interactLabelRequired"><label id="label_cbiID0ECACACBIBOA" class=" CBJSFold" for="cbiID0ECACACBIBOA"><span class="interactLabel interactLabelRequired"><span class="requiredSymbol"><font><font>*</font></font></span><font><font> / ????????? ????</font></font></span></label></div><div class="interactField interactFieldRequired"><input type="text" class="inputText medium" id="cbiID0ECACACBIBOA" onchange="cbBind('cbChangeInteractLabel[targetId{label_cbiID0ECACACBIBOA}];', this, event);" onkeyup="cbBind('cbKeyInteractLabel[targetId{label_cbiID0ECACACBIBOA}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbiID0ECACACBIBOA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbiID0ECACACBIBOA}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" tabindex="19" name="deliveryPostalcode" value="11000" size="5"></div></div><div class="interact interactRequired deliveryCity CBLabelOverlay" id="cbiID0EBACBIBOA"><div class="interactLabel interactLabelRequired"><label id="label_cbiID0ECABACBIBOA" class=" CBJSFold" for="cbiID0ECABACBIBOA"><span class="interactLabel interactLabelRequired"><span class="requiredSymbol"><font><font>*</font></font></span><font><font> ????</font></font></span></label></div><div class="interactField interactFieldRequired"><input type="text" class="inputText large" id="cbiID0ECABACBIBOA" onchange="cbBind('cbChangeInteractLabel[targetId{label_cbiID0ECABACBIBOA}];', this, event);" onkeyup="cbBind('cbKeyInteractLabel[targetId{label_cbiID0ECABACBIBOA}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbiID0ECABACBIBOA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbiID0ECABACBIBOA}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" tabindex="20" name="deliveryCity" value="Beograd" size="20"></div></div><div class="interact interactRequired deliveryCountryId CBLabelOverlay"><div class="interactField interactFieldRequired"><select class="inputSelect large CBEvent" id="deliveryListenerStateId" onchange="cbBind('cbSubmit[validation{none}];cbChangeInteractLabel[targetId{label_deliveryListenerStateId}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_deliveryListenerStateId}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_deliveryListenerStateId}];', this, event);" tabindex="21" value="" name="deliveryCountryId"><option value=""><font><font>* ?????</font></font></option><optgroup label=""><option value="AU"><font><font>??????????</font></font></option><option value="CA"><font><font>??????</font></font></option><option value="FR"><font><font>?????????</font></font></option><option value="DE"><font><font>???????</font></font></option><option value="NL"><font><font>?????????</font></font></option><option value="CH"><font><font>??????????</font></font></option><option value="GB"><font><font>????????? ??????????</font></font></option><option value="US"><font><font>????????? ???????? ??????</font></font></option></optgroup><optgroup label="---- All countries ----"><option value="AF"><font><font>??????????</font></font></option><option value="AX"><font><font>???????? ??????</font></font></option><option value="AL"><font><font>????????</font></font></option><option value="DZ"><font><font>?????</font></font></option><option value="AS"><font><font>???????? ?????</font></font></option><option value="AD"><font><font>??????</font></font></option><option value="AO"><font><font>??????</font></font></option><option value="AI"><font><font>???????</font></font></option><option value="AQ"><font><font>?????????</font></font></option><option value="AG"><font><font>??????? ? ???????</font></font></option><option value="AR"><font><font>?????????</font></font></option><option value="AM"><font><font>?????????</font></font></option><option value="AW"><font><font>?????</font></font></option><option value="AU"><font><font>??????????</font></font></option><option value="AT"><font><font>????????</font></font></option><option value="AZ"><font><font>??????????</font></font></option><option value="BS"><font><font>??????</font></font></option><option value="BH"><font><font>???????</font></font></option><option value="BD"><font><font>?????????</font></font></option><option value="BB"><font><font>????????</font></font></option><option value="BY"><font><font>??????????</font></font></option><option value="BE"><font><font>???????</font></font></option><option value="BZ"><font><font>??????</font></font></option><option value="BJ"><font><font>?????</font></font></option><option value="BM"><font><font>???????</font></font></option><option value="BT"><font><font>?????</font></font></option><option value="BO"><font><font>????????</font></font></option><option value="BQ"><font><font>?????, ???? ????????? ? ????</font></font></option><option value="BA"><font><font>????? ? ???????????</font></font></option><option value="BW"><font><font>???????</font></font></option><option value="BV"><font><font>?????? ????</font></font></option><option value="BR"><font><font>??????</font></font></option><option value="IO"><font><font>????????? ?????????? ????????? ??????</font></font></option><option value="BN"><font><font>??????</font></font></option><option value="BG"><font><font>????????</font></font></option><option value="BF"><font><font>??????? ????</font></font></option><option value="BI"><font><font>???????</font></font></option><option value="KH"><font><font>???????</font></font></option><option value="CM"><font><font>???????</font></font></option><option value="CA"><font><font>??????</font></font></option><option value="IC"><font><font>???????? ??????</font></font></option><option value="CV"><font><font>???? ?????</font></font></option><option value="KY"><font><font>????????? ??????</font></font></option><option value="CF"><font><font>???????????????? ?????????</font></font></option><option value="TD"><font><font>???</font></font></option><option value="GG"><font><font>???????? ?????? - ??????</font></font></option><option value="JE"><font><font>???????? ?????? - ?????</font></font></option><option value="CL"><font><font>????</font></font></option><option value="CN"><font><font>????</font></font></option><option value="CX"><font><font>??????? ??????</font></font></option><option value="CC"><font><font>????? (??????) ??????</font></font></option><option value="CO"><font><font>?????????</font></font></option><option value="KM"><font><font>??????</font></font></option><option value="CG"><font><font>?????</font></font></option><option value="CD"><font><font>?????, ??????????? ?????????</font></font></option><option value="CK"><font><font>?????? ??????</font></font></option><option value="CR"><font><font>?????????</font></font></option><option value="CI"><font><font>????? ?????????</font></font></option><option value="HR"><font><font>????????</font></font></option><option value="CW"><font><font>???????</font></font></option><option value="CY"><font><font>?????</font></font></option><option value="CZ"><font><font>?????</font></font></option><option value="DK"><font><font>??????</font></font></option><option value="DJ"><font><font>??????</font></font></option><option value="DM"><font><font>????????</font></font></option><option value="DO"><font><font>???????????? ?????????</font></font></option><option value="EC"><font><font>???????</font></font></option><option value="EG"><font><font>??????</font></font></option><option value="SV"><font><font>?? ????????</font></font></option><option value="GQ"><font><font>????????????? ???????</font></font></option><option value="ER"><font><font>????????</font></font></option><option value="EE"><font><font>????????</font></font></option><option value="ET"><font><font>????????</font></font></option><option value="FK"><font><font>?????????? ?????? (????????)</font></font></option><option value="FO"><font><font>?????? ??????</font></font></option><option value="FJ"><font><font>????</font></font></option><option value="FI"><font><font>??????</font></font></option><option value="FR"><font><font>?????????</font></font></option><option value="GF"><font><font>????????? ???????</font></font></option><option value="PF"><font><font>????????? ??????????</font></font></option><option value="TF"><font><font>????????? ????? ??????????</font></font></option><option value="GA"><font><font>?????</font></font></option><option value="GM"><font><font>???????</font></font></option><option value="GE"><font><font>???????</font></font></option><option value="DE"><font><font>???????</font></font></option><option value="GH"><font><font>????</font></font></option><option value="GI"><font><font>?????????</font></font></option><option value="GR"><font><font>?????</font></font></option><option value="GL"><font><font>????????</font></font></option><option value="GD"><font><font>???????</font></font></option><option value="GP"><font><font>????????</font></font></option><option value="GU"><font><font>????</font></font></option><option value="GT"><font><font>?????????</font></font></option><option value="GN"><font><font>???????</font></font></option><option value="GW"><font><font>??????? ?????</font></font></option><option value="GY"><font><font>???????</font></font></option><option value="HT"><font><font>?????</font></font></option><option value="HM"><font><font>??? ???. </font><font>? ???????? ???.</font></font></option><option value="VA"><font><font>????? ??????? (???????)</font></font></option><option value="HN"><font><font>????????</font></font></option><option value="HK"><font><font>????????</font></font></option><option value="HU"><font><font>????????</font></font></option><option value="IS"><font><font>??????</font></font></option><option value="IN"><font><font>??????</font></font></option><option value="ID"><font><font>??????????</font></font></option><option value="IQ"><font><font>????</font></font></option><option value="IE"><font><font>?????</font></font></option><option value="IM"><font><font>?????? ???</font></font></option><option value="IL"><font><font>??????</font></font></option><option value="IT"><font><font>???????</font></font></option><option value="JM"><font><font>???????</font></font></option><option value="JP"><font><font>?????</font></font></option><option value="JO"><font><font>??????</font></font></option><option value="KZ"><font><font>?????????</font></font></option><option value="KE"><font><font>??????</font></font></option><option value="KI"><font><font>????????</font></font></option><option value="KR"><font><font>????????? ??????</font></font></option><option value="KW"><font><font>??????</font></font></option><option value="KG"><font><font>?????????</font></font></option><option value="LA"><font><font>????</font></font></option><option value="LV"><font><font>????????</font></font></option><option value="LB"><font><font>?????</font></font></option><option value="LS"><font><font>??????</font></font></option><option value="LR"><font><font>????????</font></font></option><option value="LY"><font><font>??????</font></font></option><option value="LI"><font><font>???????????</font></font></option><option value="LT"><font><font>?????????</font></font></option><option value="LU"><font><font>??????????</font></font></option><option value="MO"><font><font>?????</font></font></option><option value="MK"><font><font>??????????, ????? ??????. </font><font>???</font></font></option><option value="MG"><font><font>??????????</font></font></option><option value="MW"><font><font>??????</font></font></option><option value="MY"><font><font>????????</font></font></option><option value="MV"><font><font>???????</font></font></option><option value="ML"><font><font>????</font></font></option><option value="MT"><font><font>?????</font></font></option><option value="MH"><font><font>????????? ??????</font></font></option><option value="MQ"><font><font>????????</font></font></option><option value="MR"><font><font>???????????</font></font></option><option value="MU"><font><font>??????????</font></font></option><option value="YT"><font><font>??????</font></font></option><option value="MX"><font><font>???????</font></font></option><option value="FM"><font><font>???????????, ????????? ??????</font></font></option><option value="MD"><font><font>?????????, ?????????</font></font></option><option value="MC"><font><font>??????</font></font></option><option value="MN"><font><font>?????????</font></font></option><option value="ME"><font><font>???? ????</font></font></option><option value="MS"><font><font>????????</font></font></option><option value="MA"><font><font>??????</font></font></option><option value="MZ"><font><font>????????</font></font></option><option value="NA"><font><font>????????</font></font></option><option value="NR"><font><font>?????</font></font></option><option value="NP"><font><font>?????</font></font></option><option value="NL"><font><font>?????????</font></font></option><option value="NC"><font><font>???? ??????????</font></font></option><option value="NZ"><font><font>???? ??????</font></font></option><option value="NI"><font><font>?????????</font></font></option><option value="NE"><font><font>?????</font></font></option><option value="NG"><font><font>????????</font></font></option><option value="NU"><font><font>????</font></font></option><option value="NF"><font><font>?????? ???????</font></font></option><option value="MP"><font><font>??????? ?????????? ??????</font></font></option><option value="NO"><font><font>????????</font></font></option><option value="OM"><font><font>????</font></font></option><option value="PK"><font><font>????????</font></font></option><option value="PW"><font><font>?????</font></font></option><option value="PS"><font><font>?????????? ?????????, ???????</font></font></option><option value="PA"><font><font>??????</font></font></option><option value="PG"><font><font>????? ???? ???????</font></font></option><option value="PY"><font><font>????????</font></font></option><option value="PE"><font><font>????</font></font></option><option value="PH"><font><font>????????</font></font></option><option value="PN"><font><font>???????</font></font></option><option value="PL"><font><font>??????</font></font></option><option value="PT"><font><font>???????????</font></font></option><option value="PR"><font><font>?????????</font></font></option><option value="QA"><font><font>?????</font></font></option><option value="RE"><font><font>???????</font></font></option><option value="RO"><font><font>????????</font></font></option><option value="RU"><font><font>????? ??????????</font></font></option><option value="RW"><font><font>??????</font></font></option><option value="GS"><font><font>? ??????? ? ?. ??????? ???.</font></font></option><option value="BL"><font><font>????? ??????????</font></font></option><option value="SH"><font><font>????? ??????</font></font></option><option value="KN"><font><font>????? ???? ? ?????</font></font></option><option value="LC"><font><font>????? ??????</font></font></option><option value="MF"><font><font>????? ?????? (????????? ???)</font></font></option><option value="PM"><font><font>???? ???? ? ???????</font></font></option><option value="WS"><font><font>?????</font></font></option><option value="SM"><font><font>??? ??????</font></font></option><option value="ST"><font><font>??? ???? ? ????????</font></font></option><option value="SA"><font><font>????????? ???????</font></font></option><option value="SN"><font><font>???????</font></font></option><option value="RS" selected="selected"><font><font>??????</font></font></option><option value="SC"><font><font>???????</font></font></option><option value="SL"><font><font>?????? ?????</font></font></option><option value="SG"><font><font>????????</font></font></option><option value="SX"><font><font>???? ???????</font></font></option><option value="SK"><font><font>????????</font></font></option><option value="SI"><font><font>?????????</font></font></option><option value="SB"><font><font>?????????? ??????</font></font></option><option value="SO"><font><font>????????</font></font></option><option value="ZA"><font><font>????? ??????</font></font></option><option value="SS"><font><font>????? ?????</font></font></option><option value="ES"><font><font>???????</font></font></option><option value="LK"><font><font>??? ?????</font></font></option><option value="VC"><font><font>????? ??????? ? ?????????</font></font></option><option value="SR"><font><font>???????</font></font></option><option value="SJ"><font><font>???????? ? ??? ?????</font></font></option><option value="SZ"><font><font>?????????</font></font></option><option value="SE"><font><font>???????</font></font></option><option value="CH"><font><font>??????????</font></font></option><option value="TW"><font><font>??????</font></font></option><option value="TJ"><font><font>??????????</font></font></option><option value="TZ"><font><font>?????????, ????????? ?????????</font></font></option><option value="TH"><font><font>???????</font></font></option><option value="TL"><font><font>??????? ?????</font></font></option><option value="TG"><font><font>????</font></font></option><option value="TK"><font><font>???????</font></font></option><option value="TO"><font><font>???? ?????????</font></font></option><option value="TT"><font><font>???????? ? ??????</font></font></option><option value="TN"><font><font>?????</font></font></option><option value="TR"><font><font>??????</font></font></option><option value="TM"><font><font>????????????</font></font></option><option value="TC"><font><font>?????? ????? ? ??????</font></font></option><option value="TV"><font><font>??????</font></font></option><option value="UM"><font><font>??? ??? ??????? ??????</font></font></option><option value="UG"><font><font>??????</font></font></option><option value="UA"><font><font>????????</font></font></option><option value="AE"><font><font>????????? ??????? ???????</font></font></option><option value="GB"><font><font>????????? ??????????</font></font></option><option value="US"><font><font>????????? ???????? ??????</font></font></option><option value="UY"><font><font>???????</font></font></option><option value="UZ"><font><font>??????????</font></font></option><option value="VU"><font><font>???????</font></font></option><option value="VE"><font><font>?????????</font></font></option><option value="VN"><font><font>????????</font></font></option><option value="VG"><font><font>????????? ?????????? ??????</font></font></option><option value="VI"><font><font>?????????? ??????, ???</font></font></option><option value="WF"><font><font>????? ? ??????</font></font></option><option value="EH"><font><font>??????? ??????</font></font></option><option value="YE"><font><font>?????</font></font></option><option value="ZM"><font><font>???????</font></font></option><option value="ZW"><font><font>????????</font></font></option></optgroup></select></div></div></fieldset></div><div class="CBWrapper" id="deliveryContactRight"><fieldset class="fieldset CBFieldsetContact"><legend><font><font>???????</font></font></legend><div class="CBWrapper" id="deliveryContactEmailNote"><!--//19--></div><div class="CBWrapper" id="deliveryContactEmailInput"><div class="interact interactRequired deliveryEmail CBLabelOverlay"><div class="interactLabel interactLabelRequired"><label id="label_cbiID0ECAACBBBIBOA" class=" CBJSFold" for="cbiID0ECAACBBBIBOA"><span class="interactLabel interactLabelRequired"><span class="requiredSymbol"><font><font>*</font></font></span><font><font> ?-????</font></font></span></label></div><div class="interactField interactFieldRequired"><input type="text" class="inputText large" id="cbiID0ECAACBBBIBOA" onchange="cbBind('cbChangeInteractLabel[targetId{label_cbiID0ECAACBBBIBOA}];', this, event);" onkeyup="cbBind('cbKeyInteractLabel[targetId{label_cbiID0ECAACBBBIBOA}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbiID0ECAACBBBIBOA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbiID0ECAACBBBIBOA}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" tabindex="22" name="deliveryEmail" value="dejan.1901@hotmail.com" autocorrect="off" autocapitalize="off" size="20"></div></div></div></fieldset><fieldset class="fieldset CBFieldsetCompany"><legend><font><font>???????</font></font></legend><div class="interact deliveryCompany CBLabelOverlay" id="cbiID0EAABBIBOA"><div class="interactLabel"><label id="label_cbiID0ECAAABBIBOA" class=" CBJSFold" for="cbiID0ECAAABBIBOA"><span class="interactLabel"><font><font>???????</font></font></span></label></div><div class="interactField"><input type="text" class="inputText large" id="cbiID0ECAAABBIBOA" onchange="cbBind('cbChangeInteractLabel[targetId{label_cbiID0ECAAABBIBOA}];', this, event);" onkeyup="cbBind('cbKeyInteractLabel[targetId{label_cbiID0ECAAABBIBOA}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbiID0ECAAABBIBOA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbiID0ECAAABBIBOA}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" tabindex="25" name="deliveryCompany" value="Tanex" size="20"></div></div></fieldset></div><div class="Clearer"><!--Hidden clearer--></div></div><div class="CBWrapper" id="cleverNewsletterCheckbox"><input type="checkbox" class="inputCheckbox" tabindex="26" id="cbiID0EBAIBOA" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" name="x-newsletter" value="YES" checked="checked"><input type="hidden" value="NO" name="notifier_x-newsletter"><label for="cbiID0EBAIBOA"><span class="inputCheckboxLabel"><font><font>??! </font><font>?????? ??? ?? ?? ? ???????????? ?????? ? ???????? ?? ????????, ??????????, ??????????? ???????? ? ?????? ???????.</font></font></span></label><div class="Clearer"><!--Hidden clearer--></div></div><div class="blockContentClearer"><!--//23--></div></div></div></div><input type="hidden" id="cbiID0EHBOA" name="copyDeliveryToBillingIn" value="YES"><input type="hidden" id="cbiID0EGBOA" name="copyDeliveryToLicenseeIn" value="YES"><div id="cleverPayment" class=""><div class="block"><div class="blockHeadline"><h1><font><font class="">?????? poklona</font></font></h1><!--//21--></div><div class="blockContent"><div class="CBWrapper"><div class="interact gratisSubTypeId CBLabelOverlay"><div class="interactLabel interactLabelRequired"><label id="label_handlerCleverPaymentTypeCca" for="handlerCleverPaymentTypeCca"><span class="interactLabel interactLabelRequired"><span class="requiredSymbol"><font><font>*</font></font></span><font><font> ??????? ??????</font></font></span></label></div><div class="interactField interactFieldRequired"><span class="messageError"><font><font>????????? ?????? poklona.</font></font></span><ul class="CBList CBPaymentsList"><li class="CBListItem"><div class="CBWrapper CBPaymentName"><div class="radio CBEvent"><input type="radio" class="inputRadio CBEvent" tabindex="31" id="handlerCleverPaymentTypeCca" onclick="cbBind('cbDisplay[targetId{cleverPaymentCca},listenerValueWhiteList{list:[CCA,CCA_VIS,CCA_VID,CCA_MAS,CCA_AMX,CCA_JCB,CRD]}];cbFold[targetId{cleverGratisPpa}];cbFold[targetId{clevergratisWtr}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" name="GratisSubTypeId" value="CRD"><label for="handlerCleverGratisTypeCca"><span class="radioLabel CBEvent"><font><font>???????? ???????</font></font></span></label></div><div class="CBTabs CBPaymentIconsList"><div class="CBTabsOuter"><div class="CBTabsInner"><ul class="CBTabs"><li title="????" class="CBTab CBPaymentIcon_CCA_VIS"><span class="CBTab CBPaymentIcon_CCA_VIS"><font><font>Email</font></font></span></li><li title="Email" class="CBTab CBPaymentIcon_CCA_MAS"><span class="CBTab CBPaymentIcon_CCA_MAS"><font><font>Email</font></font></span></li><li title="dejan.1901@hotmail.com" class="CBTab CBPaymentIcon_CCA_AMX"><span class="CBTab CBPaymentIcon_CCA_AMX"><font><font>Email</font></font></span></li><li title="???" class="CBTab CBPaymentIcon_CCA_JCB"><span class="CBTab CBPaymentIcon_CCA_JCB"><font><font>???</font></font></span></li></ul><div class="Clearer"><!--//8--></div></div></div></div></div><div class="CBWrapper CBPaymentDetails CBJSFold" id="cleverPaymentCca"><span class="CBText"><font><font>??????? ? ???????? ??????????? ? Email.</font></font></span><div class="CBWrapper"><div class="interact interactRequired Gratis na email dejan.1901@hotmail.com. CBLabelOverlay"><div class="interactLabel interactLabelRequired"><label id="label_cbiID0ECABCACAACAAAEBOA" for="cbiID0ECABCACAACAAAEBOA"><span class="interactLabel interactLabelRequired"><span class="requiredSymbol"><font><font>*</font></font></span><font><font> email "dejan.1901@hotmail.com</font></font></span></label></div><div class="interactField interactFieldRequired"><input type="text" class="inputText inputTextRequired large" id="cbiID0ECABCACAACAAAEBOA" onchange="cbBind('cbChangeInteractLabel[targetId{label_cbiID0ECABCACAACAAAEBOA}];', this, event);" onkeyup="cbBind('cbKeyInteractLabel[targetId{label_cbiID0ECABCACAACAAAEBOA}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbiID0ECABCACAACAAAEBOA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbiID0ECABCACAACAAAEBOA}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" tabindex="32" name="Gratis Email dejan.1901@hotmail.com" autocomplete="off" size="20"></div></div><div class="Clearer"><!--Hidden clearer--></div></div><div class="CBWrapper"><fieldset class="fieldset"><legend><font><font>??? ????????</font></font></legend><div class="interact interactRequired paymentCardValidToMonth CBLabelOverlay"><div class="interactField interactFieldRequired"><select class="inputSelect inputSelectRequired medium" id="cbiID0ECABCBACAACAAAEBOA" onchange="cbBind('cbChangeInteractLabel[targetId{label_cbiID0ECABCBACAACAAAEBOA}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbiID0ECABCBACAACAAAEBOA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbiID0ECABCBACAACAAAEBOA}];', this, event);" tabindex="33" value="" name="Gratis Email dejan.1901@hotmail.com"><option value=""><font><font>* ?????</font></font></option><option value="1"><font><font>01</font></font></option><option value="2"><font><font>02</font></font></option><option value="3"><font><font>03</font></font></option><option value="4"><font><font>04</font></font></option><option value="5"><font><font>05</font></font></option><option value="6"><font><font>06</font></font></option><option value="7"><font><font>07</font></font></option><option value="8"><font><font>08</font></font></option><option value="9"><font><font>09</font></font></option><option value="10"><font><font>10</font></font></option><option value="11"><font><font>11</font></font></option><option value="12"><font><font>12</font></font></option></select></div></div><div class="interact interactRequired paymentCardValidToYear CBLabelOverlay"><div class="interactField interactFieldRequired"><select class="inputSelect inputSelectRequired medium" id="cbiID0ECAACBACAACAAAEBOA" onchange="cbBind('cbChangeInteractLabel[targetId{label_cbiID0ECAACBACAACAAAEBOA}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbiID0ECAACBACAACAAAEBOA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbiID0ECAACBACAACAAAEBOA}];', this, event);" tabindex="34" value="" name="paymentCardValidToYear"><option value=""><font><font>* ??????</font></font></option><option value="2013"><font><font>2013</font></font></option><option value="2014"><font><font>2014</font></font></option><option value="2015"><font><font>2015</font></font></option><option value="2016"><font><font>2016</font></font></option><option value="2017"><font><font>2017</font></font></option><option value="2018"><font><font>2018</font></font></option><option value="2019"><font><font>2019</font></font></option><option value="2020"><font><font>2020</font></font></option><option value="2021"><font><font>2021</font></font></option><option value="2022"><font><font>2022</font></font></option><option value="2023"><font><font>2023</font></font></option><option value="2024"><font><font>2024</font></font></option><option value="2025"><font><font>2025</font></font></option><option value="2026"><font><font>2026</font></font></option><option value="2027"><font><font>2027</font></font></option></select></div></div></fieldset><div class="interact interactRequired paymentCardCvv CBLabelOverlay CBInteractInfoPopup"><div class="interactLabel interactLabelRequired"><label id="label_cbiID0ECABBACAACAAAEBOA" for="cbiID0ECABBACAACAAAEBOA"><span class="interactLabel interactLabelRequired"><span class="requiredSymbol"><font><font>*</font></font></span><font><font> ?????????? ???</font></font></span></label></div><div class="interactField interactFieldRequired"><input type="text" class="inputText inputTextRequired small" id="cbiID0ECABBACAACAAAEBOA" onchange="cbBind('cbChangeInteractLabel[targetId{label_cbiID0ECABBACAACAAAEBOA}];', this, event);" onkeyup="cbBind('cbKeyInteractLabel[targetId{label_cbiID0ECABBACAACAAAEBOA}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbiID0ECABBACAACAAAEBOA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbiID0ECABBACAACAAAEBOA}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" tabindex="35" name="Gratis Email na dejan.1901@hotmail.com" autocomplete="off" size="4"><a class="CBHyperLink CBEvent" id="cbiID0EACABBACAACAAAEBOA" href="javascript:void(null);" onmouseover="cbBind('cbPopLayer[layerId{cleverLayerPopupHelp},layerPosition{mouse},layerContentNodeId{webOrderProcessHelp.helpCvv},layerHeadNodeId{webOrderProcessHelp.contextHelp},layerCloseNodeId{webOrderProcessHelp.close}];', this, event);"><span class="CBHyperLink CBEvent"><!--//16--></span></a></div></div><div class="Clearer"><!--Hidden clearer--></div></div><div class="CBWrapper"><div class="interact interactRequired GratistHolder CBLabelOverlay"><div class="interactLabel interactLabelRequired"><label id="label_cbiID0ECABAACAACAAAEBOA" for="cbiID0ECABAACAACAAAEBOA"><span class="interactLabel interactLabelRequired"><span class="requiredSymbol"><font><font>*</font></font></span><font><font> ??? ???????? ???????</font></font></span></label></div><div class="interactField interactFieldRequired"><input type="text" class="inputText inputTextRequired large" id="cbiID0ECABAACAACAAAEBOA" onchange="cbBind('cbChangeInteractLabel[targetId{label_cbiID0ECABAACAACAAAEBOA}];', this, event);" onkeyup="cbBind('cbKeyInteractLabel[targetId{label_cbiID0ECABAACAACAAAEBOA}];', this, event);" onfocus="cbBind('cbFocus[];cbFocusInteractLabel[targetId{label_cbiID0ECABAACAACAAAEBOA}];', this, event);" onblur="cbBind('cbBlur[];cbBlurInteractLabel[targetId{label_cbiID0ECABAACAACAAAEBOA}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" tabindex="36" name="paymentCardHolder" size="20"></div></div><div class="Clearer"><!--Hidden clearer--></div></div></div></li><li class="CBListItem"><div class="CBWrapper CBGratisName"><div class="radio CBEvent"><input type="radio" class="inputRadio CBEvent" tabindex="37" id="handlerCleverGratisTypePpa" onclick="cbBind('cbFold[targetId{cleverPaymentCca}];cbDisplay[targetId{cleverGratisPpa}];cbFold[targetId{cleverGratisWtr}];', this, event);" onkeypress="cbBind('cbCheckKeySubmit[];', this, event);" name="GratisSubTypeId" value="PPA"><label for="handlerCleverGratisTypePpa"><span class="radioLabel CBEvent"><font><font>Gratis</font></font></span></label></div><div class="CBTabs CBPaymentIconsList"><div class="CBTabsOuter"><div class="CBTabsInner"><ul class="CBTabs"><li title="Gratis" class="CBTab CBPaymentIcon_PPA_STD"><span class="CBTab CBPaymentIcon_PPA_STD"><font><font>??????</font></font></span></li></ul><div class="Clearer"><!--//8--></div></div><
bloomsburyai / Cape Document QaThis repo contains a machine reading model, built on top of on document-qa, a powerful machine reading library and recent state of the art approach in open domain question answering.
Lifestylerr / DAWD/*The MIT License (MIT) Copyright (c) 2015 Apostolique Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.*/ // ==UserScript== // @name AposLauncher // @namespace AposLauncher // @include http://agar.io/* // @version 4.124 // @grant none // @author http://www.twitch.tv/apostolique // ==/UserScript== var aposLauncherVersion = 4.124; Number.prototype.mod = function(n) { return ((this % n) + n) % n; }; Array.prototype.peek = function() { return this[this.length - 1]; }; var sha = "efde0488cc2cc176db48dd23b28a20b90314352b"; function getLatestCommit() { window.jQuery.ajax({ url: "https://api.github.com/repos/apostolique/Agar.io-bot/git/refs/heads/master", cache: false, dataType: "jsonp" }).done(function(data) { console.dir(data.data); console.log("hmm: " + data.data.object.sha); sha = data.data.object.sha; function update(prefix, name, url) { window.jQuery(document.body).prepend("<div id='" + prefix + "Dialog' style='position: absolute; left: 0px; right: 0px; top: 0px; bottom: 0px; z-index: 100; display: none;'>"); window.jQuery('#' + prefix + 'Dialog').append("<div id='" + prefix + "Message' style='width: 350px; background-color: #FFFFFF; margin: 100px auto; border-radius: 15px; padding: 5px 15px 5px 15px;'>"); window.jQuery('#' + prefix + 'Message').append("<h2>UPDATE TIME!!!</h2>"); window.jQuery('#' + prefix + 'Message').append("<p>Grab the update for: <a id='" + prefix + "Link' href='" + url + "' target=\"_blank\">" + name + "</a></p>"); window.jQuery('#' + prefix + 'Link').on('click', function() { window.jQuery("#" + prefix + "Dialog").hide(); window.jQuery("#" + prefix + "Dialog").remove(); }); window.jQuery("#" + prefix + "Dialog").show(); } window.jQuery.get('https://raw.githubusercontent.com/Apostolique/Agar.io-bot/master/launcher.user.js?' + Math.floor((Math.random() * 1000000) + 1), function(data) { var latestVersion = data.replace(/(\r\n|\n|\r)/gm, ""); latestVersion = latestVersion.substring(latestVersion.indexOf("// @version") + 11, latestVersion.indexOf("// @grant")); latestVersion = parseFloat(latestVersion + 0.0000); var myVersion = parseFloat(aposLauncherVersion + 0.0000); if (latestVersion > myVersion) { update("aposLauncher", "launcher.user.js", "https://github.com/Apostolique/Agar.io-bot/blob/" + sha + "/launcher.user.js/"); } console.log('Current launcher.user.js Version: ' + myVersion + " on Github: " + latestVersion); }); }).fail(function() {}); } getLatestCommit(); console.log("Running Bot Launcher!"); (function(d, e) { //UPDATE function keyAction(e) { if (84 == e.keyCode) { console.log("Toggle"); toggle = !toggle; } if (82 == e.keyCode) { console.log("ToggleDraw"); toggleDraw = !toggleDraw; } if (68 == e.keyCode) { window.setDarkTheme(!getDarkBool()); } if (70 == e.keyCode) { window.setShowMass(!getMassBool()); } if (69 == e.keyCode) { if (message.length > 0) { window.setMessage([]); window.onmouseup = function() {}; window.ignoreStream = true; } else { window.ignoreStream = false; window.refreshTwitch(); } } window.botList[botIndex].keyAction(e); } function humanPlayer() { //Don't need to do anything. return [getPointX(), getPointY()]; } function pb() { //UPDATE window.botList = window.botList || []; window.jQuery('#nick').val(originalName); function HumanPlayerObject() { this.name = "Human"; this.keyAction = function(key) {}; this.displayText = function() { return []; }; this.mainLoop = humanPlayer; } var hpo = new HumanPlayerObject(); window.botList.push(hpo); window.updateBotList(); ya = !0; Pa(); setInterval(Pa, 18E4); var father = window.jQuery("#canvas").parent(); window.jQuery("#canvas").remove(); father.prepend("<canvas id='canvas'>"); G = za = document.getElementById("canvas"); f = G.getContext("2d"); G.onmousedown = function(a) { if (Qa) { var b = a.clientX - (5 + m / 5 / 2), c = a.clientY - (5 + m / 5 / 2); if (Math.sqrt(b * b + c * c) <= m / 5 / 2) { V(); H(17); return } } fa = a.clientX; ga = a.clientY; Aa(); V(); }; G.onmousemove = function(a) { fa = a.clientX; ga = a.clientY; Aa(); }; G.onmouseup = function() {}; /firefox/i.test(navigator.userAgent) ? document.addEventListener("DOMMouseScroll", Ra, !1) : document.body.onmousewheel = Ra; var a = !1, b = !1, c = !1; d.onkeydown = function(l) { //UPDATE if (!window.jQuery('#nick').is(":focus")) { 32 != l.keyCode || a || (V(), H(17), a = !0); 81 != l.keyCode || b || (H(18), b = !0); 87 != l.keyCode || c || (V(), H(21), c = !0); 27 == l.keyCode && Sa(!0); //UPDATE keyAction(l); } }; d.onkeyup = function(l) { 32 == l.keyCode && (a = !1); 87 == l.keyCode && (c = !1); 81 == l.keyCode && b && (H(19), b = !1); }; d.onblur = function() { H(19); c = b = a = !1 }; d.onresize = Ta; d.requestAnimationFrame(Ua); setInterval(V, 40); y && e("#region").val(y); Va(); ha(e("#region").val()); 0 == Ba && y && I(); W = !0; e("#overlays").show(); Ta(); d.location.hash && 6 <= d.location.hash.length && Wa(d.location.hash) } function Ra(a) { J *= Math.pow(.9, a.wheelDelta / -120 || a.detail || 0); //UPDATE 0.07 > J && (J = 0.07); J > 4 / h && (J = 4 / h) } function qb() { if (.4 > h) X = null; else { for (var a = Number.POSITIVE_INFINITY, b = Number.POSITIVE_INFINITY, c = Number.NEGATIVE_INFINITY, l = Number.NEGATIVE_INFINITY, d = 0, p = 0; p < v.length; p++) { var g = v[p]; !g.N() || g.R || 20 >= g.size * h || (d = Math.max(g.size, d), a = Math.min(g.x, a), b = Math.min(g.y, b), c = Math.max(g.x, c), l = Math.max(g.y, l)) } X = rb.ka({ ca: a - 10, da: b - 10, oa: c + 10, pa: l + 10, ma: 2, na: 4 }); for (p = 0; p < v.length; p++) if (g = v[p], g.N() && !(20 >= g.size * h)) for (a = 0; a < g.a.length; ++a) b = g.a[a].x, c = g.a[a].y, b < s - m / 2 / h || c < t - r / 2 / h || b > s + m / 2 / h || c > t + r / 2 / h || X.m(g.a[a]) } } function Aa() { //UPDATE if (toggle || window.botList[botIndex].name == "Human") { setPoint(((fa - m / 2) / h + s), ((ga - r / 2) / h + t)); } } function Pa() { null == ka && (ka = {}, e("#region").children().each(function() { var a = e(this), b = a.val(); b && (ka[b] = a.text()) })); e.get("https://m.agar.io/info", function(a) { var b = {}, c; for (c in a.regions) { var l = c.split(":")[0]; b[l] = b[l] || 0; b[l] += a.regions[c].numPlayers } for (c in b) e('#region option[value="' + c + '"]').text(ka[c] + " (" + b[c] + " players)") }, "json") } function Xa() { e("#adsBottom").hide(); e("#overlays").hide(); W = !1; Va(); d.googletag && d.googletag.pubads && d.googletag.pubads().clear(d.aa) } function ha(a) { a && a != y && (e("#region").val() != a && e("#region").val(a), y = d.localStorage.location = a, e(".region-message").hide(), e(".region-message." + a).show(), e(".btn-needs-server").prop("disabled", !1), ya && I()) } function Sa(a) { W || (K = null, sb(), a && (x = 1), W = !0, e("#overlays").fadeIn(a ? 200 : 3E3)) } function Y(a) { e("#helloContainer").attr("data-gamemode", a); P = a; e("#gamemode").val(a) } function Va() { e("#region").val() ? d.localStorage.location = e("#region").val() : d.localStorage.location && e("#region").val(d.localStorage.location); e("#region").val() ? e("#locationKnown").append(e("#region")) : e("#locationUnknown").append(e("#region")) } function sb() { la && (la = !1, setTimeout(function() { la = !0 //UPDATE }, 6E4 * Ya)) } function Z(a) { return d.i18n[a] || d.i18n_dict.en[a] || a } function Za() { var a = ++Ba; console.log("Find " + y + P); e.ajax("https://m.agar.io/findServer", { error: function() { setTimeout(Za, 1E3) }, success: function(b) { a == Ba && (b.alert && alert(b.alert), Ca("ws://" + b.ip, b.token)) }, dataType: "json", method: "POST", cache: !1, crossDomain: !0, data: (y + P || "?") + "\n154669603" }) } function I() { ya && y && (e("#connecting").show(), Za()) } function Ca(a, b) { if (q) { q.onopen = null; q.onmessage = null; q.onclose = null; try { q.close() } catch (c) {} q = null } Da.la && (a = "ws://" + Da.la); if (null != L) { var l = L; L = function() { l(b) } } if (tb) { var d = a.split(":"); a = d[0] + "s://ip-" + d[1].replace(/\./g, "-").replace(/\//g, "") + ".tech.agar.io:" + (+d[2] + 2E3) } M = []; k = []; E = {}; v = []; Q = []; F = []; z = A = null; R = 0; $ = !1; console.log("Connecting to " + a); //UPDATE serverIP = a; q = new WebSocket(a); q.binaryType = "arraybuffer"; q.onopen = function() { var a; console.log("socket open"); a = N(5); a.setUint8(0, 254); a.setUint32(1, 5, !0); O(a); a = N(5); a.setUint8(0, 255); a.setUint32(1, 154669603, !0); O(a); a = N(1 + b.length); a.setUint8(0, 80); for (var c = 0; c < b.length; ++c) a.setUint8(c + 1, b.charCodeAt(c)); O(a); $a() }; q.onmessage = ub; q.onclose = vb; q.onerror = function() { console.log("socket error") } } function N(a) { return new DataView(new ArrayBuffer(a)) } function O(a) { q.send(a.buffer) } function vb() { $ && (ma = 500); console.log("socket close"); setTimeout(I, ma); ma *= 2 } function ub(a) { wb(new DataView(a.data)) } function wb(a) { function b() { for (var b = "";;) { var d = a.getUint16(c, !0); c += 2; if (0 == d) break; b += String.fromCharCode(d) } return b } var c = 0; 240 == a.getUint8(c) && (c += 5); switch (a.getUint8(c++)) { case 16: xb(a, c); break; case 17: aa = a.getFloat32(c, !0); c += 4; ba = a.getFloat32(c, !0); c += 4; ca = a.getFloat32(c, !0); c += 4; break; case 20: k = []; M = []; break; case 21: Ea = a.getInt16(c, !0); c += 2; Fa = a.getInt16(c, !0); c += 2; Ga || (Ga = !0, na = Ea, oa = Fa); break; case 32: M.push(a.getUint32(c, !0)); c += 4; break; case 49: if (null != A) break; var l = a.getUint32(c, !0), c = c + 4; F = []; for (var d = 0; d < l; ++d) { var p = a.getUint32(c, !0), c = c + 4; F.push({ id: p, name: b() }) } ab(); break; case 50: A = []; l = a.getUint32(c, !0); c += 4; for (d = 0; d < l; ++d) A.push(a.getFloat32(c, !0)), c += 4; ab(); break; case 64: pa = a.getFloat64(c, !0); c += 8; qa = a.getFloat64(c, !0); c += 8; ra = a.getFloat64(c, !0); c += 8; sa = a.getFloat64(c, !0); c += 8; aa = (ra + pa) / 2; ba = (sa + qa) / 2; ca = 1; 0 == k.length && (s = aa, t = ba, h = ca); break; case 81: var g = a.getUint32(c, !0), c = c + 4, e = a.getUint32(c, !0), c = c + 4, f = a.getUint32(c, !0), c = c + 4; setTimeout(function() { S({ e: g, f: e, d: f }) }, 1200) } } function xb(a, b) { bb = C = Date.now(); $ || ($ = !0, e("#connecting").hide(), cb(), L && (L(), L = null)); var c = Math.random(); Ha = !1; var d = a.getUint16(b, !0); b += 2; for (var u = 0; u < d; ++u) { var p = E[a.getUint32(b, !0)], g = E[a.getUint32(b + 4, !0)]; b += 8; p && g && (g.X(), g.s = g.x, g.t = g.y, g.r = g.size, g.J = p.x, g.K = p.y, g.q = g.size, g.Q = C) } for (u = 0;;) { d = a.getUint32(b, !0); b += 4; if (0 == d) break; ++u; var f, p = a.getInt16(b, !0); b += 4; g = a.getInt16(b, !0); b += 4; f = a.getInt16(b, !0); b += 2; for (var h = a.getUint8(b++), w = a.getUint8(b++), m = a.getUint8(b++), h = (h << 16 | w << 8 | m).toString(16); 6 > h.length;) h = "0" + h; var h = "#" + h, w = a.getUint8(b++), m = !!(w & 1), r = !!(w & 16); w & 2 && (b += 4); w & 4 && (b += 8); w & 8 && (b += 16); for (var q, n = "";;) { q = a.getUint16(b, !0); b += 2; if (0 == q) break; n += String.fromCharCode(q) } q = n; n = null; E.hasOwnProperty(d) ? (n = E[d], n.P(), n.s = n.x, n.t = n.y, n.r = n.size, n.color = h) : (n = new da(d, p, g, f, h, q), v.push(n), E[d] = n, n.ua = p, n.va = g); n.h = m; n.n = r; n.J = p; n.K = g; n.q = f; n.sa = c; n.Q = C; n.ba = w; q && n.B(q); - 1 != M.indexOf(d) && -1 == k.indexOf(n) && (document.getElementById("overlays").style.display = "none", k.push(n), n.birth = getLastUpdate(), n.birthMass = (n.size * n.size / 100), 1 == k.length && (s = n.x, t = n.y, db())) //UPDATE interNodes[d] = window.getCells()[d]; } //UPDATE Object.keys(interNodes).forEach(function(element, index) { //console.log("start: " + interNodes[element].updateTime + " current: " + D + " life: " + (D - interNodes[element].updateTime)); var isRemoved = !window.getCells().hasOwnProperty(element); //console.log("Time not updated: " + (window.getLastUpdate() - interNodes[element].getUptimeTime())); if (isRemoved && (window.getLastUpdate() - interNodes[element].getUptimeTime()) > 3000) { delete interNodes[element]; } else { for (var i = 0; i < getPlayer().length; i++) { if (isRemoved && computeDistance(getPlayer()[i].x, getPlayer()[i].y, interNodes[element].x, interNodes[element].y) < getPlayer()[i].size + 710) { delete interNodes[element]; break; } } } }); c = a.getUint32(b, !0); b += 4; for (u = 0; u < c; u++) d = a.getUint32(b, !0), b += 4, n = E[d], null != n && n.X(); //UPDATE //Ha && 0 == k.length && Sa(!1) } //UPDATE function computeDistance(x1, y1, x2, y2) { var xdis = x1 - x2; // <--- FAKE AmS OF COURSE! var ydis = y1 - y2; var distance = Math.sqrt(xdis * xdis + ydis * ydis); return distance; } /** * Some horse shit of some sort. * @return Horse Shit */ function screenDistance() { return Math.min(computeDistance(getOffsetX(), getOffsetY(), screenToGameX(getWidth()), getOffsetY()), computeDistance(getOffsetX(), getOffsetY(), getOffsetX(), screenToGameY(getHeight()))); } window.verticalDistance = function() { return computeDistance(screenToGameX(0), screenToGameY(0), screenToGameX(getWidth()), screenToGameY(getHeight())); } /** * A conversion from the screen's horizontal coordinate system * to the game's horizontal coordinate system. * @param x in the screen's coordinate system * @return x in the game's coordinate system */ window.screenToGameX = function(x) { return (x - getWidth() / 2) / getRatio() + getX(); } /** * A conversion from the screen's vertical coordinate system * to the game's vertical coordinate system. * @param y in the screen's coordinate system * @return y in the game's coordinate system */ window.screenToGameY = function(y) { return (y - getHeight() / 2) / getRatio() + getY(); } window.drawPoint = function(x_1, y_1, drawColor, text) { if (!toggleDraw) { dPoints.push([x_1, y_1, drawColor]); dText.push(text); } } window.drawArc = function(x_1, y_1, x_2, y_2, x_3, y_3, drawColor) { if (!toggleDraw) { var radius = computeDistance(x_1, y_1, x_3, y_3); dArc.push([x_1, y_1, x_2, y_2, x_3, y_3, radius, drawColor]); } } window.drawLine = function(x_1, y_1, x_2, y_2, drawColor) { if (!toggleDraw) { lines.push([x_1, y_1, x_2, y_2, drawColor]); } } window.drawCircle = function(x_1, y_1, radius, drawColor) { if (!toggleDraw) { circles.push([x_1, y_1, radius, drawColor]); } } function V() { //UPDATE if (getPlayer().length == 0 && !reviving && ~~(getCurrentScore() / 100) > 0) { console.log("Dead: " + ~~(getCurrentScore() / 100)); apos('send', 'pageview'); } if (getPlayer().length == 0) { console.log("Revive"); setNick(originalName); reviving = true; } else if (getPlayer().length > 0 && reviving) { reviving = false; console.log("Done Reviving!"); } if (T()) { var a = fa - m / 2; var b = ga - r / 2; 64 > a * a + b * b || .01 > Math.abs(eb - ia) && .01 > Math.abs(fb - ja) || (eb = ia, fb = ja, a = N(13), a.setUint8(0, 16), a.setInt32(1, ia, !0), a.setInt32(5, ja, !0), a.setUint32(9, 0, !0), O(a)) } } function cb() { if (T() && $ && null != K) { var a = N(1 + 2 * K.length); a.setUint8(0, 0); for (var b = 0; b < K.length; ++b) a.setUint16(1 + 2 * b, K.charCodeAt(b), !0); O(a) } } function T() { return null != q && q.readyState == q.OPEN } window.opCode = function(a) { console.log("Sending op code."); H(parseInt(a)); } function H(a) { if (T()) { var b = N(1); b.setUint8(0, a); O(b) } } function $a() { if (T() && null != B) { var a = N(1 + B.length); a.setUint8(0, 81); for (var b = 0; b < B.length; ++b) a.setUint8(b + 1, B.charCodeAt(b)); O(a) } } function Ta() { m = d.innerWidth; r = d.innerHeight; za.width = G.width = m; za.height = G.height = r; var a = e("#helloContainer"); a.css("transform", "none"); var b = a.height(), c = d.innerHeight; b > c / 1.1 ? a.css("transform", "translate(-50%, -50%) scale(" + c / b / 1.1 + ")") : a.css("transform", "translate(-50%, -50%)"); gb() } function hb() { var a; a = Math.max(r / 1080, m / 1920); return a *= J } function yb() { if (0 != k.length) { for (var a = 0, b = 0; b < k.length; b++) a += k[b].size; a = Math.pow(Math.min(64 / a, 1), .4) * hb(); h = (9 * h + a) / 10 } } function gb() { //UPDATE dPoints = []; circles = []; dArc = []; dText = []; lines = []; var a, b = Date.now(); ++zb; C = b; if (0 < k.length) { yb(); for (var c = a = 0, d = 0; d < k.length; d++) k[d].P(), a += k[d].x / k.length, c += k[d].y / k.length; aa = a; ba = c; ca = h; s = (s + a) / 2; t = (t + c) / 2; } else s = (29 * s + aa) / 30, t = (29 * t + ba) / 30, h = (9 * h + ca * hb()) / 10; qb(); Aa(); Ia || f.clearRect(0, 0, m, r); Ia ? (f.fillStyle = ta ? "#111111" : "#F2FBFF", f.globalAlpha = .05, f.fillRect(0, 0, m, r), f.globalAlpha = 1) : Ab(); v.sort(function(a, b) { return a.size == b.size ? a.id - b.id : a.size - b.size }); f.save(); f.translate(m / 2, r / 2); f.scale(h, h); f.translate(-s, -t); //UPDATE f.save(); f.beginPath(); f.lineWidth = 5; f.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); f.moveTo(getMapStartX(), getMapStartY()); f.lineTo(getMapStartX(), getMapEndY()); f.stroke(); f.moveTo(getMapStartX(), getMapStartY()); f.lineTo(getMapEndX(), getMapStartY()); f.stroke(); f.moveTo(getMapEndX(), getMapStartY()); f.lineTo(getMapEndX(), getMapEndY()); f.stroke(); f.moveTo(getMapStartX(), getMapEndY()); f.lineTo(getMapEndX(), getMapEndY()); f.stroke(); f.restore(); for (d = 0; d < v.length; d++) v[d].w(f); for (d = 0; d < Q.length; d++) Q[d].w(f); //UPDATE if (getPlayer().length > 0) { var moveLoc = window.botList[botIndex].mainLoop(); if (!toggle) { setPoint(moveLoc[0], moveLoc[1]); } } customRender(f); if (Ga) { na = (3 * na + Ea) / 4; oa = (3 * oa + Fa) / 4; f.save(); f.strokeStyle = "#FFAAAA"; f.lineWidth = 10; f.lineCap = "round"; f.lineJoin = "round"; f.globalAlpha = .5; f.beginPath(); for (d = 0; d < k.length; d++) f.moveTo(k[d].x, k[d].y), f.lineTo(na, oa); f.stroke(); f.restore(); } f.restore(); z && z.width && f.drawImage(z, m - z.width - 10, 10); R = Math.max(R, Bb()); //UPDATE var currentDate = new Date(); var nbSeconds = 0; if (getPlayer().length > 0) { //nbSeconds = currentDate.getSeconds() + currentDate.getMinutes() * 60 + currentDate.getHours() * 3600 - lifeTimer.getSeconds() - lifeTimer.getMinutes() * 60 - lifeTimer.getHours() * 3600; nbSeconds = (currentDate.getTime() - lifeTimer.getTime()) / 1000; } bestTime = Math.max(nbSeconds, bestTime); var displayText = 'Score: ' + ~~(R / 100) + " Current Time: " + nbSeconds + " seconds."; 0 != R && (null == ua && (ua = new va(24, "#FFFFFF")), ua.C(displayText), c = ua.L(), a = c.width, f.globalAlpha = .2, f.fillStyle = "#000000", f.fillRect(10, r - 10 - 24 - 10, a + 10, 34), f.globalAlpha = 1, f.drawImage(c, 15, r - 10 - 24 - 5)); Cb(); b = Date.now() - b; b > 1E3 / 60 ? D -= .01 : b < 1E3 / 65 && (D += .01);.4 > D && (D = .4); 1 < D && (D = 1); b = C - ib; !T() || W ? (x += b / 2E3, 1 < x && (x = 1)) : (x -= b / 300, 0 > x && (x = 0)); 0 < x && (f.fillStyle = "#000000", f.globalAlpha = .5 * x, f.fillRect(0, 0, m, r), f.globalAlpha = 1); ib = C drawStats(f); } //UPDATE function customRender(d) { d.save(); for (var i = 0; i < lines.length; i++) { d.beginPath(); d.lineWidth = 5; if (lines[i][4] == 0) { d.strokeStyle = "#FF0000"; } else if (lines[i][4] == 1) { d.strokeStyle = "#00FF00"; } else if (lines[i][4] == 2) { d.strokeStyle = "#0000FF"; } else if (lines[i][4] == 3) { d.strokeStyle = "#FF8000"; } else if (lines[i][4] == 4) { d.strokeStyle = "#8A2BE2"; } else if (lines[i][4] == 5) { d.strokeStyle = "#FF69B4"; } else if (lines[i][4] == 6) { d.strokeStyle = "#008080"; } else if (lines[i][4] == 7) { d.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); } else { d.strokeStyle = "#000000"; } d.moveTo(lines[i][0], lines[i][1]); d.lineTo(lines[i][2], lines[i][3]); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < circles.length; i++) { if (circles[i][3] == 0) { d.strokeStyle = "#FF0000"; } else if (circles[i][3] == 1) { d.strokeStyle = "#00FF00"; } else if (circles[i][3] == 2) { d.strokeStyle = "#0000FF"; } else if (circles[i][3] == 3) { d.strokeStyle = "#FF8000"; } else if (circles[i][3] == 4) { d.strokeStyle = "#8A2BE2"; } else if (circles[i][3] == 5) { d.strokeStyle = "#FF69B4"; } else if (circles[i][3] == 6) { d.strokeStyle = "#008080"; } else if (circles[i][3] == 7) { d.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); } else { d.strokeStyle = "#000000"; } d.beginPath(); d.lineWidth = 10; //d.setLineDash([5]); d.globalAlpha = 0.3; d.arc(circles[i][0], circles[i][1], circles[i][2], 0, 2 * Math.PI, false); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < dArc.length; i++) { if (dArc[i][7] == 0) { d.strokeStyle = "#FF0000"; } else if (dArc[i][7] == 1) { d.strokeStyle = "#00FF00"; } else if (dArc[i][7] == 2) { d.strokeStyle = "#0000FF"; } else if (dArc[i][7] == 3) { d.strokeStyle = "#FF8000"; } else if (dArc[i][7] == 4) { d.strokeStyle = "#8A2BE2"; } else if (dArc[i][7] == 5) { d.strokeStyle = "#FF69B4"; } else if (dArc[i][7] == 6) { d.strokeStyle = "#008080"; } else if (dArc[i][7] == 7) { d.strokeStyle = (getDarkBool() ? '#F2FBFF' : '#111111'); } else { d.strokeStyle = "#000000"; } d.beginPath(); d.lineWidth = 5; var ang1 = Math.atan2(dArc[i][1] - dArc[i][5], dArc[i][0] - dArc[i][4]); var ang2 = Math.atan2(dArc[i][3] - dArc[i][5], dArc[i][2] - dArc[i][4]); d.arc(dArc[i][4], dArc[i][5], dArc[i][6], ang1, ang2, false); d.stroke(); } d.restore(); d.save(); for (var i = 0; i < dPoints.length; i++) { if (dText[i] == "") { var radius = 10; d.beginPath(); d.arc(dPoints[i][0], dPoints[i][1], radius, 0, 2 * Math.PI, false); if (dPoints[i][2] == 0) { d.fillStyle = "black"; } else if (dPoints[i][2] == 1) { d.fillStyle = "yellow"; } else if (dPoints[i][2] == 2) { d.fillStyle = "blue"; } else if (dPoints[i][2] == 3) { d.fillStyle = "red"; } else if (dPoints[i][2] == 4) { d.fillStyle = "#008080"; } else if (dPoints[i][2] == 5) { d.fillStyle = "#FF69B4"; } else { d.fillStyle = "#000000"; } d.fill(); d.lineWidth = 2; d.strokeStyle = '#003300'; d.stroke(); } else { var text = new va(18, (getDarkBool() ? '#F2FBFF' : '#111111'), true, (getDarkBool() ? '#111111' : '#F2FBFF')); text.C(dText[i]); var textRender = text.L(); d.drawImage(textRender, dPoints[i][0] - (textRender.width / 2), dPoints[i][1] - (textRender.height / 2)); } } d.restore(); } function drawStats(d) { d.save() sessionScore = Math.max(getCurrentScore(), sessionScore); var botString = window.botList[botIndex].displayText(); var debugStrings = []; debugStrings.push("Bot: " + window.botList[botIndex].name); debugStrings.push("Launcher: AposLauncher " + aposLauncherVersion); debugStrings.push("T - Bot: " + (!toggle ? "On" : "Off")); debugStrings.push("R - Lines: " + (!toggleDraw ? "On" : "Off")); for (var i = 0; i < botString.length; i++) { debugStrings.push(botString[i]); } debugStrings.push(""); debugStrings.push("Best Score: " + ~~(sessionScore / 100)); debugStrings.push("Best Time: " + bestTime + " seconds"); debugStrings.push(""); debugStrings.push(serverIP); if (getPlayer().length > 0) { var offsetX = -getMapStartX(); var offsetY = -getMapStartY(); debugStrings.push("Location: " + Math.floor(getPlayer()[0].x + offsetX) + ", " + Math.floor(getPlayer()[0].y + offsetY)); } var offsetValue = 20; var text = new va(18, (getDarkBool() ? '#F2FBFF' : '#111111')); for (var i = 0; i < debugStrings.length; i++) { text.C(debugStrings[i]); var textRender = text.L(); d.drawImage(textRender, 20, offsetValue); offsetValue += textRender.height; } if (message.length > 0) { var mRender = []; var mWidth = 0; var mHeight = 0; for (var i = 0; i < message.length; i++) { var mText = new va(28, '#FF0000', true, '#000000'); mText.C(message[i]); mRender.push(mText.L()); if (mRender[i].width > mWidth) { mWidth = mRender[i].width; } mHeight += mRender[i].height; } var mX = getWidth() / 2 - mWidth / 2; var mY = 20; d.globalAlpha = 0.4; d.fillStyle = '#000000'; d.fillRect(mX - 10, mY - 10, mWidth + 20, mHeight + 20); d.globalAlpha = 1; var mOffset = mY; for (var i = 0; i < mRender.length; i++) { d.drawImage(mRender[i], getWidth() / 2 - mRender[i].width / 2, mOffset); mOffset += mRender[i].height; } } d.restore(); } function Ab() { f.fillStyle = ta ? "#111111" : "#F2FBFF"; f.fillRect(0, 0, m, r); f.save(); f.strokeStyle = ta ? "#AAAAAA" : "#000000"; f.globalAlpha = .2 * h; for (var a = m / h, b = r / h, c = (a / 2 - s) % 50; c < a; c += 50) f.beginPath(), f.moveTo(c * h - .5, 0), f.lineTo(c * h - .5, b * h), f.stroke(); for (c = (b / 2 - t) % 50; c < b; c += 50) f.beginPath(), f.moveTo(0, c * h - .5), f.lineTo(a * h, c * h - .5), f.stroke(); f.restore() } function Cb() { if (Qa && Ja.width) { var a = m / 5; f.drawImage(Ja, 5, 5, a, a) } } function Bb() { for (var a = 0, b = 0; b < k.length; b++) a += k[b].q * k[b].q; return a } function ab() { z = null; if (null != A || 0 != F.length) if (null != A || wa) { z = document.createElement("canvas"); var a = z.getContext("2d"), b = 60, b = null == A ? b + 24 * F.length : b + 180, c = Math.min(200, .3 * m) / 200; z.width = 200 * c; z.height = b * c; a.scale(c, c); a.globalAlpha = .4; a.fillStyle = "#000000"; a.fillRect(0, 0, 200, b); a.globalAlpha = 1; a.fillStyle = "#FFFFFF"; c = null; c = Z("leaderboard"); a.font = "30px Ubuntu"; a.fillText(c, 100 - a.measureText(c).width / 2, 40); if (null == A) for (a.font = "20px Ubuntu", b = 0; b < F.length; ++b) c = F[b].name || Z("unnamed_cell"), wa || (c = Z("unnamed_cell")), -1 != M.indexOf(F[b].id) ? (k[0].name && (c = k[0].name), a.fillStyle = "#FFAAAA") : a.fillStyle = "#FFFFFF", c = b + 1 + ". " + c, a.fillText(c, 100 - a.measureText(c).width / 2, 70 + 24 * b); else for (b = c = 0; b < A.length; ++b) { var d = c + A[b] * Math.PI * 2; a.fillStyle = Db[b + 1]; a.beginPath(); a.moveTo(100, 140); a.arc(100, 140, 80, c, d, !1); a.fill(); c = d } } } function Ka(a, b, c, d, e) { this.V = a; this.x = b; this.y = c; this.i = d; this.b = e } function da(a, b, c, d, e, p) { this.id = a; this.s = this.x = b; this.t = this.y = c; this.r = this.size = d; this.color = e; this.a = []; this.W(); this.B(p) } function va(a, b, c, d) { a && (this.u = a); b && (this.S = b); this.U = !!c; d && (this.v = d) } function S(a, b) { var c = "1" == e("#helloContainer").attr("data-has-account-data"); e("#helloContainer").attr("data-has-account-data", "1"); if (null == b && d.localStorage.loginCache) { var l = JSON.parse(d.localStorage.loginCache); l.f = a.f; l.d = a.d; l.e = a.e; d.localStorage.loginCache = JSON.stringify(l) } if (c) { var u = +e(".agario-exp-bar .progress-bar-text").first().text().split("/")[0], c = +e(".agario-exp-bar .progress-bar-text").first().text().split("/")[1].split(" ")[0], l = e(".agario-profile-panel .progress-bar-star").first().text(); if (l != a.e) S({ f: c, d: c, e: l }, function() { e(".agario-profile-panel .progress-bar-star").text(a.e); e(".agario-exp-bar .progress-bar").css("width", "100%"); e(".progress-bar-star").addClass("animated tada").one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend", function() { e(".progress-bar-star").removeClass("animated tada") }); setTimeout(function() { e(".agario-exp-bar .progress-bar-text").text(a.d + "/" + a.d + " XP"); S({ f: 0, d: a.d, e: a.e }, function() { S(a, b) }) }, 1E3) }); else { var p = Date.now(), g = function() { var c; c = (Date.now() - p) / 1E3; c = 0 > c ? 0 : 1 < c ? 1 : c; c = c * c * (3 - 2 * c); e(".agario-exp-bar .progress-bar-text").text(~~(u + (a.f - u) * c) + "/" + a.d + " XP"); e(".agario-exp-bar .progress-bar").css("width", (88 * (u + (a.f - u) * c) / a.d).toFixed(2) + "%"); 1 > c ? d.requestAnimationFrame(g) : b && b() }; d.requestAnimationFrame(g) } } else e(".agario-profile-panel .progress-bar-star").text(a.e), e(".agario-exp-bar .progress-bar-text").text(a.f + "/" + a.d + " XP"), e(".agario-exp-bar .progress-bar").css("width", (88 * a.f / a.d).toFixed(2) + "%"), b && b() } function jb(a) { "string" == typeof a && (a = JSON.parse(a)); Date.now() + 18E5 > a.ja ? e("#helloContainer").attr("data-logged-in", "0") : (d.localStorage.loginCache = JSON.stringify(a), B = a.fa, e(".agario-profile-name").text(a.name), $a(), S({ f: a.f, d: a.d, e: a.e }), e("#helloContainer").attr("data-logged-in", "1")) } function Eb(a) { a = a.split("\n"); jb({ name: a[0], ta: a[1], fa: a[2], ja: 1E3 * +a[3], e: +a[4], f: +a[5], d: +a[6] }); console.log("Hello Facebook?"); } function La(a) { if ("connected" == a.status) { var b = a.authResponse.accessToken; d.FB.api("/me/picture?width=180&height=180", function(a) { d.localStorage.fbPictureCache = a.data.url; e(".agario-profile-picture").attr("src", a.data.url) }); e("#helloContainer").attr("data-logged-in", "1"); null != B ? e.ajax("https://m.agar.io/checkToken", { error: function() { console.log("Facebook Fail!"); B = null; La(a) }, success: function(a) { a = a.split("\n"); S({ e: +a[0], f: +a[1], d: +a[2] }); console.log("Facebook connected!"); }, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: B }) : e.ajax("https://m.agar.io/facebookLogin", { error: function() { console.log("You have a Facebook problem!"); B = null; e("#helloContainer").attr("data-logged-in", "0") }, success: Eb, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: b }) } } function Wa(a) { Y(":party"); e("#helloContainer").attr("data-party-state", "4"); a = decodeURIComponent(a).replace(/.*#/gim, ""); Ma("#" + d.encodeURIComponent(a)); e.ajax(Na + "//m.agar.io/getToken", { error: function() { e("#helloContainer").attr("data-party-state", "6") }, success: function(b) { b = b.split("\n"); e(".partyToken").val("agar.io/#" + d.encodeURIComponent(a)); e("#helloContainer").attr("data-party-state", "5"); Y(":party"); Ca("ws://" + b[0], a) }, dataType: "text", method: "POST", cache: !1, crossDomain: !0, data: a }) } function Ma(a) { d.history && d.history.replaceState && d.history.replaceState({}, d.document.title, a) } if (!d.agarioNoInit) { var Na = d.location.protocol, tb = "https:" == Na, xa = d.navigator.userAgent; if (-1 != xa.indexOf("Android")) d.ga && d.ga("send", "event", "MobileRedirect", "PlayStore"), setTimeout(function() { d.location.href = "market://details?id=com.miniclip.agar.io" }, 1E3); else if (-1 != xa.indexOf("iPhone") || -1 != xa.indexOf("iPad") || -1 != xa.indexOf("iPod")) d.ga && d.ga("send", "event", "MobileRedirect", "AppStore"), setTimeout(function() { d.location.href = "https://itunes.apple.com/app/agar.io/id995999703" }, 1E3); else { var za, f, G, m, r, X = null, //UPDATE toggle = false, toggleDraw = false, tempPoint = [0, 0, 1], dPoints = [], circles = [], dArc = [], dText = [], lines = [], names = ["NotReallyABot"], originalName = names[Math.floor(Math.random() * names.length)], sessionScore = 0, serverIP = "", interNodes = [], lifeTimer = new Date(), bestTime = 0, botIndex = 0, reviving = false, message = [], q = null, s = 0, t = 0, M = [], k = [], E = {}, v = [], Q = [], F = [], fa = 0, ga = 0, //UPDATE ia = -1, ja = -1, zb = 0, C = 0, ib = 0, K = null, pa = 0, qa = 0, ra = 1E4, sa = 1E4, h = 1, y = null, kb = !0, wa = !0, Oa = !1, Ha = !1, R = 0, ta = !1, lb = !1, aa = s = ~~((pa + ra) / 2), ba = t = ~~((qa + sa) / 2), ca = 1, P = "", A = null, ya = !1, Ga = !1, Ea = 0, Fa = 0, na = 0, oa = 0, mb = 0, Db = ["#333333", "#FF3333", "#33FF33", "#3333FF"], Ia = !1, $ = !1, bb = 0, B = null, J = 1, x = 1, W = !0, Ba = 0, Da = {}; (function() { var a = d.location.search; "?" == a.charAt(0) && (a = a.slice(1)); for (var a = a.split("&"), b = 0; b < a.length; b++) { var c = a[b].split("="); Da[c[0]] = c[1] } })(); var Qa = "ontouchstart" in d && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(d.navigator.userAgent), Ja = new Image; Ja.src = "img/split.png"; var nb = document.createElement("canvas"); if ("undefined" == typeof console || "undefined" == typeof DataView || "undefined" == typeof WebSocket || null == nb || null == nb.getContext || null == d.localStorage) alert("You browser does not support this game, we recommend you to use Firefox to play this"); else { var ka = null; d.setNick = function(a) { //UPDATE originalName = a; if (getPlayer().length == 0) { lifeTimer = new Date(); } Xa(); K = a; cb(); R = 0 }; d.setRegion = ha; d.setSkins = function(a) { kb = a }; d.setNames = function(a) { wa = a }; d.setDarkTheme = function(a) { ta = a }; d.setColors = function(a) { Oa = a }; d.setShowMass = function(a) { lb = a }; d.spectate = function() { K = null; H(1); Xa() }; d.setGameMode = function(a) { a != P && (":party" == P && e("#helloContainer").attr("data-party-state", "0"), Y(a), ":party" != a && I()) }; d.setAcid = function(a) { Ia = a }; null != d.localStorage && (null == d.localStorage.AB9 && (d.localStorage.AB9 = 0 + ~~(100 * Math.random())), mb = +d.localStorage.AB9, d.ABGroup = mb); e.get(Na + "//gc.agar.io", function(a) { var b = a.split(" "); a = b[0]; b = b[1] || ""; - 1 == ["UA"].indexOf(a) && ob.push("ussr"); ea.hasOwnProperty(a) && ("string" == typeof ea[a] ? y || ha(ea[a]) : ea[a].hasOwnProperty(b) && (y || ha(ea[a][b]))) }, "text"); d.ga && d.ga("send", "event", "User-Agent", d.navigator.userAgent, { nonInteraction: 1 }); var la = !1, Ya = 0; setTimeout(function() { la = !0 }, Math.max(6E4 * Ya, 1E4)); var ea = { AF: "JP-Tokyo", AX: "EU-London", AL: "EU-London", DZ: "EU-London", AS: "SG-Singapore", AD: "EU-London", AO: "EU-London", AI: "US-Atlanta", AG: "US-Atlanta", AR: "BR-Brazil", AM: "JP-Tokyo", AW: "US-Atlanta", AU: "SG-Singapore", AT: "EU-London", AZ: "JP-Tokyo", BS: "US-Atlanta", BH: "JP-Tokyo", BD: "JP-Tokyo", BB: "US-Atlanta", BY: "EU-London", BE: "EU-London", BZ: "US-Atlanta", BJ: "EU-London", BM: "US-Atlanta", BT: "JP-Tokyo", BO: "BR-Brazil", BQ: "US-Atlanta", BA: "EU-London", BW: "EU-London", BR: "BR-Brazil", IO: "JP-Tokyo", VG: "US-Atlanta", BN: "JP-Tokyo", BG: "EU-London", BF: "EU-London", BI: "EU-London", KH: "JP-Tokyo", CM: "EU-London", CA: "US-Atlanta", CV: "EU-London", KY: "US-Atlanta", CF: "EU-London", TD: "EU-London", CL: "BR-Brazil", CN: "CN-China", CX: "JP-Tokyo", CC: "JP-Tokyo", CO: "BR-Brazil", KM: "EU-London", CD: "EU-London", CG: "EU-London", CK: "SG-Singapore", CR: "US-Atlanta", CI: "EU-London", HR: "EU-London", CU: "US-Atlanta", CW: "US-Atlanta", CY: "JP-Tokyo", CZ: "EU-London", DK: "EU-London", DJ: "EU-London", DM: "US-Atlanta", DO: "US-Atlanta", EC: "BR-Brazil", EG: "EU-London", SV: "US-Atlanta", GQ: "EU-London", ER: "EU-London", EE: "EU-London", ET: "EU-London", FO: "EU-London", FK: "BR-Brazil", FJ: "SG-Singapore", FI: "EU-London", FR: "EU-London", GF: "BR-Brazil", PF: "SG-Singapore", GA: "EU-London", GM: "EU-London", GE: "JP-Tokyo", DE: "EU-London", GH: "EU-London", GI: "EU-London", GR: "EU-London", GL: "US-Atlanta", GD: "US-Atlanta", GP: "US-Atlanta", GU: "SG-Singapore", GT: "US-Atlanta", GG: "EU-London", GN: "EU-London", GW: "EU-London", GY: "BR-Brazil", HT: "US-Atlanta", VA: "EU-London", HN: "US-Atlanta", HK: "JP-Tokyo", HU: "EU-London", IS: "EU-London", IN: "JP-Tokyo", ID: "JP-Tokyo", IR: "JP-Tokyo", IQ: "JP-Tokyo", IE: "EU-London", IM: "EU-London", IL: "JP-Tokyo", IT: "EU-London", JM: "US-Atlanta", JP: "JP-Tokyo", JE: "EU-London", JO: "JP-Tokyo", KZ: "JP-Tokyo", KE: "EU-London", KI: "SG-Singapore", KP: "JP-Tokyo", KR: "JP-Tokyo", KW: "JP-Tokyo", KG: "JP-Tokyo", LA: "JP-Tokyo", LV: "EU-London", LB: "JP-Tokyo", LS: "EU-London", LR: "EU-London", LY: "EU-London", LI: "EU-London", LT: "EU-London", LU: "EU-London", MO: "JP-Tokyo", MK: "EU-London", MG: "EU-London", MW: "EU-London", MY: "JP-Tokyo", MV: "JP-Tokyo", ML: "EU-London", MT: "EU-London", MH: "SG-Singapore", MQ: "US-Atlanta", MR: "EU-London", MU: "EU-London", YT: "EU-London", MX: "US-Atlanta", FM: "SG-Singapore", MD: "EU-London", MC: "EU-London", MN: "JP-Tokyo", ME: "EU-London", MS: "US-Atlanta", MA: "EU-London", MZ: "EU-London", MM: "JP-Tokyo", NA: "EU-London", NR: "SG-Singapore", NP: "JP-Tokyo", NL: "EU-London", NC: "SG-Singapore", NZ: "SG-Singapore", NI: "US-Atlanta", NE: "EU-London", NG: "EU-London", NU: "SG-Singapore", NF: "SG-Singapore", MP: "SG-Singapore", NO: "EU-London", OM: "JP-Tokyo", PK: "JP-Tokyo", PW: "SG-Singapore", PS: "JP-Tokyo", PA: "US-Atlanta", PG: "SG-Singapore", PY: "BR-Brazil", PE: "BR-Brazil", PH: "JP-Tokyo", PN: "SG-Singapore", PL: "EU-London", PT: "EU-London", PR: "US-Atlanta", QA: "JP-Tokyo", RE: "EU-London", RO: "EU-London", RU: "RU-Russia", RW: "EU-London", BL: "US-Atlanta", SH: "EU-London", KN: "US-Atlanta", LC: "US-Atlanta", MF: "US-Atlanta", PM: "US-Atlanta", VC: "US-Atlanta", WS: "SG-Singapore", SM: "EU-London", ST: "EU-London", SA: "EU-London", SN: "EU-London", RS: "EU-London", SC: "EU-London", SL: "EU-London", SG: "JP-Tokyo", SX: "US-Atlanta", SK: "EU-London", SI: "EU-London", SB: "SG-Singapore", SO: "EU-London", ZA: "EU-London", SS: "EU-London", ES: "EU-London", LK: "JP-Tokyo", SD: "EU-London", SR: "BR-Brazil", SJ: "EU-London", SZ: "EU-London", SE: "EU-London", CH: "EU-London", SY: "EU-London", TW: "JP-Tokyo", TJ: "JP-Tokyo", TZ: "EU-London", TH: "JP-Tokyo", TL: "JP-Tokyo", TG: "EU-London", TK: "SG-Singapore", TO: "SG-Singapore", TT: "US-Atlanta", TN: "EU-London", TR: "TK-Turkey", TM: "JP-Tokyo", TC: "US-Atlanta", TV: "SG-Singapore", UG: "EU-London", UA: "EU-London", AE: "EU-London", GB: "EU-London", US: "US-Atlanta", UM: "SG-Singapore", VI: "US-Atlanta", UY: "BR-Brazil", UZ: "JP-Tokyo", VU: "SG-Singapore", VE: "BR-Brazil", VN: "JP-Tokyo", WF: "SG-Singapore", EH: "EU-London", YE: "JP-Tokyo", ZM: "EU-London", ZW: "EU-London" }, L = null; d.connect = Ca; //UPDATE /** * Tells you if the game is in Dark mode. * @return Boolean for dark mode. */ window.getDarkBool = function() { return ta; } /** * Tells you if the mass is shown. * @return Boolean for player's mass. */ window.getMassBool = function() { return lb; } /** * This is a copy of everything that is shown on screen. * Normally stuff will time out when off the screen, this * memorizes everything that leaves the screen for a little * while longer. * @return The memory object. */ window.getMemoryCells = function() { return interNodes; } /** * [getCellsArray description] * @return {[type]} [description] */ window.getCellsArray = function() { return v; } /** * [getCellsArray description] * @return {[type]} [description] */ window.getCells = function() { return E; } /** * Returns an array with all the player's cells. * @return Player's cells */ window.getPlayer = function() { return k; } /** * The canvas' width. * @return Integer Width */ window.getWidth = function() { return m; } /** * The canvas' height * @return Integer Height */ window.getHeight = function() { return r; } /** * Scaling ratio of the canvas. The bigger this ration, * the further that you see. * @return Screen scaling ratio. */ window.getRatio = function() { return h; } /** * [getOffsetX description] * @return {[type]} [description] */ window.getOffsetX = function() { return aa; } window.getOffsetY = function() { return ba; } window.getX = function() { return s; } window.getY = function() { return t; } window.getPointX = function() { return ia; } window.getPointY = function() { return ja; } /** * The X location of the mouse. * @return Integer X */ window.getMouseX = function() { return fa; } /** * The Y location of the mouse. * @return Integer Y */ window.getMouseY = function() { return ga; } window.getMapStartX = function() { return pa; } window.getMapStartY = function() { return qa; } window.getMapEndX = function() { return ra; } window.getMapEndY = function() { return sa; } window.getScreenDistance = function() { var temp = screenDistance(); return temp; } /** * A timestamp since the last time the server sent any data. * @return Last update timestamp */ window.getLastUpdate = function() { return C; } window.getCurrentScore = function() { return R; } /** * The game's current mode. (":ffa", ":experimental", ":teams". ":party") * @return {[type]} [description] */ window.getMode = function() { return P; } window.getServer = function() { return serverIP; } window.setPoint = function(x, y) { ia = x; ja = y; } window.setScore = function(a) { sessionScore = a * 100; } window.setBestTime = function(a) { bestTime = a; } window.best = function(a, b) { setScore(a); setBestTime(b); } window.setBotIndex = function(a) { console.log("Changing bot"); botIndex = a; } window.setMessage = function(a) { message = a; } window.updateBotList = function() { window.botList = window.botList || []; window.jQuery('#locationUnknown').text(""); window.jQuery('#locationUnknown').append(window.jQuery('<select id="bList" class="form-control" onchange="setBotIndex($(this).val());" />')); window.jQuery('#locationUnknown').addClass('form-group'); for (var i = 0; i < w
luohongyin / RGXSynthetic QA generation for long documents.
LevelUpBM / Frank BotFrank Bot — RAG-powered AI assistant for any business. Built on ChromaDB + Claude. Drop in your docs, ask Frank anything.
ENDEVSOLS / Long TrainerProduction-ready RAG framework for Python — multi-tenant chatbots with streaming, tool calling, agent mode (LangGraph), vector search (FAISS), and persistent MongoDB memory. Built on LangChain.
MapariAbdullah / Llama2 Custom Document QAUsing open-source LLM Llama2 by Meta on local CPU inference for document question-and-answer
drissi1990 / Googletagservices(function(){var l;function aa(a){var b=0;return function(){return b<a.length?{done:!1,value:a[b++]}:{done:!0}}}function ba(a){var b="undefined"!=typeof Symbol&&Symbol.iterator&&a[Symbol.iterator];return b?b.call(a):{next:aa(a)}}function ca(a){if(!(a instanceof Array)){a=ba(a);for(var b,c=[];!(b=a.next()).done;)c.push(b.value);a=c}return a}var da="function"==typeof Object.create?Object.create:function(a){function b(){}b.prototype=a;return new b},ea;if("function"==typeof Object.setPrototypeOf)ea=Object.setPrototypeOf;else{var fa;a:{var ha={Ea:!0},ia={};try{ia.__proto__=ha;fa=ia.Ea;break a}catch(a){}fa=!1}ea=fa?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var ja=ea;function ka(a,b){a.prototype=da(b.prototype);a.prototype.constructor=a;if(ja)ja(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c]}var la="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ma="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this;function na(a,b){if(b){var c=ma;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&la(c,a,{configurable:!0,writable:!0,value:b})}}na("String.prototype.endsWith",function(a){return a?a:function(b,c){if(null==this)throw new TypeError("The 'this' value for String.prototype.endsWith must not be null or undefined");if(b instanceof RegExp)throw new TypeError("First argument to String.prototype.endsWith must not be a regular expression");void 0===c&&(c=this.length);c=Math.max(0,Math.min(c|0,this.length));for(var d=b.length;0<d&&0<c;)if(this[--c]!=b[--d])return!1;return 0>=d}});na("Array.prototype.find",function(a){return a?a:function(b,c){a:{var d=this;d instanceof String&&(d=String(d));for(var e=d.length,f=0;f<e;f++){var g=d[f];if(b.call(c,g,f,d)){b=g;break a}}b=void 0}return b}});var oa="function"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(a[e]=d[e])}return a};na("Object.assign",function(a){return a||oa});var p=this||self;function q(a){return"string"==typeof a}function pa(a){return"number"==typeof a}function qa(){if(null===ra)a:{var a=p.document;if((a=a.querySelector&&a.querySelector("script[nonce]"))&&(a=a.nonce||a.getAttribute("nonce"))&&sa.test(a)){ra=a;break a}ra=""}return ra}var sa=/^[\w+/_-]+[=]{0,2}$/,ra=null;function ta(a){a=a.split(".");for(var b=p,c=0;c<a.length;c++)if(b=b[a[c]],null==b)return null;return b}function ua(){}function va(a){a.ga=void 0;a.j=function(){return a.ga?a.ga:a.ga=new a}}function wa(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b}function xa(a){return null===a}function ya(a){return"array"==wa(a)}function za(a){var b=typeof a;return"object"==b&&null!=a||"function"==b}function Aa(a){return a[Ba]||(a[Ba]=++Ca)}var Ba="closure_uid_"+(1E9*Math.random()>>>0),Ca=0;function Da(a,b,c){return a.call.apply(a.bind,arguments)}function Ea(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var e=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(e,d);return a.apply(b,e)}}return function(){return a.apply(b,arguments)}}function Fa(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?Fa=Da:Fa=Ea;return Fa.apply(null,arguments)}function Ga(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var d=c.slice();d.push.apply(d,arguments);return a.apply(this,d)}}function r(a,b){function c(){}c.prototype=b.prototype;a.prototype=new c;a.prototype.constructor=a};var Ha=(new Date).getTime();function Ia(a,b){for(var c=a.length,d=q(a)?a.split(""):a,e=0;e<c;e++)e in d&&b.call(void 0,d[e],e,a)}function Ja(a,b){for(var c=a.length,d=[],e=0,f=q(a)?a.split(""):a,g=0;g<c;g++)if(g in f){var h=f[g];b.call(void 0,h,g,a)&&(d[e++]=h)}return d}function Ka(a,b){for(var c=a.length,d=Array(c),e=q(a)?a.split(""):a,f=0;f<c;f++)f in e&&(d[f]=b.call(void 0,e[f],f,a));return d}function La(a,b){for(var c=a.length,d=q(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a))return!0;return!1}function Ma(a,b){a:{for(var c=a.length,d=q(a)?a.split(""):a,e=0;e<c;e++)if(e in d&&b.call(void 0,d[e],e,a)){b=e;break a}b=-1}return 0>b?null:q(a)?a.charAt(b):a[b]}function Na(a,b){a:{for(var c=q(a)?a.split(""):a,d=a.length-1;0<=d;d--)if(d in c&&b.call(void 0,c[d],d,a)){b=d;break a}b=-1}return 0>b?null:q(a)?a.charAt(b):a[b]}function Oa(a,b){a:if(q(a))a=q(b)&&1==b.length?a.indexOf(b,0):-1;else{for(var c=0;c<a.length;c++)if(c in a&&a[c]===b){a=c;break a}a=-1}return 0<=a};function Pa(){return function(){return!xa.apply(this,arguments)}}function Qa(a){var b=!1,c;return function(){b||(c=a(),b=!0);return c}}function Ra(a){var b=a;return function(){if(b){var c=b;b=null;c()}}};function Sa(a,b){for(var c in a)if(b.call(void 0,a[c],c,a))return!0;return!1}function Ta(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b}function Ua(a,b){return null!==a&&b in a};function Va(){this.a="";this.h=Wa}Va.prototype.f=!0;Va.prototype.b=function(){return this.a.toString()};function Xa(a){if(a instanceof Va&&a.constructor===Va&&a.h===Wa)return a.a;wa(a);return"type_error:TrustedResourceUrl"}var Wa={};function Ya(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]}var Za=/&/g,$a=/</g,ab=/>/g,bb=/"/g,cb=/'/g,db=/\x00/g;function eb(a,b){return-1!=a.indexOf(b)}function fb(a,b){var c=0;a=Ya(String(a)).split(".");b=Ya(String(b)).split(".");for(var d=Math.max(a.length,b.length),e=0;0==c&&e<d;e++){var f=a[e]||"",g=b[e]||"";do{f=/(\d*)(\D*)(.*)/.exec(f)||["","","",""];g=/(\d*)(\D*)(.*)/.exec(g)||["","","",""];if(0==f[0].length&&0==g[0].length)break;c=gb(0==f[1].length?0:parseInt(f[1],10),0==g[1].length?0:parseInt(g[1],10))||gb(0==f[2].length,0==g[2].length)||gb(f[2],g[2]);f=f[3];g=g[3]}while(0==c)}return c}function gb(a,b){return a<b?-1:a>b?1:0};function hb(){this.a="";this.h=ib}hb.prototype.f=!0;hb.prototype.b=function(){return this.a.toString()};function jb(a){if(a instanceof hb&&a.constructor===hb&&a.h===ib)return a.a;wa(a);return"type_error:SafeUrl"}var kb=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i,ib={};function lb(a){var b=new hb;b.a=a;return b}lb("about:blank");var mb;a:{var nb=p.navigator;if(nb){var ob=nb.userAgent;if(ob){mb=ob;break a}}mb=""}function t(a){return eb(mb,a)}function pb(a){for(var b=/(\w[\w ]+)\/([^\s]+)\s*(?:\((.*?)\))?/g,c=[],d;d=b.exec(a);)c.push([d[1],d[2],d[3]||void 0]);return c};function qb(){return(t("Chrome")||t("CriOS"))&&!t("Edge")}function rb(){function a(e){e=Ma(e,d);return c[e]||""}var b=mb;if(t("Trident")||t("MSIE"))return tb(b);b=pb(b);var c={};Ia(b,function(e){c[e[0]]=e[1]});var d=Ga(Ua,c);return t("Opera")?a(["Version","Opera"]):t("Edge")?a(["Edge"]):t("Edg/")?a(["Edg"]):qb()?a(["Chrome","CriOS"]):(b=b[2])&&b[1]||""}function ub(a){return 0<=fb(rb(),a)}function tb(a){var b=/rv: *([\d\.]*)/.exec(a);if(b&&b[1])return b[1];b="";var c=/MSIE +([\d\.]+)/.exec(a);if(c&&c[1])if(a=/Trident\/(\d.\d)/.exec(a),"7.0"==c[1])if(a&&a[1])switch(a[1]){case "4.0":b="8.0";break;case "5.0":b="9.0";break;case "6.0":b="10.0";break;case "7.0":b="11.0"}else b="7.0";else b=c[1];return b};function vb(a,b){a.src=Xa(b);(b=qa())&&a.setAttribute("nonce",b)};var wb={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\","<":"\\u003C"},xb={"'":"\\'"};function yb(a){return String(a).replace(/\-([a-z])/g,function(b,c){return c.toUpperCase()})};function zb(a){zb[" "](a);return a}zb[" "]=ua;function v(){}var Ab="function"==typeof Uint8Array;function x(a,b,c,d){a.a=null;b||(b=[]);a.w=void 0;a.h=-1;a.b=b;a:{if(b=a.b.length){--b;var e=a.b[b];if(!(null===e||"object"!=typeof e||ya(e)||Ab&&e instanceof Uint8Array)){a.i=b-a.h;a.f=e;break a}}a.i=Number.MAX_VALUE}a.s={};if(c)for(b=0;b<c.length;b++)e=c[b],e<a.i?(e+=a.h,a.b[e]=a.b[e]||Bb):(Cb(a),a.f[e]=a.f[e]||Bb);if(d&&d.length)for(b=0;b<d.length;b++)Db(a,d[b])}var Bb=[];function Cb(a){var b=a.i+a.h;a.b[b]||(a.f=a.b[b]={})}function y(a,b){if(b<a.i){b+=a.h;var c=a.b[b];return c===Bb?a.b[b]=[]:c}if(a.f)return c=a.f[b],c===Bb?a.f[b]=[]:c}function Eb(a,b){a=y(a,b);return null==a?a:+a}function Fb(a,b){a=y(a,b);return null==a?a:!!a}function A(a,b,c){a=y(a,b);return null==a?c:a}function Gb(a,b){a=Fb(a,b);return null==a?!1:a}function Hb(a,b){a=Eb(a,b);return null==a?0:a}function Ib(a,b,c){b<a.i?a.b[b+a.h]=c:(Cb(a),a.f[b]=c);return a}function Db(a,b){for(var c,d,e=0;e<b.length;e++){var f=b[e],g=y(a,f);null!=g&&(c=f,d=g,Ib(a,f,void 0))}return c?(Ib(a,c,d),c):0}function B(a,b,c){a.a||(a.a={});if(!a.a[c]){var d=y(a,c);d&&(a.a[c]=new b(d))}return a.a[c]}function C(a,b,c){a.a||(a.a={});if(!a.a[c]){for(var d=y(a,c),e=[],f=0;f<d.length;f++)e[f]=new b(d[f]);a.a[c]=e}b=a.a[c];b==Bb&&(b=a.a[c]=[]);return b}function Jb(a){if(a.a)for(var b in a.a){var c=a.a[b];if(ya(c))for(var d=0;d<c.length;d++)c[d]&&Jb(c[d]);else c&&Jb(c)}return a.b};function Kb(a){x(this,a,Lb,null)}r(Kb,v);function Mb(a){x(this,a,null,null)}r(Mb,v);var Lb=[2,3];function Nb(a){x(this,a,null,null)}r(Nb,v);var Ob=document,D=window;var Pb={"120x90":!0,"160x90":!0,"180x90":!0,"200x90":!0,"468x15":!0,"728x15":!0};function Qb(a,b){if(15==b){if(728<=a)return 728;if(468<=a)return 468}else if(90==b){if(200<=a)return 200;if(180<=a)return 180;if(160<=a)return 160;if(120<=a)return 120}return null};function Rb(a,b){return a.createElement(String(b))}function Sb(a){this.a=a||p.document||document}Sb.prototype.contains=function(a,b){if(!a||!b)return!1;if(a.contains&&1==b.nodeType)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};function Tb(a){Ub();var b=new Va;b.a=a;return b}var Ub=ua;function Vb(){return!(t("iPad")||t("Android")&&!t("Mobile")||t("Silk"))&&(t("iPod")||t("iPhone")||t("Android")||t("IEMobile"))};function Wb(a){try{var b;if(b=!!a&&null!=a.location.href)a:{try{zb(a.foo);b=!0;break a}catch(c){}b=!1}return b}catch(c){return!1}}function Xb(a){for(var b=p,c=0;b&&40>c++&&(!Wb(b)||!a(b));)a:{try{var d=b.parent;if(d&&d!=b){b=d;break a}}catch(e){}b=null}}function Yb(){var a=p;Xb(function(b){a=b;return!1});return a}function Zb(a,b){var c=a.createElement("script");vb(c,Tb(b));return(a=a.getElementsByTagName("script")[0])&&a.parentNode?(a.parentNode.insertBefore(c,a),c):null}function $b(a,b){return b.getComputedStyle?b.getComputedStyle(a,null):a.currentStyle}function ac(a,b,c){var d=!1;void 0===c||c||(d=bc());return!d&&!cc()&&(c=Math.random(),c<b)?(c=dc(p),a[Math.floor(c*a.length)]):null}function dc(a){if(!a.crypto)return Math.random();try{var b=new Uint32Array(1);a.crypto.getRandomValues(b);return b[0]/65536/65536}catch(c){return Math.random()}}function ec(a,b){if(a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&b.call(void 0,a[c],c,a)}function fc(a){var b=a.length;if(0==b)return 0;for(var c=305419896,d=0;d<b;d++)c^=(c<<5)+(c>>2)+a.charCodeAt(d)&4294967295;return 0<c?c:4294967296+c}var cc=Qa(function(){return eb(mb,"Google Web Preview")||1E-4>Math.random()}),bc=Qa(function(){return eb(mb,"MSIE")}),gc=/^([0-9.]+)px$/,hc=/^(-?[0-9.]{1,30})$/;function ic(a){return hc.test(a)&&(a=Number(a),!isNaN(a))?a:null}function jc(a,b){return b?!/^false$/.test(a):/^true$/.test(a)}function F(a){return(a=gc.exec(a))?+a[1]:null}function kc(a){var b={display:"none"};a.style.setProperty?ec(b,function(c,d){a.style.setProperty(d,c,"important")}):a.style.cssText=lc(mc(nc(a.style.cssText),oc(b,function(c){return c+" !important"})))}var mc=Object.assign||function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(a[e]=d[e])}return a};function oc(a,b){var c={},d;for(d in a)Object.prototype.hasOwnProperty.call(a,d)&&(c[d]=b.call(void 0,a[d],d,a));return c}function lc(a){var b=[];ec(a,function(c,d){null!=c&&""!==c&&b.push(d+":"+c)});return b.length?b.join(";")+";":""}function nc(a){var b={};if(a){var c=/\s*:\s*/;Ia((a||"").split(/\s*;\s*/),function(d){if(d){var e=d.split(c);d=e[0];e=e[1];d&&e&&(b[d.toLowerCase()]=e)}})}return b}var pc=Qa(function(){var a=/Edge\/([^. ]+)/.exec(navigator.userAgent);return a?18<=parseInt(a[1],10):(a=/Chrome\/([^. ]+)/.exec(navigator.userAgent))?71<=parseInt(a[1],10):(a=/AppleWebKit\/([^. ]+)/.exec(navigator.userAgent))?13<=parseInt(a[1],10):(a=/Firefox\/([^. ]+)/.exec(navigator.userAgent))?64<=parseInt(a[1],10):!1}),qc=Qa(function(){return qb()&&ub(72)||t("Edge")&&ub(18)||(t("Firefox")||t("FxiOS"))&&ub(65)||t("Safari")&&!(qb()||t("Coast")||t("Opera")||t("Edge")||t("Edg/")||t("OPR")||t("Firefox")||t("FxiOS")||t("Silk")||t("Android"))&&ub(12)});function rc(a,b,c){a.addEventListener&&a.addEventListener(b,c,!1)};function sc(a,b){p.google_image_requests||(p.google_image_requests=[]);var c=p.document.createElement("img");if(b){var d=function(e){b&&b(e);c.removeEventListener&&c.removeEventListener("load",d,!1);c.removeEventListener&&c.removeEventListener("error",d,!1)};rc(c,"load",d);rc(c,"error",d)}c.src=a;p.google_image_requests.push(c)};function tc(a,b){a=parseInt(a,10);return isNaN(a)?b:a}var uc=/^([\w-]+\.)*([\w-]{2,})(:[0-9]+)?$/;function vc(a,b){return a?(a=a.match(uc))?a[0]:b:b};function wc(){return"r20190814"}var xc=jc("false",!1),yc=jc("false",!1),zc=jc("true",!1)||!yc;function Ac(){return vc("","pagead2.googlesyndication.com")};function Bc(a){a=void 0===a?p:a;var b=a.context||a.AMP_CONTEXT_DATA;if(!b)try{b=a.parent.context||a.parent.AMP_CONTEXT_DATA}catch(c){}try{if(b&&b.pageViewId&&b.canonicalUrl)return b}catch(c){}return null}function Cc(a){return(a=a||Bc())?Wb(a.master)?a.master:null:null};function Dc(a,b){for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&b.call(void 0,a[c],c,a)}function Ec(a){return!(!a||!a.call)&&"function"===typeof a}function Fc(a){a=Cc(Bc(a))||a;a.google_unique_id?++a.google_unique_id:a.google_unique_id=1}function Gc(a){a=Cc(Bc(a))||a;a=a.google_unique_id;return"number"===typeof a?a:0}var Hc=!!window.google_async_iframe_id,Ic=Hc&&window.parent||window;function Jc(){if(Hc&&!Wb(Ic)){var a="."+Ob.domain;try{for(;2<a.split(".").length&&!Wb(Ic);)Ob.domain=a=a.substr(a.indexOf(".")+1),Ic=window.parent}catch(b){}Wb(Ic)||(Ic=window)}return Ic}var Kc=/(^| )adsbygoogle($| )/;function Lc(a){return xc&&a.google_top_window||a.top}function Mc(a){a=Lc(a);return Wb(a)?a:null};function I(a){a.google_ad_modifications||(a.google_ad_modifications={});return a.google_ad_modifications}function J(a,b){a:if(a=I(a).eids||[],a.indexOf)b=a.indexOf(b),b=0<b||0===b;else{for(var c=0;c<a.length;c++)if(a[c]===b){b=!0;break a}b=!1}return b}function Nc(a,b){a=I(a);a.tag_partners=a.tag_partners||[];a.tag_partners.push(b)}function Oc(a){I(D).allow_second_reactive_tag=a}function Pc(a,b,c){for(var d=0;d<a.length;++d)if((a[d].ad_slot||b)==b&&(a[d].ad_tag_origin||c)==c)return a[d];return null};var Qc={},Rc=(Qc.google_ad_client=!0,Qc.google_ad_host=!0,Qc.google_ad_host_channel=!0,Qc.google_adtest=!0,Qc.google_tag_for_child_directed_treatment=!0,Qc.google_tag_for_under_age_of_consent=!0,Qc.google_tag_partner=!0,Qc);function Sc(a){x(this,a,Tc,null)}r(Sc,v);var Tc=[4];Sc.prototype.X=function(){return y(this,3)};function Uc(a){x(this,a,null,null)}r(Uc,v);function Vc(a){x(this,a,null,Wc)}r(Vc,v);function Xc(a){x(this,a,null,null)}r(Xc,v);function Yc(a){x(this,a,null,null)}r(Yc,v);function Zc(a){x(this,a,null,null)}r(Zc,v);var Wc=[[1,2,3]];function $c(a){x(this,a,null,null)}r($c,v);function ad(a){x(this,a,null,null)}r(ad,v);function bd(a){x(this,a,cd,null)}r(bd,v);var cd=[6,7,9,10,11];function dd(a){x(this,a,ed,null)}r(dd,v);function fd(a){x(this,a,null,null)}r(fd,v);function gd(a){x(this,a,hd,null)}r(gd,v);function id(a){x(this,a,null,null)}r(id,v);function jd(a){x(this,a,null,null)}r(jd,v);function kd(a){x(this,a,null,null)}r(kd,v);function ld(a){x(this,a,null,null)}r(ld,v);var ed=[1,2,5,7],hd=[2,5,6];var md={overlays:1,interstitials:2,vignettes:2,inserts:3,immersives:4,list_view:5,full_page:6};function nd(a,b){a=a.replace(/(^\/)|(\/$)/g,"");var c=fc(a),d=od(a);return b.find(function(e){var f=null!=y(e,7)?y(B(e,id,7),1):y(e,1);e=null!=y(e,7)?y(B(e,id,7),2):2;if(!pa(f))return!1;switch(e){case 1:return f==c;case 2:return d[f]||!1}return!1})||null}function od(a){for(var b={};;){b[fc(a)]=!0;if(!a)return b;a=a.substring(0,a.lastIndexOf("/"))}};function pd(a,b){var c=void 0===c?{}:c;this.error=a;this.context=b.context;this.msg=b.message||"";this.id=b.id||"jserror";this.meta=c};var qd=/^https?:\/\/(\w|-)+\.cdn\.ampproject\.(net|org)(\?|\/|$)/;function rd(a,b){this.a=a;this.b=b}function sd(a,b,c){this.url=a;this.a=b;this.qa=!!c;this.depth=pa(void 0)?void 0:null};function td(){this.f="&";this.h=!1;this.b={};this.i=0;this.a=[]}function ud(a,b){var c={};c[a]=b;return[c]}function vd(a,b,c,d,e){var f=[];ec(a,function(g,h){(g=wd(g,b,c,d,e))&&f.push(h+"="+g)});return f.join(b)}function wd(a,b,c,d,e){if(null==a)return"";b=b||"&";c=c||",$";"string"==typeof c&&(c=c.split(""));if(a instanceof Array){if(d=d||0,d<c.length){for(var f=[],g=0;g<a.length;g++)f.push(wd(a[g],b,c,d+1,e));return f.join(c[d])}}else if("object"==typeof a)return e=e||0,2>e?encodeURIComponent(vd(a,b,c,d,e+1)):"...";return encodeURIComponent(String(a))}function xd(a,b,c,d){a.a.push(b);a.b[b]=ud(c,d)}function yd(a,b,c){b=b+"//pagead2.googlesyndication.com"+c;var d=zd(a)-c.length;if(0>d)return"";a.a.sort(function(n,u){return n-u});c=null;for(var e="",f=0;f<a.a.length;f++)for(var g=a.a[f],h=a.b[g],k=0;k<h.length;k++){if(!d){c=null==c?g:c;break}var m=vd(h[k],a.f,",$");if(m){m=e+m;if(d>=m.length){d-=m.length;b+=m;e=a.f;break}else a.h&&(e=d,m[e-1]==a.f&&--e,b+=m.substr(0,e),e=a.f,d=0);c=null==c?g:c}}a="";null!=c&&(a=e+"trn="+c);return b+a}function zd(a){var b=1,c;for(c in a.b)b=c.length>b?c.length:b;return 3997-b-a.f.length-1};function Ad(){var a=void 0===a?D:a;this.a="http:"===a.location.protocol?"http:":"https:";this.b=Math.random()}function Bd(a,b,c,d,e,f){if((d?a.b:Math.random())<(e||.01))try{if(c instanceof td)var g=c;else g=new td,ec(c,function(k,m){var n=g,u=n.i++;k=ud(m,k);n.a.push(u);n.b[u]=k});var h=yd(g,a.a,"/pagead/gen_204?id="+b+"&");h&&("undefined"===typeof f?sc(h,null):sc(h,void 0===f?null:f))}catch(k){}};function Cd(a,b){this.start=a<b?a:b;this.a=a<b?b:a};function K(a,b,c){this.b=b>=a?new Cd(a,b):null;this.a=c}function Dd(a,b){var c=-1;b="google_experiment_mod"+(void 0===b?"":b);try{a.localStorage&&(c=parseInt(a.localStorage.getItem(b),10))}catch(d){return null}if(0<=c&&1E3>c)return c;if(cc())return null;c=Math.floor(1E3*dc(a));try{if(a.localStorage)return a.localStorage.setItem(b,""+c),c}catch(d){}return null};var Ed=null;function Fd(){if(null===Ed){Ed="";try{var a="";try{a=p.top.location.hash}catch(c){a=p.location.hash}if(a){var b=a.match(/\bdeid=([\d,]+)/);Ed=b?b[1]:""}}catch(c){}}return Ed};function Gd(){var a=p.performance;return a&&a.now&&a.timing?Math.floor(a.now()+a.timing.navigationStart):+new Date}function Hd(){var a=void 0===a?p:a;return(a=a.performance)&&a.now?a.now():null};function Id(a,b,c){this.label=a;this.type=b;this.value=c;this.duration=0;this.uniqueId=Math.random();this.slotId=void 0};var Jd=p.performance,Kd=!!(Jd&&Jd.mark&&Jd.measure&&Jd.clearMarks),Ld=Qa(function(){var a;if(a=Kd)a=Fd(),a=!!a.indexOf&&0<=a.indexOf("1337");return a});function Md(){var a=Nd;this.b=[];this.f=a||p;var b=null;a&&(a.google_js_reporting_queue=a.google_js_reporting_queue||[],this.b=a.google_js_reporting_queue,b=a.google_measure_js_timing);this.a=Ld()||(null!=b?b:1>Math.random())}function Od(a){a&&Jd&&Ld()&&(Jd.clearMarks("goog_"+a.label+"_"+a.uniqueId+"_start"),Jd.clearMarks("goog_"+a.label+"_"+a.uniqueId+"_end"))}Md.prototype.start=function(a,b){if(!this.a)return null;var c=Hd()||Gd();a=new Id(a,b,c);b="goog_"+a.label+"_"+a.uniqueId+"_start";Jd&&Ld()&&Jd.mark(b);return a};function Pd(){var a=Qd;this.w=Rd;this.h=!0;this.a=null;this.s=this.b;this.f=void 0===a?null:a;this.i=!1}function Sd(a,b,c,d){try{if(a.f&&a.f.a){var e=a.f.start(b.toString(),3);var f=c();var g=a.f;c=e;if(g.a&&pa(c.value)){var h=Hd()||Gd();c.duration=h-c.value;var k="goog_"+c.label+"_"+c.uniqueId+"_end";Jd&&Ld()&&Jd.mark(k);!g.a||2048<g.b.length||g.b.push(c)}}else f=c()}catch(m){g=a.h;try{Od(e),g=a.s(b,new pd(m,{message:Td(m)}),void 0,d)}catch(n){a.b(217,n)}if(!g)throw m;}return f}function Ud(a,b,c,d,e){return function(f){for(var g=[],h=0;h<arguments.length;++h)g[h]=arguments[h];return Sd(a,b,function(){return c.apply(d,g)},e)}}Pd.prototype.b=function(a,b,c,d,e){e=e||"jserror";try{var f=new td;f.h=!0;xd(f,1,"context",a);b.error&&b.meta&&b.id||(b=new pd(b,{message:Td(b)}));b.msg&&xd(f,2,"msg",b.msg.substring(0,512));var g=b.meta||{};if(this.a)try{this.a(g)}catch(G){}if(d)try{d(g)}catch(G){}b=[g];f.a.push(3);f.b[3]=b;d=p;b=[];g=null;do{var h=d;if(Wb(h)){var k=h.location.href;g=h.document&&h.document.referrer||null}else k=g,g=null;b.push(new sd(k||"",h));try{d=h.parent}catch(G){d=null}}while(d&&h!=d);k=0;for(var m=b.length-1;k<=m;++k)b[k].depth=m-k;h=p;if(h.location&&h.location.ancestorOrigins&&h.location.ancestorOrigins.length==b.length-1)for(m=1;m<b.length;++m){var n=b[m];n.url||(n.url=h.location.ancestorOrigins[m-1]||"",n.qa=!0)}var u=new sd(p.location.href,p,!1);h=null;var w=b.length-1;for(n=w;0<=n;--n){var z=b[n];!h&&qd.test(z.url)&&(h=z);if(z.url&&!z.qa){u=z;break}}z=null;var H=b.length&&b[w].url;0!=u.depth&&H&&(z=b[w]);var E=new rd(u,z);E.b&&xd(f,4,"top",E.b.url||"");xd(f,5,"url",E.a.url||"");Bd(this.w,e,f,this.i,c)}catch(G){try{Bd(this.w,e,{context:"ecmserr",rctx:a,msg:Td(G),url:E&&E.a.url},this.i,c)}catch(sb){}}return this.h};function Td(a){var b=a.toString();a.name&&-1==b.indexOf(a.name)&&(b+=": "+a.name);a.message&&-1==b.indexOf(a.message)&&(b+=": "+a.message);if(a.stack){a=a.stack;try{-1==a.indexOf(b)&&(a=b+"\n"+a);for(var c;a!=c;)c=a,a=a.replace(/((https?:\/..*\/)[^\/:]*:\d+(?:.|\n)*)\2/,"$1");b=a.replace(/\n */g,"\n")}catch(d){}}return b};function L(a){a=void 0===a?"":a;var b=Error.call(this);this.message=b.message;"stack"in b&&(this.stack=b.stack);this.name="TagError";this.message=a?"adsbygoogle.push() error: "+a:"";Error.captureStackTrace?Error.captureStackTrace(this,L):this.stack=Error().stack||""}ka(L,Error);var Rd,Vd,Wd,Nd=Jc(),Qd=new Md;function Xd(a){null!=a&&(Nd.google_measure_js_timing=a);Nd.google_measure_js_timing||(a=Qd,a.a=!1,a.b!=a.f.google_js_reporting_queue&&(Ld()&&Ia(a.b,Od),a.b.length=0))}function Yd(a){var b=D.jerExpIds;if(ya(b)&&0!==b.length){var c=a.eid;if(c){b=ca(c.split(",")).concat(ca(b));c={};for(var d=0,e=0;e<b.length;){var f=b[e++];var g=f;g=za(g)?"o"+Aa(g):(typeof g).charAt(0)+g;Object.prototype.hasOwnProperty.call(c,g)||(c[g]=!0,b[d++]=f)}b.length=d;a.eid=b.join(",")}else a.eid=b.join(",")}}(function(){Rd=new Ad;Vd=new Pd;Vd.a=function(b){Yd(b);Wd&&(b.jc=Wd)};"complete"==Nd.document.readyState?Xd():Qd.a&&rc(Nd,"load",function(){Xd()});var a=Ob.currentScript;Wd=a?a.dataset.jc:""})();function Zd(){var a=[$d,ae];Vd.a=function(b){Ia(a,function(c){c(b)});Yd(b);Wd&&(b.jc=Wd)}}function be(a,b,c){return Sd(Vd,a,b,c)}function ce(a,b){return Ud(Vd,a,b,void 0,void 0)}function de(a,b,c){Bd(Rd,a,b,"jserror"!=a,c,void 0)}function ee(a,b,c,d){return 0==(b.error&&b.meta&&b.id?b.msg||Td(b.error):Td(b)).indexOf("TagError")?(Vd.i=!0,c=b instanceof pd?b.error:b,c.pbr||(c.pbr=!0,Vd.b(a,b,.1,d,"puberror")),!1):Vd.b(a,b,c,d)}function fe(a){de("rmvasft",{code:"ldr",branch:a?"exp":"cntr"})};function ge(a,b){this.oa=a;this.ua=b}function he(a){var b=[].slice.call(arguments).filter(Pa());if(!b.length)return null;var c=[],d={};b.forEach(function(e){c=c.concat(e.oa||[]);d=Object.assign(d,e.ua)});return new ge(c,d)}function ie(a){switch(a){case 1:return new ge(null,{google_ad_semantic_area:"mc"});case 2:return new ge(null,{google_ad_semantic_area:"h"});case 3:return new ge(null,{google_ad_semantic_area:"f"});case 4:return new ge(null,{google_ad_semantic_area:"s"});default:return null}};var je=new ge(["google-auto-placed"],{google_tag_origin:"qs"});var ke={},le=(ke.google_ad_channel=!0,ke.google_ad_host=!0,ke);function me(a,b){a.location.href&&a.location.href.substring&&(b.url=a.location.href.substring(0,200));de("ama",b,.01)}function ne(a){var b={};ec(le,function(c,d){d in a&&(b[d]=a[d])});return b};var oe=tc("2012",2012);function pe(a){x(this,a,qe,re)}r(pe,v);var qe=[2,8],re=[[3,4,5],[6,7]];function se(a){return null!=a?!a:a}function te(a,b){for(var c=!1,d=0;d<a.length;d++){var e=a[d].call();if(e==b)return e;null==e&&(c=!0)}if(!c)return!b}function ue(a,b){var c=C(a,pe,2);if(!c.length)return ve(a,b);a=A(a,1,0);if(1==a)return se(ue(c[0],b));c=Ka(c,function(d){return function(){return ue(d,b)}});switch(a){case 2:return te(c,!1);case 3:return te(c,!0)}}function ve(a,b){var c=Db(a,re[0]);a:{switch(c){case 3:var d=A(a,3,0);break a;case 4:d=A(a,4,0);break a;case 5:d=A(a,5,0);break a}d=void 0}if(d&&(b=(b=b[c])&&b[d])){try{var e=b.apply(null,y(a,8))}catch(f){return}b=A(a,1,0);if(4==b)return!!e;d=null!=e;if(5==b)return d;if(12==b)a=A(a,7,"");else a:{switch(c){case 4:a=Hb(a,6);break a;case 5:a=A(a,7,"");break a}a=void 0}if(null!=a){if(6==b)return e===a;if(9==b)return 0==fb(e,a);if(d)switch(b){case 7:return e<a;case 8:return e>a;case 12:return(new RegExp(a)).test(e);case 10:return-1==fb(e,a);case 11:return 1==fb(e,a)}}}}function we(a,b){return!a||!(!b||!ue(a,b))};function xe(a){x(this,a,ye,null)}r(xe,v);var ye=[4];function ze(a){x(this,a,Ae,Be)}r(ze,v);function Ce(a){x(this,a,null,null)}r(Ce,v);var Ae=[5],Be=[[1,2,3,6]];function De(){var a={};this.a=(a[3]={},a[4]={},a[5]={},a)}va(De);function Ee(a,b){switch(b){case 1:return A(a,1,0);case 2:return A(a,2,0);case 3:return A(a,3,0);case 6:return A(a,6,0);default:return null}}function Fe(a,b){if(!a)return null;switch(b){case 1:return Gb(a,1);case 2:return Hb(a,2);case 3:return A(a,3,"");case 6:return y(a,4);default:return null}}function Ge(a,b,c){b=He.j().a[a][b];if(!b)return c;b=new ze(b);b=Ie(b);a=Fe(b,a);return null!=a?a:c}function Ie(a){var b=De.j().a;if(b){var c=Na(C(a,Ce,5),function(d){return we(B(d,pe,1),b)});if(c)return B(c,xe,2)}return B(a,xe,4)}function He(){var a={};this.a=(a[1]={},a[2]={},a[3]={},a[6]={},a)}va(He);function Je(a,b){return!!Ge(1,a,void 0===b?!1:b)}function Ke(a,b){b=void 0===b?0:b;a=Number(Ge(2,a,b));return isNaN(a)?b:a}function Le(a,b){return Ge(3,a,void 0===b?"":b)}function Me(a,b){b=void 0===b?[]:b;return Ge(6,a,b)}function Ne(a){var b=He.j().a;Ia(a,function(c){var d=Db(c,Be[0]),e=Ee(c,d);e&&(b[d][e]=Jb(c))})}function Oe(a){var b=He.j().a;Ia(a,function(c){var d=new ze(c),e=Db(d,Be[0]);(d=Ee(d,e))&&(b[e][d]||(b[e][d]=c))})};function M(a){this.a=a}var Pe=new M(1),Qe=new M(2),Re=new M(3),Se=new M(4),Te=new M(5),Ue=new M(6),Ve=new M(7),We=new M(8),Xe=new M(9),Ye=new M(10),Ze=new M(11),$e=new M(12),af=new M(13),bf=new M(14);function N(a,b,c){c.hasOwnProperty(a.a)||Object.defineProperty(c,String(a.a),{value:b})}function cf(a,b,c){return b[a.a]||c||function(){}}function df(a){N(Te,Je,a);N(Ue,Ke,a);N(Ve,Le,a);N(We,Me,a);N(af,Oe,a)}function ef(a){N(Se,function(b){De.j().a=b},a);N(Xe,function(b,c){var d=De.j();d.a[3][b]||(d.a[3][b]=c)},a);N(Ye,function(b,c){var d=De.j();d.a[4][b]||(d.a[4][b]=c)},a);N(Ze,function(b,c){var d=De.j();d.a[5][b]||(d.a[5][b]=c)},a);N(bf,function(b){for(var c=De.j(),d=ba([3,4,5]),e=d.next();!e.done;e=d.next()){var f=e.value;e=void 0;var g=c.a[f];f=b[f];for(e in f)g[e]=f[e]}},a)}function ff(a){a.hasOwnProperty("init-done")||Object.defineProperty(a,"init-done",{value:!0})};function gf(){this.a=function(){return!1}}va(gf);function hf(a,b,c){c||(c=zc?"https":"http");p.location&&"https:"==p.location.protocol&&"http"==c&&(c="https");return[c,"://",a,b].join("")}function jf(a,b,c){a=hf(a,b,c);var d=void 0===d?!1:d;if(gf.j().a(182,d)){var e;2012<oe?e=a.replace(new RegExp(".js".replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08"),"g"),("_fy"+oe+".js").replace(/\$/g,"$$$$")):e=a;d=e}else d=a;return d};var kf=null;function lf(){if(!xc)return!1;if(null!=kf)return kf;kf=!1;try{var a=Mc(p);a&&-1!=a.location.hash.indexOf("google_logging")&&(kf=!0);p.localStorage.getItem("google_logging")&&(kf=!0)}catch(b){}return kf}function mf(a,b){b=void 0===b?[]:b;var c=!1;p.google_logging_queue||(c=!0,p.google_logging_queue=[]);p.google_logging_queue.push([a,b]);c&&lf()&&(a=jf(Ac(),"/pagead/js/logging_library.js"),Zb(p.document,a))};function nf(a,b,c){this.a=a;this.b=b;this.f=c};function of(a){x(this,a,null,null)}r(of,v);function pf(a){x(this,a,null,null)}r(pf,v);function qf(a){x(this,a,rf,null)}r(qf,v);var rf=[5];function sf(a){try{var b=a.localStorage.getItem("google_ama_settings");return b?new qf(b?JSON.parse(b):null):null}catch(c){return null}};function tf(){};var uf={rectangle:1,horizontal:2,vertical:4};var vf={9:"400",10:"100",13:"0.001",22:"0.01",24:"0.05",28:"0.001",29:"0.01",34:"0.001",60:"0.03",66:"0.1",78:"0.1",79:"1200",82:"3",96:"700",97:"20",98:"0.01",99:"600",100:"100",103:"0.01",111:"0.1",118:"false",120:"0",121:"1000",126:"0.001",128:"false",129:"0.02",135:"0.01",136:"0.02",137:"0.01",142:"1",149:"0",150:"1000",152:"700",153:"20",155:"1",157:"1",158:"100",160:"250",161:"150",162:"0.1",165:"0.02",173:"800",174:"2",176:"0",177:"0.02",179:"100",180:"20",182:"0.1",185:"0.4",189:"400",190:"100",191:"0.04",192:"0",193:"500",194:"90",195:"0",196:"100",197:"false",199:"0",200:"2",201:"true"};var wf=null;function xf(){this.a=vf}function O(a,b){a=parseFloat(a.a[b]);return isNaN(a)?0:a}function yf(a){var b=zf();return jc(b.a[a],!1)}function zf(){wf||(wf=new xf);return wf};var Af=null;function Bf(){if(!Af){for(var a=p,b=a,c=0;a&&a!=a.parent;)if(a=a.parent,c++,Wb(a))b=a;else break;Af=b}return Af};function Cf(){this.a=function(){return[]};this.b=function(){return[]}}function Df(a,b){a.a=cf(Qe,b,function(){});a.b=cf(Re,b,function(){return[]})}va(Cf);var Ef={c:"368226950",g:"368226951"},Ff={c:"368226960",g:"368226961"},Gf={c:"368226470",U:"368226471"},Hf={c:"368226480",U:"368226481"},If={c:"332260030",R:"332260031",P:"332260032"},Jf={c:"332260040",R:"332260041",P:"332260042"},Kf={c:"368226100",g:"368226101"},Lf={c:"368226110",g:"368226111"},Mf={c:"368226500",g:"368226501"},Nf={c:"36998750",g:"36998751"},Of={c:"633794000",B:"633794004"},Pf={c:"633794002",B:"633794005"},Qf={c:"231196899",g:"231196900"},Rf={c:"231196901",g:"231196902"},Sf={c:"21063914",g:"21063915"},Tf={c:"4089040",Da:"4089042"},Uf={o:"20040067",c:"20040068",la:"1337"},Vf={c:"21060548",o:"21060549"},Wf={c:"21060623",o:"21060624"},Xf={c:"22324606",g:"22324607"},Yf={c:"21062271",o:"21062272"},Zf={c:"368226370",g:"368226371"},$f={c:"368226380",g:"368226381"},ag={c:"182982000",g:"182982100"},cg={c:"182982200",g:"182982300"},dg={c:"182983000",g:"182983100"},eg={c:"182983200",g:"182983300"},fg={c:"182984000",g:"182984100"},gg={c:"182984200",g:"182984300"},hg={c:"229739148",g:"229739149"},ig={c:"229739146",g:"229739147"},jg={c:"20040012",g:"20040013"},kg={c:"151527201",T:"151527221",L:"151527222",K:"151527223",I:"151527224",J:"151527225"},P={c:"151527001",T:"151527021",L:"151527022",K:"151527023",I:"151527024",J:"151527025"},lg={c:"151527002",aa:"151527006",ba:"151527007"};function mg(){this.wasPlaTagProcessed=!1;this.wasReactiveAdConfigReceived={};this.adCount={};this.wasReactiveAdVisible={};this.stateForType={};this.reactiveTypeEnabledInAsfe={};this.isReactiveTagFirstOnPage=this.wasReactiveAdConfigHandlerRegistered=this.wasReactiveTagRequestSent=!1;this.reactiveTypeDisabledByPublisher={};this.tagSpecificState={};this.adRegion=null;this.improveCollisionDetection=0;this.messageValidationEnabled=!1}function ng(a){a.google_reactive_ads_global_state||(a.google_reactive_ads_global_state=new mg);return a.google_reactive_ads_global_state};function og(a){a=a.document;var b={};a&&(b="CSS1Compat"==a.compatMode?a.documentElement:a.body);return b||{}}function Q(a){return og(a).clientWidth};function pg(a,b){for(var c=["width","height"],d=0;d<c.length;d++){var e="google_ad_"+c[d];if(!b.hasOwnProperty(e)){var f=F(a[c[d]]);f=null===f?null:Math.round(f);null!=f&&(b[e]=f)}}}function qg(a,b){return!((hc.test(b.google_ad_width)||gc.test(a.style.width))&&(hc.test(b.google_ad_height)||gc.test(a.style.height)))}function rg(a,b){return(a=sg(a,b))?a.y:0}function sg(a,b){try{var c=b.document.documentElement.getBoundingClientRect(),d=a.getBoundingClientRect();return{x:d.left-c.left,y:d.top-c.top}}catch(e){return null}}function tg(a,b){do{var c=$b(a,b);if(c&&"fixed"==c.position)return!1}while(a=a.parentElement);return!0}function ug(a){var b=0,c;for(c in uf)-1!=a.indexOf(c)&&(b|=uf[c]);return b}function vg(a,b,c,d,e){if(Lc(a)!=a)return Mc(a)?3:16;if(!(488>Q(a)))return 4;if(!(a.innerHeight>=a.innerWidth))return 5;var f=Q(a);if(!f||(f-c)/f>d)a=6;else{if(c="true"!=e.google_full_width_responsive)a:{c=Q(a);for(b=b.parentElement;b;b=b.parentElement)if((d=$b(b,a))&&(e=F(d.width))&&!(e>=c)&&"visible"!=d.overflow){c=!0;break a}c=!1}a=c?7:!0}return a}function wg(a,b,c,d){var e=vg(b,c,a,.3,d);if(!0!==e)return e;e=Q(b);a=e-a;a=e&&0<=a?!0:e?-10>a?11:0>a?14:12:10;return"true"==d.google_full_width_responsive||tg(c,b)?a:9}function xg(a,b,c){"rtl"==b?a.style.marginRight=c:a.style.marginLeft=c}function yg(a,b){if(3==b.nodeType)return/\S/.test(b.data);if(1==b.nodeType){if(/^(script|style)$/i.test(b.nodeName))return!1;try{var c=$b(b,a)}catch(d){}return!c||"none"!=c.display&&!("absolute"==c.position&&("hidden"==c.visibility||"collapse"==c.visibility))}return!1}function zg(a,b,c){a=sg(b,a);return"rtl"==c?-a.x:a.x}function Ag(a,b,c,d,e,f){var g=J(a,Kf.g);var h=J(a,Kf.c);if(g||h)f.ovlp=!0;if(g){if(e=b.parentElement)if(e=$b(e,a))b.style.width=Q(a)+"px",e=e.direction,xg(b,e,"0px"),c=zg(a,b,e),xg(b,e,-1*c+"px"),a=zg(a,b,e),0!==a&&a!==c&&xg(b,e,c/(a-c)*c+"px"),b.style.zIndex=30}else if(a=$b(c,a)){g=F(a.paddingLeft)||0;a=a.direction;d=e-d;if(f.google_ad_resize)c=-1*(d+g)+"px";else{for(h=f=0;100>h&&c;h++)f+=c.offsetLeft+c.clientLeft-c.scrollLeft,c=c.offsetParent;c=f+g;c="rtl"==a?-1*(d-c)+"px":-1*c+"px"}xg(b,a,c);b.style.width=e+"px";b.style.zIndex=30}};function R(a,b){this.b=a;this.a=b}l=R.prototype;l.minWidth=function(){return this.b};l.height=function(){return this.a};l.M=function(a){return 300<a&&300<this.a?this.b:Math.min(1200,Math.round(a))};l.ea=function(a){return this.M(a)+"x"+this.height()};l.Z=function(){};function Bg(a,b,c,d){d=void 0===d?function(f){return f}:d;var e;return a.style&&a.style[c]&&d(a.style[c])||(e=$b(a,b))&&e[c]&&d(e[c])||null}function Cg(a){return function(b){return b.minWidth()<=a}}function Dg(a,b,c,d){var e=a&&Eg(c,b),f=Fg(b,d);return function(g){return!(e&&g.height()>=f)}}function Gg(a){return function(b){return b.height()<=a}}function Eg(a,b){return rg(a,b)<og(b).clientHeight-100}function Hg(a,b){a=rg(a,b);b=og(b).clientHeight;return 0==b?null:a/b}function Ig(a,b){var c=Infinity;do{var d=Bg(b,a,"height",F);d&&(c=Math.min(c,d));(d=Bg(b,a,"maxHeight",F))&&(c=Math.min(c,d))}while((b=b.parentElement)&&"HTML"!=b.tagName);return c}function Jg(a,b){var c=Bg(b,a,"height",F);if(c)return c;var d=b.style.height;b.style.height="inherit";c=Bg(b,a,"height",F);b.style.height=d;if(c)return c;c=Infinity;do(d=b.style&&F(b.style.height))&&(c=Math.min(c,d)),(d=Bg(b,a,"maxHeight",F))&&(c=Math.min(c,d));while((b=b.parentElement)&&"HTML"!=b.tagName);return c}function Fg(a,b){var c=a.google_unique_id;return b&&0==("number"===typeof c?c:0)?Math.max(250,2*og(a).clientHeight/3):250};function Kg(a,b){for(var c=[],d=a.length,e=0;e<d;e++)c.push(a[e]);c.forEach(b,void 0)};function Lg(a){if(1!=a.nodeType)var b=!1;else if(b="INS"==a.tagName)a:{b=["adsbygoogle-placeholder"];a=a.className?a.className.split(/\s+/):[];for(var c={},d=0;d<a.length;++d)c[a[d]]=!0;for(d=0;d<b.length;++d)if(!c[b[d]]){b=!1;break a}b=!0}return b};function Mg(a,b){for(var c=0;c<b.length;c++){var d=b[c],e=yb(d.$a);a[e]=d.value}};function Ng(a,b,c,d){this.h=a;this.b=b;this.f=c;this.a=d}function Og(a,b){var c=[];try{c=b.querySelectorAll(a.h)}catch(g){}if(!c.length)return[];b=c;c=b.length;if(0<c){for(var d=Array(c),e=0;e<c;e++)d[e]=b[e];b=d}else b=[];b=Pg(a,b);pa(a.b)&&(c=a.b,0>c&&(c+=b.length),b=0<=c&&c<b.length?[b[c]]:[]);if(pa(a.f)){c=[];for(d=0;d<b.length;d++){e=Qg(b[d]);var f=a.f;0>f&&(f+=e.length);0<=f&&f<e.length&&c.push(e[f])}b=c}return b}Ng.prototype.toString=function(){return JSON.stringify({nativeQuery:this.h,occurrenceIndex:this.b,paragraphIndex:this.f,ignoreMode:this.a})};function Pg(a,b){if(null==a.a)return b;switch(a.a){case 1:return b.slice(1);case 2:return b.slice(0,b.length-1);case 3:return b.slice(1,b.length-1);case 0:return b;default:throw Error("Unknown ignore mode: "+a.a);}}function Qg(a){var b=[];Kg(a.getElementsByTagName("p"),function(c){100<=Rg(c)&&b.push(c)});return b}function Rg(a){if(3==a.nodeType)return a.length;if(1!=a.nodeType||"SCRIPT"==a.tagName)return 0;var b=0;Kg(a.childNodes,function(c){b+=Rg(c)});return b}function Sg(a){return 0==a.length||isNaN(a[0])?a:"\\"+(30+parseInt(a[0],10))+" "+a.substring(1)};function Tg(a){if(!a)return null;var b=y(a,7);if(y(a,1)||a.X()||0<y(a,4).length){var c=a.X(),d=y(a,1),e=y(a,4);b=y(a,2);var f=y(a,5);a=Ug(y(a,6));var g="";d&&(g+=d);c&&(g+="#"+Sg(c));if(e)for(c=0;c<e.length;c++)g+="."+Sg(e[c]);b=(e=g)?new Ng(e,b,f,a):null}else b=b?new Ng(b,y(a,2),y(a,5),Ug(y(a,6))):null;return b}var Vg={1:1,2:2,3:3,0:0};function Ug(a){return null!=a?Vg[a]:a}var Wg={1:0,2:1,3:2,4:3};function Xg(){this.a={};this.b={}}Xg.prototype.add=function(a){this.a[a]=!0;this.b[a]=a};Xg.prototype.contains=function(a){return!!this.a[a]};function Yg(){this.a={};this.b={}}Yg.prototype.set=function(a,b){this.a[a]=b;this.b[a]=a};Yg.prototype.get=function(a,b){return void 0!==this.a[a]?this.a[a]:b};function Zg(){this.a=new Yg}Zg.prototype.set=function(a,b){var c=this.a.get(a);c||(c=new Xg,this.a.set(a,c));c.add(b)};function $g(a,b){function c(){d.push({anchor:e.anchor,position:e.position});return e.anchor==b.anchor&&e.position==b.position}for(var d=[],e=a;e;){switch(e.position){case 1:if(c())return d;e.position=2;case 2:if(c())return d;if(e.anchor.firstChild){e={anchor:e.anchor.firstChild,position:1};continue}else e.position=3;case 3:if(c())return d;e.position=4;case 4:if(c())return d}for(;e&&!e.anchor.nextSibling&&e.anchor.parentNode!=e.anchor.ownerDocument.body;){e={anchor:e.anchor.parentNode,position:3};if(c())return d;e.position=4;if(c())return d}e&&e.anchor.nextSibling?e={anchor:e.anchor.nextSibling,position:1}:e=null}return d};function ah(a,b){this.b=a;this.a=b}function bh(a,b){var c=new Zg,d=new Xg;b.forEach(function(e){if(B(e,Xc,1)){e=B(e,Xc,1);if(B(e,Uc,1)&&B(B(e,Uc,1),Sc,1)&&B(e,Uc,2)&&B(B(e,Uc,2),Sc,1)){var f=ch(a,B(B(e,Uc,1),Sc,1)),g=ch(a,B(B(e,Uc,2),Sc,1));if(f&&g)for(f=ba($g({anchor:f,position:y(B(e,Uc,1),2)},{anchor:g,position:y(B(e,Uc,2),2)})),g=f.next();!g.done;g=f.next())g=g.value,c.set(Aa(g.anchor),g.position)}B(e,Uc,3)&&B(B(e,Uc,3),Sc,1)&&(f=ch(a,B(B(e,Uc,3),Sc,1)))&&c.set(Aa(f),y(B(e,Uc,3),2))}else B(e,Yc,2)?dh(a,B(e,Yc,2),c):B(e,Zc,3)&&eh(a,B(e,Zc,3),d)});return new ah(c,d)}function dh(a,b,c){B(b,Sc,1)&&(a=fh(a,B(b,Sc,1)))&&a.forEach(function(d){d=Aa(d);c.set(d,1);c.set(d,4);c.set(d,2);c.set(d,3)})}function eh(a,b,c){B(b,Sc,1)&&(a=fh(a,B(b,Sc,1)))&&a.forEach(function(d){c.add(Aa(d))})}function ch(a,b){return(a=fh(a,b))&&0<a.length?a[0]:null}function fh(a,b){return(b=Tg(b))?Og(b,a):null};function gh(a,b){var c=b.b-301,d=b.a+b.f+301,e=b.b+301,f=b.a-301;return!La(a,function(g){return g.left<d&&f<g.right&&g.top<e&&c<g.bottom})};function hh(a,b){if(!a)return!1;a=$b(a,b);if(!a)return!1;a=a.cssFloat||a.styleFloat;return"left"==a||"right"==a}function ih(a){for(a=a.previousSibling;a&&1!=a.nodeType;)a=a.previousSibling;return a?a:null}function jh(a){return!!a.nextSibling||!!a.parentNode&&jh(a.parentNode)};function kh(a,b){return a&&null!=y(a,4)&&b[y(B(a,ad,4),2)]?!1:!0}function lh(a){var b={};a&&y(a,6).forEach(function(c){b[c]=!0});return b}function mh(a,b,c,d){this.a=p;this.$=a;this.f=b;this.i=d||null;this.s=(this.w=c)?bh(p.document,C(c,Vc,5)):bh(p.document,[]);this.b=0;this.h=!1}function nh(a,b){if(a.h)return!0;a.h=!0;var c=C(a.f,bd,1);a.b=0;var d=lh(a.w);if(B(a.f,ld,15)&&Gb(B(a.f,ld,15),12)){var e=sf(a.a);e=null===e?null:C(e,pf,5);if(null!=e){var f=sf(a.a);f=null!==f&&null!=y(f,3)&&null!==Eb(f,3)?Eb(f,3):.3;var g=sf(a.a);g=null!==g&&null!=y(g,4)?Eb(g,4):1;f-=g;g=[];for(var h=0;h<e.length&&.05<=f&&4>(oh(a).numAutoAdsPlaced||0);h++){var k=y(e[h],1);if(null==k)break;var m=c[k],n=B(e[h],of,2);null!=n&&null!=Eb(n,1)&&null!=Eb(n,2)&&null!=Eb(n,3)&&(n=new nf(Eb(n,1),Eb(n,2),Eb(n,3)),gh(g,n)&&(k=ph(a,m,k,b,d),null!=k&&null!=k.V&&(k=k.V.getBoundingClientRect(),g.push(k),m=a.a,f-=k.width*k.height/(og(m).clientHeight*Q(m)))))}}return!0}e=sf(a.a);if(null!==e&&Gb(e,2))return oh(a).eatf=!0,mf(7,[!0,0,!1]),!0;for(e=0;e<c.length;e++)if(ph(a,c[e],e,b,d))return!0;mf(7,[!1,a.b,!1]);return!1}function ph(a,b,c,d,e){if(1!==y(b,8)||!kh(b,e))return null;var f=B(b,ad,4);if(f&&2==y(f,1)){a.b++;if(b=qh(a,b,d,e))d=oh(a),d.placement=c,d.numAutoAdsPlaced||(d.numAutoAdsPlaced=0),d.numAutoAdsPlaced++,mf(7,[!1,a.b,!0]);return b}return null}function qh(a,b,c,d){if(!kh(b,d)||1!=y(b,8))return null;d=B(b,Sc,1);if(!d)return null;d=Tg(d);if(!d)return null;d=Og(d,a.a.document);if(0==d.length)return null;d=d[0];var e=y(b,2);e=Wg[e];e=void 0!==e?e:null;var f;if(!(f=null==e)){a:{f=a.a;switch(e){case 0:f=hh(ih(d),f);break a;case 3:f=hh(d,f);break a;case 2:var g=d.lastChild;f=hh(g?1==g.nodeType?g:ih(g):null,f);break a}f=!1}if(c=!f&&!(!c&&2==e&&!jh(d)))c=1==e||2==e?d:d.parentNode,c=!(c&&!Lg(c)&&0>=c.offsetWidth);f=!c}if(!(c=f)){c=a.s;f=y(b,2);g=Aa(d);g=c.b.a.get(g);if(!(g=g?g.contains(f):!1))a:{if(c.a.contains(Aa(d)))switch(f){case 2:case 3:g=!0;break a;default:g=!1;break a}for(f=d.parentElement;f;){if(c.a.contains(Aa(f))){g=!0;break a}f=f.parentElement}g=!1}c=g}if(c)return null;f=B(b,$c,3);c={};f&&(c.za=y(f,1),c.na=y(f,2),c.Ha=!!Fb(f,3));f=B(b,ad,4)&&y(B(b,ad,4),2)?y(B(b,ad,4),2):null;f=ie(f);b=null==y(b,12)?null:y(b,12);b=he(a.i,f,null==b?null:new ge(null,{google_ml_rank:b}));f=a.a;a=a.$;var h=f.document;g=Rb((new Sb(h)).a,"DIV");var k=g.style;k.textAlign="center";k.width="100%";k.height="auto";k.clear=c.Ha?"both":"none";c.Pa&&Mg(k,c.Pa);h=Rb((new Sb(h)).a,"INS");k=h.style;k.display="block";k.margin="auto";k.backgroundColor="transparent";c.za&&(k.marginTop=c.za);c.na&&(k.marginBottom=c.na);c.Fa&&Mg(k,c.Fa);g.appendChild(h);c={da:g,V:h};c.V.setAttribute("data-ad-format","auto");g=[];if(h=b&&b.oa)c.da.className=h.join(" ");h=c.V;h.className="adsbygoogle";h.setAttribute("data-ad-client",a);g.length&&h.setAttribute("data-ad-channel",g.join("+"));a:{try{var m=c.da;switch(e){case 0:d.parentNode&&d.parentNode.insertBefore(m,d);break;case 3:var n=d.parentNode;if(n){var u=d.nextSibling;if(u&&u.parentNode!=n)for(;u&&8==u.nodeType;)u=u.nextSibling;n.insertBefore(m,u)}break;case 1:d.insertBefore(m,d.firstChild);break;case 2:d.appendChild(m)}Lg(d)&&(d.setAttribute("data-init-display",d.style.display),d.style.display="block");b:{var w=c.V;w.setAttribute("data-adsbygoogle-status","reserved");w.className+=" adsbygoogle-noablate";m={element:w};var z=b&&b.ua;if(w.hasAttribute("data-pub-vars")){try{z=JSON.parse(w.getAttribute("data-pub-vars"))}catch(H){break b}w.removeAttribute("data-pub-vars")}z&&(m.params=z);(f.adsbygoogle=f.adsbygoogle||[]).push(m)}}catch(H){(w=c.da)&&w.parentNode&&(z=w.parentNode,z.removeChild(w),Lg(z)&&(z.style.display=z.getAttribute("data-init-display")||"none"));w=!1;break a}w=!0}return w?c:null}function oh(a){return a.a.google_ama_state=a.a.google_ama_state||{}};function rh(){this.b=new sh(this);this.a=0}function th(a){if(0!=a.a)throw Error("Already resolved/rejected.");}function sh(a){this.a=a}function uh(a){switch(a.a.a){case 0:break;case 1:a.b&&a.b(a.a.h);break;case 2:a.f&&a.f(a.a.f);break;default:throw Error("Unhandled deferred state.");}};function vh(a,b){this.exception=b}function wh(a,b){this.f=p;this.a=a;this.b=b}wh.prototype.start=function(){this.h()};wh.prototype.h=function(){try{switch(this.f.document.readyState){case "complete":case "interactive":nh(this.a,!0);xh(this);break;default:nh(this.a,!1)?xh(this):this.f.setTimeout(Fa(this.h,this),100)}}catch(a){xh(this,a)}};function xh(a,b){try{var c=a.b,d=new vh(new tf(oh(a.a).numAutoAdsPlaced||0),b);th(c);c.a=1;c.h=d;uh(c.b)}catch(e){a=a.b,b=e,th(a),a.a=2,a.f=b,uh(a.b)}};function yh(a){me(a,{atf:1})}function zh(a,b){(a.google_ama_state=a.google_ama_state||{}).exception=b;me(a,{atf:0})};function Ah(){this.debugCard=null;this.debugCardRequested=!1};function Bh(a,b){if(!a)return!1;a=a.hash;if(!a||!a.indexOf)return!1;if(-1!=a.indexOf(b))return!0;b=Ch(b);return"go"!=b&&-1!=a.indexOf(b)?!0:!1}function Ch(a){var b="";Dc(a.split("_"),function(c){b+=c.substr(0,2)});return b};function Dh(a,b,c){var d="script";d=void 0===d?"":d;var e=a.createElement("link");try{e.rel="preload";if(eb("preload","stylesheet"))var f=Xa(b).toString();else{if(b instanceof Va)var g=Xa(b).toString();else{if(b instanceof hb)var h=jb(b);else{if(b instanceof hb)var k=b;else b="object"==typeof b&&b.f?b.b():String(b),kb.test(b)||(b="about:invalid#zClosurez"),k=lb(b);h=jb(k)}g=h}f=g}e.href=f}catch(m){return}d&&(e.as=d);c&&e.setAttribute("nonce",c);if(a=a.getElementsByTagName("head")[0])try{a.appendChild(e)}catch(m){}};function Eh(a){var b={},c={};return c.enable_page_level_ads=(b.pltais=!0,b),c.google_ad_client=a,c};function Fh(a){if(!a)return"";(a=a.toLowerCase())&&"ca-"!=a.substring(0,3)&&(a="ca-"+a);return a};function Gh(a,b){function c(d){try{var e=new Kb(d);return Ma(C(e,Mb,2),function(f){return 1==y(f,1)})}catch(f){return null}}b=void 0===b?"":b;a=Mc(a)||a;a=Hh(a);return b?(b=Fh(String(b)),a[b]?c(a[b]):null):Ma(Ka(Ta(a),c),function(d){return null!=d})}function Ih(a,b,c){function d(e){if(!e)return!1;e=new Kb(e);return y(e,3)&&Oa(y(e,3),b)}c=void 0===c?"":c;a=Mc(a)||a;if(Jh(a,b))return!0;a=Hh(a);return c?(c=Fh(String(c)),d(a[c])):Sa(a,d)}function Jh(a,b){a=(a=(a=a.location&&a.location.hash)&&a.match(/forced_clientside_labs=([\d,]+)/))&&a[1];return!!a&&Oa(a.split(","),b.toString())}function Hh(a){try{return mc({},JSON.parse(a.localStorage.getItem("google_adsense_settings")))}catch(b){return{}}};function Kh(a){var b=Ih(p,12,a.google_ad_client);a="google_ad_host"in a;var c=J(p,Ef.g),d=Bh(p.location,"google_ads_preview");return b&&!a&&c||d}function Lh(a){if(p.google_apltlad||Lc(p)!=p||!a.google_ad_client)return null;var b=Kh(a),c=!J(p,Gf.U);if(!b&&!c)return null;p.google_apltlad=!0;var d=Eh(a.google_ad_client),e=d.enable_page_level_ads;ec(a,function(f,g){Rc[g]&&"google_ad_client"!=g&&(e[g]=f)});b?e.google_ad_channel="AutoInsertAutoAdCode":c&&(e.google_pgb_reactive=7,"google_ad_section"in a||"google_ad_region"in a)&&(e.google_ad_section=a.google_ad_section||a.google_ad_region);return d}function Mh(a){return za(a.enable_page_level_ads)&&7==a.enable_page_level_ads.google_pgb_reactive};function ae(a){try{var b=I(p).eids||[];null!=b&&0<b.length&&(a.eid=b.join(","))}catch(c){}}function $d(a){a.shv=wc()}Vd.h=!xc;function Nh(a,b){return rg(b,a)+Bg(b,a,"height",F)};var Oh=new K(200,399,""),Ph=new K(400,499,""),Qh=new K(600,699,""),Rh=new K(700,799,""),Sh=new K(800,899,""),Th=new K(1,399,"3"),Uh=new K(0,999,"5"),Vh=new K(400,499,"6"),Wh=new K(500,599,""),Xh=new K(0,999,"7"),Yh=new K(0,999,"8");function Zh(a){a=void 0===a?p:a;return a.ggeac||(a.ggeac={})};function $h(){var a={};this[3]=(a[8]=function(b){return!!ta(b)},a[9]=function(b){b=ta(b);var c;if(c="function"==wa(b))b=b&&b.toString&&b.toString(),c=q(b)&&eb(b,"[native code]");return c},a[10]=function(){return window==window.top},a[16]=function(){return qc()},a[22]=function(){return pc()},a);a={};this[4]=(a[5]=function(b){b=Dd(window,void 0===b?"":b);return null!=b?b:void 0},a[6]=function(b){b=ta(b);return pa(b)?b:void 0},a);a={};this[5]=(a[2]=function(){return window.location.href},a[3]=function(){try{return window.top.location.hash}catch(b){return""}},a[4]=function(b){b=ta(b);return q(b)?b:void 0},a)}va($h);function ai(a){x(this,a,bi,null)}r(ai,v);var bi=[2];ai.prototype.X=function(){return A(this,1,0)};ai.prototype.W=function(){return A(this,7,0)};function ci(a){x(this,a,di,null)}r(ci,v);var di=[2];ci.prototype.W=function(){return A(this,5,0)};function ei(a){x(this,a,fi,null)}r(ei,v);function gi(a){x(this,a,hi,null)}r(gi,v);var fi=[1,2],hi=[2];gi.prototype.W=function(){return A(this,1,0)};var ii=[12,13];function ji(a,b){var c=this,d=void 0===b?{}:b;b=void 0===d.Ja?!1:d.Ja;var e=void 0===d.Oa?{}:d.Oa;d=void 0===d.Xa?[]:d.Xa;this.a=a;this.i=b;this.f=e;this.h=d;this.b={};(a=Fd())&&Ia(a.split(",")||[],function(f){(f=parseInt(f,10))&&(c.b[f]=!0)})}function ki(a,b){var c=[],d=li(a.a,b);d.length&&(9!==b&&(a.a=mi(a.a,b)),Ia(d,function(e){if(e=ni(a,e)){var f=e.X();c.push(f);a.h.push(f);(e=C(e,ze,2))&&Ne(e)}}));return c}function oi(a,b){a.a.push.apply(a.a,ca(Ja(Ka(b,function(c){return new gi(c)}),function(c){return!Oa(ii,c.W())})))}function ni(a,b){var c=De.j().a;if(!we(B(b,pe,3),c))return null;var d=C(b,ai,2),e=c?Ja(d,function(g){return we(B(g,pe,3),c)}):d,f=e.length;if(!f)return null;d=A(b,4,0);b=f*A(b,1,0);if(!d)return pi(a,e,b/1E3);f=null!=a.f[d]?a.f[d]:1E3;if(0>=f)return null;e=pi(a,e,b/f);a.f[d]=e?0:f-b;return e}function pi(a,b,c){var d=a.b,e=Ma(b,function(f){return!!d[f.X()]});return e?e:a.i?null:ac(b,c,!1)}function qi(a,b){N(Pe,function(c){a.b[c]=!0},b);N(Qe,function(c){return ki(a,c)},b);N(Re,function(){return a.h},b);N($e,function(c){return oi(a,c)},b)}function li(a,b){return(a=Ma(a,function(c){return c.W()==b}))&&C(a,ci,2)||[]}function mi(a,b){return Ja(a,function(c){return c.W()!=b})};function ri(){this.a=function(){}}va(ri);function si(){var a=$h.j();ri.j().a(a)};function ti(a,b){var c=void 0===c?Zh():c;c.hasOwnProperty("init-done")?(cf($e,c)(Ka(C(a,gi,2),function(d){return Jb(d)})),cf(af,c)(Ka(C(a,ze,1),function(d){return Jb(d)})),ui(c)):(qi(new ji(C(a,gi,2),b),c),df(c),ef(c),ff(c),ui(c),Ne(C(a,ze,1)),si())}function ui(a){var b=a=void 0===a?Zh():a;Df(Cf.j(),b);b=a;gf.j().a=cf(Te,b);ri.j().a=cf(bf,a)};function S(a,b){b&&a.push(b)}function vi(a,b){for(var c=[],d=1;d<arguments.length;++d)c[d-1]=arguments[d];d=Mc(a)||a;d=(d=(d=d.location&&d.location.hash)&&(d.match(/google_plle=([\d,]+)/)||d.match(/deid=([\d,]+)/)))&&d[1];return!!d&&La(c,Ga(eb,d))}function wi(a,b,c){for(var d=0;d<c.length;d++)if(vi(a,c[d]))return c[d];return ac(c,b)}function T(a,b,c,d,e,f){f=void 0===f?1:f;for(var g=0;g<e.length;g++)if(vi(a,e[g]))return e[g];f=void 0===f?1:f;0>=d?c=null:(g=new Cd(c,c+d-1),(d=d%f||d/f%e.length)||(d=b.b,d=!(d.start<=g.start&&d.a>=g.a)),d?c=null:(a=Dd(a,b.a),c=null!==a&&g.start<=a&&g.a>=a?e[Math.floor((a-c)/f)%e.length]:null));return c};function xi(a,b,c){if(Wb(a.document.getElementById(b).contentWindow))a=a.document.getElementById(b).contentWindow,b=a.document,b.body&&b.body.firstChild||(/Firefox/.test(navigator.userAgent)?b.open("text/html","replace"):b.open(),a.google_async_iframe_close=!0,b.write(c));else{a=a.document.getElementById(b).contentWindow;c=String(c);b=['"'];for(var d=0;d<c.length;d++){var e=c.charAt(d),f=e.charCodeAt(0),g=d+1,h;if(!(h=wb[e])){if(!(31<f&&127>f))if(f=e,f in xb)e=xb[f];else if(f in wb)e=xb[f]=wb[f];else{h=f.charCodeAt(0);if(31<h&&127>h)e=f;else{if(256>h){if(e="\\x",16>h||256<h)e+="0"}else e="\\u",4096>h&&(e+="0");e+=h.toString(16).toUpperCase()}e=xb[f]=e}h=e}b[g]=h}b.push('"');a.location.replace("javascript:"+b.join(""))}};var yi=null;function U(a,b,c,d){d=void 0===d?!1:d;R.call(this,a,b);this.Y=c;this.Ma=d}ka(U,R);U.prototype.ha=function(){return this.Y};U.prototype.Z=function(a,b,c,d){if(!c.google_ad_resize){d.style.height=this.height()+"px";b=J(a,Of.c)||"ca-pub-9118350542306317"===c.google_ad_client;d=yf(197)?!J(a,Of.c):J(a,Of.B);var e=J(a,P.c),f=J(a,P.T)||J(a,P.L)||J(a,P.K)||J(a,P.I)||J(a,P.J);if(J(a,Of.c)||J(a,Of.B)||e||f)c.ovlp=!0;b?c.rpe=!1:d&&(c.rpe=!0)}};function zi(a){return function(b){return!!(b.Y&a)}};var Ai=zb("script");function Bi(a,b,c,d,e,f,g,h,k,m,n,u,w,z){this.sa=a;this.a=b;this.Y=void 0===c?null:c;this.f=void 0===d?null:d;this.ja=void 0===e?null:e;this.b=void 0===f?null:f;this.h=void 0===g?null:g;this.w=void 0===h?!1:h;this.$=void 0===k?!1:k;this.Aa=void 0===m?null:m;this.Ba=void 0===n?null:n;this.i=void 0===u?null:u;this.s=void 0===w?null:w;this.Ca=void 0===z?null:z;this.ka=this.xa=this.ta=null}function Ci(a,b,c){null!=a.Y&&(c.google_responsive_formats=a.Y);null!=a.ja&&(c.google_safe_for_responsive_override=a.ja);null!=a.b&&(!0===a.b?c.google_full_width_responsive_allowed=!0:(c.google_full_width_responsive_allowed=!1,c.gfwrnwer=a.b));null!=a.h&&!0!==a.h&&(c.gfwrnher=a.h);a.w&&(c.google_bfa=a.w);a.$&&(c.ebfa=a.$);var d=a.s||c.google_ad_width;null!=d&&(c.google_resizing_width=d);d=a.i||c.google_ad_height;null!=d&&(c.google_resizing_height=d);d=a.a.M(b);var e=a.a.height();c.google_ad_resize||(c.google_ad_width=d,c.google_ad_height=e,c.google_ad_format=a.a.ea(b),c.google_responsive_auto_format=a.sa,null!=a.f&&(c.armr=a.f),c.google_ad_resizable=!0,c.google_override_format=1,c.google_loader_features_used=128,!0===a.b&&(c.gfwrnh=a.a.height()+"px"));null!=a.Aa&&(c.gfwroml=a.Aa);null!=a.Ba&&(c.gfwromr=a.Ba);null!=a.i&&(c.gfwroh=a.i);null!=a.s&&(c.gfwrow=a.s);null!=a.Ca&&(c.gfwroz=a.Ca);null!=a.ta&&(c.gml=a.ta);null!=a.xa&&(c.gmr=a.xa);null!=a.ka&&(c.gzi=a.ka);b=Jc();b=Mc(b)||b;Bh(b.location,"google_responsive_slot_debug")&&(c.ds="outline:thick dashed "+(d&&e?!0!==a.b||!0!==a.h?"#ffa500":"#0f0":"#f00")+" !important;");!Bh(b.location,"google_responsive_dummy_ad")||!Oa([1,2,3,4,5,6,7,8],a.sa)&&1!==a.f||c.google_ad_resize||2===a.f||(a=JSON.stringify({googMsgType:"adpnt",key_value:[{key:"qid",value:"DUMMY_AD"}]}),c.dash="<"+Ai+">window.top.postMessage('"+a+"', '*');\n </"+Ai+'>\n <div id="dummyAd" style="width:'+d+"px;height:"+e+'px;\n background:#ddd;border:3px solid #f00;box-sizing:border-box;\n color:#000;">\n <p>Requested size:'+d+"x"+e+"</p>\n <p>Rendered size:"+d+"x"+e+"</p>\n </div>")};/* Copyright 2019 The AMP HTML Authors. All Rights Reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS-IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ var Di={},Ei=(Di.image_stacked=1/1.91,Di.image_sidebyside=1/3.82,Di.mobile_banner_image_sidebyside=1/3.82,Di.pub_control_image_stacked=1/1.91,Di.pub_control_image_sidebyside=1/3.82,Di.pub_control_image_card_stacked=1/1.91,Di.pub_control_image_card_sidebyside=1/3.74,Di.pub_control_text=0,Di.pub_control_text_card=0,Di),Fi={},Gi=(Fi.image_stacked=80,Fi.image_sidebyside=0,Fi.mobile_banner_image_sidebyside=0,Fi.pub_control_image_stacked=80,Fi.pub_control_image_sidebyside=0,Fi.pub_control_image_card_stacked=85,Fi.pub_control_image_card_sidebyside=0,Fi.pub_control_text=80,Fi.pub_control_text_card=80,Fi),Hi={},Ii=(Hi.pub_control_image_stacked=100,Hi.pub_control_image_sidebyside=200,Hi.pub_control_image_card_stacked=150,Hi.pub_control_image_card_sidebyside=250,Hi.pub_control_text=100,Hi.pub_control_text_card=150,Hi);function Ji(a){var b=0;a.C&&b++;a.u&&b++;a.v&&b++;if(3>b)return{A:"Tags data-matched-content-ui-type, data-matched-content-columns-num and data-matched-content-rows-num should be set together."};b=a.C.split(",");var c=a.v.split(",");a=a.u.split(",");if(b.length!==c.length||b.length!==a.length)return{A:'Lengths of parameters data-matched-content-ui-type, data-matched-content-columns-num and data-matched-content-rows-num must match. Example: \n data-matched-content-rows-num="4,2"\ndata-matched-content-columns-num="1,6"\ndata-matched-content-ui-type="image_stacked,image_card_sidebyside"'};if(2<b.length)return{A:"The parameter length of attribute data-matched-content-ui-type, data-matched-content-columns-num and data-matched-content-rows-num is too long. At most 2 parameters for each attribute are needed: one for mobile and one for desktop, while you are providing "+(b.length+' parameters. Example: \n data-matched-content-rows-num="4,2"\ndata-matched-content-columns-num="1,6"\ndata-matched-content-ui-type="image_stacked,image_card_sidebyside".')};for(var d=[],e=[],f=0;f<b.length;f++){var g=Number(c[f]);if(isNaN(g)||0===g)return{A:"Wrong value '"+c[f]+"' for data-matched-content-rows-num."};d.push(g);g=Number(a[f]);if(isNaN(g)||0===g)return{A:"Wrong value '"+a[f]+"' for data-matched-content-columns-num."};e.push(g)}return{v:d,u:e,ra:b}}function Ki(a){return 1200<=a?{width:1200,height:600}:850<=a?{width:a,height:Math.floor(.5*a)}:550<=a?{width:a,height:Math.floor(.6*a)}:468<=a?{width:a,height:Math.floor(.7*a)}:{width:a,height:Math.floor(3.44*a)}};var Li=["google_content_recommendation_ui_type","google_content_recommendation_columns_num","google_content_recommendation_rows_num"];function Mi(a,b){R.call(this,a,b)}ka(Mi,R);Mi.prototype.M=function(a){return Math.min(1200,Math.max(this.minWidth(),Math.round(a)))};function Ni(a,b){Oi(a,b);if("pedestal"==b.google_content_recommendation_ui_type)return new Bi(9,new Mi(a,Math.floor(a*b.google_phwr)));var c=Vb();468>a?c?(c=a-8-8,c=Math.floor(c/1.91+70)+Math.floor(11*(c*Ei.mobile_banner_image_sidebyside+Gi.mobile_banner_image_sidebyside)+96),a={O:a,N:c,u:1,v:12,C:"mobile_banner_image_sidebyside"}):(a=Ki(a),a={O:a.width,N:a.height,u:1,v:13,C:"image_sidebyside"}):(a=Ki(a),a={O:a.width,N:a.height,u:4,v:2,C:"image_stacked"});Pi(b,a);return new Bi(9,new Mi(a.O,a.N))}function Qi(a,b){Oi(a,b);var c=Ji({v:b.google_content_recommendation_rows_num,u:b.google_content_recommendation_columns_num,C:b.google_content_recommendation_ui_type});if(c.A)a={O:0,N:0,u:0,v:0,C:"image_stacked",A:c.A};else{var d=2===c.ra.length&&468<=a?1:0;var e=c.ra[d];e=0===e.indexOf("pub_control_")?e:"pub_control_"+e;var f=Ii[e];for(var g=c.u[d];a/g<f&&1<g;)g--;f=g;c=c.v[d];d=Math.floor(((a-8*f-8)/f*Ei[e]+Gi[e])*c+8*c+8);a=1500<a?{width:0,height:0,ia:"Calculated slot width is too large: "+a}:1500<d?{width:0,height:0,ia:"Calculated slot height is too large: "+d}:{width:a,height:d};a=a.ia?{O:0,N:0,u:0,v:0,C:e,A:a.ia}:{O:a.width,N:a.height,u:f,v:c,C:e}}if(a.A)throw new L(a.A);Pi(b,a);return new Bi(9,new Mi(a.O,a.N))}function Oi(a,b){if(0>=a)throw new L("Invalid responsive width from Matched Content slot "+b.google_ad_slot+": "+a+". Please ensure to put this Matched Content slot into a non-zero width div container.");}function Pi(a,b){a.google_content_recommendation_ui_type=b.C;a.google_content_recommendation_columns_num=b.u;a.google_content_recommendation_rows_num=b.v};function Ri(a,b){R.call(this,a,b)}ka(Ri,R);Ri.prototype.M=function(){return this.minWidth()};Ri.prototype.Z=function(a,b,c,d){var e=this.M(b);Ag(a,d,d.parentElement,b,e,c);if(!c.google_ad_resize){d.style.height=this.height()+"px";b=J(a,Of.c)||"ca-pub-9118350542306317"===c.google_ad_client;d=yf(197)?!J(a,Of.c):J(a,Of.B);e=J(a,P.c);var f=J(a,P.T)||J(a,P.L)||J(a,P.K)||J(a,P.I)||J(a,P.J);if(J(a,Of.c)||J(a,Of.B)||e||f)c.ovlp=!0;b?c.rpe=!1:d&&(c.rpe=!0);if(J(a,Jf.c)||J(a,Jf.R)||J(a,Jf.P))c.ovlp=!0}};function Si(a){return function(b){for(var c=a.length-1;0<=c;--c)if(!a[c](b))return!1;return!0}}function Ti(a,b,c){for(var d=a.length,e=null,f=0;f<d;++f){var g=a[f];if(b(g)){if(!c||c(g))return g;null===e&&(e=g)}}return e};var V=[new U(970,90,2),new U(728,90,2),new U(468,60,2),new U(336,280,1),new U(320,100,2),new U(320,50,2),new U(300,600,4),new U(300,250,1),new U(250,250,1),new U(234,60,2),new U(200,200,1),new U(180,150,1),new U(160,600,4),new U(125,125,1),new U(120,600,4),new U(120,240,4),new U(120,120,1,!0)],Ui=[V[6],V[12],V[3],V[0],V[7],V[14],V[1],V[8],V[10],V[4],V[15],V[2],V[11],V[5],V[13],V[9],V[16]];function Vi(a,b,c,d,e){"false"!=e.google_full_width_responsive||c.location&&"#gfwrffwaifhp"==c.location.hash?"autorelaxed"==b&&(e.google_full_width_responsive||J(c,hg.g))||Wi(b)||e.google_ad_resize?(b=wg(a,c,d,e),c=!0!==b?{l:a,m:b}:{l:Q(c)||a,m:!0}):c={l:a,m:2}:c={l:a,m:1};b=c.m;return!0!==b?{l:a,m:b}:d.parentElement?{l:c.l,m:b}:{l:a,m:b}}function Xi(a,b,c,d,e){var f=be(247,function(){return Vi(a,b,c,d,e)}),g=f.l;f=f.m;var h=!0===f,k=F(d.style.width),m=F(d.style.height),n=Yi(g,b,c,d,e,h);g=n.H;h=n.G;var u=n.D,w=n.F,z=n.ha;n=n.Na;var H=Zi(b,z),E,G=(E=Bg(d,c,"marginLeft",F))?E+"px":"",sb=(E=Bg(d,c,"marginRight",F))?E+"px":"";E=Bg(d,c,"zIndex")||"";return new Bi(H,g,z,null,n,f,h,u,w,G,sb,m,k,E)}function Wi(a){return"auto"==a||/^((^|,) *(horizontal|vertical|rectangle) *)+$/.test(a)}function Yi(a,b,c,d,e,f){b="auto"==b?.25>=a/Math.min(1200,Q(c))?4:3:ug(b);var g=!1,h=!1,k=$i(c),m=488>Q(c);if(k&&m||!k&&Vb()){var n=tg(d,c);h=Eg(d,c);g=!h&&n;h=h&&n}m=(g||k?Ui:V).slice(0);var u=488>Q(c),w=[Cg(a),Dg(u,c,d,h),zi(b)];null!=e.google_max_responsive_height&&w.push(Gg(e.google_max_responsive_height));k||w.push(aj(u));u=[function(H){return!H.Ma}];if(g||h)g=g&&!k?Ig(c,d):Jg(c,d),u.push(Gg(g));var z=Ti(m,Si(w),Si(u));if(!z)throw new L("No slot size for availableWidth="+a);g=be(248,function(){var H;a:if(f){if(e.gfwrnh&&(H=F(e.gfwrnh))){H={H:new Ri(a,H),G:!0,D:!1,F:!1};break a}if($i(c)||"true"==e.google_full_width_responsive||!Eg(d,c)||e.google_resizing_allowed){H=!1;var E=og(c).clientHeight,G=rg(d,c),sb=c.google_lpabyc,bg=Hg(d,c);if(bg&&2<bg&&!c.google_bfabyc&&(!sb||G-sb>E)&&(E=.9*og(c).clientHeight,G=Math.min(E,bj(c,d,e)),E&&G==E)){G=c.google_pbfabyc;H=!G;if(J(c,Jf.R)||J(c,Jf.P)){c.google_bfabyc=rg(d,c)+E;H={H:new Ri(a,Math.floor(E)),G:!0,D:!0,F:!0};break a}G||(c.google_pbfabyc=rg(d,c)+E)}E=a/1.2;G=Math.min(E,bj(c,d,e));if(G<.5*E||100>G)G=E;if(J(c,P.L)||J(c,P.K)||J(c,P.I)||J(c,P.J))G*=1.3;H={H:new Ri(a,Math.floor(G)),G:G<E?102:!0,D:!1,F:H}}else H={H:new Ri(a,z.height()),G:101,D:!1,F:!1}}else H={H:z,G:100,D:!1,F:!1};return H});return{H:g.H,G:g.G,D:g.D,F:g.F,ha:b,Na:n}}function bj(a,b,c){return c.google_resizing_allowed||"true"==c.google_full_width_responsive?Infinity:Ig(a,b)}function Zi(a,b){if("auto"==a)return 1;switch(b){case 2:return 2;case 1:return 3;case 4:return 4;case 3:return 5;case 6:return 6;case 5:return 7;case 7:return 8}throw Error("bad mask");}function aj(a){return function(b){return!(320==b.minWidth()&&(a&&50==b.height()||!a&&100==b.height()))}}function $i(a){return yf(197)?!J(a,Of.c):J(a,Of.B)};var cj={"image-top":function(a){return 600>=a?284+.414*(a-250):429},"image-middle":function(a){return 500>=a?196-.13*(a-250):164+.2*(a-500)},"image-side":function(a){return 500>=a?205-.28*(a-250):134+.21*(a-500)},"text-only":function(a){return 500>=a?187-.228*(a-250):130},"in-article":function(a){return 420>=a?a/1.2:460>=a?a/1.91+130:800>=a?a/4:200}};function dj(a,b){R.call(this,a,b)}ka(dj,R);dj.prototype.M=function(){return Math.min(1200,this.minWidth())};function ej(a,b,c,d,e){var f=e.google_ad_layout||"image-top";if("in-article"==f&&"false"!=e.google_full_width_responsive){var g=vg(b,c,a,.2,e);if(!0!==g)e.gfwrnwer=g;else if(g=Q(b)){e.google_full_width_responsive_allowed=!0;var h=c.parentElement;if(h){b:for(var k=c,m=0;100>m&&k.parentElement;++m){for(var n=k.parentElement.childNodes,u=0;u<n.length;++u){var w=n[u];if(w!=k&&yg(b,w))break b}k=k.parentElement;k.style.width="100%";k.style.height="auto"}Ag(b,c,h,a,g,e);a=g}}}if(250>a)throw new L("Fluid responsive ads must be at least 250px wide: availableWidth="+a);a=Math.min(1200,Math.floor(a));if(d&&"in-article"!=f){f=Math.ceil(d);if(50>f)throw new L("Fluid responsive ads must be at least 50px tall: height="+f);return new Bi(11,new R(a,f))}if("in-article"!=f&&(d=e.google_ad_layout_key)){f=""+d;b=Math.pow(10,3);if(e=(c=f.match(/([+-][0-9a-z]+)/g))&&c.length){d=[];for(g=0;g<e;g++)d.push(parseInt(c[g],36)/b);b=d}else b=null;if(!b)throw new L("Invalid data-ad-layout-key value: "+f);f=(a+-725)/1E3;c=0;e=1;d=b.length;for(g=0;g<d;g++)c+=b[g]*e,e*=f;f=Math.ceil(1E3*c- -725+10);if(isNaN(f))throw new L("Invalid height: height="+f);if(50>f)throw new L("Fluid responsive ads must be at least 50px tall: height="+f);if(1200<f)throw new L("Fluid responsive ads must be at most 1200px tall: height="+f);return new Bi(11,new R(a,f))}if(J(b,lg.c)||J(b,lg.aa)||J(b,lg.ba))e.ovlp=!0;e=cj[f];if(!e)throw new L("Invalid data-ad-layout value: "+f);d=J(b,lg.ba)||J(b,lg.aa);c=Eg(c,b);b=Q(b);b="in-article"===f&&!c&&a===b&&d?Math.ceil(1.25*e(a)):Math.ceil(e(a));return new Bi(11,"in-article"==f?new dj(a,b):new R(a,b))};function fj(a,b){R.call(this,a,b)}ka(fj,R);fj.prototype.M=function(){return this.minWidth()};fj.prototype.ea=function(a){return R.prototype.ea.call(this,a)+"_0ads_al"};var gj=[new fj(728,15),new fj(468,15),new fj(200,90),new fj(180,90),new fj(160,90),new fj(120,90)];function hj(a,b,c){var d=250,e=90;d=void 0===d?130:d;e=void 0===e?30:e;var f=Ti(gj,Cg(a));if(!f)throw new L("No link unit size for width="+a+"px");a=Math.min(a,1200);f=f.height();b=Math.max(f,b);d=(new Bi(10,new fj(a,Math.min(b,15==f?e:d)))).a;b=d.minWidth();d=d.height();15<=c&&(d=c);return new Bi(10,new fj(b,d))}function ij(a,b,c,d){if("false"==d.google_full_width_responsive)return d.google_full_width_responsive_allowed=!1,d.gfwrnwer=1,a;var e=wg(a,b,c,d);if(!0!==e)return d.google_full_width_responsive_allowed=!1,d.gfwrnwer=e,a;e=Q(b);if(!e)return a;d.google_full_width_responsive_allowed=!0;Ag(b,c,c.parentElement,a,e,d);return e};function jj(a,b,c,d,e){var f;(f=Q(b))?488>Q(b)?b.innerHeight>=b.innerWidth?(e.google_full_width_responsive_allowed=!0,Ag(b,c,c.parentElement,a,f,e),f={l:f,m:!0}):f={l:a,m:5}:f={l:a,m:4}:f={l:a,m:10};var g=f;f=g.l;g=g.m;if(!0!==g||a==f)return new Bi(12,new R(a,d),null,null,!0,g,100);a=Yi(f,"auto",b,c,e,!0);return new Bi(1,a.H,a.ha,2,!0,g,a.G,a.D,a.F)};function kj(a){var b=a.google_ad_format;if("autorelaxed"==b){a:{if("pedestal"!=a.google_content_recommendation_ui_type){b=ba(Li);for(var c=b.next();!c.done;c=b.next())if(null!=a[c.value]){a=!0;break a}}a=!1}return a?9:5}if(Wi(b))return 1;if("link"==b)return 4;if("fluid"==b)return 8}function lj(a,b,c,d,e){e=b.offsetWidth||(c.google_ad_resize||(void 0===e?!1:e))&&Bg(b,d,"width",F)||c.google_ad_width||0;!J(d,Qf.g)||5!==a&&9!==a||(c.google_ad_format="auto",c.google_ad_slot="",a=1);var f=(f=mj(a,e,b,c,d))?f:Xi(e,c.google_ad_format,d,b,c);f.a.Z(d,e,c,b);Ci(f,e,c);1!=a&&(a=f.a.height(),b.style.height=a+"px")}function mj(a,b,c,d,e){var f=d.google_ad_height||Bg(c,e,"height",F);switch(a){case 5:return a=be(247,function(){return Vi(b,d.google_ad_format,e,c,d)}),f=a.l,a=a.m,!0===a&&b!=f&&Ag(e,c,c.parentElement,b,f,d),!0===a?d.google_full_width_responsive_allowed=!0:(d.google_full_width_responsive_allowed=!1,d.gfwrnwer=a),nj(e)&&(d.ovlp=!0),Ni(f,d);case 9:return Qi(b,d);case 4:return a=ij(b,e,c,d),hj(a,Jg(e,c),f);case 8:return ej(b,e,c,f,d);case 10:return jj(b,e,c,f,d)}}function nj(a){return J(a,hg.c)||J(a,hg.g)};function W(a){this.h=[];this.b=a||window;this.a=0;this.f=null;this.i=0}var oj;l=W.prototype;l.Ia=function(a,b){0!=this.a||0!=this.h.length||b&&b!=window?this.pa(a,b):(this.a=2,this.wa(new pj(a,window)))};l.pa=function(a,b){this.h.push(new pj(a,b||this.b));qj(this)};l.Ra=function(a){this.a=1;if(a){var b=ce(188,Fa(this.va,this,!0));this.f=this.b.setTimeout(b,a)}};l.va=function(a){a&&++this.i;1==this.a&&(null!=this.f&&(this.b.clearTimeout(this.f),this.f=null),this.a=0);qj(this)};l.Ya=function(){return!(!window||!Array)};l.La=function(){return this.i};function qj(a){var b=ce(189,Fa(a.Za,a));a.b.setTimeout(b,0)}l.Za=function(){if(0==this.a&&this.h.length){var a=this.h.shift();this.a=2;var b=ce(190,Fa(this.wa,this,a));a.a.setTimeout(b,0);qj(this)}};l.wa=function(a){this.a=0;a.b()};function rj(a){try{return a.sz()}catch(b){return!1}}function sj(a){return!!a&&("object"===typeof a||"function"===typeof a)&&rj(a)&&Ec(a.nq)&&Ec(a.nqa)&&Ec(a.al)&&Ec(a.rl)}function tj(){if(oj&&rj(oj))return oj;var a=Bf(),b=a.google_jobrunner;return sj(b)?oj=b:a.google_jobrunner=oj=new W(a)}function uj(a,b){tj().nq(a,b)}function vj(a,b){tj().nqa(a,b)}W.prototype.nq=W.prototype.Ia;W.prototype.nqa=W.prototype.pa;W.prototype.al=W.prototype.Ra;W.prototype.rl=W.prototype.va;W.prototype.sz=W.prototype.Ya;W.prototype.tc=W.prototype.La;function pj(a,b){this.b=a;this.a=b};function wj(a,b){var c=Mc(b);if(c){c=Q(c);var d=$b(a,b)||{},e=d.direction;if("0px"===d.width&&"none"!=d.cssFloat)return-1;if("ltr"===e&&c)return Math.floor(Math.min(1200,c-a.getBoundingClientRect().left));if("rtl"===e&&c)return a=b.document.body.getBoundingClientRect().right-a.getBoundingClientRect().right,Math.floor(Math.min(1200,c-a-Math.floor((c-b.document.body.clientWidth)/2)))}return-1};function xj(a){var b=this;this.a=a;a.google_iframe_oncopy||(a.google_iframe_oncopy={handlers:{},upd:function(c,d){var e=yj("rx",c),f=Number;a:{if(c&&(c=c.match("dt=([^&]+)"))&&2==c.length){c=c[1];break a}c=""}f=f(c);f=(new Date).getTime()-f;e=e.replace(/&dtd=(\d+|-?M)/,"&dtd="+(1E5<=f?"M":0<=f?f:"-M"));b.set(d,e);return e}});this.b=a.google_iframe_oncopy}xj.prototype.set=function(a,b){var c=this;this.b.handlers[a]=b;this.a.addEventListener&&this.a.addEventListener("load",function(){var d=c.a.document.getElementById(a);try{var e=d.contentWindow.document;if(d.onload&&e&&(!e.body||!e.body.firstChild))d.onload()}catch(f){}},!1)};function yj(a,b){var c=new RegExp("\\b"+a+"=(\\d+)"),d=c.exec(b);d&&(b=b.replace(c,a+"="+(+d[1]+1||1)));return b}var zj,Aj="var i=this.id,s=window.google_iframe_oncopy,H=s&&s.handlers,h=H&&H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&&d&&(!d.body||!d.body.firstChild)){if(h.call){setTimeout(h,0)}else if(h.match){try{h=s.upd(h,i)}catch(e){}w.location.replace(h)}}";var X=Aj;/[\x00&<>"']/.test(X)&&(-1!=X.indexOf("&")&&(X=X.replace(Za,"&")),-1!=X.indexOf("<")&&(X=X.replace($a,"<")),-1!=X.indexOf(">")&&(X=X.replace(ab,">")),-1!=X.indexOf('"')&&(X=X.replace(bb,""")),-1!=X.indexOf("'")&&(X=X.replace(cb,"'")),-1!=X.indexOf("\x00")&&(X=X.replace(db,"�")));Aj=X;zj=Aj;var Bj={},Cj=(Bj.google_ad_modifications=!0,Bj.google_analytics_domain_name=!0,Bj.google_analytics_uacct=!0,Bj.google_pause_ad_requests=!0,Bj);var Dj=/^\.google\.(com?\.)?[a-z]{2,3}$/,Ej=/\.(cn|com\.bi|do|sl|ba|by|ma|am)$/;function Fj(a){return Dj.test(a)&&!Ej.test(a)}var Gj=p;function Hj(a){a="https://adservice"+(a+"/adsid/integrator.js");var b=["domain="+encodeURIComponent(p.location.hostname)];Y[3]>=+new Date&&b.push("adsid="+encodeURIComponent(Y[1]));return a+"?"+b.join("&")}var Y,Z;function Ij(){Gj=p;Y=Gj.googleToken=Gj.googleToken||{};var a=+new Date;Y[1]&&Y[3]>a&&0<Y[2]||(Y[1]="",Y[2]=-1,Y[3]=-1,Y[4]="",Y[6]="");Z=Gj.googleIMState=Gj.googleIMState||{};Fj(Z[1])||(Z[1]=".google.com");ya(Z[5])||(Z[5]=[]);"boolean"==typeof Z[6]||(Z[6]=!1);ya(Z[7])||(Z[7]=[]);pa(Z[8])||(Z[8]=0)}var Jj={fa:function(){return 0<Z[8]},Ua:function(){Z[8]++},Va:function(){0<Z[8]&&Z[8]--},Wa:function(){Z[8]=0},ab:function(){return!1},Ka:function(){return Z[5]},Ga:function(a){try{a()}catch(b){p.setTimeout(function(){throw b;},0)}},Ta:function(){if(!Jj.fa()){var a=p.document,b=function(e){e=Hj(e);a:{try{var f=qa();break a}catch(g){}f=void 0}Dh(a,e,f);f=a.createElement("script");f.type="text/javascript";f.onerror=function(){return p.processGoogleToken({},2)};e=Tb(e);vb(f,e);try{(a.head||a.body||a.documentElement).appendChild(f),Jj.Ua()}catch(g){}},c=Z[1];b(c);".google.com"!=c&&b(".google.com");b={};var d=(b.newToken="FBT",b);p.setTimeout(function(){return p.processGoogleToken(d,1)},1E3)}}};function Kj(){p.processGoogleToken=p.processGoogleToken||function(a,b){var c=a;c=void 0===c?{}:c;b=void 0===b?0:b;a=c.newToken||"";var d="NT"==a,e=parseInt(c.freshLifetimeSecs||"",10),f=parseInt(c.validLifetimeSecs||"",10),g=c["1p_jar"]||"";c=c.pucrd||"";Ij();1==b?Jj.Wa():Jj.Va();var h=Gj.googleToken=Gj.googleToken||{},k=0==b&&a&&q(a)&&!d&&pa(e)&&0<e&&pa(f)&&0<f&&q(g);d=d&&!Jj.fa()&&(!(Y[3]>=+new Date)||"NT"==Y[1]);var m=!(Y[3]>=+new Date)&&0!=b;if(k||d||m)d=+new Date,e=d+1E3*e,f=d+1E3*f,1E-5>Math.random()&&sc("https://pagead2.googlesyndication.com/pagead/gen_204?id=imerr&err="+b,null),h[5]=b,h[1]=a,h[2]=e,h[3]=f,h[4]=g,h[6]=c,Ij();if(k||!Jj.fa()){b=Jj.Ka();for(a=0;a<b.length;a++)Jj.Ga(b[a]);b.length=0}};Ij();Y[3]>=+new Date&&Y[2]>=+new Date||Jj.Ta()};var Lj=zb("script");function Mj(){D.google_sa_impl&&!D.document.getElementById("google_shimpl")&&(D.google_sa_queue=null,D.google_sl_win=null,D.google_sa_impl=null);if(!D.google_sa_queue){D.google_sa_queue=[];D.google_sl_win=D;D.google_process_slots=function(){return Nj(D)};var a=Oj();Dh(D.document,a);J(D,"20199335")||!qb()||t("iPhone")&&!t("iPod")&&!t("iPad")||t("iPad")||t("iPod")?Zb(D.document,a).id="google_shimpl":(a=Rb(document,"IFRAME"),a.id="google_shimpl",a.style.display="none",D.document.documentElement.appendChild(a),xi(D,"google_shimpl","<!doctype html><html><body><"+(Lj+">google_sl_win=window.parent;google_async_iframe_id='google_shimpl';</")+(Lj+">")+Pj()+"</body></html>"),a.contentWindow.document.close())}}var Nj=ce(215,function(a){var b=a.google_sa_queue,c=b.shift();a.google_sa_impl||de("shimpl",{t:"no_fn"});"function"==wa(c)&&be(216,c);b.length&&a.setTimeout(function(){return Nj(a)},0)});function Qj(a,b,c){a.google_sa_queue=a.google_sa_queue||[];a.google_sa_impl?c(b):a.google_sa_queue.push(b)}function Pj(){var a=Oj();return"<"+Lj+' src="'+a+'"></'+Lj+">"}function Oj(){var a="/show_ads_impl.js";a=void 0===a?"/show_ads_impl.js":a;a:{if(xc)try{var b=D.google_cafe_host||D.top.google_cafe_host;if(b){var c=b;break a}}catch(d){}c=Ac()}return jf(c,["/pagead/js/",wc(),"/r20190131",a,""].join(""),"https")}function Rj(a,b,c,d){return function(){var e=!1;d&&tj().al(3E4);try{xi(a,b,c),e=!0}catch(g){var f=Bf().google_jobrunner;sj(f)&&f.rl()}e&&(e=yj("google_async_rrc",c),(new xj(a)).set(b,Rj(a,b,e,!1)))}}function Sj(a){if(!yi)a:{for(var b=[p.top],c=[],d=0,e;e=b[d++];){c.push(e);try{if(e.frames)for(var f=e.frames.length,g=0;g<f&&1024>b.length;++g)b.push(e.frames[g])}catch(k){}}for(b=0;b<c.length;b++)try{var h=c[b].frames.google_esf;if(h){yi=h;break a}}catch(k){}yi=null}if(!yi){if(/[^a-z0-9-]/.test(a))return null;c=Rb(document,"IFRAME");c.id="google_esf";c.name="google_esf";h=hf(vc("","googleads.g.doubleclick.net"),["/pagead/html/",wc(),"/r20190131/zrt_lookup.html#",encodeURIComponent("")].join(""));c.src=h;c.style.display="none";c.setAttribute("data-ad-client",Fh(a));return c}return null}function Tj(a,b,c){Uj(a,b,c,function(d,e,f){d=d.document;for(var g=e.id,h=0;!g||d.getElementById(g+"_anchor");)g="aswift_"+h++;e.id=g;e.name=g;g=Number(f.google_ad_width||0);h=Number(f.google_ad_height||0);var k=f.ds||"";k&&(k+=k.endsWith(";")?"":";");var m="";if(!f.google_enable_single_iframe){m=["<iframe"];for(n in e)e.hasOwnProperty(n)&&m.push(n+"="+e[n]);m.push('style="left:0;position:absolute;top:0;border:0px;width:'+(g+"px;height:"+(h+'px;"')));m.push("></iframe>");m=m.join(" ")}var n=e.id;var u="";u=void 0===u?"":u;g="border:none;height:"+h+"px;margin:0;padding:0;position:relative;visibility:visible;width:"+(g+"px;background-color:transparent;");n=['<ins id="'+(n+'_expand"'),' style="display:inline-table;'+g+(void 0===k?"":k)+'"',u?' data-ad-slot="'+u+'">':">",'<ins id="'+(n+'_anchor" style="display:block;')+g+'">',m,"</ins></ins>"].join("");16==f.google_reactive_ad_format?(f=d.createElement("div"),f.innerHTML=n,c.appendChild(f.firstChild)):c.innerHTML=n;return e.id})}function Uj(a,b,c,d){var e=b.google_ad_width,f=b.google_ad_height;J(a,jg.g)?(fe(!0),b.google_enable_single_iframe=!0):J(a,jg.c)&&fe(!1);var g={};null!=e&&(g.width=e&&'"'+e+'"');null!=f&&(g.height=f&&'"'+f+'"');g.frameborder='"0"';g.marginwidth='"0"';g.marginheight='"0"';g.vspace='"0"';g.hspace='"0"';g.allowtransparency='"true"';g.scrolling='"no"';g.allowfullscreen='"true"';g.onload='"'+zj+'"';d=d(a,g,b);Vj(a,c,b);(c=Sj(b.google_ad_client))&&a.document.documentElement.appendChild(c);c=Ha;e=(new Date).getTime();b.google_lrv=wc();b.google_async_iframe_id=d;b.google_unique_id=Gc(a);b.google_start_time=c;b.google_bpp=e>c?e-c:1;b.google_async_rrc=0;a.google_sv_map=a.google_sv_map||{};a.google_sv_map[d]=b;a.google_t12n_vars=vf;if(b.google_enable_single_iframe){var h={pubWin:a,iframeWin:null,vars:b};Qj(a,function(){a.google_sa_impl(h)},a.document.getElementById(d+"_anchor")?uj:vj)}else Qj(a,Rj(a,d,["<!doctype html><html><body>","<"+Lj+">","google_sl_win=window.parent;google_iframe_start_time=new Date().getTime();",'google_async_iframe_id="'+d+'";',"</"+Lj+">","<"+Lj+">window.parent.google_sa_impl({iframeWin: window, pubWin: window.parent, vars: window.parent['google_sv_map']['"+(d+"']});</")+Lj+">","</body></html>"].join(""),!0),a.document.getElementById(d)?uj:vj)}function Vj(a,b,c){var d=c.google_ad_output,e=c.google_ad_format,f=c.google_ad_width||0,g=c.google_ad_height||0;e||"html"!=d&&null!=d||(e=f+"x"+g);d=!c.google_ad_slot||c.google_override_format||!Pb[c.google_ad_width+"x"+c.google_ad_height]&&"aa"==c.google_loader_used;e&&d?e=e.toLowerCase():e="";c.google_ad_format=e;if(!pa(c.google_reactive_sra_index)||!c.google_ad_unit_key){e=[c.google_ad_slot,c.google_orig_ad_format||c.google_ad_format,c.google_ad_type,c.google_orig_ad_width||c.google_ad_width,c.google_orig_ad_height||c.google_ad_height];d=[];f=0;for(g=b;g&&25>f;g=g.parentNode,++f)9===g.nodeType?d.push(""):d.push(g.id);(d=d.join())&&e.push(d);c.google_ad_unit_key=fc(e.join(":")).toString();var h=void 0===h?!1:h;e=[];for(d=0;b&&25>d;++d){f="";void 0!==h&&h||(f=(f=9!==b.nodeType&&b.id)?"/"+f:"");a:{if(b&&b.nodeName&&b.parentElement){g=b.nodeName.toString().toLowerCase();for(var k=b.parentElement.childNodes,m=0,n=0;n<k.length;++n){var u=k[n];if(u.nodeName&&u.nodeName.toString().toLowerCase()===g){if(b===u){g="."+m;break a}++m}}}g=""}e.push((b.nodeName&&b.nodeName.toString().toLowerCase())+f+g);b=b.parentElement}h=e.join()+":";b=[];if(a)try{var w=a.parent;for(e=0;w&&w!==a&&25>e;++e){var z=w.frames;for(d=0;d<z.length;++d)if(a===z[d]){b.push(d);break}a=w;w=a.parent}}catch(H){}c.google_ad_dom_fingerprint=fc(h+b.join()).toString()}};function Wj(a,b){a=a.attributes;for(var c=a.length,d=0;d<c;d++){var e=a[d];if(/data-/.test(e.name)){var f=Ya(e.name.replace("data-matched-content","google_content_recommendation").replace("data","google").replace(/-/g,"_"));if(!b.hasOwnProperty(f)){e=e.value;var g={};g=(g.google_reactive_ad_format=tc,g.google_allow_expandable_ads=jc,g);e=g.hasOwnProperty(f)?g[f](e,null):e;null===e||(b[f]=e)}}}}function Xj(a){if(a=Bc(a))switch(a.data&&a.data.autoFormat){case "rspv":return 13;case "mcrspv":return 15;default:return 14}else return 12}function Yj(a,b,c){Wj(a,b);if(c.document&&c.document.body&&!kj(b)&&!b.google_reactive_ad_format){var d=parseInt(a.style.width,10),e=wj(a,c);if(0<e&&d>e){var f=parseInt(a.style.height,10);d=!!Pb[d+"x"+f];var g=e;if(d){var h=Qb(e,f);if(h)g=h,b.google_ad_format=h+"x"+f+"_0ads_al";else throw new L("No slot size for availableWidth="+e);}b.google_ad_resize=!0;b.google_ad_width=g;d||(b.google_ad_format=null,b.google_override_format=!0);e=g;a.style.width=e+"px";f=Xi(e,"auto",c,a,b);g=e;f.a.Z(c,g,b,a);Ci(f,g,b);f=f.a;b.google_responsive_formats=null;f.minWidth()>e&&!d&&(b.google_ad_width=f.minWidth(),a.style.width=f.minWidth()+"px")}}d=a.offsetWidth||Bg(a,c,"width",F)||b.google_ad_width||0;a:{e=Ga(Xi,d,"auto",c,a,b,!1,!0);h=J(c,ag.c);var k=J(c,ag.g);f=J(c,dg.c);g=J(c,dg.g);var m=Ih(c,11,b.google_ad_client),n=J(c,fg.g);var u=b.google_ad_client;u=null!=Gh(c,void 0===u?"":u);if(!(h||k||m||u)||!Vb()||b.google_reactive_ad_format||kj(b)||qg(a,b)||b.google_ad_resize||Lc(c)!=c)d=!1;else{for(k=a;k;k=k.parentElement)if(m=$b(k,c),!m||!Oa(["static","relative"],m.position)){d=!1;break a}if(!0!==vg(c,a,d,.3,b))d=!1;else{b.google_resizing_allowed=!0;k=Bh(c.location,"google_responsive_slot_debug");m=O(zf(),142);if(k||Math.random()<m)b.ovlp=!0;h||g||n?(h={},Ci(e(),d,h),b.google_resizing_width=h.google_ad_width,b.google_resizing_height=h.google_ad_height,h.ds&&(b.ds=h.ds),b.iaaso=!1):(b.google_ad_format="auto",b.iaaso=!0,b.armr=1);(d=f?"AutoOptimizeAdSizeVariant":g?"AutoOptimizeAdSizeOriginal":null)&&(b.google_ad_channel=b.google_ad_channel?[b.google_ad_channel,d].join("+"):d);d=!0}}}if(e=kj(b))lj(e,a,b,c,d);else{if(qg(a,b)){if(d=$b(a,c))a.style.width=d.width,a.style.height=d.height,pg(d,b);b.google_ad_width||(b.google_ad_width=a.offsetWidth);b.google_ad_height||(b.google_ad_height=a.offsetHeight);b.google_loader_features_used=256;b.google_responsive_auto_format=Xj(c)}else pg(a.style,b),300==b.google_ad_width&&250==b.google_ad_height&&(d=a.style.width,a.style.width="100%",e=a.offsetWidth,a.style.width=d,b.google_available_width=e);c.location&&"#gfwmrp"==c.location.hash||12==b.google_responsive_auto_format&&"true"==b.google_full_width_responsive&&!J(c,Mf.g)?lj(10,a,b,c,!1):J(c,Nf.g)&&12==b.google_responsive_auto_format&&(a=wg(a.offsetWidth||parseInt(a.style.width,10)||b.google_ad_width,c,a,b),!0!==a?(b.efwr=!1,b.gfwrnwer=a):b.efwr=!0)}};function Zj(a){var b;this.b=b=void 0===b?document:b;this.h=void 0===a?0:a;this.f=ak(this,"__gads=");this.i=!1;this.a=null;this.s=!1;bk(this)}Zj.prototype.w=function(a){this.h=a;bk(this)};function ck(a,b){var c=Vd;var d=void 0===d?dk:d;1!=a.h&&(a.f||a.i)&&(D._setgfp_=Ud(c,629,function(e){delete D._setgfp_;if(!e)throw Error("Invalid JSONP response");if(e=e._cookies_){var f=e[0];if(!f)throw Error("Invalid JSONP response");var g=f._value_,h=f._expires_;e=f._path_;f=f._domain_;if(!(q(g)&&pa(h)&&q(e)&&q(f)))throw Error("Invalid JSONP response");var k=new Nb;g=Ib(k,1,g);h=Ib(g,2,h);e=Ib(h,3,e);e=[Ib(e,4,f)];e.length&&(a.a=e[0],e=a.a&&y(a.a,1))&&(a.f=e,null!=a.a&&a.f&&(e=new Date,e.setTime(1E3*y(a.a,2)),f="."+y(a.a,4),e="__gads="+a.f+("; expires="+e.toGMTString())+("; path="+y(a.a,3)+"; domain="+f),a.b.cookie=e))}}),Zb(a.b,d({domain:a.b.domain,clientId:b,value:a.f,cookieEnabled:a.i})))}function dk(a){var b=a.value,c=a.cookieEnabled;a="https://partner.googleadservices.com/gampad/cookie.js?domain="+a.domain+"&callback=_setgfp_&client="+a.clientId;b&&(a+="&cookie="+encodeURIComponent(b));c&&(a+="&cookie_enabled=1");return a}function bk(a){if(!a.f&&!a.s&&1!=a.h){a.b.cookie="GoogleAdServingTest=Good";var b="Good"===ak(a,"GoogleAdServingTest=");if(b){var c=a.b,d=new Date;d.setTime((new Date).valueOf()+-1);c.cookie="GoogleAdServingTest=; expires="+d.toGMTString()}a.i=b;a.s=!0}}function ak(a,b){a=a.b.cookie;var c=a.indexOf(b);if(-1===c)return"";b=c+b.length;c=a.indexOf(";",b);-1==c&&(c=a.length);return a.substring(b,c)};function ek(a){return Kc.test(a.className)&&"done"!=a.getAttribute("data-adsbygoogle-status")}function fk(a,b){var c=window;a.setAttribute("data-adsbygoogle-status","done");gk(a,b,c)}function gk(a,b,c){var d=Jc();d.google_spfd||(d.google_spfd=Yj);(d=b.google_reactive_ads_config)||Yj(a,b,c);if(!hk(a,b,c)){d||(c.google_lpabyc=Nh(c,a));if(d){d=d.page_level_pubvars||{};if(I(D).page_contains_reactive_tag&&!I(D).allow_second_reactive_tag){if(d.pltais){Oc(!1);return}throw new L("Only one 'enable_page_level_ads' allowed per page.");}I(D).page_contains_reactive_tag=!0;Oc(7===d.google_pgb_reactive)}else Fc(c);if(!I(D).per_pub_js_loaded){I(D).per_pub_js_loaded=!0;try{c.localStorage.removeItem("google_pub_config")}catch(e){}}Dc(Cj,function(e,f){b[f]=b[f]||c[f]});b.google_loader_used="aa";b.google_reactive_tag_first=1===(I(D).first_tag_on_page||0);be(164,function(){Tj(c,b,a)})}}function hk(a,b,c){var d=b.google_reactive_ads_config;if(d){var e=d.page_level_pubvars;var f=(za(e)?e:{}).google_tag_origin}e=q(a.className)&&/(\W|^)adsbygoogle-noablate(\W|$)/.test(a.className);var g=b.google_ad_slot;var h=f||b.google_tag_origin;f=I(c);Pc(f.ad_whitelist||[],g,h)?g=null:(h=f.space_collapsing||"none",g=(g=Pc(f.ad_blacklist||[],g))?{ma:!0,ya:g.space_collapsing||h}:f.remove_ads_by_default?{ma:!0,ya:h,ca:f.ablation_viewport_offset}:null);if(g&&g.ma&&"on"!=b.google_adtest&&!e&&(e=Hg(a,c),!g.ca||g.ca&&(e||0)>=g.ca))return a.className+=" adsbygoogle-ablated-ad-slot",c=c.google_sv_map=c.google_sv_map||{},d=Aa(a),c[b.google_element_uid]=b,a.setAttribute("google_element_uid",d),"slot"==g.ya&&(null!==ic(a.getAttribute("width"))&&a.setAttribute("width",0),null!==ic(a.getAttribute("height"))&&a.setAttribute("height",0),a.style.width="0px",a.style.height="0px"),!0;if((e=$b(a,c))&&"none"==e.display&&!("on"==b.google_adtest||0<b.google_reactive_ad_format||d))return c.document.createComment&&a.appendChild(c.document.createComment("No ad requested because of display:none on the adsbygoogle tag")),!0;a=null==b.google_pgb_reactive||3===b.google_pgb_reactive;return 1!==b.google_reactive_ad_format&&8!==b.google_reactive_ad_format||!a?!1:(p.console&&p.console.warn("Adsbygoogle tag with data-reactive-ad-format="+b.google_reactive_ad_format+" is deprecated. Check out page-level ads at https://www.google.com/adsense"),!0)}function ik(a){var b=document.getElementsByTagName("INS");for(var c=0,d=b[c];c<b.length;d=b[++c]){var e=d;if(ek(e)&&"reserved"!=e.getAttribute("data-adsbygoogle-status")&&(!a||d.id==a))return d}return null}function jk(){var a=Rb(document,"INS");a.className="adsbygoogle";a.className+=" adsbygoogle-noablate";kc(a);return a}function kk(a){var b={};Dc(md,function(e,f){!1===a.enable_page_level_ads?b[f]=!1:a.hasOwnProperty(f)&&(b[f]=a[f])});za(a.enable_page_level_ads)&&(b.page_level_pubvars=a.enable_page_level_ads);var c=jk();Ob.body.appendChild(c);var d={};d=(d.google_reactive_ads_config=b,d.google_ad_client=a.google_ad_client,d);d.google_pause_ad_requests=I(D).pause_ad_requests||!1;fk(c,d)}function lk(a){return"complete"==a.readyState||"interactive"==a.readyState}function mk(a){function b(){return kk(a)}var c=void 0===c?Ob:c;var d=Mc(window);if(!d)throw new L("Page-level tag does not work inside iframes.");ng(d).wasPlaTagProcessed=!0;if(c.body||lk(c))b();else{var e=Ra(ce(191,b));rc(c,"DOMContentLoaded",e);(new p.MutationObserver(function(f,g){c.body&&(e(),g.disconnect())})).observe(c,{childList:!0,subtree:!0})}}function nk(a){var b={};be(165,function(){ok(a,b)},function(c){c.client=c.client||b.google_ad_client||a.google_ad_client;c.slotname=c.slotname||b.google_ad_slot;c.tag_origin=c.tag_origin||b.google_tag_origin})}function pk(a){delete a.google_checked_head;ec(a,function(b,c){Rc[c]||(delete a[c],b=c.replace("google","data").replace(/_/g,"-"),p.console.warn("AdSense head tag doesn't support "+b+" attribute."))})}function qk(a){var b=D._gfp_;if(void 0===b||1===b)J(D,Sf.g)?ck(D._gfp_=new Zj(b?1:0),a):D._gfp_=2}function rk(){var a=yf(201),b=J(D,Zf.g),c=J(D,Zf.c);return b||a&&!c}function ok(a,b){if(null==a)throw new L("push() called with no parameters.");Ha=(new Date).getTime();Mj();a:{if(void 0!=a.enable_page_level_ads){if(q(a.google_ad_client)){var c=!0;break a}throw new L("'google_ad_client' is missing from the tag config.");}c=!1}if(c)sk(a,b);else if((c=a.params)&&Dc(c,function(e,f){b[f]=e}),"js"===b.google_ad_output)console.warn("Ads with google_ad_output='js' have been deprecated and no longer work. Contact your AdSense account manager or switch to standard AdSense ads.");else{a=tk(a.element);Wj(a,b);c=I(p).head_tag_slot_vars||{};ec(c,function(e,f){b.hasOwnProperty(f)||(b[f]=e)});if(a.hasAttribute("data-require-head")&&!I(p).head_tag_slot_vars)throw new L("AdSense head tag is missing. AdSense body tags don't work without the head tag. You can copy the head tag from your account on https://adsense.com.");if(rk()&&!b.google_ad_client)throw new L("Ad client is missing from the slot.");var d=(c=0===(I(D).first_tag_on_page||0)&&Lh(b))&&Mh(c);c&&!d&&(sk(c),I(D).skip_next_reactive_tag=!0);0===(I(D).first_tag_on_page||0)&&(I(D).first_tag_on_page=2);qk(b.google_ad_client);b.google_pause_ad_requests=I(D).pause_ad_requests||!1;fk(a,b);c&&d&&uk(c)}}function uk(a){function b(){ng(p).wasPlaTagProcessed||p.adsbygoogle&&p.adsbygoogle.push(a)}lk(Ob)?b():rc(Ob,"DOMContentLoaded",Ra(b))}function sk(a,b){if(I(D).skip_next_reactive_tag)I(D).skip_next_reactive_tag=!1;else{0===(I(D).first_tag_on_page||0)&&(I(D).first_tag_on_page=1);b&&a.tag_partner&&(Nc(p,a.tag_partner),Nc(b,a.tag_partner));a:if(!I(D).ama_ran_on_page){try{var c=p.localStorage.getItem("google_ama_config")}catch(z){c=null}try{var d=c?new dd(c?JSON.parse(c):null):null}catch(z){d=null}if(b=d)if(c=B(b,fd,3),!c||y(c,1)<=+new Date)try{p.localStorage.removeItem("google_ama_config")}catch(z){me(p,{lserr:1})}else{if(Mh(a)&&(c=nd(p.location.pathname,C(b,gd,7)),!c||!Fb(c,8)))break a;I(D).ama_ran_on_page=!0;B(b,jd,13)&&1===y(B(b,jd,13),1)&&(c=0,B(B(b,jd,13),kd,6)&&y(B(B(b,jd,13),kd,6),3)&&(c=y(B(B(b,jd,13),kd,6),3)||0),d=I(p),d.remove_ads_by_default=!0,d.space_collapsing="slot",d.ablation_viewport_offset=c);mf(3,[Jb(b)]);c=a.google_ad_client;d=he(je,new ge(null,ne(za(a.enable_page_level_ads)?a.enable_page_level_ads:{})));try{var e=nd(p.location.pathname,C(b,gd,7)),f;if(f=e)b:{var g=y(e,2);if(g)for(var h=0;h<g.length;h++)if(1==g[h]){f=!0;break b}f=!1}if(f){if(y(e,4)){f={};var k=new ge(null,(f.google_package=y(e,4),f));d=he(d,k)}var m=new mh(c,b,e,d),n=new rh;(new wh(m,n)).start();var u=n.b;var w=Ga(zh,p);if(u.b)throw Error("Then functions already set.");u.b=Ga(yh,p);u.f=w;uh(u)}}catch(z){me(p,{atf:-1})}}}mk(a)}}function tk(a){if(a){if(!ek(a)&&(a.id?a=ik(a.id):a=null,!a))throw new L("'element' has already been filled.");if(!("innerHTML"in a))throw new L("'element' is not a good DOM element.");}else if(a=ik(),!a)throw new L("All ins elements in the DOM with class=adsbygoogle already have ads in them.");return a}function vk(){Zd();Vd.s=ee;be(166,wk)}function wk(){var a=Cc(Bc(D))||D,b=I(a);if(!b.plle){b.plle=!0;var c=[null,null];try{var d=JSON.parse("[[[175,null,null,[1]]],[[12,[[1,[[21064123],[21064124]]]]],[10,[[10,[[20040008],[20040009,[[182,null,null,[1]]]]]],[1,[[21062810],[21062811]]],[1,[[21063996],[21063997,[[160,null,null,[1]]]]]],[50,[[21064339],[21064340,[[186,null,null,[1]]]]]],[50,[[21064380],[21064381,[[196,null,null,[1]]]]]],[1000,[[368226200,null,[2,[[12,null,null,5,null,null,\x22[02468]$\x22,[\x229\x22]],[7,null,null,5,null,2,null,[\x229\x22]]]]],[368226201,null,[2,[[12,null,null,5,null,null,\x22[13579]$\x22,[\x229\x22]],[7,null,null,5,null,2,null,[\x229\x22]]]]]]],[1000,[[368845002,null,[2,[[12,null,null,5,null,null,\x22[13579]$\x22,[\x224\x22]],[7,null,null,5,null,2,null,[\x224\x22]]]]],[368885001,null,[2,[[12,null,null,5,null,null,\x22[02468]$\x22,[\x224\x22]],[7,null,null,5,null,2,null,[\x224\x22]]]]]]]]],[11,[[10,[[248427477],[248427478,[[154,null,null,[1]]]]]]]]]]")}catch(m){d=c}mf(13,[d]);ti(new ei(d),Zh(a));Cf.j().a(12);Cf.j().a(10);b.eids=Ka(Cf.j().b(),String).concat(b.eids||[]);b=b.eids;d=zf();zc=!0;c=zf();var e=Mc(a)||a;e=Bh(e.location,"google_responsive_slot_debug")||Bh(e.location,"google_responsive_slot_preview");var f=Ih(a,11);var g=null!=Gh(a,"");e?(e=ag,f=cg,c=e.g):g?(e=fg,f=gg,c=T(a,new K(0,999,""),O(c,152),O(c,153),[e.c,e.g],2)):f?(e=dg,f=eg,c=T(a,new K(0,999,""),O(c,120),O(c,121),[e.c,e.g],2)):(e=ag,f=cg,c=T(a,Rh,O(c,96),O(c,97),[e.c,e.g]));c?(g={},e=(g[e.c]=f.c,g[e.g]=f.g,g)[c],c={Qa:c,Sa:e}):c=null;e=c||{};c=e.Qa;g=e.Sa;c&&g&&(S(b,c),S(b,g));e=Mf;c=wi(a,O(d,136),[e.c,e.g]);S(b,c);Ih(a,12)&&(e=Ff,f=Ef,c=T(a,new K(0,999,""),O(d,149),O(d,150),[e.c,e.g],4),S(b,c),c==e.c?g=f.c:c==e.g?g=f.g:g="",S(b,g));e=Jf;c=T(a,Oh,O(d,160),O(d,161),[e.c,e.R,e.P]);S(b,c);f=If;c==e.c?g=f.c:c==e.R?g=f.R:c==e.P?g=f.P:g="";S(b,g);e=Tf;S(b,T(a,Ph,O(d,9),O(d,10),[e.c,e.Da]));e=Hf;c=T(a,Uh,O(d,179),O(d,180),[e.c,e.U]);S(b,c);f=Gf;c==e.c?g=f.c:c==e.U?g=f.U:g="";S(b,g);e=$f;c=T(a,Xh,O(d,195),O(d,196),[e.c,e.g]);S(b,c);f=Zf;c==e.c?g=f.c:c==e.g?g=f.g:g="";S(b,g);e=Lf;c=T(a,Yh,O(d,199),O(d,200),[e.c,e.g]);S(b,c);f=Kf;c==e.c?g=f.c:c==e.g?g=f.g:g="";S(b,g);Ya("")&&S(b,"");e=Uf;c=wi(a,O(d,13),[e.o,e.c]);S(b,c);c=wi(a,0,[e.la]);S(b,c);e=Vf;c=wi(a,O(d,60),[e.o,e.c]);S(b,c);c==Vf.o&&(e=Wf,c=wi(a,O(d,66),[e.o,e.c]),S(b,c),e=Yf,c=wi(a,O(d,137),[e.o,e.c]),S(b,c),c==Wf.o&&(e=Xf,c=wi(a,O(d,135),[e.o,e.c]),S(b,c)));e=Nf;c=wi(a,O(d,98),[e.c,e.g]);S(b,c);e=Sf;c=wi(a,O(d,192),[e.c,e.g]);S(b,c);e=Of;c=T(a,Th,O(d,157),O(d,158),[e.c,e.B]);S(b,c);f=Pf;c==e.c?g=f.c:c==e.B?g=f.B:g="";S(b,g);e=Qf;c=T(a,Sh,O(d,173),O(d,174),[e.c,e.g]);S(b,c);f=Rf;c==e.c?g=f.c:c==e.g?g=f.g:g="";S(b,g);e=hg;c=T(a,Qh,O(d,99),O(d,100),[e.c,e.g]);S(b,c);f=ig;c==e.c?g=f.c:c==e.g?g=f.g:g="";S(b,g);e=jg;c=wi(a,O(d,165),[e.c,e.g]);S(b,c);e=P;c=T(a,Vh,O(d,189),O(d,190),[e.c,e.T,e.L,e.K,e.I,e.J]);S(b,c);f=kg;c==e.c?g=f.c:c==e.T?g=f.T:c==e.L?g=f.L:c==e.K?g=f.K:c==e.I?g=f.I:c==e.J?g=f.J:g="";S(b,g);e=lg;c=T(a,Wh,O(d,193),O(d,194),[e.c,e.aa,e.ba]);S(b,c);c=wi(a,O(d,185),["20199336","20199335"]);S(b,c);a=Mc(a)||a;Bh(a.location,"google_mc_lab")&&S(b,"242104166")}if(!t("Trident")&&!t("MSIE")||ub(11)){a=J(D,Wf.o)||J(D,Uf.o)||J(D,Uf.la);Xd(a);Ij();Fj(".google.dz")&&(Z[1]=".google.dz");Kj();if(a=Mc(p))a=ng(a),a.tagSpecificState[1]||(a.tagSpecificState[1]=new Ah);if(d=D.document.querySelector('script[src*="/pagead/js/adsbygoogle.js"][data-ad-client]:not([data-checked-head])')){d.setAttribute("data-checked-head","true");b=I(window);if(b.head_tag_slot_vars)throw new L("Only one AdSense head tag supported per page. The second tag is ignored.");a={};Wj(d,a);pk(a);d={};for(var h in a)d[h]=a[h];b.head_tag_slot_vars=d;h={};h=(h.google_ad_client=a.google_ad_client,h.enable_page_level_ads=a,h);D.adsbygoogle||(D.adsbygoogle=[]);a=D.adsbygoogle;a.loaded?a.push(h):a.splice(0,0,h)}h=window.adsbygoogle;if(!h||!h.loaded){a={push:nk,loaded:!0};try{Object.defineProperty(a,"requestNonPersonalizedAds",{set:xk}),Object.defineProperty(a,"pauseAdRequests",{set:yk}),Object.defineProperty(a,"setCookieOptions",{set:zk}),Object.defineProperty(a,"onload",{set:Ak})}catch(m){}if(h)for(b=ba(["requestNonPersonalizedAds","pauseAdRequests","setCookieOptions"]),d=b.next();!d.done;d=b.next())d=d.value,void 0!==h[d]&&(a[d]=h[d]);if(h&&h.shift)try{var k;for(b=20;0<h.length&&(k=h.shift())&&0<b;)nk(k),--b}catch(m){throw window.setTimeout(vk,0),m;}window.adsbygoogle=a;h&&(a.onload=h.onload)}}}function xk(a){if(+a){if((a=Yb())&&a.frames&&!a.frames.GoogleSetNPA)try{var b=a.document,c=new Sb(b),d=b.body||b.head&&b.head.parentElement;if(d){var e=Rb(c.a,"IFRAME");e.name="GoogleSetNPA";e.id="GoogleSetNPA";e.setAttribute("style","display:none;position:fixed;left:-999px;top:-999px;width:0px;height:0px;");d.appendChild(e)}}catch(f){}}else(b=Yb().document.getElementById("GoogleSetNPA"))&&b.parentNode&&b.parentNode.removeChild(b)}function yk(a){+a?I(D).pause_ad_requests=!0:(I(D).pause_ad_requests=!1,a=function(){if(!I(D).pause_ad_requests){var b=Jc(),c=Jc();try{if(Ob.createEvent){var d=Ob.createEvent("CustomEvent");d.initCustomEvent("adsbygoogle-pub-unpause-ad-requests-event",!1,!1,"");b.dispatchEvent(d)}else if(Ec(c.CustomEvent)){var e=new c.CustomEvent("adsbygoogle-pub-unpause-ad-requests-event",{bubbles:!1,cancelable:!1,detail:""});b.dispatchEvent(e)}else if(Ec(c.Event)){var f=new Event("adsbygoogle-pub-unpause-ad-requests-event",{bubbles:!1,cancelable:!1});b.dispatchEvent(f)}}catch(g){}}},p.setTimeout(a,0),p.setTimeout(a,1E3))}function zk(a){var b=D._gfp_;void 0===b||1===b?D._gfp_=a?1:void 0:b instanceof Zj&&b.w(a?1:0)}function Ak(a){Ec(a)&&window.setTimeout(a,0)};vk();}).call(this);
edipurmail / Scriptadsbygoogle.js<script> //<![CDATA[ (function(){var aa="function"==typeof Object.create?Object.create:function(a){var b=function(){};b.prototype=a;return new b},ba;if("function"==typeof Object.setPrototypeOf)ba=Object.setPrototypeOf;else{var ca;a:{var ea={a:!0},fa={};try{fa.__proto__=ea;ca=fa.a;break a}catch(a){}ca=!1}ba=ca?function(a,b){a.__proto__=b;if(a.__proto__!==b)throw new TypeError(a+" is not extensible");return a}:null}var ha=ba,ia=function(a,b){a.prototype=aa(b.prototype);a.prototype.constructor=a;if(ha)ha(a,b);else for(var c in b)if("prototype"!=c)if(Object.defineProperties){var d=Object.getOwnPropertyDescriptor(b,c);d&&Object.defineProperty(a,c,d)}else a[c]=b[c];a.Ea=b.prototype},ja="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ka="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global&&null!=global?global:this,la=function(a,b){if(b){var c=ka;a=a.split(".");for(var d=0;d<a.length-1;d++){var e=a[d];e in c||(c[e]={});c=c[e]}a=a[a.length-1];d=c[a];b=b(d);b!=d&&null!=b&&ja(c,a,{configurable:!0,writable:!0,value:b})}},ma="function"==typeof Object.assign?Object.assign:function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)Object.prototype.hasOwnProperty.call(d,e)&&(a[e]=d[e])}return a};la("Object.assign",function(a){return a||ma});la("Number.isNaN",function(a){return a?a:function(a){return"number"===typeof a&&isNaN(a)}});var l=this,na=function(a){return"string"==typeof a},r=function(a){return"number"==typeof a},oa=function(){},t=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";else if("function"==b&&"undefined"==typeof a.call)return"object";return b},pa=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b},qa=function(a,b,c){return a.call.apply(a.bind,arguments)},ra=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}},sa=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?sa=qa:sa=ra;return sa.apply(null,arguments)},ta=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}},ua=function(a,b){function c(){}c.prototype=b.prototype;a.Ea=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.Fa=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};var va=(new Date).getTime();var wa=document,v=window;var xa={"120x90":!0,"160x90":!0,"180x90":!0,"200x90":!0,"468x15":!0,"728x15":!0},ya=function(a,b){if(15==b){if(728<=a)return 728;if(468<=a)return 468}else if(90==b){if(200<=a)return 200;if(180<=a)return 180;if(160<=a)return 160;if(120<=a)return 120}return null};var za=function(a,b){a=parseInt(a,10);return isNaN(a)?b:a},Aa=/^([\w-]+\.)*([\w-]{2,})(:[0-9]+)?$/,Ba=function(a,b){return a?(a=a.match(Aa))?a[0]:b:b};var Ca=za("468",0);var Da=function(a,b){for(var c=a.length,d=na(a)?a.split(""):a,e=0;e<c;e++)e in d&&b.call(void 0,d[e],e,a)},Ea=function(a){return Array.prototype.concat.apply([],arguments)};var Fa=function(a,b){for(var c in a)if(b.call(void 0,a[c],c,a))return c};var Ha=function(){this.j="";this.l=Ga};Ha.prototype.na=!0;Ha.prototype.aa=function(){return this.j};var Ia=function(a){if(a instanceof Ha&&a.constructor===Ha&&a.l===Ga)return a.j;t(a);return"type_error:TrustedResourceUrl"},Ga={};var Ja=function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]},Ra=function(a){if(!Ka.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(La,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(Ma,"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(Na,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(Oa,"&quot;"));-1!=a.indexOf("'")&&(a=a.replace(Pa,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(Qa,"&#0;"));return a},La=/&/g,Ma=/</g,Na=/>/g,Oa=/"/g,Pa=/'/g,Qa=/\x00/g,Ka=/[\x00&<>"']/,Sa={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\","<":"<"},Ta={"'":"\\'"},Ua=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};var Wa=function(){this.ba="";this.wa=Va};Wa.prototype.na=!0;Wa.prototype.aa=function(){return this.ba};var Xa=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i,Va={},Ya=function(a){var b=new Wa;b.ba=a;return b};Ya("about:blank");var Za;a:{var $a=l.navigator;if($a){var ab=$a.userAgent;if(ab){Za=ab;break a}}Za=""}var w=function(a){return-1!=Za.indexOf(a)};var bb=function(a){var b=!1,c;return function(){b||(c=a(),b=!0);return c}},cb=function(){var a=oa;return function(){if(a){var b=a;a=null;b()}}};var eb=function(a){db();var b=new Ha;b.j=a;return b},db=oa;var fb=function(a){fb[" "](a);return a};fb[" "]=oa;var gb=w("Opera"),hb=-1!=Za.toLowerCase().indexOf("webkit")&&!w("Edge");var ib=/^[\w+/_-]+[=]{0,2}$/,jb=function(){var a=l.document.querySelector("script[nonce]");if(a&&(a=a.nonce||a.getAttribute("nonce"))&&ib.test(a))return a};var x=function(a){try{var b;if(b=!!a&&null!=a.location.href)a:{try{fb(a.foo);b=!0;break a}catch(c){}b=!1}return b}catch(c){return!1}},kb=function(a,b){var c=[l.top],d=[],e=0;b=b||1024;for(var f;f=c[e++];){a&&!x(f)||d.push(f);try{if(f.frames)for(var g=f.frames.length,h=0;h<g&&c.length<b;++h)c.push(f.frames[h])}catch(k){}}return d},lb=function(a,b){var c=a.createElement("script");b=eb(b);c.src=Ia(b);(a=a.getElementsByTagName("script")[0])&&a.parentNode&&a.parentNode.insertBefore(c,a)},y=function(a,b){return b.getComputedStyle?b.getComputedStyle(a,null):a.currentStyle},mb=function(a){if(!a.crypto)return Math.random();try{var b=new Uint32Array(1);a.crypto.getRandomValues(b);return b[0]/65536/65536}catch(c){return Math.random()}},nb=function(a,b){if(a)for(var c in a)Object.prototype.hasOwnProperty.call(a,c)&&b.call(void 0,a[c],c,a)},ob=function(a){var b=a.length;if(0==b)return 0;for(var c=305419896,d=0;d<b;d++)c^=(c<<5)+(c>>2)+a.charCodeAt(d)&4294967295;return 0<c?c:4294967296+c},pb=bb(function(){return-1!=Za.indexOf("Google Web Preview")||1E-4>Math.random()}),qb=/^([0-9.]+)px$/,rb=/^(-?[0-9.]{1,30})$/,sb=function(a){return rb.test(a)&&(a=Number(a),!isNaN(a))?a:null},tb=function(a,b){return b?!/^false$/.test(a):/^true$/.test(a)},A=function(a){return(a=qb.exec(a))?+a[1]:null};var ub=function(){return"r20180214"},vb=tb("false",!1),wb=tb("false",!1),xb=tb("false",!1),yb=xb||!wb;var zb=function(){return Ba("","googleads.g.doubleclick.net")};var Ab=function(a){this.j=a||l.document||document};var Bb=function(a,b,c){a.addEventListener?a.addEventListener(b,c,void 0):a.attachEvent&&a.attachEvent("on"+b,c)},Cb=function(a,b,c){a.removeEventListener?a.removeEventListener(b,c,void 0):a.detachEvent&&a.detachEvent("on"+b,c)};var Db=function(a){a=a||l;var b=a.context;if(!b)try{b=a.parent.context}catch(c){}try{if(b&&"pageViewId"in b&&"canonicalUrl"in b)return b}catch(c){}return null},Eb=function(a){a=a||Db();if(!a)return null;a=a.master;return x(a)?a:null};var Fb=function(a,b){l.google_image_requests||(l.google_image_requests=[]);var c=l.document.createElement("img");if(b){var d=function(a){b(a);Cb(c,"load",d);Cb(c,"error",d)};Bb(c,"load",d);Bb(c,"error",d)}c.src=a;l.google_image_requests.push(c)};var Gb=Object.prototype.hasOwnProperty,Hb=function(a,b){for(var c in a)Gb.call(a,c)&&b.call(void 0,a[c],c,a)},Ib=Object.assign||function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(d)for(var e in d)Gb.call(d,e)&&(a[e]=d[e])}return a},Jb=function(a){return!(!a||!a.call)&&"function"===typeof a},Kb=function(a,b){for(var c=1,d=arguments.length;c<d;++c)a.push(arguments[c])},Lb=function(a,b){if(a.indexOf)return a=a.indexOf(b),0<a||0===a;for(var c=0;c<a.length;c++)if(a[c]===b)return!0;return!1},Mb=function(a){a=Eb(Db(a))||a;a.google_unique_id?++a.google_unique_id:a.google_unique_id=1},Nb=!!window.google_async_iframe_id,Ob=Nb&&window.parent||window,Pb=function(){if(Nb&&!x(Ob)){var a="."+wa.domain;try{for(;2<a.split(".").length&&!x(Ob);)wa.domain=a=a.substr(a.indexOf(".")+1),Ob=window.parent}catch(b){}x(Ob)||(Ob=window)}return Ob},Qb=/(^| )adsbygoogle($| )/,Rb=function(a){a=vb&&a.google_top_window||a.top;return x(a)?a:null};var B=function(a,b){a=a.google_ad_modifications;return Lb(a?a.eids||[]:[],b)},C=function(a,b){a=a.google_ad_modifications;return Lb(a?a.loeids||[]:[],b)},Sb=function(a,b,c){if(!a)return null;for(var d=0;d<a.length;++d)if((a[d].ad_slot||b)==b&&(a[d].ad_tag_origin||c)==c)return a[d];return null};var Tb={overlays:1,interstitials:2,vignettes:2,inserts:3,immersives:4,list_view:5,full_page:6};var Ub=function(a){for(var b=[],c=0,d=0;d<a.length;d++){var e=a.charCodeAt(d);255<e&&(b[c++]=e&255,e>>=8);b[c++]=e}return b};var Vb=w("Safari")&&!((w("Chrome")||w("CriOS"))&&!w("Edge")||w("Coast")||w("Opera")||w("Edge")||w("Silk")||w("Android"))&&!(w("iPhone")&&!w("iPod")&&!w("iPad")||w("iPad")||w("iPod"));var Wb=null,Xb=null,Yb=w("Gecko")&&!(-1!=Za.toLowerCase().indexOf("webkit")&&!w("Edge"))&&!(w("Trident")||w("MSIE"))&&!w("Edge")||hb&&!Vb||gb||"function"==typeof l.btoa,Zb=function(a,b){if(!Wb){Wb={};Xb={};for(var c=0;65>c;c++)Wb[c]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charAt(c),Xb[c]="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_.".charAt(c)}b=b?Xb:Wb;c=[];for(var d=0;d<a.length;d+=3){var e=a[d],f=d+1<a.length,g=f?a[d+1]:0,h=d+2<a.length,k=h?a[d+2]:0,m=e>>2;e=(e&3)<<4|g>>4;g=(g&15)<<2|k>>6;k&=63;h||(k=64,f||(g=64));c.push(b[m],b[e],b[g],b[k])}return c.join("")};var D=function(){},$b="function"==typeof Uint8Array,cc=function(a,b,c){a.j=null;b||(b=[]);a.C=void 0;a.s=-1;a.l=b;a:{if(a.l.length){b=a.l.length-1;var d=a.l[b];if(d&&"object"==typeof d&&"array"!=t(d)&&!($b&&d instanceof Uint8Array)){a.v=b-a.s;a.o=d;break a}}a.v=Number.MAX_VALUE}a.A={};if(c)for(b=0;b<c.length;b++)d=c[b],d<a.v?(d+=a.s,a.l[d]=a.l[d]||ac):(bc(a),a.o[d]=a.o[d]||ac)},ac=[],bc=function(a){var b=a.v+a.s;a.l[b]||(a.o=a.l[b]={})},E=function(a,b){if(b<a.v){b+=a.s;var c=a.l[b];return c===ac?a.l[b]=[]:c}if(a.o)return c=a.o[b],c===ac?a.o[b]=[]:c},dc=function(a,b){if(b<a.v){b+=a.s;var c=a.l[b];return c===ac?a.l[b]=[]:c}c=a.o[b];return c===ac?a.o[b]=[]:c},ec=function(a,b,c){a.j||(a.j={});if(!a.j[c]){var d=E(a,c);d&&(a.j[c]=new b(d))}return a.j[c]},fc=function(a,b,c){a.j||(a.j={});if(!a.j[c]){for(var d=dc(a,c),e=[],f=0;f<d.length;f++)e[f]=new b(d[f]);a.j[c]=e}b=a.j[c];b==ac&&(b=a.j[c]=[]);return b},gc=function(a){if(a.j)for(var b in a.j){var c=a.j[b];if("array"==t(c))for(var d=0;d<c.length;d++)c[d]&&gc(c[d]);else c&&gc(c)}};D.prototype.toString=function(){gc(this);return this.l.toString()};var ic=function(a){cc(this,a,hc)};ua(ic,D);var hc=[4],jc=function(a){cc(this,a,null)};ua(jc,D);var kc=function(a){cc(this,a,null)};ua(kc,D);var mc=function(a){cc(this,a,lc)};ua(mc,D);var lc=[6,7,9,10];var oc=function(a){cc(this,a,nc)};ua(oc,D);var nc=[1,2,5,7],pc=function(a){cc(this,a,null)};ua(pc,D);var rc=function(a){cc(this,a,qc)};ua(rc,D);var qc=[2];var sc=function(a,b,c){c=void 0===c?{}:c;this.error=a;this.context=b.context;this.line=b.line||-1;this.msg=b.message||"";this.file=b.file||"";this.id=b.id||"jserror";this.meta=c};var tc=/^https?:\/\/(\w|-)+\.cdn\.ampproject\.(net|org)(\?|\/|$)/,uc=function(a,b){this.j=a;this.l=b},vc=function(a,b,c){this.url=a;this.j=b;this.oa=!!c;this.depth=r(void 0)?void 0:null};var wc=function(){this.o="&";this.s=!1;this.l={};this.v=0;this.j=[]},xc=function(a,b){var c={};c[a]=b;return[c]},zc=function(a,b,c,d,e){var f=[];nb(a,function(a,h){(a=yc(a,b,c,d,e))&&f.push(h+"="+a)});return f.join(b)},yc=function(a,b,c,d,e){if(null==a)return"";b=b||"&";c=c||",$";"string"==typeof c&&(c=c.split(""));if(a instanceof Array){if(d=d||0,d<c.length){for(var f=[],g=0;g<a.length;g++)f.push(yc(a[g],b,c,d+1,e));return f.join(c[d])}}else if("object"==typeof a)return e=e||0,2>e?encodeURIComponent(zc(a,b,c,d,e+1)):"...";return encodeURIComponent(String(a))},Ac=function(a,b,c,d){a.j.push(b);a.l[b]=xc(c,d)},Cc=function(a,b,c,d){b=b+"//"+c+d;var e=Bc(a)-d.length;if(0>e)return"";a.j.sort(function(a,b){return a-b});d=null;c="";for(var f=0;f<a.j.length;f++)for(var g=a.j[f],h=a.l[g],k=0;k<h.length;k++){if(!e){d=null==d?g:d;break}var m=zc(h[k],a.o,",$");if(m){m=c+m;if(e>=m.length){e-=m.length;b+=m;c=a.o;break}else a.s&&(c=e,m[c-1]==a.o&&--c,b+=m.substr(0,c),c=a.o,e=0);d=null==d?g:d}}a="";null!=d&&(a=c+"trn="+d);return b+a},Bc=function(a){var b=1,c;for(c in a.l)b=c.length>b?c.length:b;return 3997-b-a.o.length-1};var Dc=function(a,b,c,d,e,f){if((d?a.v:Math.random())<(e||a.j))try{if(c instanceof wc)var g=c;else g=new wc,nb(c,function(a,b){var c=g,d=c.v++;a=xc(b,a);c.j.push(d);c.l[d]=a});var h=Cc(g,a.s,a.l,a.o+b+"&");h&&("undefined"===typeof f?Fb(h,void 0):Fb(h,f))}catch(k){}};var Ec=function(a,b){this.start=a<b?a:b;this.j=a<b?b:a};var Fc=function(a,b){this.j=b>=a?new Ec(a,b):null},Gc=function(a){var b;try{a.localStorage&&(b=parseInt(a.localStorage.getItem("google_experiment_mod"),10))}catch(c){return null}if(0<=b&&1E3>b)return b;if(pb())return null;b=Math.floor(1E3*mb(a));try{if(a.localStorage)return a.localStorage.setItem("google_experiment_mod",""+b),b}catch(c){}return null};var Hc=!1,Ic=null,Jc=function(){if(null===Ic){Ic="";try{var a="";try{a=l.top.location.hash}catch(c){a=l.location.hash}if(a){var b=a.match(/\bdeid=([\d,]+)/);Ic=b?b[1]:""}}catch(c){}}return Ic},Kc=function(a,b){var c;c=(c=Jc())?(c=c.match(new RegExp("\\b("+a.join("|")+")\\b")))?c[0]:null:null;if(c)a=c;else if(Hc)a=null;else a:{if(!pb()&&(c=Math.random(),c<b)){c=mb(l);a=a[Math.floor(c*a.length)];break a}a=null}return a};var Lc=function(){var a=l.performance;return a&&a.now&&a.timing?Math.floor(a.now()+a.timing.navigationStart):+new Date},Mc=function(){var a=void 0===a?l:a;return(a=a.performance)&&a.now?a.now():null};var Nc=function(a,b,c){this.label=a;this.type=b;this.value=c;this.duration=0;this.uniqueId=this.label+"_"+this.type+"_"+Math.random();this.slotId=void 0};var F=l.performance,Oc=!!(F&&F.mark&&F.measure&&F.clearMarks),Pc=bb(function(){var a;if(a=Oc)a=Jc(),a=!!a.indexOf&&0<=a.indexOf("1337");return a}),Rc=function(){var a=Qc;this.events=[];this.l=a||l;var b=null;a&&(a.google_js_reporting_queue=a.google_js_reporting_queue||[],this.events=a.google_js_reporting_queue,b=a.google_measure_js_timing);this.j=Pc()||(null!=b?b:1>Math.random())},Sc=function(a){a&&F&&Pc()&&(F.clearMarks("goog_"+a.uniqueId+"_start"),F.clearMarks("goog_"+a.uniqueId+"_end"))};Rc.prototype.start=function(a,b){if(!this.j)return null;var c=Mc()||Lc();a=new Nc(a,b,c);b="goog_"+a.uniqueId+"_start";F&&Pc()&&F.mark(b);return a};var Vc=function(){var a=Tc;this.A=Uc;this.s=!0;this.o=null;this.C=this.j;this.l=void 0===a?null:a;this.v=!1},Yc=function(a,b,c,d,e){try{if(a.l&&a.l.j){var f=a.l.start(b.toString(),3);var g=c();var h=a.l;c=f;if(h.j&&r(c.value)){var k=Mc()||Lc();c.duration=k-c.value;var m="goog_"+c.uniqueId+"_end";F&&Pc()&&F.mark(m);h.j&&h.events.push(c)}}else g=c()}catch(n){h=a.s;try{Sc(f),h=(e||a.C).call(a,b,new Wc(Xc(n),n.fileName,n.lineNumber),void 0,d)}catch(p){a.j(217,p)}if(!h)throw n}return g},Zc=function(a,b){var c=G;return function(d){for(var e=[],f=0;f<arguments.length;++f)e[f]=arguments[f];return Yc(c,a,function(){return b.apply(void 0,e)},void 0,void 0)}};Vc.prototype.j=function(a,b,c,d,e){e=e||"jserror";try{var f=new wc;f.s=!0;Ac(f,1,"context",a);b.error&&b.meta&&b.id||(b=new Wc(Xc(b),b.fileName,b.lineNumber));b.msg&&Ac(f,2,"msg",b.msg.substring(0,512));b.file&&Ac(f,3,"file",b.file);0<b.line&&Ac(f,4,"line",b.line);var g=b.meta||{};if(this.o)try{this.o(g)}catch(da){}if(d)try{d(g)}catch(da){}b=[g];f.j.push(5);f.l[5]=b;g=l;b=[];var h=null;do{d=g;if(x(d)){var k=d.location.href;h=d.document&&d.document.referrer||null}else k=h,h=null;b.push(new vc(k||"",d));try{g=d.parent}catch(da){g=null}}while(g&&d!=g);k=0;for(var m=b.length-1;k<=m;++k)b[k].depth=m-k;d=l;if(d.location&&d.location.ancestorOrigins&&d.location.ancestorOrigins.length==b.length-1)for(k=1;k<b.length;++k){var n=b[k];n.url||(n.url=d.location.ancestorOrigins[k-1]||"",n.oa=!0)}var p=new vc(l.location.href,l,!1);m=null;var q=b.length-1;for(n=q;0<=n;--n){var u=b[n];!m&&tc.test(u.url)&&(m=u);if(u.url&&!u.oa){p=u;break}}u=null;var z=b.length&&b[q].url;0!=p.depth&&z&&(u=b[q]);var J=new uc(p,u);J.l&&Ac(f,6,"top",J.l.url||"");Ac(f,7,"url",J.j.url||"");Dc(this.A,e,f,this.v,c)}catch(da){try{Dc(this.A,e,{context:"ecmserr",rctx:a,msg:Xc(da),url:J&&J.j.url},this.v,c)}catch(eh){}}return this.s};var Xc=function(a){var b=a.toString();a.name&&-1==b.indexOf(a.name)&&(b+=": "+a.name);a.message&&-1==b.indexOf(a.message)&&(b+=": "+a.message);if(a.stack){a=a.stack;var c=b;try{-1==a.indexOf(c)&&(a=c+"\n"+a);for(var d;a!=d;)d=a,a=a.replace(/((https?:\/..*\/)[^\/:]*:\d+(?:.|\n)*)\2/,"$1");b=a.replace(/\n */g,"\n")}catch(e){b=c}}return b},Wc=function(a,b,c){sc.call(this,Error(a),{message:a,file:void 0===b?"":b,line:void 0===c?-1:c})};ia(Wc,sc);var H=function(a){a=void 0===a?"":a;var b=Error.call(this);this.message=b.message;"stack"in b&&(this.stack=b.stack);this.name="TagError";this.message=a?"adsbygoogle.push() error: "+a:"";Error.captureStackTrace?Error.captureStackTrace(this,H):this.stack=Error().stack||""};ia(H,Error);var $c=function(a){return 0==(a.error&&a.meta&&a.id?a.msg||Xc(a.error):Xc(a)).indexOf("TagError")};var Uc,G,Qc=Pb(),Tc=new Rc,ad=function(a){null!=a&&(Qc.google_measure_js_timing=a);Qc.google_measure_js_timing||(a=Tc,a.j=!1,a.events!=a.l.google_js_reporting_queue&&(Pc()&&Da(a.events,Sc),a.events.length=0))};Uc=new function(){var a=void 0===a?v:a;this.s="http:"===a.location.protocol?"http:":"https:";this.l="pagead2.googlesyndication.com";this.o="/pagead/gen_204?id=";this.j=.01;this.v=Math.random()};G=new Vc;"complete"==Qc.document.readyState?ad():Tc.j&&Bb(Qc,"load",function(){ad()});var dd=function(){var a=[bd,cd];G.o=function(b){Da(a,function(a){a(b)})}},ed=function(a,b,c,d){return Yc(G,a,c,d,b)},fd=function(a,b){return Zc(a,b)},gd=G.j,hd=function(a,b,c,d){return $c(b)?(G.v=!0,G.j(a,b,.1,d,"puberror"),!1):G.j(a,b,c,d)},id=function(a,b,c,d){return $c(b)?!1:G.j(a,b,c,d)};var jd=new function(){this.j=["google-auto-placed"];this.l={google_tag_origin:"qs"}};var kd=function(a,b){a.location.href&&a.location.href.substring&&(b.url=a.location.href.substring(0,200));Dc(Uc,"ama",b,!0,.01,void 0)};var ld=function(a){cc(this,a,null)};ua(ld,D);var md=null,nd=function(){if(!md){for(var a=l,b=a,c=0;a&&a!=a.parent;)if(a=a.parent,c++,x(a))b=a;else break;md=b}return md};var od={google:1,googlegroups:1,gmail:1,googlemail:1,googleimages:1,googleprint:1},pd=/(corp|borg)\.google\.com:\d+$/,qd=function(){var a=v.google_page_location||v.google_page_url;"EMPTY"==a&&(a=v.google_page_url);if(vb||!a)return!1;a=a.toString();0==a.indexOf("http://")?a=a.substring(7,a.length):0==a.indexOf("https://")&&(a=a.substring(8,a.length));var b=a.indexOf("/");-1==b&&(b=a.length);a=a.substring(0,b);if(pd.test(a))return!1;a=a.split(".");b=!1;3<=a.length&&(b=a[a.length-3]in od);2<=a.length&&(b=b||a[a.length-2]in od);return b};var rd=function(a){a=a.document;return("CSS1Compat"==a.compatMode?a.documentElement:a.body)||{}},I=function(a){return rd(a).clientWidth};var sd=function(a,b){Array.prototype.slice.call(a).forEach(b,void 0)};var td=function(a,b,c,d){this.s=a;this.l=b;this.o=c;this.j=d};td.prototype.toString=function(){return JSON.stringify({nativeQuery:this.s,occurrenceIndex:this.l,paragraphIndex:this.o,ignoreMode:this.j})};var ud=function(a,b){if(null==a.j)return b;switch(a.j){case 1:return b.slice(1);case 2:return b.slice(0,b.length-1);case 3:return b.slice(1,b.length-1);case 0:return b;default:throw Error("Unknown ignore mode: "+a.j)}},wd=function(a){var b=[];sd(a.getElementsByTagName("p"),function(a){100<=vd(a)&&b.push(a)});return b},vd=function(a){if(3==a.nodeType)return a.length;if(1!=a.nodeType||"SCRIPT"==a.tagName)return 0;var b=0;sd(a.childNodes,function(a){b+=vd(a)});return b},xd=function(a){return 0==a.length||isNaN(a[0])?a:"\\"+(30+parseInt(a[0],10))+" "+a.substring(1)};var yd=function(a){if(1!=a.nodeType)var b=!1;else if(b="INS"==a.tagName)a:{b=["adsbygoogle-placeholder"];a=a.className?a.className.split(/\s+/):[];for(var c={},d=0;d<a.length;++d)c[a[d]]=!0;for(d=0;d<b.length;++d)if(!c[b[d]]){b=!1;break a}b=!0}return b};var zd=function(a,b){for(var c=0;c<b.length;c++){var d=b[c],e=Ua(d.Ga);a[e]=d.value}};var Ad={1:1,2:2,3:3,0:0},Bd=function(a){return null!=a?Ad[a]:a},Cd={1:0,2:1,3:2,4:3};var Dd=function(a,b){if(!a)return!1;a=y(a,b);if(!a)return!1;a=a.cssFloat||a.styleFloat;return"left"==a||"right"==a},Ed=function(a){for(a=a.previousSibling;a&&1!=a.nodeType;)a=a.previousSibling;return a?a:null},Fd=function(a){return!!a.nextSibling||!!a.parentNode&&Fd(a.parentNode)};var Gd=function(a,b){this.j=l;this.v=a;this.s=b;this.o=jd||null;this.l=!1},Id=function(a,b){if(a.l)return!0;try{var c=a.j.localStorage.getItem("google_ama_settings");var d=c?new ld(c?JSON.parse(c):null):null}catch(g){d=null}if(c=null!==d)d=E(d,2),c=null==d?!1:d;if(c)return a=a.j.google_ama_state=a.j.google_ama_state||{},a.eatf=!0;c=fc(a.s,mc,1);for(d=0;d<c.length;d++){var e=c[d];if(1==E(e,8)){var f=ec(e,kc,4);if(f&&2==E(f,1)&&Hd(a,e,b))return a.l=!0,a=a.j.google_ama_state=a.j.google_ama_state||{},a.placement=d,!0}}return!1},Hd=function(a,b,c){if(1!=E(b,8))return!1;var d=ec(b,ic,1);if(!d)return!1;var e=E(d,7);if(E(d,1)||E(d,3)||0<dc(d,4).length){var f=E(d,3),g=E(d,1),h=dc(d,4);e=E(d,2);var k=E(d,5);d=Bd(E(d,6));var m="";g&&(m+=g);f&&(m+="#"+xd(f));if(h)for(f=0;f<h.length;f++)m+="."+xd(h[f]);e=(h=m)?new td(h,e,k,d):null}else e=e?new td(e,E(d,2),E(d,5),Bd(E(d,6))):null;if(!e)return!1;k=[];try{k=a.j.document.querySelectorAll(e.s)}catch(u){}if(k.length){h=k.length;if(0<h){d=Array(h);for(f=0;f<h;f++)d[f]=k[f];k=d}else k=[];k=ud(e,k);r(e.l)&&(h=e.l,0>h&&(h+=k.length),k=0<=h&&h<k.length?[k[h]]:[]);if(r(e.o)){h=[];for(d=0;d<k.length;d++)f=wd(k[d]),g=e.o,0>g&&(g+=f.length),0<=g&&g<f.length&&h.push(f[g]);k=h}e=k}else e=[];if(0==e.length)return!1;e=e[0];k=E(b,2);k=Cd[k];k=void 0!==k?k:null;if(!(h=null==k)){a:{h=a.j;switch(k){case 0:h=Dd(Ed(e),h);break a;case 3:h=Dd(e,h);break a;case 2:d=e.lastChild;h=Dd(d?1==d.nodeType?d:Ed(d):null,h);break a}h=!1}if(c=!h&&!(!c&&2==k&&!Fd(e)))c=1==k||2==k?e:e.parentNode,c=!(c&&!yd(c)&&0>=c.offsetWidth);h=!c}if(h)return!1;b=ec(b,jc,3);h={};b&&(h.ta=E(b,1),h.ja=E(b,2),h.ya=!!E(b,3));var n;b=a.j;c=a.o;d=a.v;f=b.document;a=f.createElement("div");g=a.style;g.textAlign="center";g.width="100%";g.height="auto";g.clear=h.ya?"both":"none";h.Aa&&zd(g,h.Aa);f=f.createElement("ins");g=f.style;g.display="block";g.margin="auto";g.backgroundColor="transparent";h.ta&&(g.marginTop=h.ta);h.ja&&(g.marginBottom=h.ja);h.xa&&zd(g,h.xa);a.appendChild(f);f.setAttribute("data-ad-format","auto");h=[];if(g=c&&c.j)a.className=g.join(" ");f.className="adsbygoogle";f.setAttribute("data-ad-client",d);h.length&&f.setAttribute("data-ad-channel",h.join("+"));a:{try{switch(k){case 0:e.parentNode&&e.parentNode.insertBefore(a,e);break;case 3:var p=e.parentNode;if(p){var q=e.nextSibling;if(q&&q.parentNode!=p)for(;q&&8==q.nodeType;)q=q.nextSibling;p.insertBefore(a,q)}break;case 1:e.insertBefore(a,e.firstChild);break;case 2:e.appendChild(a)}yd(e)&&(e.setAttribute("data-init-display",e.style.display),e.style.display="block");f.setAttribute("data-adsbygoogle-status","reserved");p={element:f};(n=c&&c.l)&&(p.params=n);(b.adsbygoogle=b.adsbygoogle||[]).push(p)}catch(u){a&&a.parentNode&&(n=a.parentNode,n.removeChild(a),yd(n)&&(n.style.display=n.getAttribute("data-init-display")||"none"));n=!1;break a}n=!0}return n?!0:!1};var Kd=function(){this.l=new Jd(this);this.j=0},Ld=function(a){if(0!=a.j)throw Error("Already resolved/rejected.")},Jd=function(a){this.j=a},Md=function(a){switch(a.j.j){case 0:break;case 1:a.ca&&a.ca(a.j.s);break;case 2:a.sa&&a.sa(a.j.o);break;default:throw Error("Unhandled deferred state.")}};var Nd=function(a){this.exception=a},Od=function(a,b){this.l=l;this.o=a;this.j=b};Od.prototype.start=function(){this.s()};Od.prototype.s=function(){try{switch(this.l.document.readyState){case "complete":case "interactive":Id(this.o,!0);Pd(this);break;default:Id(this.o,!1)?Pd(this):this.l.setTimeout(sa(this.s,this),100)}}catch(a){Pd(this,a)}};var Pd=function(a,b){try{var c=a.j,d=new Nd(b);Ld(c);c.j=1;c.s=d;Md(c.l)}catch(e){a=a.j,b=e,Ld(a),a.j=2,a.o=b,Md(a.l)}};var Qd=function(a){kd(a,{atf:1})},Rd=function(a,b){(a.google_ama_state=a.google_ama_state||{}).exception=b;kd(a,{atf:0})};var Sd=function(){this.wasPlaTagProcessed=!1;this.wasReactiveAdConfigReceived={};this.adCount={};this.wasReactiveAdVisible={};this.stateForType={};this.reactiveTypeEnabledByReactiveTag={};this.isReactiveTagFirstOnPage=this.wasReactiveAdConfigHandlerRegistered=this.wasReactiveTagRequestSent=!1;this.reactiveTypeDisabledByPublisher={};this.debugCard=null;this.messageValidationEnabled=this.debugCardRequested=!1;this.adRegion=this.floatingAdsFillMessage=this.grappleTagStatusService=null};var cd=function(a){try{var b=l.google_ad_modifications;if(null!=b){var c=Ea(b.eids,b.loeids);null!=c&&0<c.length&&(a.eid=c.join(","))}}catch(d){}},bd=function(a){a.shv=ub()};G.s=!vb;var Td={9:"400",10:"100",11:"0.10",12:"0.02",13:"0.001",14:"300",15:"100",19:"0.01",22:"0.01",23:"0.2",24:"0.05",26:"0.5",27:"0.001",28:"0.001",29:"0.01",32:"0.02",34:"0.001",37:"0.0",40:"0.15",42:"0",43:"0.02",47:"0.01",48:"0.2",49:"0.2",51:"0.05",52:"0.1",54:"800",55:"200",56:"0.001",57:"0.001",58:"0.02",60:"0.03",65:"0.02",66:"0.0",67:"0.04",70:"1.0",71:"700",72:"10",74:"0.03",75:"true",76:"0.004",77:"true",78:"0.1",79:"1200",80:"2",82:"3",83:"1.0",84:"0",85:"200",89:"1.0",90:"0.0",92:"0.02",94:"true",96:"700",97:"2",98:"0.01",99:"600",100:"100",101:"false"};var Ud=null,Vd=function(){this.V=Td},K=function(a,b){a=parseFloat(a.V[b]);return isNaN(a)?0:a},Wd=function(){Ud||(Ud=new Vd);return Ud};var Xd={m:"368226200",u:"368226201"},Yd={m:"368226210",u:"368226211"},Zd={m:"38893301",K:"38893302",T:"38893303"},$d={m:"38893311",K:"38893312",T:"38893313"},ae={m:"36998750",u:"36998751"},be={m:"4089040",ea:"4089042"},ce={B:"20040067",m:"20040068",da:"1337"},de={m:"21060548",B:"21060549"},ee={m:"21060623",B:"21060624"},fe={Y:"62710015",m:"62710016"},ge={Y:"62710017",m:"62710018"},he={m:"201222021",D:"201222022"},ie={m:"201222031",D:"201222032"},L={m:"21060866",u:"21060867",U:"21060868",ua:"21060869",I:"21060870",J:"21060871"},je={m:"21060550",u:"21060551"},ke={m:"332260000",G:"332260001",H:"332260002",F:"332260003"},le={m:"332260004",G:"332260005",H:"332260006",F:"332260007"},me={m:"21060518",u:"21060519"},ne={m:"21060830",ha:"21060831",Z:"21060832",ga:"21060843",fa:"21061122"},oe={m:"191880501",u:"191880502"},pe={m:"21061394",u:"21061395"},qe={m:"10583695",u:"10583696"},re={m:"10593695",u:"10593696"};Hc=!1;var se=new Fc(0,199),te=new Fc(200,399),ue=new Fc(400,599),ve=new Fc(600,699),we=new Fc(700,799),xe=new Fc(800,999);var ze=function(a){var b=Wd();a=ye(a,we,K(b,96),K(b,97),["182982000","182982100"]);if(!a)return{L:"",M:""};b={};b=(b["182982000"]="182982200",b["182982100"]="182982300",b)[a];return{L:a,M:b}},Ae=function(a){var b=Wd(),c=ye(a,we,K(b,71),K(b,72),["153762914","153762975"]),d="";"153762914"==c?d="153762530":"153762975"==c&&(d="153762841");if(c)return{L:c,M:d};c=ye(a,we,K(b,71)+K(b,72),K(b,80),["164692081","165767636"]);"164692081"==c?d="166717794":"165767636"==c&&(d="169062368");return{L:c||"",M:d}},Be=function(a){var b=a.google_ad_modifications=a.google_ad_modifications||{};if(!b.plle){b.plle=!0;var c=b.eids=b.eids||[];b=b.loeids=b.loeids||[];var d=Wd(),e=ze(a),f=e.L;e=e.M;if(f&&e)M(c,f),M(c,e);else{var g=Ae(a);M(b,g.L);M(c,g.M)}g=Yd;f=ye(a,se,K(d,84),K(d,85),[g.m,g.u]);M(b,f);var h=Xd;f==g.m?e=h.m:f==g.u?e=h.u:e="";M(c,e);g=be;M(c,ye(a,ue,K(d,9),K(d,10),[g.m,g.ea]));Ja("")&&M(b,"");g=fe;f=N(a,K(d,11),[g.m,g.Y]);g=Fa(g,function(a){return a==f});g=ge[g];M(c,f);M(c,g);g=L;g=N(a,K(d,12),[g.m,g.u,g.U,g.ua,g.I,g.J]);M(c,g);g||(g=je,g=N(a,K(d,58),[g.m,g.u]),M(c,g));g||(g=me,f=N(a,K(d,56),[g.m,g.u]),M(c,f));g=ce;f=N(a,K(d,13),[g.B,g.m]);M(c,f);M(c,Kc([g.da],0));g=de;f=N(a,K(d,60),[g.B,g.m]);M(c,f);f==de.B&&(g=ee,f=N(a,K(d,66),[g.B,g.m]),M(c,f));g=ie;f=ye(a,te,K(d,14),K(d,15),[g.m,g.D]);M(b,f);h=he;f==g.m?e=h.m:f==g.D?e=h.D:e="";M(c,e);g=le;f=ye(a,xe,K(d,54),K(d,55),[g.m,g.G,g.H,g.F]);M(b,f);h=ke;f==g.m?e=h.m:f==g.G?e=h.G:f==g.H?e=h.H:f==g.F?e=h.F:e="";M(c,e);g=$d;f=N(a,K(d,70),[g.K]);M(b,f);h=Zd;switch(f){case g.m:e=h.m;break;case g.K:e=h.K;break;case g.T:e=h.T;break;default:h=""}M(c,e);g=ae;f=N(a,K(d,98),[g.m,g.u]);M(c,f);if(tb(d.V[77],!1)||vb)g=ne,f=N(a,K(d,76),[g.m,g.ha,g.Z,g.ga]),M(c,f),f||(f=N(a,K(d,83),[g.fa]),M(c,f));g=oe;f=N(a,K(d,90),[g.m,g.u]);tb(d.V[94],!1)&&!f&&(f=g.u);M(c,f);g=pe;f=N(a,K(d,92),[g.m,g.u]);M(c,f);g=qe;f=ye(a,ve,K(d,99),K(d,100),[g.m,g.u]);M(b,f);h=re;f==g.m?e=h.m:f==g.u?e=h.u:e="";M(c,e)}},M=function(a,b){b&&a.push(b)},Ce=function(a,b){a=(a=(a=a.location&&a.location.hash)&&a.match(/google_plle=([\d,]+)/))&&a[1];return!!a&&-1!=a.indexOf(b)},N=function(a,b,c){for(var d=0;d<c.length;d++)if(Ce(a,c[d]))return c[d];return Kc(c,b)},ye=function(a,b,c,d,e){for(var f=0;f<e.length;f++)if(Ce(a,e[f]))return e[f];f=new Ec(c,c+d-1);(d=0>=d||d%e.length)||(b=b.j,d=!(b.start<=f.start&&b.j>=f.j));d?c=null:(a=Gc(a),c=null!==a&&f.start<=a&&f.j>=a?e[(a-c)%e.length]:null);return c};var De=function(a){if(!a)return"";(a=a.toLowerCase())&&"ca-"!=a.substring(0,3)&&(a="ca-"+a);return a};var Ee=function(a,b,c){var d=void 0===d?"":d;var e=["<iframe"],f;for(f in a)a.hasOwnProperty(f)&&Kb(e,f+"="+a[f]);e.push('style="'+("left:0;position:absolute;top:0;width:"+b+"px;height:"+c+"px;")+'"');e.push("></iframe>");a=a.id;b="border:none;height:"+c+"px;margin:0;padding:0;position:relative;visibility:visible;width:"+b+"px;background-color:transparent;";return['<ins id="',a+"_expand",'" style="display:inline-table;',b,void 0===d?"":d,'"><ins id="',a+"_anchor",'" style="display:block;',b,'">',e.join(" "),"</ins></ins>"].join("")},Fe=function(a,b,c){var d=a.document.getElementById(b).contentWindow;if(x(d))a=a.document.getElementById(b).contentWindow,b=a.document,b.body&&b.body.firstChild||(/Firefox/.test(navigator.userAgent)?b.open("text/html","replace"):b.open(),a.google_async_iframe_close=!0,b.write(c));else{a=a.document.getElementById(b).contentWindow;c=String(c);b=['"'];for(d=0;d<c.length;d++){var e=c.charAt(d),f=e.charCodeAt(0),g=d+1,h;if(!(h=Sa[e])){if(!(31<f&&127>f))if(f=e,f in Ta)e=Ta[f];else if(f in Sa)e=Ta[f]=Sa[f];else{h=f.charCodeAt(0);if(31<h&&127>h)e=f;else{if(256>h){if(e="\\x",16>h||256<h)e+="0"}else e="\\u",4096>h&&(e+="0");e+=h.toString(16).toUpperCase()}e=Ta[f]=e}h=e}b[g]=h}b.push('"');a.location.replace("javascript:"+b.join(""))}};var Ge=null;var He={rectangle:1,horizontal:2,vertical:4};var O=function(a,b){this.v=a;this.s=b};O.prototype.minWidth=function(){return this.v};O.prototype.height=function(){return this.s};O.prototype.j=function(a){return 300<a&&300<this.s?this.v:Math.min(1200,Math.round(a))};O.prototype.o=function(a){return this.j(a)+"x"+this.height()};O.prototype.l=function(){};var P=function(a,b,c,d){d=void 0===d?!1:d;O.call(this,a,b);this.W=c;this.za=d};ia(P,O);P.prototype.l=function(a,b,c,d){1!=c.google_ad_resize&&(d.style.height=this.height()+"px")};var Ie=function(a){return function(b){return!!(b.W&a)}};function Je(a,b){for(var c=["width","height"],d=0;d<c.length;d++){var e="google_ad_"+c[d];if(!b.hasOwnProperty(e)){var f=A(a[c[d]]);f=null===f?null:Math.round(f);null!=f&&(b[e]=f)}}}var Ke=function(a,b){try{var c=b.document.documentElement.getBoundingClientRect(),d=a.getBoundingClientRect();var e={x:d.left-c.left,y:d.top-c.top}}catch(f){e=null}return(a=e)?a.y:0},Le=function(a,b){do{var c=y(a,b);if(c&&"fixed"==c.position)return!1}while(a=a.parentElement);return!0},Me=function(a,b,c){var d=c.google_safe_for_responsive_override;return null!=d?d:c.google_safe_for_responsive_override=Le(a,b)},Ne=function(a){var b=0,c;for(c in He)-1!=a.indexOf(c)&&(b|=He[c]);return b},Oe=function(a,b){for(var c=I(b),d=0;100>d&&a;d++){var e=y(a,b);if(e&&"hidden"==e.overflowX&&(e=A(e.width))&&e<c)return!0;a=a.parentElement}return!1},Pe=function(a,b){for(var c=a,d=0;100>d&&c;d++){var e=c.style;if(e&&e.height&&"auto"!=e.height&&"inherit"!=e.height||e&&e.maxHeight&&"auto"!=e.maxHeight&&"inherit"!=e.maxHeight)return!1;c=c.parentElement}c=a;for(d=0;100>d&&c;d++){if((e=y(c,b))&&"hidden"==e.overflowY)return!1;c=c.parentElement}c=a;for(d=0;100>d&&c;d++){a:{e=a;var f=["height","max-height"],g=b.document.styleSheets;if(g)for(var h=e.matches||e.webkitMatchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector,k=0;k<Math.min(g.length,10);++k){var m=void 0;try{var n=g[k],p=null;try{p=n.cssRules||n.rules}catch(u){if(15==u.code)throw u.styleSheet=n,u}m=p}catch(u){continue}if(m&&0<m.length)for(p=0;p<Math.min(m.length,10);++p)if(h.call(e,m[p].selectorText))for(var q=0;q<f.length;++q)if(-1!=m[p].cssText.indexOf(f[q])){e=!0;break a}}e=!1}if(e)return!1;c=c.parentElement}return!0},Qe=function(a,b,c,d,e){e=e||{};if((vb&&a.google_top_window||a.top)!=a)return e.google_fwr_non_expansion_reason=3,!1;if(!(488>I(a)))return e.google_fwr_non_expansion_reason=4,!1;if(!(a.innerHeight>=a.innerWidth))return e.google_fwr_non_expansion_reason=5,!1;var f=I(a);return!f||(f-c)/f>d?(e.google_fwr_non_expansion_reason=6,!1):Oe(b.parentElement,a)?(e.google_fwr_non_expansion_reason=7,!1):!0},Re=function(a,b,c,d){var e;(e=!Qe(b,c,a,.3,d))||(e=I(b),a=e-a,e&&5<=a?a=!0:((d||{}).google_fwr_non_expansion_reason=e?-10>a?11:0>a?14:0==a?13:12:10,a=!1),e=!a);return e?!1:Me(c,b,d)?!0:(d.google_fwr_non_expansion_reason=9,!1)},Se=function(a){for(var b=0,c=0;100>c&&a;c++)b+=a.offsetLeft+a.clientLeft-a.scrollLeft,a=a.offsetParent;return b},Te=function(a,b,c){return{pa:A(a.paddingLeft)||0,direction:a.direction,la:b-c}},Ue=function(a,b){if(3==b.nodeType)return/\S/.test(b.data);if(1==b.nodeType){if(/^(script|style)$/i.test(b.nodeName))return!1;try{var c=y(b,a)}catch(d){}return!c||"none"!=c.display&&!("absolute"==c.position&&("hidden"==c.visibility||"collapse"==c.visibility))}return!1},Ve=function(a,b,c,d,e,f){if(a=y(c,a)){var g=Te(a,e,d);d=g.direction;a=g.pa;g=g.la;f.google_ad_resize?c=-1*(g+a)+"px":(c=Se(c)+a,c="rtl"==d?-1*(g-c)+"px":-1*c+"px");"rtl"==d?b.style.marginRight=c:b.style.marginLeft=c;b.style.width=e+"px";b.style.zIndex=30}};var We=function(a,b,c){if(a.style){var d=A(a.style[c]);if(d)return d}if(a=y(a,b))if(c=A(a[c]))return c;return null},Xe=function(a){return function(b){return b.minWidth()<=a}},$e=function(a,b,c){var d=a&&Ye(c,b),e=Ze(b);return function(a){return!(d&&a.height()>=e)}},af=function(a){return function(b){return b.height()<=a}},Ye=function(a,b){return Ke(a,b)<rd(b).clientHeight-100},bf=function(a,b){var c=Infinity;do{var d=We(b,a,"height");d&&(c=Math.min(c,d));(d=We(b,a,"maxHeight"))&&(c=Math.min(c,d))}while((b=b.parentElement)&&"HTML"!=b.tagName);return c},cf=function(a,b){var c=We(b,a,"height");if(c)return c;var d=b.style.height;b.style.height="inherit";c=We(b,a,"height");b.style.height=d;if(c)return c;c=Infinity;do(d=b.style&&A(b.style.height))&&(c=Math.min(c,d)),(d=We(b,a,"maxHeight"))&&(c=Math.min(c,d));while((b=b.parentElement)&&"HTML"!=b.tagName);return c},Ze=function(a){var b=a.google_unique_id;return C(a,ie.D)&&0==("number"===typeof b?b:0)?2*rd(a).clientHeight/3:250};var Q=function(a,b,c,d,e,f,g,h,k,m,n,p,q,u){this.X=a;this.w=b;this.W=void 0===c?null:c;this.P=void 0===d?null:d;this.j=void 0===e?null:e;this.s=void 0===f?null:f;this.v=void 0===g?null:g;this.A=void 0===h?null:h;this.l=void 0===k?null:k;this.o=void 0===m?null:m;this.C=void 0===n?null:n;this.N=void 0===p?null:p;this.O=void 0===q?null:q;this.R=void 0===u?null:u},df=function(a,b,c){null!=a.W&&(c.google_responsive_formats=a.W);null!=a.P&&(c.google_safe_for_responsive_override=a.P);null!=a.j&&(c.google_full_width_responsive_allowed=a.j);1!=c.google_ad_resize&&(c.google_ad_width=a.w.j(b),c.google_ad_height=a.w.height(),c.google_ad_format=a.w.o(b),c.google_responsive_auto_format=a.X,c.google_ad_resizable=!0,c.google_override_format=1,c.google_loader_features_used=128,a.j&&(c.gfwrnh=a.w.height()+"px"));null!=a.s&&(c.google_fwr_non_expansion_reason=a.s);null!=a.v&&(c.gfwroml=a.v);null!=a.A&&(c.gfwromr=a.A);null!=a.l&&(c.gfwroh=a.l,c.google_resizing_height=A(a.l)||"");null!=a.o&&(c.gfwrow=a.o,c.google_resizing_width=A(a.o)||"");null!=a.C&&(c.gfwroz=a.C);null!=a.N&&(c.gml=a.N);null!=a.O&&(c.gmr=a.O);null!=a.R&&(c.gzi=a.R)};var ef=function(){return!(w("iPad")||w("Android")&&!w("Mobile")||w("Silk"))&&(w("iPod")||w("iPhone")||w("Android")||w("IEMobile"))};var ff=["google_content_recommendation_ui_type","google_content_recommendation_columns_num","google_content_recommendation_rows_num"],R={},gf=(R.image_stacked=1/1.91,R.image_sidebyside=1/3.82,R.mobile_banner_image_sidebyside=1/3.82,R.pub_control_image_stacked=1/1.91,R.pub_control_image_sidebyside=1/3.82,R.pub_control_image_card_stacked=1/1.91,R.pub_control_image_card_sidebyside=1/3.74,R.pub_control_text=0,R.pub_control_text_card=0,R),S={},hf=(S.image_stacked=80,S.image_sidebyside=0,S.mobile_banner_image_sidebyside=0,S.pub_control_image_stacked=80,S.pub_control_image_sidebyside=0,S.pub_control_image_card_stacked=85,S.pub_control_image_card_sidebyside=0,S.pub_control_text=80,S.pub_control_text_card=80,S),jf={},kf=(jf.pub_control_image_stacked=100,jf.pub_control_image_sidebyside=200,jf.pub_control_image_card_stacked=150,jf.pub_control_image_card_sidebyside=250,jf.pub_control_text=100,jf.pub_control_text_card=150,jf),lf=function(a,b){O.call(this,a,b)};ia(lf,O);lf.prototype.j=function(a){return Math.min(1200,Math.max(this.minWidth(),Math.round(a)))};var mf=function(a){var b=0;Hb(ff,function(c){null!=a[c]&&++b});if(0===b)return!1;if(b===ff.length)return!0;throw new H("Tags data-matched-content-ui-type, data-matched-content-columns-num and data-matched-content-rows-num should be set together.")},qf=function(a,b){nf(a,b);if(a<Ca){if(ef()){of(b,"mobile_banner_image_sidebyside",1,12);var c=+b.google_content_recommendation_columns_num;c=(a-8*c-8)/c;var d=b.google_content_recommendation_ui_type;b=b.google_content_recommendation_rows_num-1;return new Q(9,new lf(a,Math.floor(c/1.91+70)+Math.floor((c*gf[d]+hf[d])*b+8*b+8)))}of(b,"image_sidebyside",1,13);return new Q(9,pf(a))}of(b,"image_stacked",4,2);return new Q(9,pf(a))};function pf(a){return 1200<=a?new lf(1200,600):850<=a?new lf(a,Math.floor(.5*a)):550<=a?new lf(a,Math.floor(.6*a)):468<=a?new lf(a,Math.floor(.7*a)):new lf(a,Math.floor(3.44*a))}var rf=function(a,b){nf(a,b);var c=b.google_content_recommendation_ui_type.split(","),d=b.google_content_recommendation_columns_num.split(","),e=b.google_content_recommendation_rows_num.split(",");a:{if(c.length==d.length&&d.length==e.length){if(1==c.length){var f=0;break a}if(2==c.length){f=a<Ca?0:1;break a}throw new H("The parameter length of attribute data-matched-content-ui-type, data-matched-content-columns-num and data-matched-content-rows-num is too long. At most 2 parameters for each attribute are needed: one for mobile and one for desktop, while "+("you are providing "+c.length+' parameters. Example: \n data-matched-content-rows-num="4,2"\ndata-matched-content-columns-num="1,6"\ndata-matched-content-ui-type="image_stacked,image_card_sidebyside".'))}if(c.length!=d.length)throw new H('The parameter length of data-matched-content-ui-type does not match data-matched-content-columns-num. Example: \n data-matched-content-rows-num="4,2"\ndata-matched-content-columns-num="1,6"\ndata-matched-content-ui-type="image_stacked,image_card_sidebyside".');throw new H('The parameter length of data-matched-content-columns-num does not match data-matched-content-rows-num. Example: \n data-matched-content-rows-num="4,2"\ndata-matched-content-columns-num="1,6"\ndata-matched-content-ui-type="image_stacked,image_card_sidebyside".')}c=c[f];c=0==c.lastIndexOf("pub_control_",0)?c:"pub_control_"+c;d=+d[f];for(var g=kf[c],h=d;a/h<g&&1<h;)h--;h!==d&&l.console&&l.console.warn("adsbygoogle warning: data-matched-content-columns-num "+d+" is too large. We override it to "+h+".");d=h;e=+e[f];of(b,c,d,e);if(Number.isNaN(d)||0===d)throw new H("Wrong value for data-matched-content-columns-num");if(Number.isNaN(e)||0===e)throw new H("Wrong value for data-matched-content-rows-num");b=Math.floor(((a-8*d-8)/d*gf[c]+hf[c])*e+8*e+8);if(1500<a)throw new H("Calculated slot width is too large: "+a);if(1500<b)throw new H("Calculated slot height is too large: "+b);return new Q(9,new lf(a,b))};function nf(a,b){if(0>=a)throw new H("Invalid responsive width from Matched Content slot "+b.google_ad_slot+": "+a+". Please ensure to put this Matched Content slot into a non-zero width div container.")}function of(a,b,c,d){a.google_content_recommendation_ui_type=b;a.google_content_recommendation_columns_num=c;a.google_content_recommendation_rows_num=d};var sf=function(a,b){O.call(this,a,b)};ia(sf,O);sf.prototype.j=function(){return this.minWidth()};sf.prototype.l=function(a,b,c,d){var e=this.j(b);Ve(a,d,d.parentElement,b,e,c);1!=c.google_ad_resize&&(d.style.height=this.height()+"px")};var tf=function(a){return function(b){for(var c=a.length-1;0<=c;--c)if(!a[c](b))return!1;return!0}},uf=function(a,b,c){for(var d=a.length,e=null,f=0;f<d;++f){var g=a[f];if(b(g)){if(!c||c(g))return g;null===e&&(e=g)}}return e};var T=[new P(970,90,2),new P(728,90,2),new P(468,60,2),new P(336,280,1),new P(320,100,2),new P(320,50,2),new P(300,600,4),new P(300,250,1),new P(250,250,1),new P(234,60,2),new P(200,200,1),new P(180,150,1),new P(160,600,4),new P(125,125,1),new P(120,600,4),new P(120,240,4)],vf=[T[6],T[12],T[3],T[0],T[7],T[14],T[1],T[8],T[10],T[4],T[15],T[2],T[11],T[5],T[13],T[9]],wf=new P(120,120,1,!0),xf=new P(120,50,2,!0);var Af=function(a,b,c,d,e){e.gfwroml=d.style.marginLeft;e.gfwromr=d.style.marginRight;e.gfwroh=d.style.height;e.gfwrow=d.style.width;e.gfwroz=d.style.zIndex;e.google_full_width_responsive_allowed=!1;"false"!=e.google_full_width_responsive||yf(c)?zf(b,c,!0)||1==e.google_ad_resize?Re(a,c,d,e)?(e.google_full_width_responsive_allowed=!0,zf(b,c,!1)?b=I(c)||a:(e.google_fwr_non_expansion_reason=15,b=a)):b=a:(e.google_fwr_non_expansion_reason=2,b=a):(e.google_fwr_non_expansion_reason=1,b=a);return b!=a&&d.parentElement?b:a},Cf=function(a,b,c,d,e,f){f=void 0===f?!1:f;var g=Ib({},e);e=a;a=ed(247,gd,function(){return Af(a,b,c,d,g)});return Bf(a,b,c,d,g,e!=a,f)},zf=function(a,b,c){"auto"==a||"autorelaxed"==a&&C(b,qe.u)?b=!0:0<(Ne(a)&1)?(yf(b)?a=!0:(Pb(),a=Wd(),a=tb(a.V[101],!1)?!C(b,Yd.m):C(b,Yd.u)),b=a||c&&C(b,Yd.m)):b=!1;return b},Bf=function(a,b,c,d,e,f,g){g=void 0===g?!1:g;var h="auto"==b?.25>=a/Math.min(1200,I(c))?4:3:Ne(b);e.google_responsive_formats=h;var k=ef()&&!Ye(d,c)&&Me(d,c,e),m=ef()&&Ye(d,c)&&(C(c,ie.D)||C(c,ie.m))&&Me(d,c,e)&&C(c,ie.D),n=(k?vf:T).slice(0);n=Ea(n,Df(c));var p=488>I(c);p=[Xe(a),Ef(p),$e(p,c,d),Ie(h)];null!=e.google_max_responsive_height&&p.push(af(e.google_max_responsive_height));var q=A(e.gfwrow)||0,u=A(e.gfwroh)||0;g&&p.push(function(a){return a.minWidth()>=q&&a.height()>=u});var z=[function(a){return!a.za}];if(k||m)k=k?bf(c,d):cf(c,d),z.push(af(k));var J=uf(n,tf(p),tf(z));g&&(n=new P(q,u,h),J=J||n);if(!J)throw new H("No slot size for availableWidth="+a);J=ed(248,gd,function(){a:{var b=J;var h=g;h=void 0===h?!1:h;if(f){if(e.gfwrnh){var k=A(e.gfwrnh);if(k){h=new sf(a,k);break a}}if(Ye(d,c))h=new sf(a,b.height());else{b=a/1.2;k=bf(c,d);k=Math.min(b,k);if(k<.5*b||100>k)k=b;h&&(h=A(e.gfwroh)||0,k=Math.max(k,h));h=new sf(a,Math.floor(k))}}else h=b}return h});b=Ff(b,h);return new Q(b,J,h,e.google_safe_for_responsive_override,e.google_full_width_responsive_allowed,e.google_fwr_non_expansion_reason,e.gfwroml,e.gfwromr,e.gfwroh,e.gfwrow,e.gfwroz,e.gml,e.gmr,e.gzi)},Ff=function(a,b){if("auto"==a)return 1;switch(b){case 2:return 2;case 1:return 3;case 4:return 4;case 3:return 5;case 6:return 6;case 5:return 7;case 7:return 8}throw Error("bad mask")},Ef=function(a){return function(b){return!(320==b.minWidth()&&(a&&50==b.height()||!a&&100==b.height()))}},yf=function(a){return a.location&&"#google_full_width_responsive_preview"==a.location.hash},Df=function(a){var b=[],c=C(a,le.F);(C(a,le.G)||c)&&b.push(wf);(C(a,le.H)||c)&&b.push(xf);return b};var Gf={"image-top":function(a){return 600>=a?284+.414*(a-250):429},"image-middle":function(a){return 500>=a?196-.13*(a-250):164+.2*(a-500)},"image-side":function(a){return 500>=a?205-.28*(a-250):134+.21*(a-500)},"text-only":function(a){return 500>=a?187-.228*(a-250):130},"in-article":function(a){return 420>=a?a/1.2:460>=a?a/1.91+130:800>=a?a/4:200}},Hf=function(a,b){O.call(this,a,b)};ia(Hf,O);Hf.prototype.j=function(){return Math.min(1200,this.minWidth())};var If=function(a,b,c,d,e){var f=e.google_ad_layout||"image-top";if("in-article"==f&&"false"!=e.google_full_width_responsive&&(C(b,$d.K)||C(b,$d.T)||C(b,$d.m))&&Qe(b,c,a,.2,e)){var g=I(b);if(g&&(e.google_full_width_responsive_allowed=!0,!C(b,$d.m))){var h=c.parentElement;if(h){b:for(var k=c,m=0;100>m&&k.parentElement;++m){for(var n=k.parentElement.childNodes,p=0;p<n.length;++p){var q=n[p];if(q!=k&&Ue(b,q))break b}k=k.parentElement;k.style.width="100%";k.style.height="auto"}Ve(b,c,h,a,g,e);a=g}}}if(250>a)throw new H("Fluid responsive ads must be at least 250px wide: availableWidth="+a);b=Math.min(1200,Math.floor(a));if(d&&"in-article"!=f){f=Math.ceil(d);if(50>f)throw new H("Fluid responsive ads must be at least 50px tall: height="+f);return new Q(11,new O(b,f))}if("in-article"!=f&&(d=e.google_ad_layout_key)){f=""+d;d=Math.pow(10,3);if(c=(e=f.match(/([+-][0-9a-z]+)/g))&&e.length){a=[];for(g=0;g<c;g++)a.push(parseInt(e[g],36)/d);d=a}else d=null;if(!d)throw new H("Invalid data-ad-layout-key value: "+f);f=(b+-725)/1E3;e=0;c=1;a=d.length;for(g=0;g<a;g++)e+=d[g]*c,c*=f;f=Math.ceil(1E3*e- -725+10);if(isNaN(f))throw new H("Invalid height: height="+f);if(50>f)throw new H("Fluid responsive ads must be at least 50px tall: height="+f);if(1200<f)throw new H("Fluid responsive ads must be at most 1200px tall: height="+f);return new Q(11,new O(b,f))}d=Gf[f];if(!d)throw new H("Invalid data-ad-layout value: "+f);d=Math.ceil(d(b));return new Q(11,"in-article"==f?new Hf(b,d):new O(b,d))};var U=function(a,b){O.call(this,a,b)};ia(U,O);U.prototype.j=function(){return this.minWidth()};U.prototype.o=function(a){return O.prototype.o.call(this,a)+"_0ads_al"};var Jf=[new U(728,15),new U(468,15),new U(200,90),new U(180,90),new U(160,90),new U(120,90)],Kf=function(a,b,c,d){var e=90;d=void 0===d?130:d;e=void 0===e?30:e;var f=uf(Jf,Xe(a));if(!f)throw new H("No link unit size for width="+a+"px");a=Math.min(a,1200);f=f.height();b=Math.max(f,b);a=(new Q(10,new U(a,Math.min(b,15==f?e:d)))).w;b=a.minWidth();a=a.height();15<=c&&(a=c);return new Q(10,new U(b,a))};var Lf=function(a){var b=a.google_ad_format;if("autorelaxed"==b)return mf(a)?9:5;if("auto"==b||/^((^|,) *(horizontal|vertical|rectangle) *)+$/.test(b))return 1;if("link"==b)return 4;if("fluid"==b)return 8},Mf=function(a,b,c,d,e){var f=d.google_ad_height||We(c,e,"height");switch(a){case 5:return a=ed(247,gd,function(){return Af(b,d.google_ad_format,e,c,d)}),a!=b&&Ve(e,c,c.parentElement,b,a,d),qf(a,d);case 9:return rf(b,d);case 4:return Kf(b,cf(e,c),f,B(e,be.ea)?250:190);case 8:return If(b,e,c,f,d)}};var Nf=/^(\d+)x(\d+)(|_[a-z]*)$/,Of=function(a){return C(a,"165767636")};var V=function(a){this.s=[];this.l=a||window;this.j=0;this.o=null;this.N=0},Pf;V.prototype.O=function(a,b){0!=this.j||0!=this.s.length||b&&b!=window?this.v(a,b):(this.j=2,this.C(new Qf(a,window)))};V.prototype.v=function(a,b){this.s.push(new Qf(a,b||this.l));Rf(this)};V.prototype.R=function(a){this.j=1;if(a){var b=fd(188,sa(this.A,this,!0));this.o=this.l.setTimeout(b,a)}};V.prototype.A=function(a){a&&++this.N;1==this.j&&(null!=this.o&&(this.l.clearTimeout(this.o),this.o=null),this.j=0);Rf(this)};V.prototype.X=function(){return!(!window||!Array)};V.prototype.P=function(){return this.N};var Rf=function(a){var b=fd(189,sa(a.va,a));a.l.setTimeout(b,0)};V.prototype.va=function(){if(0==this.j&&this.s.length){var a=this.s.shift();this.j=2;var b=fd(190,sa(this.C,this,a));a.j.setTimeout(b,0);Rf(this)}};V.prototype.C=function(a){this.j=0;a.l()};var Sf=function(a){try{return a.sz()}catch(b){return!1}},Tf=function(a){return!!a&&("object"===typeof a||"function"===typeof a)&&Sf(a)&&Jb(a.nq)&&Jb(a.nqa)&&Jb(a.al)&&Jb(a.rl)},Uf=function(){if(Pf&&Sf(Pf))return Pf;var a=nd(),b=a.google_jobrunner;return Tf(b)?Pf=b:a.google_jobrunner=Pf=new V(a)},Vf=function(a,b){Uf().nq(a,b)},Wf=function(a,b){Uf().nqa(a,b)};V.prototype.nq=V.prototype.O;V.prototype.nqa=V.prototype.v;V.prototype.al=V.prototype.R;V.prototype.rl=V.prototype.A;V.prototype.sz=V.prototype.X;V.prototype.tc=V.prototype.P;var Qf=function(a,b){this.l=a;this.j=b};var Xf=function(a,b){var c=Rb(b);if(c){c=I(c);var d=y(a,b)||{},e=d.direction;if("0px"===d.width&&"none"!=d.cssFloat)return-1;if("ltr"===e&&c)return Math.floor(Math.min(1200,c-a.getBoundingClientRect().left));if("rtl"===e&&c)return a=b.document.body.getBoundingClientRect().right-a.getBoundingClientRect().right,Math.floor(Math.min(1200,c-a-Math.floor((c-b.document.body.clientWidth)/2)))}return-1};var Yf=function(a,b,c){c||(c=yb?"https":"http");l.location&&"https:"==l.location.protocol&&"http"==c&&(c="https");return[c,"://",a,b].join("")};var $f=function(a){var b=this;this.j=a;a.google_iframe_oncopy||(a.google_iframe_oncopy={handlers:{},upd:function(a,d){var c=Zf("rx",a);a:{if(a&&(a=a.match("dt=([^&]+)"))&&2==a.length){a=a[1];break a}a=""}a=(new Date).getTime()-a;c=c.replace(/&dtd=(\d+|-?M)/,"&dtd="+(1E5<=a?"M":0<=a?a:"-M"));b.set(d,c);return c}});this.l=a.google_iframe_oncopy};$f.prototype.set=function(a,b){var c=this;this.l.handlers[a]=b;this.j.addEventListener&&this.j.addEventListener("load",function(){var b=c.j.document.getElementById(a);try{var e=b.contentWindow.document;if(b.onload&&e&&(!e.body||!e.body.firstChild))b.onload()}catch(f){}},!1)};var Zf=function(a,b){var c=new RegExp("\\b"+a+"=(\\d+)"),d=c.exec(b);d&&(b=b.replace(c,a+"="+(+d[1]+1||1)));return b},ag=Ra("var i=this.id,s=window.google_iframe_oncopy,H=s&&s.handlers,h=H&&H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&&d&&(!d.body||!d.body.firstChild)){if(h.call){setTimeout(h,0)}else if(h.match){try{h=s.upd(h,i)}catch(e){}w.location.replace(h)}}");var bg={'"':'\\"',"\\":"\\\\","/":"\\/","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\u000b"},cg=/\uffff/.test("\uffff")?/[\\"\x00-\x1f\x7f-\uffff]/g:/[\\"\x00-\x1f\x7f-\xff]/g,dg=function(){},fg=function(a,b,c){switch(typeof b){case "string":eg(b,c);break;case "number":c.push(isFinite(b)&&!isNaN(b)?String(b):"null");break;case "boolean":c.push(String(b));break;case "undefined":c.push("null");break;case "object":if(null==b){c.push("null");break}if(b instanceof Array||void 0!=b.length&&b.splice){var d=b.length;c.push("[");for(var e="",f=0;f<d;f++)c.push(e),fg(a,b[f],c),e=",";c.push("]");break}c.push("{");d="";for(e in b)b.hasOwnProperty(e)&&(f=b[e],"function"!=typeof f&&(c.push(d),eg(e,c),c.push(":"),fg(a,f,c),d=","));c.push("}");break;case "function":break;default:throw Error("Unknown type: "+typeof b)}},eg=function(a,b){b.push('"');b.push(a.replace(cg,function(a){if(a in bg)return bg[a];var b=a.charCodeAt(0),c="\\u";16>b?c+="000":256>b?c+="00":4096>b&&(c+="0");return bg[a]=c+b.toString(16)}));b.push('"')};var gg={},hg=(gg.google_ad_modifications=!0,gg.google_analytics_domain_name=!0,gg.google_analytics_uacct=!0,gg),ig=function(a){try{if(l.JSON&&l.JSON.stringify&&l.encodeURIComponent){var b=function(){return this};if(Object.prototype.hasOwnProperty("toJSON")){var c=Object.prototype.toJSON;Object.prototype.toJSON=b}if(Array.prototype.hasOwnProperty("toJSON")){var d=Array.prototype.toJSON;Array.prototype.toJSON=b}var e=l.encodeURIComponent(l.JSON.stringify(a));try{var f=Yb?l.btoa(e):Zb(Ub(e),void 0)}catch(g){f="#"+Zb(Ub(e),!0)}c&&(Object.prototype.toJSON=c);d&&(Array.prototype.toJSON=d);return f}}catch(g){G.j(237,g,void 0,void 0)}return""},jg=function(a){a.google_page_url&&(a.google_page_url=String(a.google_page_url));var b=[];Hb(a,function(a,d){if(null!=a){try{var c=[];fg(new dg,a,c);var f=c.join("")}catch(g){}f&&(f=f.replace(/\//g,"\\$&"),Kb(b,d,"=",f,";"))}});return b.join("")};var mg=function(){var a=l;this.l=a=void 0===a?l:a;this.v="https://securepubads.g.doubleclick.net/static/3p_cookie.html";this.j=2;this.o=[];this.s=!1;a:{a=kb(!1,50);b:{try{var b=l.parent;if(b&&b!=l){var c=b;break b}}catch(g){}c=null}c&&a.unshift(c);a.unshift(l);var d;for(c=0;c<a.length;++c)try{var e=a[c],f=kg(e);if(f){this.j=lg(f);if(2!=this.j)break a;!d&&x(e)&&(d=e)}}catch(g){}this.l=d||this.l}},og=function(a){if(2!=ng(a)){for(var b=1==ng(a),c=0;c<a.o.length;c++)try{a.o[c](b)}catch(d){}a.o=[]}},pg=function(a){var b=kg(a.l);b&&2==a.j&&(a.j=lg(b))},ng=function(a){pg(a);return a.j},rg=function(a){var b=qg;b.o.push(a);if(2!=b.j)og(b);else if(b.s||(Bb(b.l,"message",function(a){var c=kg(b.l);if(c&&a.source==c&&2==b.j){switch(a.data){case "3p_cookie_yes":b.j=1;break;case "3p_cookie_no":b.j=0}og(b)}}),b.s=!0),kg(b.l))og(b);else{a=(new Ab(b.l.document)).j.createElement("IFRAME");a.src=b.v;a.name="detect_3p_cookie";a.style.visibility="hidden";a.style.display="none";a.onload=function(){pg(b);og(b)};try{b.l.document.body.appendChild(a)}catch(c){}}},sg=function(a,b){try{return!(!a.frames||!a.frames[b])}catch(c){return!1}},kg=function(a){return a.frames&&a.frames[fb("detect_3p_cookie")]||null},lg=function(a){return sg(a,"3p_cookie_yes")?1:sg(a,"3p_cookie_no")?0:2};var tg=function(a,b,c,d,e){d=void 0===d?"":d;var f=a.createElement("link");f.rel=c;-1!=c.toLowerCase().indexOf("stylesheet")?b=Ia(b):b instanceof Ha?b=Ia(b):b instanceof Wa?b instanceof Wa&&b.constructor===Wa&&b.wa===Va?b=b.ba:(t(b),b="type_error:SafeUrl"):(b instanceof Wa||(b=b.na?b.aa():String(b),Xa.test(b)||(b="about:invalid#zClosurez"),b=Ya(b)),b=b.aa());f.href=b;d&&"preload"==c&&(f.as=d);e&&(f.nonce=e);if(a=a.getElementsByTagName("head")[0])try{a.appendChild(f)}catch(g){}};var ug=/^\.google\.(com?\.)?[a-z]{2,3}$/,vg=/\.(cn|com\.bi|do|sl|ba|by|ma)$/,wg=function(a){return ug.test(a)&&!vg.test(a)},xg=l,qg,yg=function(a){a="https://"+("adservice"+a+"/adsid/integrator.js");var b=["domain="+encodeURIComponent(l.location.hostname)];W[3]>=+new Date&&b.push("adsid="+encodeURIComponent(W[1]));return a+"?"+b.join("&")},W,X,zg=function(){xg=l;W=xg.googleToken=xg.googleToken||{};var a=+new Date;W[1]&&W[3]>a&&0<W[2]||(W[1]="",W[2]=-1,W[3]=-1,W[4]="",W[6]="");X=xg.googleIMState=xg.googleIMState||{};wg(X[1])||(X[1]=".google.com");"array"==t(X[5])||(X[5]=[]);"boolean"==typeof X[6]||(X[6]=!1);"array"==t(X[7])||(X[7]=[]);r(X[8])||(X[8]=0)},Y={$:function(){return 0<X[8]},Ba:function(){X[8]++},Ca:function(){0<X[8]&&X[8]--},Da:function(){X[8]=0},Ha:function(){return!1},ma:function(){return X[5]},ka:function(a){try{a()}catch(b){l.setTimeout(function(){throw b},0)}},qa:function(){if(!Y.$()){var a=l.document,b=function(b){b=yg(b);a:{try{var c=jb();break a}catch(h){}c=void 0}var d=c;tg(a,b,"preload","script",d);c=a.createElement("script");c.type="text/javascript";d&&(c.nonce=d);c.onerror=function(){return l.processGoogleToken({},2)};b=eb(b);c.src=Ia(b);try{(a.head||a.body||a.documentElement).appendChild(c),Y.Ba()}catch(h){}},c=X[1];b(c);".google.com"!=c&&b(".google.com");b={};var d=(b.newToken="FBT",b);l.setTimeout(function(){return l.processGoogleToken(d,1)},1E3)}}},Ag=function(a){zg();var b=xg.googleToken[5]||0;a&&(0!=b||W[3]>=+new Date?Y.ka(a):(Y.ma().push(a),Y.qa()));W[3]>=+new Date&&W[2]>=+new Date||Y.qa()},Bg=function(a){l.processGoogleToken=l.processGoogleToken||function(a,c){var b=a;b=void 0===b?{}:b;c=void 0===c?0:c;a=b.newToken||"";var e="NT"==a,f=parseInt(b.freshLifetimeSecs||"",10),g=parseInt(b.validLifetimeSecs||"",10);e&&!g&&(g=3600);var h=b["1p_jar"]||"";b=b.pucrd||"";zg();1==c?Y.Da():Y.Ca();var k=xg.googleToken=xg.googleToken||{},m=0==c&&a&&na(a)&&!e&&r(f)&&0<f&&r(g)&&0<g&&na(h);e=e&&!Y.$()&&(!(W[3]>=+new Date)||"NT"==W[1]);var n=!(W[3]>=+new Date)&&0!=c;if(m||e||n)e=+new Date,f=e+1E3*f,g=e+1E3*g,1E-5>Math.random()&&Fb("https://pagead2.googlesyndication.com/pagead/gen_204?id=imerr&err="+c,void 0),k[5]=c,k[1]=a,k[2]=f,k[3]=g,k[4]=h,k[6]=b,zg();if(m||!Y.$()){c=Y.ma();for(a=0;a<c.length;a++)Y.ka(c[a]);c.length=0}};Ag(a)},Cg=function(a){qg=qg||new mg;rg(function(b){b&&a()})};var Z=fb("script"),Gg=function(){var a=B(v,L.J),b=B(v,L.I)||a;if((B(v,L.u)||B(v,L.U)||b)&&!v.google_sa_queue){v.google_sa_queue=[];v.google_sl_win=v;v.google_process_slots=function(){return Dg(v,!a)};var c=b?Eg():Eg("/show_ads_impl_single_load.js");tg(v.document,c,"preload","script");b?(b=document.createElement("IFRAME"),b.id="google_shimpl",b.style.display="none",v.document.documentElement.appendChild(b),Fe(v,"google_shimpl","<!doctype html><html><body>"+("<"+Z+">")+"google_sailm=true;google_sl_win=window.parent;google_async_iframe_id='google_shimpl';"+("</"+Z+">")+Fg()+"</body></html>"),b.contentWindow.document.close()):lb(v.document,c)}},Dg=fd(215,function(a,b,c){c=void 0===c?+new Date:c;var d=a.google_sa_queue,e=d.shift();"function"==t(e)&&ed(216,gd,e);d.length&&(b||50<+new Date-c?a.setTimeout(function(){return Dg(a,b)},0):Dg(a,b,c))}),Fg=function(a){return["<",Z,' src="',Eg(void 0===a?"/show_ads_impl.js":a),'"></',Z,">"].join("")},Eg=function(a){a=void 0===a?"/show_ads_impl.js":a;var b=xb?"https":"http";a:{if(vb)try{var c=v.google_cafe_host||v.top.google_cafe_host;if(c){var d=c;break a}}catch(e){}d=Ba("","pagead2.googlesyndication.com")}return Yf(d,["/pagead/js/",ub(),"/r20170110",a,""].join(""),b)},Hg=function(a,b,c,d){return function(){var e=!1;d&&Uf().al(3E4);try{Fe(a,b,c),e=!0}catch(g){var f=nd().google_jobrunner;Tf(f)&&f.rl()}e&&(e=Zf("google_async_rrc",c),(new $f(a)).set(b,Hg(a,b,e,!1)))}},Ig=function(a){var b=["<iframe"];Hb(a,function(a,d){null!=a&&b.push(" "+d+'="'+Ra(a)+'"')});b.push("></iframe>");return b.join("")},Kg=function(a,b,c){Jg(a,b,c,function(a,b,f){a=a.document;for(var d=b.id,e=0;!d||a.getElementById(d);)d="aswift_"+e++;b.id=d;b.name=d;d=Number(f.google_ad_width);e=Number(f.google_ad_height);16==f.google_reactive_ad_format?(f=a.createElement("div"),a=Ee(b,d,e),f.innerHTML=a,c.appendChild(f.firstChild)):(f=Ee(b,d,e),c.innerHTML=f);return b.id})},Jg=function(a,b,c,d){var e={},f=b.google_ad_width,g=b.google_ad_height;null!=f&&(e.width=f&&'"'+f+'"');null!=g&&(e.height=g&&'"'+g+'"');e.frameborder='"0"';e.marginwidth='"0"';e.marginheight='"0"';e.vspace='"0"';e.hspace='"0"';e.allowtransparency='"true"';e.scrolling='"no"';e.allowfullscreen='"true"';e.onload='"'+ag+'"';d=d(a,e,b);f=b.google_ad_output;e=b.google_ad_format;g=b.google_ad_width||0;var h=b.google_ad_height||0;e||"html"!=f&&null!=f||(e=g+"x"+h);f=!b.google_ad_slot||b.google_override_format||!xa[b.google_ad_width+"x"+b.google_ad_height]&&"aa"==b.google_loader_used;e&&f?e=e.toLowerCase():e="";b.google_ad_format=e;if(!r(b.google_reactive_sra_index)||!b.google_ad_unit_key){e=[b.google_ad_slot,b.google_orig_ad_format||b.google_ad_format,b.google_ad_type,b.google_orig_ad_width||b.google_ad_width,b.google_orig_ad_height||b.google_ad_height];f=[];g=0;for(h=c;h&&25>g;h=h.parentNode,++g)f.push(9!==h.nodeType&&h.id||"");(f=f.join())&&e.push(f);b.google_ad_unit_key=ob(e.join(":")).toString();e=[];for(f=0;c&&25>f;++f){g=(g=9!==c.nodeType&&c.id)?"/"+g:"";a:{if(c&&c.nodeName&&c.parentElement){h=c.nodeName.toString().toLowerCase();for(var k=c.parentElement.childNodes,m=0,n=0;n<k.length;++n){var p=k[n];if(p.nodeName&&p.nodeName.toString().toLowerCase()===h){if(c===p){h="."+m;break a}++m}}}h=""}e.push((c.nodeName&&c.nodeName.toString().toLowerCase())+g+h);c=c.parentElement}c=e.join()+":";e=a;f=[];if(e)try{var q=e.parent;for(g=0;q&&q!==e&&25>g;++g){var u=q.frames;for(h=0;h<u.length;++h)if(e===u[h]){f.push(h);break}e=q;q=e.parent}}catch(J){}b.google_ad_dom_fingerprint=ob(c+f.join()).toString()}q=jg(b);u=ig(b);var z;b=b.google_ad_client;if(!Ge)b:{c=kb();for(e=0;e<c.length;e++)try{if(z=c[e].frames.google_esf){Ge=z;break b}}catch(J){}Ge=null}Ge?z="":(z={style:"display:none"},/[^a-z0-9-]/.test(b)?z="":(z["data-ad-client"]=De(b),z.id="google_esf",z.name="google_esf",z.src=Yf(zb(),["/pagead/html/",ub(),"/r20170110/zrt_lookup.html#"].join("")),z=Ig(z)));b=z;z=B(a,L.u)||B(a,L.U)||B(a,L.I)||B(a,L.J);c=B(a,L.I)||B(a,L.J)||B(a,je.u);e=va;f=(new Date).getTime();a.google_t12n_vars=Td;g=a;g=Eb(Db(g))||g;g=g.google_unique_id;B(a,je.u)?(h="<"+Z+">window.google_process_slots=function(){window.google_sa_impl({iframeWin: window, pubWin: window.parent});"+("};</"+Z+">"),k=Fg(),h+=k):h=B(a,L.m)?Fg("/show_ads_impl.js?"+L.m):B(a,L.u)||B(a,L.U)?"<"+Z+">window.parent.google_sa_impl.call("+("this, window, document, location);</"+Z+">"):B(a,L.I)||B(a,L.J)?"<"+Z+">window.parent.google_sa_impl({iframeWin: window, pubWin: window.parent});</"+Z+">":B(a,me.u)?Fg("/show_ads_impl_le.js"):B(a,me.m)?Fg("/show_ads_impl_le_c.js"):Fg();q=["<!doctype html><html><body>",b,"<"+Z+">",q,"google_sailm="+c+";",z?"google_sl_win=window.parent;":"","google_unique_id="+("number"===typeof g?g:0)+";",'google_async_iframe_id="'+d+'";',"google_start_time="+e+";",u?'google_pub_vars="'+u+'";':"","google_bpp="+(f>e?f-e:1)+";","google_async_rrc=0;google_iframe_start_time=new Date().getTime();","</"+Z+">",h,"</body></html>"].join("");b=a.document.getElementById(d)?Vf:Wf;d=Hg(a,d,q,!0);z?(a.google_sa_queue=a.google_sa_queue||[],a.google_sa_impl?b(d):a.google_sa_queue.push(d)):b(d)},Lg=function(a,b){var c=navigator;a&&b&&c&&(a=a.document,b=De(b),/[^a-z0-9-]/.test(b)||((c=Ja("r20160913"))&&(c+="/"),lb(a,Yf("pagead2.googlesyndication.com","/pub-config/"+c+b+".js"))))};var Mg=function(a,b,c){for(var d=a.attributes,e=d.length,f=0;f<e;f++){var g=d[f];if(/data-/.test(g.name)){var h=Ja(g.name.replace("data-matched-content","google_content_recommendation").replace("data","google").replace(/-/g,"_"));if(!b.hasOwnProperty(h)){g=g.value;var k={};k=(k.google_reactive_ad_format=za,k.google_allow_expandable_ads=tb,k);g=k.hasOwnProperty(h)?k[h](g,null):g;null===g||(b[h]=g)}}}if(c.document&&c.document.body&&!Lf(b)&&!b.google_reactive_ad_format&&(d=parseInt(a.style.width,10),e=Xf(a,c),0<e&&d>e))if(f=parseInt(a.style.height,10),d=!!xa[d+"x"+f],B(c,fe.Y))b.google_ad_resize=0;else{h=e;if(d)if(g=ya(e,f))h=g,b.google_ad_format=g+"x"+f+"_0ads_al";else throw Error("TSS="+e);b.google_ad_resize=1;b.google_ad_width=h;d||(b.google_ad_format=null,b.google_override_format=!0);e=h;a.style.width=e+"px";f=Cf(e,"auto",c,a,b);h=e;f.w.l(c,h,b,a);df(f,h,b);f=f.w;b.google_responsive_formats=null;f.minWidth()>e&&!d&&(b.google_ad_width=f.minWidth(),a.style.width=f.minWidth()+"px")}d=b.google_reactive_ad_format;if(!b.google_enable_content_recommendations||1!=d&&2!=d){d=a.offsetWidth||(b.google_ad_resize?parseInt(a.style.width,10):0);a:if(e=ta(Cf,d,"auto",c,a,b,!0),f=B(c,"182982000"),h=B(c,"182982100"),(f||h)&&ef()&&!b.google_reactive_ad_format&&!Lf(b)){for(h=a;h;h=h.parentElement){if(k=g=y(h,c)){b:if(g=g.position,k=["static","relative"],na(k))g=na(g)&&1==g.length?k.indexOf(g,0):-1;else{for(var m=0;m<k.length;m++)if(m in k&&k[m]===g){g=m;break b}g=-1}k=0<=g}if(!k)break a}b.google_resizing_allowed=!0;f?(f={},df(e(),d,f),b.google_resizing_width=f.google_ad_width,b.google_resizing_height=f.google_ad_height):b.google_ad_format="auto"}if(d=Lf(b))e=a.offsetWidth||(b.google_ad_resize?parseInt(a.style.width,10):0),f=(f=Mf(d,e,a,b,c))?f:Cf(e,b.google_ad_format,c,a,b,b.google_resizing_allowed),f.w.l(c,e,b,a),df(f,e,b),1!=d&&(b=f.w.height(),a.style.height=b+"px");else{if(!rb.test(b.google_ad_width)&&!qb.test(a.style.width)||!rb.test(b.google_ad_height)&&!qb.test(a.style.height)){if(d=y(a,c))a.style.width=d.width,a.style.height=d.height,Je(d,b);b.google_ad_width||(b.google_ad_width=a.offsetWidth);b.google_ad_height||(b.google_ad_height=a.offsetHeight);b.google_loader_features_used=256;d=Db(c);b.google_responsive_auto_format=d?d.data&&"rspv"==d.data.autoFormat?13:14:12}else Je(a.style,b),b.google_ad_output&&"html"!=b.google_ad_output||300!=b.google_ad_width||250!=b.google_ad_height||(d=a.style.width,a.style.width="100%",e=a.offsetWidth,a.style.width=d,b.google_available_width=e);C(c,"153762914")||C(c,"153762975")||C(c,"164692081")||Of(c)?(b.google_resizing_allowed=!1,d=!0):d=!1;if(d&&(e=a.parentElement)){d=b.google_ad_format;if(f=Nf.test(d)||!d){f=Rb(c);if(!(h=null==f||b.google_reactive_ad_format)){h=I(f);if(!(f=!(488>h&&320<h)||!(f.innerHeight>=f.innerWidth)||Oe(e,c)))a:{b:{f=e;for(h=0;100>h&&f;h++){if((g=y(f,c))&&-1!=g.display.indexOf("table")){f=!0;break b}f=f.parentElement}f=!1}if(f)for(f=e,h=!1,g=0;100>g&&f;g++){k=f.style;if("auto"==k.margin||"auto"==k.marginLeft||"auto"==k.marginRight)h=!0;if(h){f=!0;break a}f=f.parentElement}f=!1}h=f}f=(h?!1:!0)&&Le(a,c)}if(f&&(f=a.offsetWidth||parseInt(a.style.width,10)||b.google_ad_width,h=I(c))&&(g=y(e,c))&&(g=Te(g,h,f),m=g.pa,k=g.direction,g=g.la,!(5>g||.4<g/h))){g=b.google_resizing_allowed=!0;if(C(c,"164692081")||Of(c))g=Pe(e,c);e=-1*(Se(e)+m)+"px";if(C(c,"153762975")||Of(c))"rtl"==k?a.style.marginRight=e:a.style.marginLeft=e,a.style.width=h+"px",a.style.zIndex=1932735282;e="";k=parseInt(a.offsetHeight||a.style.height||b.google_ad_height,10);d&&(d=d.match(Nf),e=d[3],k=parseInt(d[2],10));g&&Of(c)&&(d=f/k,1.15<d&&(Ke(a,c)<rd(c).clientHeight||(k=3>d?Math.round(5*h/6):Math.round(k*h/f))));if(C(c,"153762975")||Of(c))b.google_ad_format=h+"x"+k+e,b.google_ad_width=h,b.google_ad_height=k,a.style.height=k+"px";b.google_resizing_width=h;b.google_resizing_height=k}}C(c,ae.u)&&12==b.google_responsive_auto_format&&(b.efwr=Re(a.offsetWidth||parseInt(a.style.width,10)||b.google_ad_width,c,a,b))}}else b.google_ad_width=I(c),b.google_ad_height=50,a.style.display="none"};var Ng=!1,Og=0,Pg=!1,Qg=!1,Rg=function(a){return Qb.test(a.className)&&"done"!=a.getAttribute("data-adsbygoogle-status")},Tg=function(a,b){var c=window;a.setAttribute("data-adsbygoogle-status","done");Sg(a,b,c)},Sg=function(a,b,c){var d=Pb();d.google_spfd||(d.google_spfd=Mg);(d=b.google_reactive_ads_config)||Mg(a,b,c);if(!Ug(a,b,c)){if(d){if(Ng)throw new H("Only one 'enable_page_level_ads' allowed per page.");Ng=!0}else b.google_ama||Mb(c);Pg||(Pg=!0,Lg(c,b.google_ad_client));Hb(hg,function(a,d){b[d]=b[d]||c[d]});b.google_loader_used="aa";b.google_reactive_tag_first=1===Og;if((d=b.google_ad_output)&&"html"!=d&&"js"!=d)throw new H("No support for google_ad_output="+d);ed(164,gd,function(){Kg(c,b,a)})}},Ug=function(a,b,c){var d=b.google_reactive_ads_config;if(d){var e=d.page_level_pubvars;var f=(pa(e)?e:{}).google_tag_origin}if(b.google_ama||"js"===b.google_ad_output)return!1;var g=b.google_ad_slot;e=c.google_ad_modifications;!e||Sb(e.ad_whitelist,g,f||b.google_tag_origin)?e=null:(f=e.space_collapsing||"none",e=(g=Sb(e.ad_blacklist,g))?{ia:!0,ra:g.space_collapsing||f}:e.remove_ads_by_default?{ia:!0,ra:f}:null);if(e&&e.ia&&"on"!=b.google_adtest)return"slot"==e.ra&&(null!==sb(a.getAttribute("width"))&&a.setAttribute("width",0),null!==sb(a.getAttribute("height"))&&a.setAttribute("height",0),a.style.width="0px",a.style.height="0px"),!0;if((e=y(a,c))&&"none"==e.display&&!("on"==b.google_adtest||0<b.google_reactive_ad_format||d))return c.document.createComment&&a.appendChild(c.document.createComment("No ad requested because of display:none on the adsbygoogle tag")),!0;a=null==b.google_pgb_reactive||3===b.google_pgb_reactive;return 1!==b.google_reactive_ad_format&&8!==b.google_reactive_ad_format||!a?!1:(l.console&&l.console.warn("Adsbygoogle tag with data-reactive-ad-format="+b.google_reactive_ad_format+" is deprecated. Check out page-level ads at https://www.google.com/adsense"),!0)},Vg=function(a){for(var b=document.getElementsByTagName("ins"),c=0,d=b[c];c<b.length;d=b[++c]){var e=d;if(Rg(e)&&"reserved"!=e.getAttribute("data-adsbygoogle-status")&&(!a||d.id==a))return d}return null},Wg=function(a){if(!Qg){Qg=!0;try{var b=l.localStorage.getItem("google_ama_config")}catch(da){b=null}try{var c=b?new oc(b?JSON.parse(b):null):null}catch(da){c=null}if(b=c)if(c=ec(b,pc,3),!c||E(c,1)<=+new Date)try{l.localStorage.removeItem("google_ama_config")}catch(da){kd(l,{lserr:1})}else try{var d=dc(b,5);if(0<d.length){var e=new rc,f=d||[];2<e.v?e.l[2+e.s]=f:(bc(e),e.o[2]=f);var g=e}else b:{f=l.location.pathname;var h=fc(b,rc,7);e={};for(d=0;d<h.length;++d){var k=E(h[d],1);r(k)&&!e[k]&&(e[k]=h[d])}for(var m=f.replace(/(^\/)|(\/$)/g,"");;){var n=ob(m);if(e[n]){g=e[n];break b}if(!m){g=null;break b}m=m.substring(0,m.lastIndexOf("/"))}}var p;if(p=g)a:{var q=dc(g,2);if(q)for(g=0;g<q.length;g++)if(1==q[g]){p=!0;break a}p=!1}if(p){var u=new Kd;(new Od(new Gd(a,b),u)).start();var z=u.l;var J=ta(Rd,l);if(z.ca)throw Error("Then functions already set.");z.ca=ta(Qd,l);z.sa=J;Md(z)}}catch(da){kd(l,{atf:-1})}}},Xg=function(){var a=document.createElement("ins");a.className="adsbygoogle";a.style.display="none";return a},Yg=function(a){var b={};Hb(Tb,function(c,d){!1===a.enable_page_level_ads?b[d]=!1:a.hasOwnProperty(d)&&(b[d]=a[d])});pa(a.enable_page_level_ads)&&(b.page_level_pubvars=a.enable_page_level_ads);var c=Xg();wa.body.appendChild(c);var d={};d=(d.google_reactive_ads_config=b,d.google_ad_client=a.google_ad_client,d);Tg(c,d)},Zg=function(a){var b=Rb(window);if(!b)throw new H("Page-level tag does not work inside iframes.");b.google_reactive_ads_global_state||(b.google_reactive_ads_global_state=new Sd);b.google_reactive_ads_global_state.wasPlaTagProcessed=!0;wa.body?Yg(a):Bb(wa,"DOMContentLoaded",fd(191,function(){Yg(a)}))},ah=function(a){var b={};ed(165,hd,function(){$g(a,b)},function(c){c.client=c.client||b.google_ad_client||a.google_ad_client;c.slotname=c.slotname||b.google_ad_slot;c.tag_origin=c.tag_origin||b.google_tag_origin})},$g=function(a,b){va=(new Date).getTime();a:{if(void 0!=a.enable_page_level_ads){if(na(a.google_ad_client)){var c=!0;break a}throw new H("'google_ad_client' is missing from the tag config.")}c=!1}if(c)0===Og&&(Og=1),Wg(a.google_ad_client),Zg(a);else{0===Og&&(Og=2);c=a.element;(a=a.params)&&Hb(a,function(a,c){b[c]=a});if("js"===b.google_ad_output){l.google_ad_request_done_fns=l.google_ad_request_done_fns||[];l.google_radlink_request_done_fns=l.google_radlink_request_done_fns||[];if(b.google_ad_request_done){if("function"!=t(b.google_ad_request_done))throw new H("google_ad_request_done parameter must be a function.");l.google_ad_request_done_fns.push(b.google_ad_request_done);delete b.google_ad_request_done;b.google_ad_request_done_index=l.google_ad_request_done_fns.length-1}else throw new H("google_ad_request_done parameter must be specified.");if(b.google_radlink_request_done){if("function"!=t(b.google_radlink_request_done))throw new H("google_radlink_request_done parameter must be a function.");l.google_radlink_request_done_fns.push(b.google_radlink_request_done);delete b.google_radlink_request_done;b.google_radlink_request_done_index=l.google_radlink_request_done_fns.length-1}a=Xg();l.document.documentElement.appendChild(a);c=a}if(c){if(!Rg(c)&&(c.id?c=Vg(c.id):c=null,!c))throw new H("'element' has already been filled.");if(!("innerHTML"in c))throw new H("'element' is not a good DOM element.")}else if(c=Vg(),!c)throw new H("All ins elements in the DOM with class=adsbygoogle already have ads in them.");Tg(c,b)}},ch=function(){dd();ed(166,id,bh)},bh=function(){var a=Eb(Db(v))||v;Be(a);ad(B(v,ee.B)||B(v,ce.B)||B(v,ce.da));Gg();if(B(v,ne.ha)||B(v,ne.Z)||B(v,ne.ga)||B(v,ne.fa))zg(),wg(".google.co.id")&&(X[1]=".google.co.id"),B(v,ne.Z)?(a=cb(),Cg(a),Bg(a)):Bg(null);if((a=window.adsbygoogle)&&a.shift)try{for(var b,c=20;0<a.length&&(b=a.shift())&&0<c;)ah(b),--c}catch(d){throw window.setTimeout(ch,0),d}if(!a||!a.loaded){B(v,pe.u)&&(b=qd()?Ba("","pagead2.googlesyndication.com"):zb(),tg(Pb().document,b,"preconnect"));window.adsbygoogle={push:ah,loaded:!0};a&&dh(a.onload);try{Object.defineProperty(window.adsbygoogle,"onload",{set:dh})}catch(d){}}},dh=function(a){Jb(a)&&window.setTimeout(a,0)};ch()}).call(this) //]]> </script>
Rogerio111 / Rogerio<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="description" content="Eat cells smaller than you and don't get eaten by the bigger ones, as an MMO"> <meta name="keywords" content="agario, agar, io, cell, cells, virus, bacteria, blob, game, games, web game, html5, fun, flash"> <meta name="robots" content="index, follow"> <meta name="viewport" content="minimal-ui, width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta property="fb:app_id" content="677505792353827"/> <meta property="og:title" content="Agar.io"/> <meta property="og:description" content="Eat cells smaller than you and don't get eaten by the bigger ones, as an MMO"/> <meta property="og:url" content="http://agar.io"/> <meta property="og:image" content="http://agar.io/img/1200x630.png"/> <meta property="og:image:width" content="1200"/> <meta property="og:image:height" content="630"/> <meta property="og:type" content="website"/> <title>Agar.io</title> <link id="favicon" rel="icon" type="image/png" href="favicon-32x32.png"/> <!-- Área de anuncio --> <link href='https://fonts.googleapis.com/css?family=Ubuntu:700' rel='stylesheet' type='text/css'> <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="css/glyphicons-social.css" rel="stylesheet"> <link href="css/animate.css" rel="stylesheet"> <style>body{padding:0;margin:0;overflow:hidden;}#canvas{position:absolute;left:0;right:0;top:0;bottom:0;width:100%;height:100%;}form{margin-bottom:0px;}.btn-play,.btn-settings,.btn-spectate,.btn-play-guest,.btn-login,.btn-logout{display:block;float:left;height:35px;}.btn-spectate,.btn-logout{height:35px;display:block;width:110px;margin-left:10px;margin-bottom:5px;}#helloContainer[data-logged-in="0"] .btn-play-guest{margin-left:5px;width:125px;}#helloContainer[data-logged-in="0"] .btn-login{margin-left:5px;width:145px;}#helloContainer[data-logged-in="0"] .agario-exp-bar,#helloContainer[data-logged-in="0"] .progress-bar-star,#helloContainer[data-logged-in="0"] #agario-main-buttons .agario-profile,#helloContainer[data-logged-in="0"] .btn-play{display:none;}#helloContainer[data-logged-in="0"] .btn-logout{display:none;}#helloContainer[data-logged-in="1"] .btn-play{margin-left:5px;width:275px;}#helloContainer[data-logged-in="1"] .btn-play-guest{display:none;}#helloContainer[data-logged-in="1"] .btn-login{display:none;}.btn-settings{width:40px;}.btn-spectate{display:block;float:right;}#adsBottom{position:absolute;left:0;right:0;bottom:0;}#adsBottomInner{margin:0px auto;width:728px;height:90px;border:5px solid white;border-radius:5px 5px 0px 0px;background-color:#FFFFFF;box-sizing:content-box;}.region-message{display:none;margin-bottom:12px;margin-left:6px;margin-right:6px;text-align:center;}#preview {width: 30px;height: 30px;border-radius: 400px;border: 3px solid #17c834;margin: 1px 0;float: left; position: absolute;left: 52.7%; top:42.5%;}#nicks {width: 10%;float: left; position: absolute; left: 46%; top: 42.5%;}#nick{width:10%;padding: 0px; left: 46%; top: -12px;position: relative;}#locationKnown #region{width:100%;}#locationUnknown #region{margin-bottom:15px;}#gamemode{width:10%;float:right;top: -42.5%;right: 44%;position: relative;}.agario-panel{display:inline-block;width:350px;background-color:rgba(25, 28, 29, 0.72);margin:2px;border-radius:10px;padding:5px 15px 5px 15px;vertical-align:top;}.agario-side-panel{display:inline-block;width:220px;}#helloContainer,.connecting-panel{position:absolute;top:50%;left:50%;margin-right:-50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%);}#a300x250{width:300px;height:250px;background-repeat:no-repeat;background-size:contain;background-position:center center;}.agario-exp-bar{height:30px;position:relative;border:2px solid #01612B;}.agario-exp-bar .progress-bar{background-color:#338833;border-radius:0px 4px 4px 0px;-webkit-transition:none;transition:none;}.agario-exp-bar .progress-bar-text{font-size:12pt;cursor:default;opacity:0.75;color:#FFF;text-align:center;line-height:26px;text-shadow:0px 0px 3px #000000,-1px 0px 0px #000000,1px 0px 0px #000000,0px 1px 0px #000000,0px -1px 0px #000000,-1px -1px 0px #000000,1px 1px 0px #000000,-1px 1px 0px #000000,1px -1px 0px #000000;position:absolute;top:0;bottom:0;left:0;right:0;font-family:'Ubuntu',sans-serif;}#agario-results-table{width:100%;}#agario-results-table th{text-align:center;font-size:8pt;}#agario-results-table td{text-align:center;color:#999;font-size:11pt;padding-bottom:15px;}.progress-bar-star{position:absolute;top:-13px;right:-16px;width:50px;height:50px;background-image:url("img/star.png");background-size:cover;-webkit-transform:rotate3d(0,0,1,10deg);transform:rotate3d(0,0,1,10deg);-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-delay:0s;animation-delay:0s;-webkit-animation-iteration-count:1;animation-iteration-count:1;cursor:default;color:#FFF;text-align:center;line-height:55px;font-size:12pt;text-shadow:0px 0px 3px #000000,-1px 0px 0px #000000,1px 0px 0px #000000,0px 1px 0px #000000,0px -1px 0px #000000,-1px -1px 0px #000000,1px 1px 0px #000000,-1px 1px 0px #000000,1px -1px 0px #000000;font-family:'Ubuntu',sans-serif;}.tooltip-inner{max-width:300px;}.agario-profile-panel{padding:15px 15px 15px 15px;}.agario-profile-panel .agario-profile-picture{float:left;display:block;width:64px;height:64px;border-radius:5px;border:2px solid #CCC;margin-right:6px;}.agario-profile-panel .agario-profile-name-container{float:left;display:table;width:120px;height:64px;position:relative;}.agario-profile-panel .agario-profile-name-container .agario-profile-name{display:table-cell;vertical-align:middle;text-align:center;font-weight:bold;}#helloContainer[data-has-account-data="0"] .agario-profile-panel{display:none;}.agario-party,.agario-party-0,.agario-party-1,.agario-party-2,.agario-party-3,.agario-party-4,.agario-party-5,.agario-party-6{display:none;}#helloContainer[data-gamemode=":party"] .agario-party{display:block;position:relative;}#helloContainer[data-gamemode=":party"] .agario-promo{display:none;}#helloContainer[data-party-state="0"] .agario-party-0{display:block;}#helloContainer[data-party-state="1"] .agario-party-1{display:block;}#helloContainer[data-party-state="2"] .agario-party-2{display:block;}#helloContainer[data-party-state="3"] .agario-party-3{display:block;}#helloContainer[data-party-state="4"] .agario-party-4{display:block;}#helloContainer[data-party-state="5"] .agario-party-5{display:block;}#helloContainer[data-party-state="6"] .agario-party-6{display:block;}.partyToken{margin-bottom:10px;}.side-container{vertical-align:top;display:inline-block;width:224px;}.cell-spinner{display:block;margin:0;}.creating-party-text{position:absolute;cursor:default;top:0;bottom:0;left:0;right:0;width:100%;height:100%;text-align:center;color:#FFF;font-size:24px;line-height:100px;text-shadow:0px 0px 3px #000000,-1px 0px 0px #000000,1px 0px 0px #000000,0px 1px 0px #000000,0px -1px 0px #000000,-1px -1px 0px #000000,1px 1px 0px #000000,-1px 1px 0px #000000,1px -1px 0px #000000;}.agario-results-0,.agario-results-1,.agario-results-2{display:none;}#helloContainer[data-results-state="0"] .agario-results-0{display:block;}#helloContainer[data-results-state="1"] .agario-results-1{display:block;}#helloContainer[data-results-state="2"] .agario-results-2{display:block;}#options>label{display:block;width:94px;float:left;}#stats{position:relative;width:350px;height:581px;padding:0px 0px 300px 0px;overflow:hidden;}#statsPelletsContainer,#statsTimeAliveContainer,#statsHighestMassContainer,#statsTimeLeaderboardContainer,#statsPlayerCellsEatenContainer,#statsTopPositionContainer{position:absolute;width:100px;height:100px;}#statsPelletsContainer{top:30px;left:50px;}#statsHighestMassContainer{top:30px;right:50px;}#statsTimeAliveContainer{top:85px;left:50px;}#statsTimeLeaderboardContainer{top:85px;right:50px;}#statsPlayerCellsEatenContainer{top:140px;left:50px;}#statsTopPositionContainer{top:140px;right:50px;}#statsPellets{position:absolute;top:0;left:0;bottom:0;right:0;margin:auto;}#statsText{position:absolute;top:0;bottom:0;left:0;right:0;line-height:100px;font-size:23px;}#statsSubtext{position:absolute;bottom:0;left:0;right:0;line-height:60px;font-size:12px;color:#000;text-align:center;}#statsChartText{position:absolute;left:20px;bottom:250px;line-height:40px;font-size:40px;}#statsChartText,#statsText{cursor:default;color:#444;text-align:center;font-weight:bold;}#statsContinue{position:absolute;left:25px;right:25px;width:300px;bottom:295px;}#statsGraph{position:absolute;bottom:350px;left:0px;right:0px;opacity:0.4;}#s300x250{position:absolute;bottom:10px;left:25px;right:25px;width:300px;height:250px;}.tosBox{z-index:1000;position:absolute;bottom:0;right:0;background-color:#FFF;border-radius:5px 0px 0px 0px;padding:5px 10px;}</style> <script src="js/jquery.js"></script> <script src="js/bootstrap.min.js"></script> <script> i18n_lang = 'en'; i18n_dict = { 'en': { 'connecting': 'Connecting', 'connect_help': 'If you cannot connect to the servers, check if you have some anti virus or firewall blocking the connection.', 'play': 'Jogar', 'spectate': 'Observar O Jogo', 'login_and_play': 'Logar No Facebook', 'play_as_guest': 'Play as guest', 'share': 'Share', 'advertisement': 'Advertisement', 'privacy_policy': 'Privacy Policy', 'terms_of_service': 'Terms of Service', 'changelog': 'Changelog', 'instructions_mouse': 'Move your mouse to control your cell', 'instructions_space': 'Pressiona <b>Space</b> Para Duplica', 'instructions_w': 'Pressiona <b>W</b> Para Da Massa', 'gamemode_ffa': 'FFA', 'gamemode_teams': 'Time', 'gamemode_experimental': 'Experimental', 'region_select': ' -- Select a Region -- ', 'region_us_east': 'US East', 'region_us_west': 'US West', 'region_north_america': 'North America', 'region_south_america': 'South America', 'region_europe': 'Europe', 'region_turkey': 'Turkey', 'region_poland': 'Poland', 'region_east_asia': 'East Asia', 'region_russia': 'Russia', 'region_china': 'China', 'region_oceania': 'Oceania', 'region_australia': 'Australia', 'region_players': 'players', 'option_no_skins': 'Remover skins', 'option_no_names': 'Sem Nome', 'option_dark_theme': 'Tema Escuro', 'option_no_colors': 'Sem Cores', 'option_show_mass': 'Most. Massa', 'leaderboard': 'Leaderboard', 'unnamed_cell': 'Célula sem nome !"', 'last_match_results': 'Last match results', 'score': 'Pontos', 'leaderboard_time': '', 'mass_eaten': 'Mass Eaten', 'top_position': 'Top Position', 'position_1': 'Primeiro', 'position_2': 'Segundo', 'position_3': 'Terceiro', 'position_4': 'Quarto', 'position_5': 'Quinto', 'position_6': 'Sexto', 'position_7': 'Setimo', 'position_8': 'Oitavo', 'position_9': 'Nono', 'position_10': 'Decimo', 'player_cells_eaten': 'Player Cells Eaten', 'survival_time': 'Survival Time', 'games_played': 'Games played', 'highest_mass': 'Massa Total', 'total_cells_eaten': 'Total cells eaten', 'total_mass_eaten': 'Total mass eaten', 'longest_survival': 'Longest survival', 'logout': 'Sair', 'stats': 'Stats', 'shop': 'Shop', 'party': 'Jogar Com Os Amigos', 'party_description': 'Play with your friends in the same map', 'create_party': 'Create', 'creating_party': 'Criando Ah partida...', 'join_party': 'Criar Partoda', 'back_button': 'Sair', 'joining_party': 'Connectando Na Sala ...', 'joined_party_instructions': 'You are now playing with this Sala:', 'party_join_error': 'There was a problem joining that party, please make sure the code is correct, or try creating another party', 'login_tooltip': 'Login with Facebook and get:<br\xA0/><br /><br />Jogar the game with more mass!<br />Level up to get even more starting mass!', 'create_party_instructions': 'Give this link to your friends:', 'join_party_instructions': 'Your friend should have given you a code, type it here:', 'continue': 'Continuar', 'option_skip_stats': 'Pular Estatísticas', 'stats_food_eaten': 'Alim. ingeridos', 'stats_highest_mass': 'highest mass', 'stats_time_alive': 'Tempo Vivo', 'stats_leaderboard_time': 'Tempo no Rank', 'stats_cells_eaten': 'Células Ingeridas', 'stats_top_position': 'Posição Rankeada?', '': '' }, '?': {} }; i18n_lang = (window.navigator.userLanguage || window.navigator.language || 'en').split('-')[0]; if (!i18n_dict.hasOwnProperty(i18n_lang)) { i18n_lang = 'en'; } i18n = i18n_dict[i18n_lang]; (function(window, $) { function Init() { g_drawLines = true; PlayerStats(); setInterval(PlayerStats, 180000); g_canvas = g_canvas_ = document.getElementById('canvas'); g_context = g_canvas.getContext('2d'); g_canvas.onmousedown = function(event) { if (g_touchCapable) { var deltaX = event.clientX - (5 + g_protocol / 5 / 2); var deltaY = event.clientY - (5 + g_protocol / 5 / 2); if (Math.sqrt(deltaX * deltaX + deltaY * deltaY) <= g_protocol / 5 / 2) { SendPos(); SendCmd(17); return; } } g_mouseX = event.clientX; g_mouseY = event.clientY; UpdatePos(); SendPos(); }; g_canvas.onmousemove = function(event) { g_mouseX = event.clientX; g_mouseY = event.clientY; UpdatePos(); }; g_canvas.onmouseup = function() {}; if (/firefox/i.test(navigator.userAgent)) { document.addEventListener('DOMMouseScroll', WheelHandler, false); } else { document.body.onmousewheel = WheelHandler; } var spaceDown = false; var cachedSkin = false; var wkeyDown = false; var keyEPressed = false; //EDITED window.onkeydown = function(event) { if (!(32 != event.keyCode || spaceDown)) { SendPos(); SendCmd(17); spaceDown = true; } if (!(81 != event.keyCode || cachedSkin)) { SendCmd(18); cachedSkin = true; } if (!(87 != event.keyCode || wkeyDown)) { SendPos(); SendCmd(21); wkeyDown = true; } if (69 == event.keyCode) { //EDITED if (!keyEPressed) { keyEPressed = true; timerE(); } } if (27 == event.keyCode) { __unmatched_10(300); } }; window.onkeyup = function(event) { if (32 == event.keyCode) { spaceDown = false; } if (87 == event.keyCode) { wkeyDown = false; } if (81 == event.keyCode && cachedSkin) { SendCmd(19); cachedSkin = false; } if (69 == event.keyCode) { //EDITED if (keyEPressed) { keyEPressed = false; } } }; window.onblur = function() { SendCmd(19); wkeyDown = cachedSkin = spaceDown = keyEPressed = false; //EDITED }; function timerE () { //EDITED if (keyEPressed) { SendPos(); SendCmd(21); setInterval(timerE, 200); } } window.onresize = ResizeHandler; window.requestAnimationFrame(__unmatched_130); setInterval(SendPos, 40); if (g_region) { $('#region').val(g_region); } SyncRegion(); SetRegion($('#region').val()); $.each(g_skinNamesA, function(v, node) { //EDITED $("#nicks").append($("<option></option>").attr("value", v).text(node)); }); if (0 == __unmatched_112 && g_region) { Start(); } __unmatched_10(0); ResizeHandler(); if (window.location.hash && 6 <= window.location.hash.length) { RenderLoop(window.location.hash); } } function WheelHandler(event) { g_zoom *= Math.pow(0.9, event.wheelDelta / -120 || event.detail || 0); if(!isUnlimitedZoom) { if (1 > g_zoom) { g_zoom = 1; } if (g_zoom > 4 / g_scale) { g_zoom = 4 / g_scale; } } } function UpdateTree() { if (0.4 > g_scale) { g_pointTree = null; } else { for (var minX = Number.POSITIVE_INFINITY, minY = Number.POSITIVE_INFINITY, maxX = Number.NEGATIVE_INFINITY, maxY = Number.NEGATIVE_INFINITY, maxSize = 0, i = 0; i < g_cells.length; i++) { var cell = g_cells[i]; if (!(!cell.N() || cell.R || 20 >= cell.size * g_scale)) { maxSize = Math.max(cell.size, maxSize); minX = Math.min(cell.x, minX); minY = Math.min(cell.y, minY); maxX = Math.max(cell.x, maxX); maxY = Math.max(cell.y, maxY); } } g_pointTree = QTreeFactory.la({ ca: minX - (maxSize + 100), da: minY - (maxSize + 100), oa: maxX + (maxSize + 100), pa: maxY + (maxSize + 100), ma: 2, na: 4 }); for (i = 0; i < g_cells.length; i++) { if (cell = g_cells[i], cell.N() && !(20 >= cell.size * g_scale)) { for (minX = 0; minX < cell.a.length; ++minX) { minY = cell.a[minX].x; maxX = cell.a[minX].y; if (!(minY < g_viewX - g_protocol / 2 / g_scale || maxX < g_viewY - __unmatched_60 / 2 / g_scale || minY > g_viewX + g_protocol / 2 / g_scale || maxX > g_viewY + __unmatched_60 / 2 / g_scale)) { g_pointTree.m(cell.a[minX]); } } } } } } function UpdatePos() { g_moveX = (g_mouseX - g_protocol / 2) / g_scale + g_viewX; g_moveY = (g_mouseY - __unmatched_60 / 2) / g_scale + g_viewY; } function PlayerStats() { if (null == g_regionLabels) { g_regionLabels = {}; $('#region').children().each(function() { var $this = $(this); var val = $this.val(); if (val) { g_regionLabels[val] = $this.text(); } }); } $.get('https://m.agar.io/info', function(data) { var regionNumPlayers = {}; var region; for (region in data.regions) { var region_ = region.split(':')[0]; regionNumPlayers[region_] = regionNumPlayers[region_] || 0; regionNumPlayers[region_] += data.regions[region].numPlayers; } for (region in regionNumPlayers) { $('#region option[value="' + region + '"]').text(g_regionLabels[region] + ' (' + regionNumPlayers[region] + ' players)'); } }, 'json'); } function HideOverlay() { $('#adsBottom').hide(); $('#overlays').hide(); $('#stats').hide(); $('#mainPanel').hide(); __unmatched_141 = g_playerCellDestroyed = false; SyncRegion(); if (window.googletag && window.googletag.pubads && window.googletag.pubads().clear) { window.googletag.pubads().clear(window.aa.concat(window.ab)); } } function SetRegion(val) { if (val && val != g_region) { if ($('#region').val() != val) { $('#region').val(val); } g_region = window.localStorage.location = val; $('.region-message').hide(); $('.region-message.' + val).show(); $('.btn-needs-server').prop('disabled', false); if (g_drawLines) { Start(); } } } function __unmatched_10(char) { if (!(g_playerCellDestroyed || __unmatched_141)) { $('#adsBottom').show(); g_nick = null; __unmatched_13(window.aa); if (1000 > char) { qkeyDown = 1; } g_playerCellDestroyed = true; $('#mainPanel').show(); if (0 < char) { $('#overlays').fadeIn(char); } else { $('#overlays').show(); } } } function Render(__unmatched_174) { $('#helloContainer').attr('data-gamemode', __unmatched_174); __unmatched_95 = __unmatched_174; $('#gamemode').val(__unmatched_174); } function SyncRegion() { if ($('#region').val()) { window.localStorage.location = $('#region').val(); } else if (window.localStorage.location) { $('#region').val(window.localStorage.location); } if ($('#region').val()) { $('#locationKnown').append($('#region')); } else { $('#locationUnknown').append($('#region')); } } function __unmatched_13(__unmatched_175) { if (window.googletag) { window.googletag.cmd.push(function() { if (g_canRefreshAds) { g_canRefreshAds = false; setTimeout(function() { g_canRefreshAds = true; }, 60000 * g_refreshAdsCooldown); if (window.googletag && window.googletag.pubads && window.googletag.pubads().refresh) { window.googletag.pubads().refresh(__unmatched_175); } } }); } } function __unmatched_14(i_) { return window.i18n[i_] || window.i18n_dict.en[i_] || i_; } function FindGame() { var __unmatched_177 = ++__unmatched_112; console.log('Find ' + g_region + __unmatched_95); $.ajax('https://m.agar.io/', { error: function() { setTimeout(FindGame, 1000); }, success: function(__unmatched_178) { __unmatched_178 = __unmatched_178.split('\n'); Connect('ws://' + __unmatched_178[0], __unmatched_178[1]); }, dataType: 'text', method: 'POST', cache: false, crossDomain: true, data: (g_region + __unmatched_95 || '?') + '\n154669603' }); } function Start() { if (g_drawLines && g_region) { $('#connecting').show(); FindGame(); } } function Connect(address, ticket) { if (points) { points.onopen = null; points.onmessage = null; points.onclose = null; try { points.close(); } catch (exception) {} points = null; } if (__unmatched_113.ip) { address = 'ws://' + __unmatched_113.ip; } if (null != __unmatched_121) { var __unmatched_181 = __unmatched_121; __unmatched_121 = function() { __unmatched_181(ticket); }; } if (g_secure) { var parts = address.split(':'); address = parts[0] + 's://ip-' + parts[1].replace(/\./g, '-').replace(/\//g, '') + '.tech.agar.io:' + (+parts[2] + 2000); } g_playerCellIds = []; g_playerCells = []; g_cellsById = {}; g_cells = []; g_destroyedCells = []; g_scoreEntries = []; g_leaderboardCanvas = g_scorePartitions = null; g_maxScore = 0; g_connectSuccessful = false; console.log('Connecting to ' + address); points = new WebSocket(address); points.binaryType = 'arraybuffer'; points.onopen = function() { var data; console.log('socket open'); data = GetBuffer(5); data.setUint8(0, 254); data.setUint32(1, 5, true); SendBuffer(data); data = GetBuffer(5); data.setUint8(0, 255); data.setUint32(1, 154669603, true); SendBuffer(data); data = GetBuffer(1 + ticket.length); data.setUint8(0, 80); for (var i = 0; i < ticket.length; ++i) { data.setUint8(i + 1, ticket.charCodeAt(i)); } SendBuffer(data); RefreshAds(); }; points.onmessage = MessageHandler; points.onclose = CloseHandler; points.onerror = function() { console.log('socket error'); }; } function GetBuffer(size) { return new DataView(new ArrayBuffer(size)); } function SendBuffer(data) { points.send(data.buffer); } function CloseHandler() { if (g_connectSuccessful) { g_retryTimeout = 500; } console.log('socket close'); setTimeout(Start, g_retryTimeout); g_retryTimeout *= 2; } function MessageHandler(data) { Receive(new DataView(data.data)); } function Receive(data) { function __unmatched_190() { for (var string = '';;) { var char = data.getUint16(pos, true); pos += 2; if (0 == char) { break; } string += String.fromCharCode(char); } return string; } var pos = 0; if (240 == data.getUint8(pos)) { pos += 5; } switch (data.getUint8(pos++)) { case 16: ParseCellUpdates(data, pos); break; case 17: g_viewX_ = data.getFloat32(pos, true); pos += 4; g_viewY_ = data.getFloat32(pos, true); pos += 4; g_scale_ = data.getFloat32(pos, true); pos += 4; break; case 20: g_playerCells = []; g_playerCellIds = []; break; case 21: g_linesY_ = data.getInt16(pos, true); pos += 2; g_linesX_ = data.getInt16(pos, true); pos += 2; if (!g_ready) { g_ready = true; g_linesX = g_linesY_; g_linesY = g_linesX_; } break; case 32: g_playerCellIds.push(data.getUint32(pos, true)); pos += 4; break; case 49: if (null != g_scorePartitions) { break; } var num = data.getUint32(pos, true); var pos = pos + 4; g_scoreEntries = []; for (var i = 0; i < num; ++i) { var id = data.getUint32(pos, true); var pos = pos + 4; g_scoreEntries.push({ id: id, name: __unmatched_190() }); } UpdateLeaderboard(); break; case 50: g_scorePartitions = []; num = data.getUint32(pos, true); pos += 4; for (i = 0; i < num; ++i) { g_scorePartitions.push(data.getFloat32(pos, true)); pos += 4; } UpdateLeaderboard(); break; case 64: g_minX = data.getFloat64(pos, true); pos += 8; g_minY = data.getFloat64(pos, true); pos += 8; g_maxX = data.getFloat64(pos, true); pos += 8; g_maxY = data.getFloat64(pos, true); pos += 8; g_viewX_ = (g_maxX + g_minX) / 2; g_viewY_ = (g_maxY + g_minY) / 2; g_scale_ = 1; if (0 == g_playerCells.length) { g_viewX = g_viewX_; g_viewY = g_viewY_; g_scale = g_scale_; } break; case 81: var x = data.getUint32(pos, true); var pos = pos + 4; var __unmatched_196 = data.getUint32(pos, true); var pos = pos + 4; var __unmatched_197 = data.getUint32(pos, true); var pos = pos + 4; setTimeout(function() { __unmatched_43({ e: x, f: __unmatched_196, d: __unmatched_197 }); }, 1200); } } function ParseCellUpdates(data, pos) { function __unmatched_202() { for (var string = '';;) { var id = data.getUint16(pos, true); pos += 2; if (0 == id) { break; } string += String.fromCharCode(id); } return string; } function __unmatched_203() { for (var __unmatched_218 = '';;) { var r = data.getUint8(pos++); if (0 == r) { break; } __unmatched_218 += String.fromCharCode(r); } return __unmatched_218; } __unmatched_107 = g_time = Date.now(); if (!g_connectSuccessful) { g_connectSuccessful = true; __unmatched_24(); } __unmatched_88 = false; var num = data.getUint16(pos, true); pos += 2; for (var i = 0; i < num; ++i) { var cellA = g_cellsById[data.getUint32(pos, true)]; var cellB = g_cellsById[data.getUint32(pos + 4, true)]; pos += 8; if (cellA && cellB) { cellB.X(); cellB.s = cellB.x; cellB.t = cellB.y; cellB.r = cellB.size; cellB.J = cellA.x; cellB.K = cellA.y; cellB.q = cellB.size; cellB.Q = g_time; __unmatched_49(cellA, cellB); } } for (i = 0;;) { num = data.getUint32(pos, true); pos += 4; if (0 == num) { break; } ++i; var size; var cellA = data.getInt32(pos, true); pos += 4; cellB = data.getInt32(pos, true); pos += 4; size = data.getInt16(pos, true); pos += 2; var flags = data.getUint8(pos++); var y = data.getUint8(pos++); var b = data.getUint8(pos++); var y = __unmatched_40(flags << 16 | y << 8 | b); var b = data.getUint8(pos++); var isVirus = !!(b & 1); var isAgitated = !!(b & 16); var __unmatched_214 = null; if (b & 2) { pos += 4 + data.getUint32(pos, true); } if (b & 4) { __unmatched_214 = __unmatched_203(); } var name = __unmatched_202(); var flags = null; if (g_cellsById.hasOwnProperty(num)) { flags = g_cellsById[num]; flags.P(); flags.s = flags.x; flags.t = flags.y; flags.r = flags.size; flags.color = y; } else { flags = new Cell(num, cellA, cellB, size, y, name); g_cells.push(flags); g_cellsById[num] = flags; flags.ta = cellA; flags.ua = cellB; } flags.h = isVirus; flags.n = isAgitated; flags.J = cellA; flags.K = cellB; flags.q = size; flags.Q = g_time; flags.ba = b; flags.fa = __unmatched_214; if (name) { flags.B(name); } if (-1 != g_playerCellIds.indexOf(num) && -1 == g_playerCells.indexOf(flags)) { g_playerCells.push(flags); if (1 == g_playerCells.length) { g_viewX = flags.x; g_viewY = flags.y; __unmatched_136(); document.getElementById('overlays').style.display = 'none'; cached = []; __unmatched_139 = 0; __unmatched_140 = g_playerCells[0].color; __unmatched_142 = true; __unmatched_143 = Date.now(); g_mode = __unmatched_146 = __unmatched_145 = 0; } } } cellA = data.getUint32(pos, true); pos += 4; for (i = 0; i < cellA; i++) { num = data.getUint32(pos, true); pos += 4; flags = g_cellsById[num]; if (null != flags) { flags.X(); } } if (__unmatched_88 && 0 == g_playerCells.length) { __unmatched_144 = Date.now(); __unmatched_142 = false; if (!(g_playerCellDestroyed || __unmatched_141)) { if (__unmatched_148) { __unmatched_13(window.ab); ShowOverlay(); __unmatched_141 = true; $('#overlays').fadeIn(3000); $('#stats').show(); } else { __unmatched_10(3000); } } } } function __unmatched_24() { $('#connecting').hide(); SendNick(); if (__unmatched_121) { __unmatched_121(); __unmatched_121 = null; } if (null != __unmatched_123) { clearTimeout(__unmatched_123); } __unmatched_123 = setTimeout(function() { if (window.ga) { ++__unmatched_124; window.ga('set', 'dimension2', __unmatched_124); } }, 10000); } function SendPos() { if (IsConnected()) { var deltaY = g_mouseX - g_protocol / 2; var delta = g_mouseY - __unmatched_60 / 2; if (!(64 > deltaY * deltaY + delta * delta || 0.01 > Math.abs(g_lastMoveY - g_moveX) && 0.01 > Math.abs(g_lastMoveX - g_moveY))) { g_lastMoveY = g_moveX; g_lastMoveX = g_moveY; deltaY = GetBuffer(21); deltaY.setUint8(0, 16); deltaY.setFloat64(1, g_moveX, true); deltaY.setFloat64(9, g_moveY, true); deltaY.setUint32(17, 0, true); SendBuffer(deltaY); } } } function SendNick() { if (IsConnected() && g_connectSuccessful && null != g_nick) { var data = GetBuffer(1 + 2 * g_nick.length); data.setUint8(0, 0); for (var i = 0; i < g_nick.length; ++i) { data.setUint16(1 + 2 * i, g_nick.charCodeAt(i), true); } SendBuffer(data); g_nick = null; } } function IsConnected() { return null != points && points.readyState == points.OPEN; } function SendCmd(cmd) { if (IsConnected()) { var data = GetBuffer(1); data.setUint8(0, cmd); SendBuffer(data); } } function RefreshAds() { if (IsConnected() && null != __unmatched_108) { var __unmatched_226 = GetBuffer(1 + __unmatched_108.length); __unmatched_226.setUint8(0, 81); for (var y = 0; y < __unmatched_108.length; ++y) { __unmatched_226.setUint8(y + 1, __unmatched_108.charCodeAt(y)); } SendBuffer(__unmatched_226); } } function ResizeHandler() { g_protocol = window.innerWidth; __unmatched_60 = window.innerHeight; g_canvas_.width = g_canvas.width = g_protocol; g_canvas_.height = g_canvas.height = __unmatched_60; var $dialog = $('#helloContainer'); $dialog.css('transform', 'none'); var dialogHeight = $dialog.height(); var height = window.innerHeight; if (dialogHeight > height / 1.1) { $dialog.css('transform', 'translate(-50%, -50%) scale(' + height / dialogHeight / 1.1 + ')'); } else { $dialog.css('transform', 'translate(-50%, -50%)'); } GetScore(); } function ScaleModifier() { var scale; scale = 1 * Math.max(__unmatched_60 / 1080, g_protocol / 1920); return scale *= g_zoom; } function __unmatched_32() { if (0 != g_playerCells.length) { for (var scale = 0, i = 0; i < g_playerCells.length; i++) { scale += g_playerCells[i].size; } scale = Math.pow(Math.min(64 / scale, 1), 0.4) * ScaleModifier(); g_scale = (9 * g_scale + scale) / 10; } } function GetScore() { var x; var time = Date.now(); ++__unmatched_75; g_time = time; if (0 < g_playerCells.length) { __unmatched_32(); for (var y = x = 0, i = 0; i < g_playerCells.length; i++) { g_playerCells[i].P(); x += g_playerCells[i].x / g_playerCells.length; y += g_playerCells[i].y / g_playerCells.length; } g_viewX_ = x; g_viewY_ = y; g_scale_ = g_scale; g_viewX = (g_viewX + x) / 2; g_viewY = (g_viewY + y) / 2; } else { g_viewX = (29 * g_viewX + g_viewX_) / 30; g_viewY = (29 * g_viewY + g_viewY_) / 30; g_scale = (9 * g_scale + g_scale_ * ScaleModifier()) / 10; } UpdateTree(); UpdatePos(); if (!g_showTrails) { g_context.clearRect(0, 0, g_protocol, __unmatched_60); } if (g_showTrails) { g_context.fillStyle = g_showMass ? '#111111' : '#F2FBFF'; g_context.globalAlpha = 0.05; g_context.fillRect(0, 0, g_protocol, __unmatched_60); g_context.globalAlpha = 1; } else { DrawGrid(); } g_cells.sort(function(A, B) { return A.size == B.size ? A.id - B.id : A.size - B.size; }); g_context.save(); g_context.translate(g_protocol / 2, __unmatched_60 / 2); g_context.scale(g_scale, g_scale); g_context.translate(-g_viewX, -g_viewY); drawBorders(); drawLogo(); myMass = Math.min.apply(null, g_playerCells.map(function(r) { return r.N(); })) for (i = 0; i < g_destroyedCells.length; i++) { g_destroyedCells[i].w(g_context); } for (i = 0; i < g_cells.length; i++) { g_cells[i].w(g_context); } if (g_ready) { g_linesX = (3 * g_linesX + g_linesY_) / 4; g_linesY = (3 * g_linesY + g_linesX_) / 4; g_context.save(); g_context.strokeStyle = '#FFAAAA'; g_context.lineWidth = 10; g_context.lineCap = 'round'; g_context.lineJoin = 'round'; g_context.globalAlpha = 0.5; g_context.beginPath(); for (i = 0; i < g_playerCells.length; i++) { g_context.moveTo(g_playerCells[i].x, g_playerCells[i].y); g_context.lineTo(g_linesX, g_linesY); } g_context.stroke(); g_context.restore(); } g_context.restore(); if (g_leaderboardCanvas && g_leaderboardCanvas.width) { g_context.drawImage(g_leaderboardCanvas, g_protocol - g_leaderboardCanvas.width - 10, 10); } g_maxScore = Math.max(g_maxScore, __unmatched_36()); if (0 != g_maxScore) { if (null == g_cachedScore) { g_cachedScore = new CachedCanvas(24, '#FFFFFF'); } g_cachedScore.C(__unmatched_14('score') + ': ' + ~~(g_maxScore / 100)); y = g_cachedScore.L(); x = y.width; g_context.globalAlpha = 0.2; g_context.fillStyle = '#000000'; g_context.fillRect(10, __unmatched_60 - 10 - 24 - 10, x + 10, 34); g_context.globalAlpha = 1; g_context.drawImage(y, 15, __unmatched_60 - 10 - 24 - 5); } DrawSplitImage(); time = Date.now() - time; if (time > 1000 / 60) { g_pointNumScale -= 0.01; } else if (time < 1000 / 65) { g_pointNumScale += 0.01; } if (0.4 > g_pointNumScale) { g_pointNumScale = 0.4; } if (1 < g_pointNumScale) { g_pointNumScale = 1; } time = g_time - __unmatched_77; if (!IsConnected() || g_playerCellDestroyed || __unmatched_141) { qkeyDown += time / 2000; if (1 < qkeyDown) { qkeyDown = 1; } } else { qkeyDown -= time / 300; if (0 > qkeyDown) { qkeyDown = 0; } } if (0 < qkeyDown) { g_context.fillStyle = '#000000'; g_context.globalAlpha = 0.5 * qkeyDown; g_context.fillRect(0, 0, g_protocol, __unmatched_60); g_context.globalAlpha = 1; } __unmatched_77 = g_time; } function DrawGrid() { g_context.fillStyle = g_showMass ? '#111111' : '#F2FBFF'; g_context.fillRect(0, 0, g_protocol, __unmatched_60); g_context.save(); g_context.strokeStyle = g_showMass ? '#AAAAAA' : '#000000'; g_context.globalAlpha = 0.2 * g_scale; for (var width = g_protocol / g_scale, height = __unmatched_60 / g_scale, g_width = (-g_viewX + width / 2) % 50; g_width < width; g_width += 50) { g_context.beginPath(); g_context.moveTo(g_width * g_scale - 0.5, 0); g_context.lineTo(g_width * g_scale - 0.5, height * g_scale); g_context.stroke(); } for (g_width = (-g_viewY + height / 2) % 50; g_width < height; g_width += 50) { g_context.beginPath(); g_context.moveTo(0, g_width * g_scale - 0.5); g_context.lineTo(width * g_scale, g_width * g_scale - 0.5); g_context.stroke(); } g_context.restore(); } function DrawSplitImage() { if (g_touchCapable && g_splitImage.width) { var size = g_protocol / 5; g_context.drawImage(g_splitImage, 5, 5, size, size); } } function __unmatched_36() { for (var score = 0, i = 0; i < g_playerCells.length; i++) { score += g_playerCells[i].q * g_playerCells[i].q; } return score; } function UpdateLeaderboard() { g_leaderboardCanvas = null; if (null != g_scorePartitions || 0 != g_scoreEntries.length) { if (null != g_scorePartitions || g_showNames) { g_leaderboardCanvas = document.createElement('canvas'); var context = g_leaderboardCanvas.getContext('2d'); var height = 60; var height = null == g_scorePartitions ? height + 24 * g_scoreEntries.length : height + 180; var scale = Math.min(200, 0.3 * g_protocol) / 200; g_leaderboardCanvas.width = 200 * scale; g_leaderboardCanvas.height = height * scale; context.scale(scale, scale); context.globalAlpha = 0.4; context.fillStyle = '#000000'; context.fillRect(0, 0, 200, height); context.globalAlpha = 1; context.fillStyle = '#FFFFFF'; scale = null; scale = __unmatched_14('leaderboard'); context.font = '30px Ubuntu'; context.fillText(scale, 100 - context.measureText(scale).width / 2, 40); if (null == g_scorePartitions) { for (context.font = '20px Ubuntu', height = 0; height < g_scoreEntries.length; ++height) { scale = g_scoreEntries[height].name || __unmatched_14('unnamed_cell'); if (!g_showNames) { scale = __unmatched_14('unnamed_cell'); } if (-1 != g_playerCellIds.indexOf(g_scoreEntries[height].id)) { if (g_playerCells[0].name) { scale = g_playerCells[0].name; } context.fillStyle = '#FFAAAA'; } else { context.fillStyle = '#FFFFFF'; } scale = height + 1 + '. ' + scale; context.fillText(scale, 100 - context.measureText(scale).width / 2, 70 + 24 * height); } } else { for (height = scale = 0; height < g_scorePartitions.length; ++height) { var end = scale + g_scorePartitions[height] * Math.PI * 2; context.fillStyle = g_teamColors[height + 1]; context.beginPath(); context.moveTo(100, 140); context.arc(100, 140, 80, scale, end, false); context.fill(); scale = end; } } } } } function __unmatched_38(__unmatched_250, __unmatched_251, __unmatched_252, __unmatched_253, __unmatched_254) { this.V = __unmatched_250; this.x = __unmatched_251; this.y = __unmatched_252; this.i = __unmatched_253; this.b = __unmatched_254; } function Cell(id, x, y, size, color, name) { this.id = id; this.s = this.x = x; this.t = this.y = y; this.r = this.size = size; this.color = color; this.a = []; this.W(); this.B(name); } function __unmatched_40(__unmatched_261) { for (__unmatched_261 = __unmatched_261.toString(16); 6 > __unmatched_261.length;) { __unmatched_261 = '0' + __unmatched_261; } return '#' + __unmatched_261; } function drawBorders() { g_context.save() g_context.beginPath(); g_context.lineWidth = 1; g_context.strokeStyle = "#F87B32"; g_context.moveTo(getMapStartX(), getMapStartY()); g_context.lineTo(getMapStartX(), getMapEndY()); g_context.stroke(); g_context.moveTo(getMapStartX(), getMapStartY()); g_context.lineTo(getMapEndX(), getMapStartY()); g_context.stroke(); g_context.moveTo(getMapEndX(), getMapStartY()); g_context.lineTo(getMapEndX(), getMapEndY()); g_context.stroke(); g_context.moveTo(getMapStartX(), getMapEndY()); g_context.lineTo(getMapEndX(), getMapEndY()); g_context.stroke(); g_context.restore(); } function drawLogo(){ var logoimage = new Image(); logoimage.src = "img/split.png"; var width = this.j / 2; var dim = width / 2; g_context.save(); g_context.beginPath(); g_context.strokeStyle = "#F87B32"; g_context.moveTo(getMapStartX()/2, getMapStartX()/2); g_context.lineTo(getMapStartX()/2, getMapStartX()/2); g_context.stroke(); g_context.restore(); } function CachedCanvas(size, color, stroke, strokeColor) { if (size) { this.u = size; } if (color) { this.S = color; } this.U = !!stroke; if (strokeColor) { this.v = strokeColor; } } function __unmatched_42(__unmatched_266) { for (var size_ = __unmatched_266.length, __unmatched_268, __unmatched_269; 0 < size_;) { __unmatched_269 = Math.floor(Math.random() * size_); size_--; __unmatched_268 = __unmatched_266[size_]; __unmatched_266[size_] = __unmatched_266[__unmatched_269]; __unmatched_266[__unmatched_269] = __unmatched_268; } } function __unmatched_43(g_socket, __unmatched_271) { var noClip = '1' == $('#helloContainer').attr('data-has-account-data'); $('#helloContainer').attr('data-has-account-data', '1'); if (null == __unmatched_271 && window.localStorage.loginCache) { var rand = JSON.parse(window.localStorage.loginCache); rand.f = g_socket.f; rand.d = g_socket.d; rand.e = g_socket.e; window.localStorage.loginCache = JSON.stringify(rand); } if (noClip) { var __unmatched_274 = +$('.agario-exp-bar .progress-bar-text').first().text().split('/')[0]; var noClip = +$('.agario-exp-bar .progress-bar-text').first().text().split('/')[1].split(' ')[0]; var rand = $('.agario-profile-panel .progress-bar-star').first().text(); if (rand != g_socket.e) { __unmatched_43({ f: noClip, d: noClip, e: rand }, function() { $('.agario-profile-panel .progress-bar-star').text(g_socket.e); $('.agario-exp-bar .progress-bar').css('width', '100%'); $('.progress-bar-star').addClass('animated tada').one('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() { $('.progress-bar-star').removeClass('animated tada'); }); setTimeout(function() { $('.agario-exp-bar .progress-bar-text').text(g_socket.d + '/' + g_socket.d + ' XP'); __unmatched_43({ f: 0, d: g_socket.d, e: g_socket.e }, function() { __unmatched_43(g_socket, __unmatched_271); }); }, 1000); }); } else { var __unmatched_275 = Date.now(); var name = function() { var deltaX; deltaX = (Date.now() - __unmatched_275) / 1000; deltaX = 0 > deltaX ? 0 : 1 < deltaX ? 1 : deltaX; deltaX = deltaX * deltaX * (3 - 2 * deltaX); $('.agario-exp-bar .progress-bar-text').text(~~(__unmatched_274 + (g_socket.f - __unmatched_274) * deltaX) + '/' + g_socket.d + ' XP'); $('.agario-exp-bar .progress-bar').css('width', (88 * (__unmatched_274 + (g_socket.f - __unmatched_274) * deltaX) / g_socket.d).toFixed(2) + '%'); if (1 > deltaX) { window.requestAnimationFrame(name); } else if (__unmatched_271) { __unmatched_271(); } }; window.requestAnimationFrame(name); } } else { $('.agario-profile-panel .progress-bar-star').text(g_socket.e); $('.agario-exp-bar .progress-bar-text').text(g_socket.f + '/' + g_socket.d + ' XP'); $('.agario-exp-bar .progress-bar').css('width', (88 * g_socket.f / g_socket.d).toFixed(2) + '%'); if (__unmatched_271) { __unmatched_271(); } } } function __unmatched_44(__unmatched_278) { if ('string' == typeof __unmatched_278) { __unmatched_278 = JSON.parse(__unmatched_278); } if (Date.now() + 1800000 > __unmatched_278.ka) { $('#helloContainer').attr('data-logged-in', '0'); } else { window.localStorage.loginCache = JSON.stringify(__unmatched_278); __unmatched_108 = __unmatched_278.ha; $('.agario-profile-name').text(__unmatched_278.name); RefreshAds(); __unmatched_43({ f: __unmatched_278.f, d: __unmatched_278.d, e: __unmatched_278.e }); $('#helloContainer').attr('data-logged-in', '1'); } } function __unmatched_45(data) { data = data.split('\n'); __unmatched_44({ name: data[0], sa: data[1], ha: data[2], ka: 1000 * +data[3], e: +data[4], f: +data[5], d: +data[6] }); } function UpdateScale(__unmatched_280) { if ('connected' == __unmatched_280.status) { var x = __unmatched_280.authResponse.accessToken; window.FB.api('/me/picture?width=180&height=180', function(__unmatched_282) { window.localStorage.fbPictureCache = __unmatched_282.data.url; $('.agario-profile-picture').attr('src', __unmatched_282.data.url); }); $('#helloContainer').attr('data-logged-in', '1'); if (null != __unmatched_108) { $.ajax('https://m.agar.io/checkToken', { error: function() { __unmatched_108 = null; UpdateScale(__unmatched_280); }, success: function(__unmatched_283) { __unmatched_283 = __unmatched_283.split('\n'); __unmatched_43({ e: +__unmatched_283[0], f: +__unmatched_283[1], d: +__unmatched_283[2] }); }, dataType: 'text', method: 'POST', cache: false, crossDomain: true, data: __unmatched_108 }); } else { $.ajax('https://m.agar.io/facebookLogin', { error: function() { __unmatched_108 = null; $('#helloContainer').attr('data-logged-in', '0'); }, success: __unmatched_45, dataType: 'text', method: 'POST', cache: false, crossDomain: true, data: x }); } } } function RenderLoop(x) { Render(':party'); $('#helloContainer').attr('data-party-state', '4'); x = decodeURIComponent(x).replace(/.*#/gim, ''); __unmatched_48('#' + window.encodeURIComponent(x)); $.ajax('https://m.agar.io/getToken', { error: function() { $('#helloContainer').attr('data-party-state', '6'); }, success: function(quick) { quick = quick.split('\n'); $('.partyToken').val('agar.io/#' + window.encodeURIComponent(x)); $('#helloContainer').attr('data-party-state', '5'); Render(':party'); Connect('ws://' + quick[0], x); }, dataType: 'text', method: 'POST', cache: false, crossDomain: true, data: x }); } function __unmatched_48(__unmatched_286) { if (window.history && window.history.replaceState) { window.history.replaceState({}, window.document.title, __unmatched_286); } } function __unmatched_49(__unmatched_287, __unmatched_288) { var playerOwned = -1 != g_playerCellIds.indexOf(__unmatched_287.id); var __unmatched_290 = -1 != g_playerCellIds.indexOf(__unmatched_288.id); var __unmatched_291 = 30 > __unmatched_288.size; if (playerOwned && __unmatched_291) { ++__unmatched_139; } if (!(__unmatched_291 || !playerOwned || __unmatched_290)) { ++__unmatched_146; } } function __unmatched_50(__unmatched_292) { __unmatched_292 = ~~__unmatched_292; var color = (__unmatched_292 % 60).toString(); __unmatched_292 = (~~(__unmatched_292 / 60)).toString(); if (2 > color.length) { color = '0' + color; } return __unmatched_292 + ':' + color; } function __unmatched_51() { if (null == g_scoreEntries) { return 0; } for (var i = 0; i < g_scoreEntries.length; ++i) { if (-1 != g_playerCellIds.indexOf(g_scoreEntries[i].id)) { return i + 1; } } return 0; } function ShowOverlay() { $('.stats-food-eaten').text(__unmatched_139); $('.stats-time-alive').text(__unmatched_50((__unmatched_144 - __unmatched_143) / 1000)); $('.stats-leaderboard-time').text(__unmatched_50(__unmatched_145)); $('.stats-highest-mass').text(~~(g_maxScore / 100)); $('.stats-cells-eaten').text(__unmatched_146); $('.stats-top-position').text(0 == g_mode ? ':(' : g_mode); var g_height = document.getElementById('statsGraph'); if (g_height) { var pointsAcc = g_height.getContext('2d'); var scale = g_height.width; var g_height = g_height.height; pointsAcc.clearRect(0, 0, scale, g_height); if (2 < cached.length) { for (var __unmatched_298 = 200, i = 0; i < cached.length; i++) { __unmatched_298 = Math.max(cached[i], __unmatched_298); } pointsAcc.lineWidth = 3; pointsAcc.lineCap = 'round'; pointsAcc.lineJoin = 'round'; pointsAcc.strokeStyle = __unmatched_140; pointsAcc.fillStyle = __unmatched_140; pointsAcc.beginPath(); pointsAcc.moveTo(0, g_height - cached[0] / __unmatched_298 * (g_height - 10) + 10); for (i = 1; i < cached.length; i += Math.max(~~(cached.length / scale), 1)) { for (var __unmatched_300 = i / (cached.length - 1) * scale, __unmatched_301 = [], __unmatched_302 = -20; 20 >= __unmatched_302; ++__unmatched_302) { if (!(0 > i + __unmatched_302 || i + __unmatched_302 >= cached.length)) { __unmatched_301.push(cached[i + __unmatched_302]); } } __unmatched_301 = __unmatched_301.reduce(function(__unmatched_303, __unmatched_304) { return __unmatched_303 + __unmatched_304; }) / __unmatched_301.length / __unmatched_298; pointsAcc.lineTo(__unmatched_300, g_height - __unmatched_301 * (g_height - 10) + 10); } pointsAcc.stroke(); pointsAcc.globalAlpha = 0.5; pointsAcc.lineTo(scale, g_height); pointsAcc.lineTo(0, g_height); pointsAcc.fill(); pointsAcc.globalAlpha = 1; } } } if (!window.agarioNoInit) { var __unmatched_53 = window.location.protocol; var g_secure = 'https:' == __unmatched_53; if (g_secure && -1 == window.location.search.indexOf('fb')) { window.location.href = 'http://agar.io/'; } else { var items = window.navigator.userAgent; if (-1 != items.indexOf('Android')) { if (window.ga) { window.ga('send', 'event', 'MobileRedirect', 'PlayStore'); } setTimeout(function() { window.location.href = 'https://play.google.com/store/apps/details?id=com.miniclip.agar.io'; }, 1000); } else if (-1 != items.indexOf('iPhone') || -1 != items.indexOf('iPad') || -1 != items.indexOf('iPod')) { if (window.ga) { window.ga('send', 'event', 'MobileRedirect', 'AppStore'); } setTimeout(function() { window.location.href = 'https://itunes.apple.com/app/agar.io/id995999703?mt=8&at=1l3vajp'; }, 1000); } else { var g_canvas_; var g_context; var g_canvas; var g_protocol; var __unmatched_60; var g_pointTree = null; var points = null; var g_viewX = 0; var g_viewY = 0; var g_playerCellIds = []; var g_playerCells = []; var g_cellsById = {}; var g_cells = []; var g_destroyedCells = []; var g_scoreEntries = []; var g_mouseX = 0; var g_mouseY = 0; var g_moveX = -1; var g_moveY = -1; var __unmatched_75 = 0; var g_time = 0; var __unmatched_77 = 0; var g_nick = null; var g_minX = 0; var g_minY = 0; var g_maxX = 10000; var g_maxY = 10000; var g_scale = 1; var g_region = null; var g_showSkins = true; var g_showNames = true; var g_noColors = false; var __unmatched_88 = false; var g_maxScore = 0; var g_showMass = false; var g_darkTheme = true; var g_viewX_ = g_viewX = ~~((g_minX + g_maxX) / 2); var g_viewY_ = g_viewY = ~~((g_minY + g_maxY) / 2); var g_scale_ = 1; var __unmatched_95 = ''; var g_scorePartitions = null; var g_drawLines = false; var g_ready = false; var g_linesY_ = 0; var g_linesX_ = 0; var g_linesX = 0; var g_linesY = 0; var g_ABGroup = 0; var g_teamColors = [ '#333333', '#FF3333', '#33FF33', '#3333FF' ]; var g_showTrails = false; var g_connectSuccessful = false; var __unmatched_107 = 0; var __unmatched_108 = null; var g_zoom = 1; var qkeyDown = 1; var g_playerCellDestroyed = false; var __unmatched_112 = 0; var __unmatched_113 = {}; (function() { var point = window.location.search; if ('?' == point.charAt(0)) { point = point.slice(1); } for (var point = point.split('&'), __unmatched_306 = 0; __unmatched_306 < point.length; __unmatched_306++) { var parts = point[__unmatched_306].split('='); __unmatched_113[parts[0]] = parts[1]; } }()); var g_touchCapable = 'ontouchstart' in window && /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(window.navigator.userAgent); var g_splitImage = new Image(); g_splitImage.src = 'img/split.png'; var canvasTest = document.createElement('canvas'); if ('undefined' == typeof console || 'undefined' == typeof DataView || 'undefined' == typeof WebSocket || null == canvasTest || null == canvasTest.getContext || null == window.localStorage) { alert('You browser does not support this game, we recommend you to use Firefox to play this'); } else { var g_regionLabels = null; window.setNick = function(val) { HideOverlay(); g_nick = val; SendNick(); g_maxScore = 0; }; window.setRegion = SetRegion; window.setSkins = function(val) { g_showSkins = val; }; window.setUnlimitedZoom = function(val) { isUnlimitedZoom = val; }; window.setNames = function(val) { g_showNames = val; }; window.setDarkTheme = function(val) { g_showMass = val; }; window.setColors = function(val) { g_noColors = val; }; window.setShowMass = function(val) { g_darkTheme = val; }; window.spectate = function(val) { isSpectating = val g_nick = null; SendCmd(1); HideOverlay(); }; window.setLargeBlobBorders = function(val) { isLargeBlobBorders = val; } window.setLargeNames = function(val) { isLargeNames = val; } window.setVirusTransparent = function(val){ isVirusTransparent = val; } window.nicksChange = function() { var name = $("#nicks").children("option").filter(":selected").text(); $("#nick").val(name); if (-1 != g_skinNamesA.indexOf(name)) { $("#preview").attr("src", "skins/" + name + ".png"); } }; window.getMapStartX = function() { return g_minX; } window.getMapStartY = function() { return g_minY; } window.getMapEndX = function() { return g_maxX; } window.getMapEndY = function() { return g_maxY; } window.setGameMode = function(val) { if (val != __unmatched_95) { if (':party' == __unmatched_95) { $('#helloContainer').attr('data-party-state', '0'); } Render(val); if (':party' != val) { Start(); } } }; window.setAcid = function(val) { g_showTrails = val; }; if (null != window.localStorage) { if (null == window.localStorage.AB9) { window.localStorage.AB9 = 0 + ~~(100 * Math.random()); } g_ABGroup = +window.localStorage.AB9; window.ABGroup = g_ABGroup; } $.get(__unmatched_53 + '//gc.agar.io', function(code) { var __unmatched_317 = code.split(' '); code = __unmatched_317[0]; __unmatched_317 = __unmatched_317[1] || ''; if (-1 == ['UA'].indexOf(code)) { g_skinNamesA.push('ussr'); } if (g_regionsByCC.hasOwnProperty(code)) { if ('string' == typeof g_regionsByCC[code]) { if (!g_region) { SetRegion(g_regionsByCC[code]); } else if (g_regionsByCC[code].hasOwnProperty(__unmatched_317)) { if (!g_region) { SetRegion(g_regionsByCC[code][__unmatched_317]); } } } } }, 'text'); if (window.ga) { window.ga('send', 'event', 'User-Agent', window.navigator.userAgent, { nonInteraction: 1 }); } var g_canRefreshAds = true; var g_refreshAdsCooldown = 0; var g_regionsByCC = { AF: 'JP-Tokyo', AX: 'EU-London', AL: 'EU-London', DZ: 'EU-London', AS: 'SG-Singapore', AD: 'EU-London', AO: 'EU-London', AI: 'US-Atlanta', AG: 'US-Atlanta', AR: 'BR-Brazil', AM: 'JP-Tokyo', AW: 'US-Atlanta', AU: 'SG-Singapore', AT: 'EU-London', AZ: 'JP-Tokyo', BS: 'US-Atlanta', BH: 'JP-Tokyo', BD: 'JP-Tokyo', BB: 'US-Atlanta', BY: 'EU-London', BE: 'EU-London', BZ: 'US-Atlanta', BJ: 'EU-London', BM: 'US-Atlanta', BT: 'JP-Tokyo', BO: 'BR-Brazil', BQ: 'US-Atlanta', BA: 'EU-London', BW: 'EU-London', BR: 'BR-Brazil', IO: 'JP-Tokyo', VG: 'US-Atlanta', BN: 'JP-Tokyo', BG: 'EU-London', BF: 'EU-London', BI: 'EU-London', KH: 'JP-Tokyo', CM: 'EU-London', CA: 'US-Atlanta', CV: 'EU-London', KY: 'US-Atlanta', CF: 'EU-London', TD: 'EU-London', CL: 'BR-Brazil', CN: 'CN-China', CX: 'JP-Tokyo', CC: 'JP-Tokyo', CO: 'BR-Brazil', KM: 'EU-London', CD: 'EU-London', CG: 'EU-London', CK: 'SG-Singapore', CR: 'US-Atlanta', CI: 'EU-London', HR: 'EU-London', CU: 'US-Atlanta', CW: 'US-Atlanta', CY: 'JP-Tokyo', CZ: 'EU-London', DK: 'EU-London', DJ: 'EU-London', DM: 'US-Atlanta', DO: 'US-Atlanta', EC: 'BR-Brazil', EG: 'EU-London', SV: 'US-Atlanta', GQ: 'EU-London', ER: 'EU-London', EE: 'EU-London', ET: 'EU-London', FO: 'EU-London', FK: 'BR-Brazil', FJ: 'SG-Singapore', FI: 'EU-London', FR: 'EU-London', GF: 'BR-Brazil', PF: 'SG-Singapore', GA: 'EU-London', GM: 'EU-London', GE: 'JP-Tokyo', DE: 'EU-London', GH: 'EU-London', GI: 'EU-London', GR: 'EU-London', GL: 'US-Atlanta', GD: 'US-Atlanta', GP: 'US-Atlanta', GU: 'SG-Singapore', GT: 'US-Atlanta', GG: 'EU-London', GN: 'EU-London', GW: 'EU-London', GY: 'BR-Brazil', HT: 'US-Atlanta', VA: 'EU-London', HN: 'US-Atlanta', HK: 'JP-Tokyo', HU: 'EU-London', IS: 'EU-London', IN: 'JP-Tokyo', ID: 'JP-Tokyo', IR: 'JP-Tokyo', IQ: 'JP-Tokyo', IE: 'EU-London', IM: 'EU-London', IL: 'JP-Tokyo', IT: 'EU-London', JM: 'US-Atlanta', JP: 'JP-Tokyo', JE: 'EU-London', JO: 'JP-Tokyo', KZ: 'JP-Tokyo', KE: 'EU-London', KI: 'SG-Singapore', KP: 'JP-Tokyo', KR: 'JP-Tokyo', KW: 'JP-Tokyo', KG: 'JP-Tokyo', LA: 'JP-Tokyo', LV: 'EU-London', LB: 'JP-Tokyo', LS: 'EU-London', LR: 'EU-London', LY: 'EU-London', LI: 'EU-London', LT: 'EU-London', LU: 'EU-London', MO: 'JP-Tokyo', MK: 'EU-London', MG: 'EU-London', MW: 'EU-London', MY: 'JP-Tokyo', MV: 'JP-Tokyo', ML: 'EU-London', MT: 'EU-London', MH: 'SG-Singapore', MQ: 'US-Atlanta', MR: 'EU-London', MU: 'EU-London', YT: 'EU-London', MX: 'US-Atlanta', FM: 'SG-Singapore', MD: 'EU-London', MC: 'EU-London', MN: 'JP-Tokyo', ME: 'EU-London', MS: 'US-Atlanta', MA: 'EU-London', MZ: 'EU-London', MM: 'JP-Tokyo', NA: 'EU-London', NR: 'SG-Singapore', NP: 'JP-Tokyo', NL: 'EU-London', NC: 'SG-Singapore', NZ: 'SG-Singapore', NI: 'US-Atlanta', NE: 'EU-London', NG: 'EU-London', NU: 'SG-Singapore', NF: 'SG-Singapore', MP: 'SG-Singapore', NO: 'EU-London', OM: 'JP-Tokyo', PK: 'JP-Tokyo', PW: 'SG-Singapore', PS: 'JP-Tokyo', PA: 'US-Atlanta', PG: 'SG-Singapore', PY: 'BR-Brazil', PE: 'BR-Brazil', PH: 'JP-Tokyo', PN: 'SG-Singapore', PL: 'EU-London', PT: 'EU-London', PR: 'US-Atlanta', QA: 'JP-Tokyo', RE: 'EU-London', RO: 'EU-London', RU: 'RU-Russia', RW: 'EU-London', BL: 'US-Atlanta', SH:
apolloconfig / Apollo Qa BotA smart qa bot that can answer questions based on existing documents