0% found this document useful (0 votes)
16 views190 pages

Userscript for Moomoo.io Integration

This document is a userscript designed for the website moomoo.io, which includes functionality for module preloading and various encoding and decoding methods. It features a series of functions to handle data manipulation, including timestamp encoding and decoding. The script is structured to support various data types and includes error handling for unsupported data sizes.

Uploaded by

twaneijkel
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
16 views190 pages

Userscript for Moomoo.io Integration

This document is a userscript designed for the website moomoo.io, which includes functionality for module preloading and various encoding and decoding methods. It features a series of functions to handle data manipulation, including timestamp encoding and decoding. The script is structured to support various data types and includes error handling for unsupported data sizes.

Uploaded by

twaneijkel
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

// ==UserScript==

// @name New Userscript


// @namespace [Link]
// @version 0.1
// @description try to take over the world!
// @author You
// @match *://[Link]/*
// @match *://[Link]/*
// @icon
data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==
// @grant none
// ==/UserScript==
(function() {
const t = [Link]("link").relList;
if (t && [Link] && [Link]("modulepreload"))
return;
for (const n of [Link]('link[rel="modulepreload"]'))
s(n);
new MutationObserver(n=>{
for (const r of n)
if ([Link] === "childList")
for (const o of [Link])
[Link] === "LINK" && [Link] === "modulepreload" && s(o)
}
).observe(document, {
childList: !0,
subtree: !0
});
function i(n) {
const r = {};
return [Link] && ([Link] = [Link]),
[Link] && ([Link] = [Link]),
[Link] === "use-credentials" ? [Link] = "include" :
[Link] === "anonymous" ? [Link] = "omit" : [Link] = "same-
origin",
r
}
function s(n) {
if ([Link])
return;
[Link] = !0;
const r = i(n);
fetch([Link], r)
}
}
)();
var Ye = 4294967295;
function Ko(e, t, i) {
var s = i / 4294967296
, n = i;
e.setUint32(t, s),
e.setUint32(t + 4, n)
}
function Or(e, t, i) {
var s = [Link](i / 4294967296)
, n = i;
e.setUint32(t, s),
e.setUint32(t + 4, n)
}
function Rr(e, t) {
var i = e.getInt32(t)
, s = e.getUint32(t + 4);
return i * 4294967296 + s
}
function Jo(e, t) {
var i = e.getUint32(t)
, s = e.getUint32(t + 4);
return i * 4294967296 + s
}
var Ki, Ji, Qi, Ai = (typeof process > "u" || ((Ki = process == null ? void 0 :
[Link]) === null || Ki === void 0 ? void 0 : Ki.TEXT_ENCODING) !== "never") &&
typeof TextEncoder < "u" && typeof TextDecoder < "u";
function Es(e) {
for (var t = [Link], i = 0, s = 0; s < t; ) {
var n = [Link](s++);
if (n & 4294967168)
if (!(n & 4294965248))
i += 2;
else {
if (n >= 55296 && n <= 56319 && s < t) {
var r = [Link](s);
(r & 64512) === 56320 && (++s,
n = ((n & 1023) << 10) + (r & 1023) +
65536)
}
n & 4294901760 ? i += 4 : i += 3
}
else {
i++;
continue
}
}
return i
}
function Qo(e, t, i) {
for (var s = [Link], n = i, r = 0; r < s; ) {
var o = [Link](r++);
if (o & 4294967168)
if (!(o & 4294965248))
t[n++] = o >> 6 & 31 | 192;
else {
if (o >= 55296 && o <= 56319 && r < s) {
var l = [Link](r);
(l & 64512) === 56320 && (++r,
o = ((o & 1023) << 10) + (l & 1023) +
65536)
}
o & 4294901760 ? (t[n++] = o >> 18 & 7 | 240,
t[n++] = o >> 12 & 63 | 128,
t[n++] = o >> 6 & 63 | 128) : (t[n++] = o >> 12 &
15 | 224,
t[n++] = o >> 6 &
63 | 128)
}
else {
t[n++] = o;
continue
}
t[n++] = o & 63 | 128
}
}
var Lt = Ai ? new TextEncoder : void 0
, Zo = Ai ? typeof process < "u" && ((Ji = process == null ? void 0 : [Link])
=== null || Ji === void 0 ? void 0 : Ji.TEXT_ENCODING) !== "force" ? 200 : 0 : Ye;
function jo(e, t, i) {
[Link]([Link](e), i)
}
function ea(e, t, i) {
[Link](e, [Link](i))
}
var ta = Lt != null && [Link] ? ea : jo
, ia = 4096;
function _r(e, t, i) {
for (var s = t, n = s + i, r = [], o = ""; s < n; ) {
var l = e[s++];
if (!(l & 128))
[Link](l);
else if ((l & 224) === 192) {
var c = e[s++] & 63;
[Link]((l & 31) << 6 | c)
} else if ((l & 240) === 224) {
var c = e[s++] & 63
, a = e[s++] & 63;
[Link]((l & 31) << 12 | c << 6 | a)
} else if ((l & 248) === 240) {
var c = e[s++] & 63
, a = e[s++] & 63
, u = e[s++] & 63
, p = (l & 7) << 18 | c << 12 | a << 6 | u;
p > 65535 && (p -= 65536,
[Link](p >>> 10 & 1023 | 55296),
p = 56320 | p & 1023),
[Link](p)
} else
[Link](l);
[Link] >= ia && (o += [Link](String, r),
[Link] = 0)
}
return [Link] > 0 && (o += [Link](String, r)),
o
}
var na = Ai ? new TextDecoder : null
, sa = Ai ? typeof process < "u" && ((Qi = process == null ? void 0 : [Link])
=== null || Qi === void 0 ? void 0 : Qi.TEXT_DECODER) !== "force" ? 200 : 0 : Ye;
function ra(e, t, i) {
var s = [Link](t, t + i);
return [Link](s)
}
var ii = function() {
function e(t, i) {
[Link] = t,
[Link] = i
}
return e
}()
, oa = globalThis && globalThis.__extends || function() {
var e = function(t, i) {
return e = [Link] || {
__proto__: []
}instanceof Array && function(s, n) {
s.__proto__ = n
}
|| function(s, n) {
for (var r in n)
[Link](n, r) && (s[r] = n[r])
}
,
e(t, i)
};
return function(t, i) {
if (typeof i != "function" && i !== null)
throw new TypeError("Class extends value " + String(i) + " is not a
constructor or null");
e(t, i);
function s() {
[Link] = t
}
[Link] = i === null ? [Link](i) : ([Link] = [Link],
new s)
}
}()
, Pe = function(e) {
oa(t, e);
function t(i) {
var s = [Link](this, i) || this
, n = [Link]([Link]);
return [Link](s, n),
[Link](s, "name", {
configurable: !0,
enumerable: !1,
value: [Link]
}),
s
}
return t
}(Error)
, aa = -1
, la = 4294967296 - 1
, ca = 17179869184 - 1;
function ha(e) {
var t = [Link]
, i = [Link];
if (t >= 0 && i >= 0 && t <= ca)
if (i === 0 && t <= la) {
var s = new Uint8Array(4)
, n = new DataView([Link]);
return n.setUint32(0, t),
s
} else {
var r = t / 4294967296
, o = t & 4294967295
, s = new Uint8Array(8)
, n = new DataView([Link]);
return n.setUint32(0, i << 2 | r & 3),
n.setUint32(4, o),
s
}
else {
var s = new Uint8Array(12)
, n = new DataView([Link]);
return n.setUint32(0, i),
Or(n, 4, t),
s
}
}
function fa(e) {
var t = [Link]()
, i = [Link](t / 1e3)
, s = (t - i * 1e3) * 1e6
, n = [Link](s / 1e9);
return {
sec: i + n,
nsec: s - n * 1e9
}
}
function ua(e) {
if (e instanceof Date) {
var t = fa(e);
return ha(t)
} else
return null
}
function da(e) {
var t = new DataView([Link],[Link],[Link]);
switch ([Link]) {
case 4:
{
var i = t.getUint32(0)
, s = 0;
return {
sec: i,
nsec: s
}
}
case 8:
{
var n = t.getUint32(0)
, r = t.getUint32(4)
, i = (n & 3) * 4294967296 + r
, s = n >>> 2;
return {
sec: i,
nsec: s
}
}
case 12:
{
var i = Rr(t, 4)
, s = t.getUint32(0);
return {
sec: i,
nsec: s
}
}
default:
throw new Pe("Unrecognized data size for timestamp (expected 4, 8, or
12): ".concat([Link]))
}
}
function pa(e) {
var t = da(e);
return new Date([Link] * 1e3 + [Link] / 1e6)
}
var ma = {
type: aa,
encode: ua,
decode: pa
}
, Br = function() {
function e() {
[Link] = [],
[Link] = [],
[Link] = [],
[Link] = [],
[Link](ma)
}
return [Link] = function(t) {
var i = [Link]
, s = [Link]
, n = [Link];
if (i >= 0)
[Link][i] = s,
[Link][i] = n;
else {
var r = 1 + i;
[Link][r] = s,
[Link][r] = n
}
}
,
[Link] = function(t, i) {
for (var s = 0; s < [Link]; s++) {
var n = [Link][s];
if (n != null) {
var r = n(t, i);
if (r != null) {
var o = -1 - s;
return new ii(o,r)
}
}
}
for (var s = 0; s < [Link]; s++) {
var n = [Link][s];
if (n != null) {
var r = n(t, i);
if (r != null) {
var o = s;
return new ii(o,r)
}
}
}
return t instanceof ii ? t : null
}
,
[Link] = function(t, i, s) {
var n = i < 0 ? [Link][-1 - i] : [Link][i];
return n ? n(t, i, s) : new ii(i,t)
}
,
[Link] = new e,
e
}();
function yi(e) {
return e instanceof Uint8Array ? e : [Link](e) ? new
Uint8Array([Link],[Link],[Link]) : e instanceof ArrayBuffer ? new
Uint8Array(e) : [Link](e)
}
function ga(e) {
if (e instanceof ArrayBuffer)
return new DataView(e);
var t = yi(e);
return new DataView([Link],[Link],[Link])
}
var ya = 100
, wa = 2048
, ka = function() {
function e(t, i, s, n, r, o, l, c) {
t === void 0 && (t = [Link]),
i === void 0 && (i = void 0),
s === void 0 && (s = ya),
n === void 0 && (n = wa),
r === void 0 && (r = !1),
o === void 0 && (o = !1),
l === void 0 && (l = !1),
c === void 0 && (c = !1),
[Link] = t,
[Link] = i,
[Link] = s,
[Link] = n,
[Link] = r,
this.forceFloat32 = o,
[Link] = l,
[Link] = c,
[Link] = 0,
[Link] = new DataView(new ArrayBuffer([Link])),
[Link] = new Uint8Array([Link])
}
return [Link] = function() {
[Link] = 0
}
,
[Link] = function(t) {
return [Link](),
[Link](t, 1),
[Link](0, [Link])
}
,
[Link] = function(t) {
return [Link](),
[Link](t, 1),
[Link](0, [Link])
}
,
[Link] = function(t, i) {
if (i > [Link])
throw new Error("Too deep objects in depth ".concat(i));
t == null ? [Link]() : typeof t == "boolean" ?
[Link](t) : typeof t == "number" ? [Link](t) : typeof t ==
"string" ? [Link](t) : [Link](t, i)
}
,
[Link] = function(t) {
var i = [Link] + t;
[Link] < i && [Link](i * 2)
}
,
[Link] = function(t) {
var i = new ArrayBuffer(t)
, s = new Uint8Array(i)
, n = new DataView(i);
[Link]([Link]),
[Link] = n,
[Link] = s
}
,
[Link] = function() {
this.writeU8(192)
}
,
[Link] = function(t) {
t === !1 ? this.writeU8(194) : this.writeU8(195)
}
,
[Link] = function(t) {
[Link](t) && ![Link] ? t >= 0 ? t < 128 ?
this.writeU8(t) : t < 256 ? (this.writeU8(204),

this.writeU8(t)) : t < 65536 ? (this.writeU8(205),

this.writeU16(t)) : t < 4294967296 ? (this.writeU8(206),


this.writeU32(t)) : (this.writeU8(207),
this.writeU64(t)) : t >= -32 ? this.writeU8(224 | t +
32) : t >= -128 ? (this.writeU8(208),

this.writeI8(t)) : t >= -32768 ? (this.writeU8(209),

this.writeI16(t)) : t >= -2147483648 ? (this.writeU8(210),


this.writeI32(t)) : (this.writeU8(211),
this.writeI64(t)) : this.forceFloat32 ?
(this.writeU8(202),

this.writeF32(t)) : (this.writeU8(203),

this.writeF64(t))
}
,
[Link] = function(t) {
if (t < 32)
this.writeU8(160 + t);
else if (t < 256)
this.writeU8(217),
this.writeU8(t);
else if (t < 65536)
this.writeU8(218),
this.writeU16(t);
else if (t < 4294967296)
this.writeU8(219),
this.writeU32(t);
else
throw new Error("Too long string: ".concat(t, " bytes in UTF-8"))
}
,
[Link] = function(t) {
var i = 5
, s = [Link];
if (s > Zo) {
var n = Es(t);
[Link](i + n),
[Link](n),
ta(t, [Link], [Link]),
[Link] += n
} else {
var n = Es(t);
[Link](i + n),
[Link](n),
Qo(t, [Link], [Link]),
[Link] += n
}
}
,
[Link] = function(t, i) {
var s = [Link](t, [Link]);
if (s != null)
[Link](s);
else if ([Link](t))
[Link](t, i);
else if ([Link](t))
[Link](t);
else if (typeof t == "object")
[Link](t, i);
else
throw new Error("Unrecognized object:
".concat([Link](t)))
}
,
[Link] = function(t) {
var i = [Link];
if (i < 256)
this.writeU8(196),
this.writeU8(i);
else if (i < 65536)
this.writeU8(197),
this.writeU16(i);
else if (i < 4294967296)
this.writeU8(198),
this.writeU32(i);
else
throw new Error("Too large binary: ".concat(i));
var s = yi(t);
this.writeU8a(s)
}
,
[Link] = function(t, i) {
var s = [Link];
if (s < 16)
this.writeU8(144 + s);
else if (s < 65536)
this.writeU8(220),
this.writeU16(s);
else if (s < 4294967296)
this.writeU8(221),
this.writeU32(s);
else
throw new Error("Too large array: ".concat(s));
for (var n = 0, r = t; n < [Link]; n++) {
var o = r[n];
[Link](o, i + 1)
}
}
,
[Link] = function(t, i) {
for (var s = 0, n = 0, r = i; n < [Link]; n++) {
var o = r[n];
t[o] !== void 0 && s++
}
return s
}
,
[Link] = function(t, i) {
var s = [Link](t);
[Link] && [Link]();
var n = [Link] ? [Link](t, s) : [Link];
if (n < 16)
this.writeU8(128 + n);
else if (n < 65536)
this.writeU8(222),
this.writeU16(n);
else if (n < 4294967296)
this.writeU8(223),
this.writeU32(n);
else
throw new Error("Too large map object: ".concat(n));
for (var r = 0, o = s; r < [Link]; r++) {
var l = o[r]
, c = t[l];
[Link] && c === void 0 || ([Link](l),
[Link](c, i + 1))
}
}
,
[Link] = function(t) {
var i = [Link];
if (i === 1)
this.writeU8(212);
else if (i === 2)
this.writeU8(213);
else if (i === 4)
this.writeU8(214);
else if (i === 8)
this.writeU8(215);
else if (i === 16)
this.writeU8(216);
else if (i < 256)
this.writeU8(199),
this.writeU8(i);
else if (i < 65536)
this.writeU8(200),
this.writeU16(i);
else if (i < 4294967296)
this.writeU8(201),
this.writeU32(i);
else
throw new Error("Too large extension object: ".concat(i));
this.writeI8([Link]),
this.writeU8a([Link])
}
,
[Link].writeU8 = function(t) {
[Link](1),
[Link].setUint8([Link], t),
[Link]++
}
,
[Link].writeU8a = function(t) {
var i = [Link];
[Link](i),
[Link](t, [Link]),
[Link] += i
}
,
[Link].writeI8 = function(t) {
[Link](1),
[Link].setInt8([Link], t),
[Link]++
}
,
[Link].writeU16 = function(t) {
[Link](2),
[Link].setUint16([Link], t),
[Link] += 2
}
,
[Link].writeI16 = function(t) {
[Link](2),
[Link].setInt16([Link], t),
[Link] += 2
}
,
[Link].writeU32 = function(t) {
[Link](4),
[Link].setUint32([Link], t),
[Link] += 4
}
,
[Link].writeI32 = function(t) {
[Link](4),
[Link].setInt32([Link], t),
[Link] += 4
}
,
[Link].writeF32 = function(t) {
[Link](4),
[Link].setFloat32([Link], t),
[Link] += 4
}
,
[Link].writeF64 = function(t) {
[Link](8),
[Link].setFloat64([Link], t),
[Link] += 8
}
,
[Link].writeU64 = function(t) {
[Link](8),
Ko([Link], [Link], t),
[Link] += 8
}
,
[Link].writeI64 = function(t) {
[Link](8),
Or([Link], [Link], t),
[Link] += 8
}
,
e
}();
function Zi(e) {
return "".concat(e < 0 ? "-" : "",
"0x").concat([Link](e).toString(16).padStart(2, "0"))
}
var va = 16
, xa = 16
, ba = function() {
function e(t, i) {
t === void 0 && (t = va),
i === void 0 && (i = xa),
[Link] = t,
[Link] = i,
[Link] = 0,
[Link] = 0,
[Link] = [];
for (var s = 0; s < [Link]; s++)
[Link]([])
}
return [Link] = function(t) {
return t > 0 && t <= [Link]
}
,
[Link] = function(t, i, s) {
var n = [Link][s - 1];
e: for (var r = 0, o = n; r < [Link]; r++) {
for (var l = o[r], c = [Link], a = 0; a < s; a++)
if (c[a] !== t[i + a])
continue e;
return [Link]
}
return null
}
,
[Link] = function(t, i) {
var s = [Link][[Link] - 1]
, n = {
bytes: t,
str: i
};
[Link] >= [Link] ? s[[Link]() * [Link] | 0] = n :
[Link](n)
}
,
[Link] = function(t, i, s) {
var n = [Link](t, i, s);
if (n != null)
return [Link]++,
n;
[Link]++;
var r = _r(t, i, s)
, o = [Link](t, i, i + s);
return [Link](o, r),
r
}
,
e
}()
, Sa = globalThis && globalThis.__awaiter || function(e, t, i, s) {
function n(r) {
return r instanceof i ? r : new i(function(o) {
o(r)
}
)
}
return new (i || (i = Promise))(function(r, o) {
function l(u) {
try {
a([Link](u))
} catch (p) {
o(p)
}
}
function c(u) {
try {
a([Link](u))
} catch (p) {
o(p)
}
}
function a(u) {
[Link] ? r([Link]) : n([Link]).then(l, c)
}
a((s = [Link](e, t || [])).next())
}
)
}
, ji = globalThis && globalThis.__generator || function(e, t) {
var i = {
label: 0,
sent: function() {
if (r[0] & 1)
throw r[1];
return r[1]
},
trys: [],
ops: []
}, s, n, r, o;
return o = {
next: l(0),
throw: l(1),
return: l(2)
},
typeof Symbol == "function" && (o[[Link]] = function() {
return this
}
),
o;
function l(a) {
return function(u) {
return c([a, u])
}
}
function c(a) {
if (s)
throw new TypeError("Generator is already executing.");
for (; i; )
try {
if (s = 1,
n && (r = a[0] & 2 ? [Link] : a[0] ? [Link] || ((r =
[Link]) && [Link](n),
0) : [Link])
&& !(r = [Link](n, a[1])).done)
return r;
switch (n = 0,
r && (a = [a[0] & 2, [Link]]),
a[0]) {
case 0:
case 1:
r = a;
break;
case 4:
return [Link]++,
{
value: a[1],
done: !1
};
case 5:
[Link]++,
n = a[1],
a = [0];
continue;
case 7:
a = [Link](),
[Link]();
continue;
default:
if (r = [Link],
!(r = [Link] > 0 && r[[Link] - 1]) && (a[0] === 6
|| a[0] === 2)) {
i = 0;
continue
}
if (a[0] === 3 && (!r || a[1] > r[0] && a[1] < r[3])) {
[Link] = a[1];
break
}
if (a[0] === 6 && [Link] < r[1]) {
[Link] = r[1],
r = a;
break
}
if (r && [Link] < r[2]) {
[Link] = r[2],
[Link](a);
break
}
r[2] && [Link](),
[Link]();
continue
}
a = [Link](e, i)
} catch (u) {
a = [6, u],
n = 0
} finally {
s = r = 0
}
if (a[0] & 5)
throw a[1];
return {
value: a[0] ? a[1] : void 0,
done: !0
}
}
}
, Ps = globalThis && globalThis.__asyncValues || function(e) {
if (![Link])
throw new TypeError("[Link] is not defined.");
var t = e[[Link]], i;
return t ? [Link](e) : (e = typeof __values == "function" ? __values(e) :
e[[Link]](),
i = {},
s("next"),
s("throw"),
s("return"),
i[[Link]] = function() {
return this
}
,
i);
function s(r) {
i[r] = e[r] && function(o) {
return new Promise(function(l, c) {
o = e[r](o),
n(l, c, [Link], [Link])
}
)
}
}
function n(r, o, l, c) {
[Link](c).then(function(a) {
r({
value: a,
done: l
})
}, o)
}
}
, bt = globalThis && globalThis.__await || function(e) {
return this instanceof bt ? (this.v = e,
this) : new bt(e)
}
, Ta = globalThis && globalThis.__asyncGenerator || function(e, t, i) {
if (![Link])
throw new TypeError("[Link] is not defined.");
var s = [Link](e, t || []), n, r = [];
return n = {},
o("next"),
o("throw"),
o("return"),
n[[Link]] = function() {
return this
}
,
n;
function o(h) {
s[h] && (n[h] = function(m) {
return new Promise(function(w, v) {
[Link]([h, m, w, v]) > 1 || l(h, m)
}
)
}
)
}
function l(h, m) {
try {
c(s[h](m))
} catch (w) {
p(r[0][3], w)
}
}
function c(h) {
[Link] instanceof bt ? [Link]([Link].v).then(a, u) : p(r[0][2],
h)
}
function a(h) {
l("next", h)
}
function u(h) {
l("throw", h)
}
function p(h, m) {
h(m),
[Link](),
[Link] && l(r[0][0], r[0][1])
}
}
, Ia = function(e) {
var t = typeof e;
return t === "string" || t === "number"
}
, Dt = -1
, jn = new DataView(new ArrayBuffer(0))
, Ma = new Uint8Array([Link])
, Cn = function() {
try {
jn.getInt8(0)
} catch (e) {
return [Link]
}
throw new Error("never reached")
}()
, Cs = new Cn("Insufficient data")
, Ea = new ba
, Pa = function() {
function e(t, i, s, n, r, o, l, c) {
t === void 0 && (t = [Link]),
i === void 0 && (i = void 0),
s === void 0 && (s = Ye),
n === void 0 && (n = Ye),
r === void 0 && (r = Ye),
o === void 0 && (o = Ye),
l === void 0 && (l = Ye),
c === void 0 && (c = Ea),
[Link] = t,
[Link] = i,
[Link] = s,
[Link] = n,
[Link] = r,
[Link] = o,
[Link] = l,
[Link] = c,
[Link] = 0,
[Link] = 0,
[Link] = jn,
[Link] = Ma,
[Link] = Dt,
[Link] = []
}
return [Link] = function() {
[Link] = 0,
[Link] = Dt,
[Link] = 0
}
,
[Link] = function(t) {
[Link] = yi(t),
[Link] = ga([Link]),
[Link] = 0
}
,
[Link] = function(t) {
if ([Link] === Dt && ![Link](1))
[Link](t);
else {
var i = [Link]([Link])
, s = yi(t)
, n = new Uint8Array([Link] + [Link]);
[Link](i),
[Link](s, [Link]),
[Link](n)
}
}
,
[Link] = function(t) {
return [Link] - [Link] >= t
}
,
[Link] = function(t) {
var i = this
, s = [Link]
, n = [Link];
return new RangeError("Extra ".concat([Link] - n, " of
").concat([Link], " byte(s) found at buffer[").concat(t, "]"))
}
,
[Link] = function(t) {
[Link](),
[Link](t);
var i = [Link]();
if ([Link](1))
throw [Link]([Link]);
return i
}
,
[Link] = function(t) {
return ji(this, function(i) {
switch ([Link]) {
case 0:
[Link](),
[Link](t),
[Link] = 1;
case 1:
return [Link](1) ? [4, [Link]()] : [3,
3];
case 2:
return [Link](),
[3, 1];
case 3:
return [2]
}
})
}
,
[Link] = function(t) {
var i, s, n, r;
return Sa(this, void 0, void 0, function() {
var o, l, c, a, u, p, h, m;
return ji(this, function(w) {
switch ([Link]) {
case 0:
o = !1,
[Link] = 1;
case 1:
[Link]([1, 6, 7, 12]),
i = Ps(t),
[Link] = 2;
case 2:
return [4, [Link]()];
case 3:
if (s = [Link](),
!![Link])
return [3, 5];
if (c = [Link],
o)
throw [Link]([Link]);
[Link](c);
try {
l = [Link](),
o = !0
} catch (v) {
if (!(v instanceof Cn))
throw v
}
[Link] += [Link],
[Link] = 4;
case 4:
return [3, 2];
case 5:
return [3, 12];
case 6:
return a = [Link](),
n = {
error: a
},
[3, 12];
case 7:
return [Link]([7, , 10, 11]),
s && ![Link] && (r = [Link]) ? [4, [Link](i)] : [3,
9];
case 8:
[Link](),
[Link] = 9;
case 9:
return [3, 11];
case 10:
if (n)
throw [Link];
return [7];
case 11:
return [7];
case 12:
if (o) {
if ([Link](1))
throw [Link]([Link]);
return [2, l]
}
throw u = this,
p = [Link],
h = [Link],
m = [Link],
new RangeError("Insufficient data in parsing
".concat(Zi(p), " at ").concat(m, " (").concat(h, " in the current buffer)"))
}
})
})
}
,
[Link] = function(t) {
return [Link](t, !0)
}
,
[Link] = function(t) {
return [Link](t, !1)
}
,
[Link] = function(t, i) {
return Ta(this, arguments, function() {
var n, r, o, l, c, a, u, p, h;
return ji(this, function(m) {
switch ([Link]) {
case 0:
n = i,
r = -1,
[Link] = 1;
case 1:
[Link]([1, 13, 14, 19]),
o = Ps(t),
[Link] = 2;
case 2:
return [4, bt([Link]())];
case 3:
if (l = [Link](),
!![Link])
return [3, 12];
if (c = [Link],
i && r === 0)
throw [Link]([Link]);
[Link](c),
n && (r = [Link](),
n = !1,
[Link]()),
[Link] = 4;
case 4:
[Link]([4, 9, , 10]),
[Link] = 5;
case 5:
return [4, bt([Link]())];
case 6:
return [4, [Link]()];
case 7:
return [Link](),
--r === 0 ? [3, 8] : [3, 5];
case 8:
return [3, 10];
case 9:
if (a = [Link](),
!(a instanceof Cn))
throw a;
return [3, 10];
case 10:
[Link] += [Link],
[Link] = 11;
case 11:
return [3, 2];
case 12:
return [3, 19];
case 13:
return u = [Link](),
p = {
error: u
},
[3, 19];
case 14:
return [Link]([14, , 17, 18]),
l && ![Link] && (h = [Link]) ? [4, bt([Link](o))] :
[3, 16];
case 15:
[Link](),
[Link] = 16;
case 16:
return [3, 18];
case 17:
if (p)
throw [Link];
return [7];
case 18:
return [7];
case 19:
return [2]
}
})
})
}
,
[Link] = function() {
e: for (; ; ) {
var t = [Link]()
, i = void 0;
if (t >= 224)
i = t - 256;
else if (t < 192)
if (t < 128)
i = t;
else if (t < 144) {
var s = t - 128;
if (s !== 0) {
[Link](s),
[Link]();
continue e
} else
i = {}
} else if (t < 160) {
var s = t - 144;
if (s !== 0) {
[Link](s),
[Link]();
continue e
} else
i = []
} else {
var n = t - 160;
i = this.decodeUtf8String(n, 0)
}
else if (t === 192)
i = null;
else if (t === 194)
i = !1;
else if (t === 195)
i = !0;
else if (t === 202)
i = this.readF32();
else if (t === 203)
i = this.readF64();
else if (t === 204)
i = this.readU8();
else if (t === 205)
i = this.readU16();
else if (t === 206)
i = this.readU32();
else if (t === 207)
i = this.readU64();
else if (t === 208)
i = this.readI8();
else if (t === 209)
i = this.readI16();
else if (t === 210)
i = this.readI32();
else if (t === 211)
i = this.readI64();
else if (t === 217) {
var n = this.lookU8();
i = this.decodeUtf8String(n, 1)
} else if (t === 218) {
var n = this.lookU16();
i = this.decodeUtf8String(n, 2)
} else if (t === 219) {
var n = this.lookU32();
i = this.decodeUtf8String(n, 4)
} else if (t === 220) {
var s = this.readU16();
if (s !== 0) {
[Link](s),
[Link]();
continue e
} else
i = []
} else if (t === 221) {
var s = this.readU32();
if (s !== 0) {
[Link](s),
[Link]();
continue e
} else
i = []
} else if (t === 222) {
var s = this.readU16();
if (s !== 0) {
[Link](s),
[Link]();
continue e
} else
i = {}
} else if (t === 223) {
var s = this.readU32();
if (s !== 0) {
[Link](s),
[Link]();
continue e
} else
i = {}
} else if (t === 196) {
var s = this.lookU8();
i = [Link](s, 1)
} else if (t === 197) {
var s = this.lookU16();
i = [Link](s, 2)
} else if (t === 198) {
var s = this.lookU32();
i = [Link](s, 4)
} else if (t === 212)
i = [Link](1, 0);
else if (t === 213)
i = [Link](2, 0);
else if (t === 214)
i = [Link](4, 0);
else if (t === 215)
i = [Link](8, 0);
else if (t === 216)
i = [Link](16, 0);
else if (t === 199) {
var s = this.lookU8();
i = [Link](s, 1)
} else if (t === 200) {
var s = this.lookU16();
i = [Link](s, 2)
} else if (t === 201) {
var s = this.lookU32();
i = [Link](s, 4)
} else
throw new Pe("Unrecognized type byte: ".concat(Zi(t)));
[Link]();
for (var r = [Link]; [Link] > 0; ) {
var o = r[[Link] - 1];
if ([Link] === 0)
if ([Link][[Link]] = i,
[Link]++,
[Link] === [Link])
[Link](),
i = [Link];
else
continue e;
else if ([Link] === 1) {
if (!Ia(i))
throw new Pe("The type of key must be string or number but
" + typeof i);
if (i === "__proto__")
throw new Pe("The key __proto__ is not allowed");
[Link] = i,
[Link] = 2;
continue e
} else if ([Link][[Link]] = i,
[Link]++,
[Link] === [Link])
[Link](),
i = [Link];
else {
[Link] = null,
[Link] = 1;
continue e
}
}
return i
}
}
,
[Link] = function() {
return [Link] === Dt && ([Link] = this.readU8()),
[Link]
}
,
[Link] = function() {
[Link] = Dt
}
,
[Link] = function() {
var t = [Link]();
switch (t) {
case 220:
return this.readU16();
case 221:
return this.readU32();
default:
{
if (t < 160)
return t - 144;
throw new Pe("Unrecognized array type byte: ".concat(Zi(t)))
}
}
}
,
[Link] = function(t) {
if (t > [Link])
throw new Pe("Max length exceeded: map length (".concat(t, ") >
maxMapLengthLength (").concat([Link], ")"));
[Link]({
type: 1,
size: t,
key: null,
readCount: 0,
map: {}
})
}
,
[Link] = function(t) {
if (t > [Link])
throw new Pe("Max length exceeded: array length (".concat(t, ") >
maxArrayLength (").concat([Link], ")"));
[Link]({
type: 0,
size: t,
array: new Array(t),
position: 0
})
}
,
[Link].decodeUtf8String = function(t, i) {
var s;
if (t > [Link])
throw new Pe("Max length exceeded: UTF-8 byte length (".concat(t, ") >
maxStrLength (").concat([Link], ")"));
if ([Link] < [Link] + i + t)
throw Cs;
var n = [Link] + i, r;
return [Link]() && (!((s = [Link]) === null || s ===
void 0) && [Link](t)) ? r = [Link]([Link], n, t) : t >
sa ? r = ra([Link], n, t) : r = _r([Link], n, t),
[Link] += i + t,
r
}
,
[Link] = function() {
if ([Link] > 0) {
var t = [Link][[Link] - 1];
return [Link] === 1
}
return !1
}
,
[Link] = function(t, i) {
if (t > [Link])
throw new Pe("Max length exceeded: bin length (".concat(t, ") >
maxBinLength (").concat([Link], ")"));
if (![Link](t + i))
throw Cs;
var s = [Link] + i
, n = [Link](s, s + t);
return [Link] += i + t,
n
}
,
[Link] = function(t, i) {
if (t > [Link])
throw new Pe("Max length exceeded: ext length (".concat(t, ") >
maxExtLength (").concat([Link], ")"));
var s = [Link].getInt8([Link] + i)
, n = [Link](t, i + 1);
return [Link](n, s, [Link])
}
,
[Link].lookU8 = function() {
return [Link].getUint8([Link])
}
,
[Link].lookU16 = function() {
return [Link].getUint16([Link])
}
,
[Link].lookU32 = function() {
return [Link].getUint32([Link])
}
,
[Link].readU8 = function() {
var t = [Link].getUint8([Link]);
return [Link]++,
t
}
,
[Link].readI8 = function() {
var t = [Link].getInt8([Link]);
return [Link]++,
t
}
,
[Link].readU16 = function() {
var t = [Link].getUint16([Link]);
return [Link] += 2,
t
}
,
[Link].readI16 = function() {
var t = [Link].getInt16([Link]);
return [Link] += 2,
t
}
,
[Link].readU32 = function() {
var t = [Link].getUint32([Link]);
return [Link] += 4,
t
}
,
[Link].readI32 = function() {
var t = [Link].getInt32([Link]);
return [Link] += 4,
t
}
,
[Link].readU64 = function() {
var t = Jo([Link], [Link]);
return [Link] += 8,
t
}
,
[Link].readI64 = function() {
var t = Rr([Link], [Link]);
return [Link] += 8,
t
}
,
[Link].readF32 = function() {
var t = [Link].getFloat32([Link]);
return [Link] += 4,
t
}
,
[Link].readF64 = function() {
var t = [Link].getFloat64([Link]);
return [Link] += 8,
t
}
,
e
}()
, nt = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof
global < "u" ? global : typeof self < "u" ? self : {};
function Di(e) {
return e && e.__esModule && [Link](e,
"default") ? [Link] : e
}
var zr = {
exports: {}
}, ae = [Link] = {}, Ce, Ae;
function An() {
throw new Error("setTimeout has not been defined")
}
function Dn() {
throw new Error("clearTimeout has not been defined")
}
(function() {
try {
typeof setTimeout == "function" ? Ce = setTimeout : Ce = An
} catch {
Ce = An
}
try {
typeof clearTimeout == "function" ? Ae = clearTimeout : Ae = Dn
} catch {
Ae = Dn
}
}
)();
function Fr(e) {
if (Ce === setTimeout)
return setTimeout(e, 0);
if ((Ce === An || !Ce) && setTimeout)
return Ce = setTimeout,
setTimeout(e, 0);
try {
return Ce(e, 0)
} catch {
try {
return [Link](null, e, 0)
} catch {
return [Link](this, e, 0)
}
}
}
function Ca(e) {
if (Ae === clearTimeout)
return clearTimeout(e);
if ((Ae === Dn || !Ae) && clearTimeout)
return Ae = clearTimeout,
clearTimeout(e);
try {
return Ae(e)
} catch {
try {
return [Link](null, e)
} catch {
return [Link](this, e)
}
}
}
var ze = [], St = !1, Ke, li = -1;
function Aa() {
!St || !Ke || (St = !1,
[Link] ? ze = [Link](ze) : li = -1,
[Link] && Hr())
}
function Hr() {
if (!St) {
var e = Fr(Aa);
St = !0;
for (var t = [Link]; t; ) {
for (Ke = ze,
ze = []; ++li < t; )
Ke && Ke[li].run();
li = -1,
t = [Link]
}
Ke = null,
St = !1,
Ca(e)
}
}
[Link] = function(e) {
var t = new Array([Link] - 1);
if ([Link] > 1)
for (var i = 1; i < [Link]; i++)
t[i - 1] = arguments[i];
[Link](new Vr(e,t)),
[Link] === 1 && !St && Fr(Hr)
}
;
function Vr(e, t) {
[Link] = e,
[Link] = t
}
[Link] = function() {
[Link](null, [Link])
}
;
[Link] = "browser";
[Link] = !0;
[Link] = {};
[Link] = [];
[Link] = "";
[Link] = {};
function He() {}
[Link] = He;
[Link] = He;
[Link] = He;
[Link] = He;
[Link] = He;
[Link] = He;
[Link] = He;
[Link] = He;
[Link] = He;
[Link] = function(e) {
return []
}
;
[Link] = function(e) {
throw new Error("[Link] is not supported")
}
;
[Link] = function() {
return "/"
}
;
[Link] = function(e) {
throw new Error("[Link] is not supported")
}
;
[Link] = function() {
return 0
}
;
var Da = [Link];
const On = Di(Da)
, Oa = 1920
, Ra = 1080
, _a = 9
, Lr = On && [Link]("--largeserver") != -1 ? 80 : 40
, Ba = Lr + 10
, za = 6
, Fa = 3e3
, Ha = 10
, Va = 5
, La = 50
, Ua = 4.5
, Na = 15
, qa = .9
, Wa = 3e3
, Xa = 60
, Ga = 35
, Ya = 3e3
, $a = 500
, Ka = On && {}.IS_SANDBOX
, Ja = 100
, Qa = [Link] / 2.6
, Za = 10
, ja = .25
, el = [Link] / 2
, tl = 35
, il = .0016
, nl = .993
, sl = 34
, rl = ["#bf8f54", "#cbb091", "#896c4b", "#fadadc", "#ececec", "#c37373",
"#4c4c4c", "#ecaff7", "#738cc3", "#8bc373"]
, ol = 7
, al = .06
, ll = ["Mew"]
, cl = [Link] / 3
, ci = [{
id: 0,
src: "",
xp: 0,
val: 1
}, {
id: 1,
src: "_g",
xp: 3e3,
val: 1.1
}, {
id: 2,
src: "_d",
xp: 7e3,
val: 1.18
}, {
id: 3,
src: "_r",
poison: !0,
xp: 12e3,
val: 1.18
}]
, hl = function(e) {
const t = [Link][[Link]] || 0;
for (let i = [Link] - 1; i >= 0; --i)
if (t >= ci[i].xp)
return ci[i]
}
, fl = ["wood", "food", "stone", "points"]
, ul = 7
, dl = 9
, pl = 3
, ml = 32
, gl = 7
, yl = 724
, wl = 114
, kl = .0011
, vl = 1e-4
, xl = 1.3
, bl = [150, 160, 165, 175]
, Sl = [80, 85, 95]
, Tl = [80, 85, 90]
, Il = 2400
, Ml = .75
, El = 15
, es = 14400
, Pl = 40
, Cl = 2200
, Al = .6
, Dl = 1
, Ol = .3
, Rl = .3
, _l = 144e4
, ts = 320
, Bl = 100
, zl = 2
, Fl = 3200
, Hl = 1440
, Vl = .2
, Ll = -1
, Ul = es - ts - 120
, Nl = es - ts - 120
, S = {
maxScreenWidth: Oa,
maxScreenHeight: Ra,
serverUpdateRate: _a,
maxPlayers: Lr,
maxPlayersHard: Ba,
collisionDepth: za,
minimapRate: Fa,
colGrid: Ha,
clientSendRate: Va,
healthBarWidth: La,
healthBarPad: Ua,
iconPadding: Na,
iconPad: qa,
deathFadeout: Wa,
crownIconScale: Xa,
crownPad: Ga,
chatCountdown: Ya,
chatCooldown: $a,
inSandbox: Ka,
maxAge: Ja,
gatherAngle: Qa,
gatherWiggle: Za,
hitReturnRatio: ja,
hitAngle: el,
playerScale: tl,
playerSpeed: il,
playerDecel: nl,
nameY: sl,
skinColors: rl,
animalCount: ol,
aiTurnRandom: al,
cowNames: ll,
shieldAngle: cl,
weaponVariants: ci,
fetchVariant: hl,
resourceTypes: fl,
areaCount: ul,
treesPerArea: dl,
bushesPerArea: pl,
totalRocks: ml,
goldOres: gl,
riverWidth: yl,
riverPadding: wl,
waterCurrent: kl,
waveSpeed: vl,
waveMax: xl,
treeScales: bl,
bushScales: Sl,
rockScales: Tl,
snowBiomeTop: Il,
snowSpeed: Ml,
maxNameLength: El,
mapScale: es,
mapPingScale: Pl,
mapPingTime: Cl,
volcanoScale: ts,
innerVolcanoScale: Bl,
volcanoAnimalStrength: zl,
volcanoAnimationDuration: Fl,
volcanoAggressionRadius: Hl,
volcanoAggressionPercentage: Vl,
volcanoDamagePerSecond: Ll,
volcanoLocationX: Ul,
volcanoLocationY: Nl,
MAX_ATTACK: Al,
MAX_SPAWN_DELAY: Dl,
MAX_SPEED: Ol,
MAX_TURN_SPEED: Rl,
DAY_INTERVAL: _l
}
, ql = new ka
, Wl = new Pa
, ee = {
socket: null,
connected: !1,
socketId: -1,
connect: function(e, t, i) {
if ([Link])
return;
const s = this;
try {
let n = !1;
const r = e;
[Link] = new WebSocket(e),
[Link] = "arraybuffer",
[Link] = function(o) {
var a = new Uint8Array([Link]);
const l = [Link](a)
, c = l[0];
var a = l[1];
c == "io-init" ? [Link] = a[0] : i[c].apply(void 0, a)
}
,
[Link] = function() {
[Link] = !0,
t()
}
,
[Link] = function(o) {
[Link] = !1,
[Link] == 4001 ? t("Invalid Connection") : n ||
t("disconnected")
}
,
[Link] = function(o) {
[Link] && [Link] != [Link] && (n = !0,

[Link]("Socket error", arguments),

t("Socket error"))
}
} catch (n) {
[Link]("Socket connection error:", n),
t(n)
}
},
send: function(e) {
const t = [Link](arguments, 1)
, i = [Link]([e, t]);
if(e == "D" || e == "0") {
} else {
[Link]('argument: ' + [Link]() + '\nslicecall: ' + t + '\
nencode: ' + i)

}
[Link] && [Link](i)
},
socketReady: function() {
return [Link] && [Link]
},
close: function() {
[Link] && [Link](),
[Link] = null,
[Link] = !1
}
};
var Ur = [Link];
const Xl = [Link];
var Ur = [Link];
const Gl = Math.atan2
, en = [Link]
, Yl = function(e, t) {
return [Link]([Link]() * (t - e + 1)) + e
}
, $l = function(e, t) {
return [Link]() * (t - e + 1) + e
}
, Kl = function(e, t, i) {
return e + (t - e) * i
}
, Jl = function(e, t) {
return e > 0 ? e = [Link](0, e - t) : e < 0 && (e = [Link](0, e + t)),
e
}
, Ql = function(e, t, i, s) {
return Xl((i -= e) * i + (s -= t) * s)
}
, Zl = function(e, t, i, s) {
return Gl(t - s, e - i)
}
, jl = function(e, t) {
const i = Ur(t - e) % (en * 2);
return i > en ? en * 2 - i : i
}
, ec = function(e) {
return typeof e == "number" && !isNaN(e) && isFinite(e)
}
, tc = function(e) {
return e && typeof e == "string"
}
, ic = function(e) {
return e > 999 ? (e / 1e3).toFixed(1) + "k" : e
}
, nc = function(e) {
return [Link](0).toUpperCase() + [Link](1)
}
, sc = function(e, t) {
return e ? parseFloat([Link](t)) : 0
}
, rc = function(e, t) {
return parseFloat([Link]) - parseFloat([Link])
}
, oc = function(e, t, i, s, n, r, o, l) {
let c = n
, a = o;
if (n > o && (c = o,
a = n),
a > i && (a = i),
c < e && (c = e),
c > a)
return !1;
let u = r
, p = l;
const h = o - n;
if ([Link](h) > 1e-7) {
const m = (l - r) / h
, w = r - m * n;
u = m * c + w,
p = m * a + w
}
if (u > p) {
const m = p;
p = u,
u = m
}
return p > s && (p = s),
u < t && (u = t),
!(u > p)
}
, Nr = function(e, t, i) {
const s = [Link]()
, n = [Link] + [Link]
, r = [Link] + [Link]
, o = [Link]
, l = [Link]
, c = t > n && t < n + o
, a = i > r && i < r + l;
return c && a
}
, hi = function(e) {
const t = [Link][0];
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link]
}
, qr = function(e, t) {
const i = !t;
let s = !1;
const n = !1;
[Link]("touchstart", Be(r), n),
[Link]("touchmove", Be(o), n),
[Link]("touchend", Be(l), n),
[Link]("touchcancel", Be(l), n),
[Link]("touchleave", Be(l), n);
function r(c) {
hi(c),
[Link](!0),
i && ([Link](),
[Link]()),
[Link] && [Link](c),
s = !0
}
function o(c) {
hi(c),
[Link](!0),
i && ([Link](),
[Link]()),
Nr(e, [Link], [Link]) ? s || ([Link] && [Link](c),
s = !0) : s && ([Link] &&
[Link](c),
s = !1)
}
function l(c) {
hi(c),
[Link](!0),
i && ([Link](),
[Link]()),
s && ([Link] && [Link](c),
[Link] && [Link](c),
s = !1)
}
}
, ac = function(e) {
for (; [Link](); )
[Link]([Link])
}
, lc = function(e) {
const t = [Link]([Link] || "div");
function i(s, n) {
e[s] && (t[n] = e[s])
}
i("text", "textContent"),
i("html", "innerHTML"),
i("class", "className");
for (const s in e) {
switch (s) {
case "tag":
case "text":
case "html":
case "class":
case "style":
case "hookTouch":
case "parent":
case "children":
continue
}
t[s] = e[s]
}
if ([Link] && ([Link] = Be([Link])),
[Link] && ([Link] = Be([Link])),
[Link] && ([Link] = Be([Link])),
[Link] && ([Link] = [Link]),
[Link] && qr(t),
[Link] && [Link](t),
[Link])
for (let s = 0; s < [Link]; s++)
[Link]([Link][s]);
return t
}
, Wr = function(e) {
return e && typeof [Link] == "boolean" ? [Link] : !0
}
, Be = function(e) {
return function(t) {
t && t instanceof Event && Wr(t) && e(t)
}
}
, cc = function(e) {
let t = "";
const i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (let s = 0; s < e; s++)
t += [Link]([Link]([Link]() * [Link]));
return t
}
, hc = function(e, t) {
let i = 0;
for (let s = 0; s < [Link]; s++)
e[s] === t && i++;
return i
}
, C = {
randInt: Yl,
randFloat: $l,
lerp: Kl,
decel: Jl,
getDistance: Ql,
getDirection: Zl,
getAngleDist: jl,
isNumber: ec,
isString: tc,
kFormat: ic,
capitalizeFirst: nc,
fixTo: sc,
sortByPoints: rc,
lineInRect: oc,
containsPoint: Nr,
mousifyTouchEvent: hi,
hookTouchEvents: qr,
removeAllChildren: ac,
generateElement: lc,
eventIsTrusted: Wr,
checkTrusted: Be,
randomString: cc,
countInArray: hc
}
, fc = function() {
[Link] = function(e, t, i, s, n, r, o) {
this.x = e,
this.y = t,
[Link] = o,
[Link] = i,
[Link] = [Link],
[Link] = i * 1.5,
[Link] = .7,
[Link] = s,
[Link] = n,
[Link] = r
}
,
[Link] = function(e) {
[Link] && ([Link] -= e,
this.y -= [Link] * e,
[Link] += [Link] * e,
[Link] >= [Link] ? ([Link] = [Link],
[Link] *= -1) :
[Link] <= [Link] && ([Link] = [Link],

[Link] = 0),
[Link] <= 0 && ([Link] = 0))
}
,
[Link] = function(e, t, i) {
[Link] = [Link],
[Link] = [Link] + "px Hammersmith One",
[Link]([Link], this.x - t, this.y - i)
}
}
, uc = function() {
[Link] = [],
[Link] = function(e, t, i, s) {
[Link] = "middle",
[Link] = "center";
for (let n = 0; n < [Link]; ++n)
[Link][n].life && ([Link][n].update(e),
[Link][n].render(t, i, s))
}
,
[Link] = function(e, t, i, s, n, r, o) {
let l;
for (let c = 0; c < [Link]; ++c)
if (![Link][c].life) {
l = [Link][c];
break
}
l || (l = new fc,
[Link](l)),
[Link](e, t, i, s, n, r, o)
}
}
, dc = function(e, t) {
let i;
[Link] = [],
[Link] = !0,
[Link] = function(s, n, r) {
!n || ![Link] || (i = [Link][s],
i || (i = new Howl({
src: ".././sound/" + s + ".mp3"
}),
[Link][s] = i),
(!r || ![Link]) && ([Link] = !0,
[Link](),
[Link]((n || 1) *
[Link]),
[Link](r)))
}
,
[Link] = function(s, n) {
i = [Link][s],
i && [Link](n)
}
,
[Link] = function(s) {
i = [Link][s],
i && ([Link](),
[Link] = !1)
}
}
, As = [Link]
, Ds = [Link]
, Ot = [Link]
, Rt = [Link]
, pc = [Link];
function mc(e, t, i, s, n, r) {
[Link] = t,
[Link] = {},
[Link] = [];
let o, l;
const c = [Link] / [Link];
[Link] = function(h) {
const m = [Link]([Link], [Link](0, h.x))
, w = [Link]([Link], [Link](0, h.y));
for (let v = 0; v < [Link]; ++v) {
o = v * c;
for (let b = 0; b < [Link]; ++b)
l = b * c,
m + [Link] >= o && m - [Link] <= o + c && w + [Link] >= l &&
w - [Link] <= l + c && ([Link][v + "_" + b] || ([Link][v + "_" + b] = []),

[Link][v + "_" + b].push(h),

[Link](v + "_" + b))


}
}
,
[Link] = function(h) {
let m;
for (let w = 0; w < [Link]; ++w)
m = [Link][[Link][w]].indexOf(h),
m >= 0 && [Link][[Link][w]].splice(m, 1)
}
,
[Link] = function(h) {
if ([Link] = !1,
r) {
[Link] && [Link] && ([Link] -= [Link]),
[Link](h);
const m = [Link](h);
m >= 0 && [Link](m, 1)
}
}
,
[Link] = function(h, m) {
for (let w = 0; w < [Link]; ++w)
n[w].active && ([Link][n[w].id] && ([Link] ? n[w].canSee(h) &&
[Link](n[w].id, "L", [Link](m, 1), [Link]) : [Link](n[w].id, "Q", [Link])),
![Link] && [Link] == n[w] &&
n[w].changeItemCount([Link], -1))
}
;
const a = [];
let u;
[Link] = function(h, m, w) {
o = As(h / c),
l = As(m / c),
[Link] = 0;
try {
[Link][o + "_" + l] && [Link]([Link][o + "_" + l]),
h + w >= (o + 1) * c && (u = [Link][o + 1 + "_" + l],
u && [Link](u),
l && m - w <= l * c ? (u = [Link][o +
1 + "_" + (l - 1)],
u && [Link](u)) : m
+ w >= (l + 1) * c && (u = [Link][o + 1 + "_" + (l + 1)],

u && [Link](u))),
o && h - w <= o * c && (u = [Link][o - 1 + "_" + l],
u && [Link](u),
l && m - w <= l * c ? (u = [Link][o - 1
+ "_" + (l - 1)],
u && [Link](u)) : m
+ w >= (l + 1) * c && (u = [Link][o - 1 + "_" + (l + 1)],

u && [Link](u))),
m + w >= (l + 1) * c && (u = [Link][o + "_" + (l + 1)],
u && [Link](u)),
l && m - w <= l * c && (u = [Link][o + "_" + (l - 1)],
u && [Link](u))
} catch {}
return a
}
;
let p;
[Link] = function(h, m, w, v, b, D, k, T, O) {
p = null;
for (var V = 0; V < [Link]; ++V)
if (t[V].sid == h) {
p = t[V];
break
}
if (!p) {
for (var V = 0; V < [Link]; ++V)
if (!t[V].active) {
p = t[V];
break
}
}
p || (p = new e(h),
[Link](p)),
T && ([Link] = h),
[Link](m, w, v, b, D, k, O),
r && ([Link](p),
[Link] && [Link](p))
}
,
[Link] = function(h) {
for (let m = 0; m < [Link]; ++m)
if (t[m].sid == h) {
[Link](t[m]);
break
}
}
,
[Link] = function(h, m) {
for (let w = 0; w < [Link]; ++w)
t[w].active && t[w].owner && t[w].[Link] == h &&
[Link](t[w]);
m && [Link]("R", h)
}
,
[Link] = function(h) {
let m = null;
for (let w = 0; w < [Link]; ++w)
if (p = t[w],
[Link] && [Link] && [Link] == h && [Link]) {
m = [p.x, p.y],
[Link](p),
[Link]("Q", [Link]),
[Link] && [Link]([Link], -1);
break
}
return m
}
,
[Link] = function(h, m, w, v, b, D, k) {
for (let T = 0; T < [Link]; ++T) {
const O = t[T].blocker ? t[T].blocker : t[T].getScale(v, t[T].isItem);
if (t[T].active && [Link](h, m, t[T].x, t[T].y) < w + O)
return !1
}
return !(!D && b != 18 && m >= [Link] / 2 - [Link] / 2 && m <=
[Link] / 2 + [Link] / 2)
}
,
[Link] = function(h, m, w, v, b) {
const D = [Link][b];
let k;
for (let T = 0; T < [Link]; ++T)
if (!projectiles[T].active) {
k = projectiles[T];
break
}
k || (k = new Projectile(n,i),
[Link](k)),
[Link](b, h, m, w, [Link], v, [Link])
}
,
[Link] = function(h, m, w) {
w = w || 1;
const v = h.x - m.x
, b = h.y - m.y;
let D = [Link] + [Link];
if (Ds(v) <= D || Ds(b) <= D) {
D = [Link] + ([Link] ? [Link]() : [Link]);
let k = pc(v * v + b * b) - D;
if (k <= 0) {
if ([Link])
[Link] && ![Link] && [Link] != h && !([Link] &&
[Link] && [Link] == [Link]) ? ([Link] = !0,

[Link] = !1) : [Link] ? ([Link] += w * [Link] * ([Link] ||


1) * Ot([Link]),
[Link] += w * [Link] * ([Link] || 1) * Rt([Link])) :
[Link] ? [Link] = [Link] : [Link] && (h.x = [Link](0, [Link]),

h.y = [Link](0, [Link]));


else {
const T = [Link](h.x, h.y, m.x, m.y);
if ([Link](h.x, h.y, m.x, m.y),
[Link] ? (k = k * -1 / 2,
h.x += k * Ot(T),
h.y += k * Rt(T),
m.x -= k * Ot(T),
m.y -= k * Rt(T)) : (h.x = m.x + D * Ot(T),
h.y = m.y + D * Rt(T),
[Link] *= .75,
[Link] *= .75),
[Link] && [Link] != h && !([Link] && [Link] &&
[Link] == [Link])) {
[Link](-[Link], [Link], m);
const O = 1.5 * ([Link] || 1);
[Link] += O * Ot(T),
[Link] += O * Rt(T),
[Link] && !([Link] && [Link]) &&
([Link] = [Link],

[Link] = 5,

[Link] = [Link]),
[Link] && [Link] && ([Link](-[Link]) &&
[Link](m),
[Link](m,
[Link](h.x, h.y, m.x, m.y)))
}
}
return [Link] > [Link] && ([Link] = [Link]),
!0
}
}
return !1
}
}
function gc(e, t, i, s, n, r, o, l, c) {
[Link] = function(a, u, p, h, m, w, v, b, D) {
const k = [Link][w];
let T;
for (let O = 0; O < [Link]; ++O)
if (!t[O].active) {
T = t[O];
break
}
return T || (T = new e(i,s,n,r,o,l,c),
[Link] = [Link],
[Link](T)),
[Link](w, a, u, p, m, [Link], h, [Link], v),
[Link] = b,
[Link] = D || [Link],
[Link] = [Link],
T
}
}
function yc(e, t, i, s, n, r, o, l, c) {
[Link] = [{
id: 0,
src: "cow_1",
killScore: 150,
health: 500,
weightM: .8,
speed: 95e-5,
turnSpeed: .001,
scale: 72,
drop: ["food", 50]
}, {
id: 1,
src: "pig_1",
killScore: 200,
health: 800,
weightM: .6,
speed: 85e-5,
turnSpeed: .001,
scale: 72,
drop: ["food", 80]
}, {
id: 2,
name: "Mew",
src: "bull_2",
hostile: !0,
dmg: 20,
killScore: 1e3,
health: 1800,
weightM: .5,
speed: 94e-5,
turnSpeed: 74e-5,
scale: 78,
viewRange: 800,
chargePlayer: !0,
drop: ["food", 100]
}, {
id: 3,
name: "Mew",
src: "bull_1",
hostile: !0,
dmg: 20,
killScore: 2e3,
health: 2800,
weightM: .45,
speed: .001,
turnSpeed: 8e-4,
scale: 90,
viewRange: 900,
chargePlayer: !0,
drop: ["food", 400]
}, {
id: 4,
name: "Mew",
src: "wolf_1",
hostile: !0,
dmg: 8,
killScore: 500,
health: 300,
weightM: .45,
speed: .001,
turnSpeed: .002,
scale: 84,
viewRange: 800,
chargePlayer: !0,
drop: ["food", 200]
}, {
id: 5,
name: "Mew",
src: "chicken_1",
dmg: 8,
killScore: 2e3,
noTrap: !0,
health: 300,
weightM: .2,
speed: .0018,
turnSpeed: .006,
scale: 70,
drop: ["food", 100]
}, {
id: 6,
name: "Mew",
nameScale: 50,
src: "enemy",
hostile: !0,
dontRun: !0,
fixedSpawn: !0,
spawnDelay: 6e4,
noTrap: !0,
colDmg: 100,
dmg: 40,
killScore: 8e3,
health: 18e3,
weightM: .4,
speed: 7e-4,
turnSpeed: .01,
scale: 80,
spriteMlt: 1.8,
leapForce: .9,
viewRange: 1e3,
hitRange: 210,
hitDelay: 1e3,
chargePlayer: !0,
drop: ["food", 100]
}, {
id: 7,
name: "Mew",
hostile: !0,
nameScale: 35,
src: "crate_1",
fixedSpawn: !0,
spawnDelay: 12e4,
colDmg: 200,
killScore: 5e3,
health: 2e4,
weightM: .1,
speed: 0,
turnSpeed: 0,
scale: 70,
spriteMlt: 1
}, {
id: 8,
name: "Mew",
src: "wolf_2",
hostile: !0,
fixedSpawn: !0,
dontRun: !0,
hitScare: 4,
spawnDelay: 3e4,
noTrap: !0,
nameScale: 35,
dmg: 10,
colDmg: 100,
killScore: 3e3,
health: 7e3,
weightM: .45,
speed: .0015,
turnSpeed: .002,
scale: 90,
viewRange: 800,
chargePlayer: !0,
drop: ["food", 1e3]
}, {
id: 9,
name: "💀Mew",
src: "wolf_2",
hostile: !0,
fixedSpawn: !0,
dontRun: !0,
hitScare: 50,
spawnDelay: 6e4,
noTrap: !0,
nameScale: 35,
dmg: 12,
colDmg: 100,
killScore: 3e3,
health: 9e3,
weightM: .45,
speed: .0015,
turnSpeed: .0025,
scale: 94,
viewRange: 1440,
chargePlayer: !0,
drop: ["food", 3e3],
minSpawnRange: .85,
maxSpawnRange: .9
}, {
id: 10,
name: "💀Mew",
src: "wolf_1",
hostile: !0,
fixedSpawn: !0,
dontRun: !0,
hitScare: 50,
spawnDelay: 3e4,
dmg: 10,
killScore: 700,
health: 500,
weightM: .45,
speed: .00115,
turnSpeed: .0025,
scale: 88,
viewRange: 1440,
chargePlayer: !0,
drop: ["food", 400],
minSpawnRange: .85,
maxSpawnRange: .9
}, {
id: 11,
name: "💀Mew",
src: "bull_1",
hostile: !0,
fixedSpawn: !0,
dontRun: !0,
hitScare: 50,
dmg: 20,
killScore: 5e3,
health: 5e3,
spawnDelay: 1e5,
weightM: .45,
speed: .00115,
turnSpeed: .0025,
scale: 94,
viewRange: 1440,
chargePlayer: !0,
drop: ["food", 800],
minSpawnRange: .85,
maxSpawnRange: .9
}],
[Link] = function(a, u, p, h) {
if (![Link][h])
return [Link]("missing ai type", h),
[Link](a, u, p, 0);
let m;
for (let w = 0; w < [Link]; ++w)
if (!e[w].active) {
m = e[w];
break
}
return m || (m = new t([Link],n,i,s,o,r,l,c),
[Link](m)),
[Link](a, u, p, h, [Link][h]),
m
}
}
const st = [Link] * 2
, tn = 0;
function wc(e, t, i, s, n, r, o, l) {
[Link] = e,
[Link] = !0,
[Link] = [Link](0, [Link] - 1),
[Link] = function(p, h, m, w, v) {
this.x = p,
this.y = h,
[Link] = [Link] ? p : null,
[Link] = [Link] ? h : null,
[Link] = 0,
[Link] = 0,
[Link] = 0,
[Link] = m,
[Link] = 0,
[Link] = w,
[Link] = [Link],
[Link] && ([Link] = [Link]),
([Link] || "").startsWith("💀") && ([Link] = !0),
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = 0,
[Link] = 1e3,
[Link] = 0,
[Link] = 0,
[Link] = !0,
[Link] = !0,
[Link] = null,
[Link] = null,
[Link] = {}
}
,
[Link] = function() {
const p = [Link](this.x, this.y, [Link],
[Link])
, h = p > [Link] ? 0 : [Link] - p;
return 1 + [Link] * (1 - h /
[Link])
}
;
let c = 0;
[Link] = function(p) {
if ([Link]) {
if ([Link]) {
if ([Link] -= p * (1 + 0) * [Link](),
[Link] <= 0)
if ([Link] = 0,
[Link] || [Link]) {
const L = [Link] * [Link]
, U = [Link] * [Link];
this.x = [Link](L, U),
this.y = [Link](L, U)
} else
this.x = [Link] || [Link](0, [Link]),
this.y = [Link] || [Link](0, [Link]);
return
}
c -= p,
c <= 0 && ([Link] && ([Link](-
[Link], [Link]),
[Link] -= 1,
[Link] <= 0 &&
([Link] = 0)),
c = 1e3);
let k = !1
, T = 1;
if (![Link] && ![Link] && this.y >= [Link] / 2 -
[Link] / 2 && this.y <= [Link] / 2 + [Link] / 2 && (T = .33,

[Link] += [Link] * p),


[Link])
[Link] = 0,
[Link] = 0;
else if ([Link] > 0) {
if ([Link] -= p,
[Link] <= 0)
if ([Link]) {
let L, U, _;
for (var h = 0; h < [Link]; ++h)
i[h].alive && !(i[h].skin && i[h].[Link]) && (_
= [Link](this.x, this.y, i[h].x, i[h].y),
_
<= [Link] && (!L || _ < U) && (U = _,

L = i[h]));
L ? ([Link] = L,
[Link] = [Link](8e3, 12e3)) :
([Link] = [Link](1e3, 2e3),
[Link] = [Link](-[Link], [Link]))
} else
[Link] = [Link](4e3, 1e4),
[Link] = [Link](-[Link], [Link])
} else if ([Link] > 0) {
var m = [Link] * T * (1 + r.MAX_SPEED * tn) *
[Link]();
if ([Link] && [Link] && !([Link]
&& ![Link]) ? ([Link] = [Link](this.x, this.y,
[Link].x, [Link].y),

m *= 1.42) : [Link] && [Link] && ([Link] =


[Link]([Link].x, [Link].y, this.x, this.y),
m *= 1.75,
k = !0),
[Link] && (m *= .3),
[Link] != [Link]) {
[Link] %= st;
const L = ([Link] - [Link] + st) % st
, U = [Link]([Link](L - st), L, [Link] * p)
, _ = L - [Link] >= 0 ? 1 : -1;
[Link] += _ * U + st
}
[Link] %= st,
[Link] += m * p * [Link]([Link]),
[Link] += m * p * [Link]([Link]),
[Link] -= p,
[Link] <= 0 && ([Link] = null,
[Link] = null,
[Link] = [Link] ? 1500 :
[Link](1500, 6e3))
}
[Link] = 0,
[Link] = !1;
var w;
const O = [Link](0, 0, [Link] * p, [Link] * p)
, V = [Link](4, [Link](1, [Link](O / 40)))
, N = 1 / V;
for (var h = 0; h < V; ++h) {
[Link] && (this.x += [Link] * p * N),
[Link] && (this.y += [Link] * p * N),
w = [Link](this.x, this.y, [Link]);
for (var v = 0; v < [Link]; ++v)
for (let U = 0; U < w[v].length; ++U)
w[v][U].active && [Link](this, w[v][U], N)
}
let W = !1;
if ([Link] > 0 && ([Link] -= p,
[Link] <= 0)) {
W = !0,
[Link] = 0,
[Link] && ![Link](0, 2) && ([Link] +=
[Link] * [Link]([Link]),
[Link] +=
[Link] * [Link]([Link]));
var w = [Link](this.x, this.y, [Link]), b, D;
for (let U = 0; U < [Link]; ++U)
for (var v = 0; v < w[U].length; ++v)
b = w[U][v],
[Link] && (D = [Link](this.x, this.y, b.x,
b.y),
D < [Link] + [Link] &&
([Link](-[Link] * 5) && [Link](b),

[Link](b, [Link](this.x, this.y, b.x, b.y))));


for (var v = 0; v < [Link]; ++v)
i[v].canSee(this) && [Link](i[v].id, "J", [Link])
}
if (k || W) {
var b, D;
let _;
for (var h = 0; h < [Link]; ++h)
b = i[h],
b && [Link] && (D = [Link](this.x, this.y, b.x,
b.y),
[Link] ? ![Link] && D <=
[Link] + [Link] && (W ? (_ = [Link](b.x, b.y, this.x, this.y),

[Link](-[Link] * (1 + r.MAX_ATTACK * tn) * [Link]()),

[Link] += .6 * [Link](_),

[Link] += .6 * [Link](_),

[Link] = null,

[Link] = null,

[Link] = 3e3,

[Link] = [Link](0, 2) ? 0 : 600) : [Link] = [Link]) : D <=


[Link] + [Link] && (_ = [Link](b.x, b.y, this.x, this.y),
[Link](-[Link] * (1 + r.MAX_ATTACK * tn) *
[Link]()),
[Link] += .55 * [Link](_),
[Link] += .55 * [Link](_)))
}
[Link] && ([Link] *= [Link]([Link], p)),
[Link] && ([Link] *= [Link]([Link], p));
const P = [Link];
this.x - P < 0 ? (this.x = P,
[Link] = 0) : this.x + P > [Link] && (this.x =
[Link] - P,

[Link] = 0),
this.y - P < 0 ? (this.y = P,
[Link] = 0) : this.y + P > [Link] &&
(this.y = [Link] - P,

[Link] = 0),
[Link] && ([Link] &&
([Link]([Link].x, [Link].y, [Link],
[Link]) || 0) > [Link] && ([Link] =
null),
[Link] && (this.x < [Link] -
[Link] ? (this.x = [Link] -
[Link],
[Link] = 0) : this.x > [Link] + [Link] && (this.x
= [Link] + [Link],
[Link] = 0)),
[Link] && (this.y < [Link] -
[Link] ? (this.y = [Link] -
[Link],

[Link] = 0) : this.y > [Link] + [Link] && (this.y


= [Link] + [Link],
[Link] = 0)))
}
}
,
[Link] = function(p) {
if (!p || [Link] && [Link] && [Link] >= [Link])
return !1;
const h = [Link](p.x - this.x) - [Link]
, m = [Link](p.y - this.y) - [Link];
return h <= [Link] / 2 * 1.3 && m <= [Link] / 2 * 1.3
}
;
let a = 0
, u = 0;
[Link] = function(p) {
[Link] > 0 && ([Link] -= p,
[Link] <= 0 ? ([Link] = 0,
[Link] = 0,
a = 0,
u = 0) : u == 0 ? (a += p /
([Link] * [Link]),
[Link]
= [Link](0, [Link], [Link](1, a)),
a >= 1 && (a
= 1,
u
= 1)) : (a -= p / ([Link] * (1 - [Link])),

[Link] = [Link](0, [Link], [Link](0, a))))


}
,
[Link] = function() {
[Link] = [Link] = 600,
[Link] = [Link] * .8,
a = 0,
u = 0
}
,
[Link] = function(p, h, m) {
if ([Link] && ([Link] += p,
m && ([Link] && ![Link](0, [Link]) ?
([Link] = m,

[Link] = 0,

[Link] = 2e3) : [Link] && [Link] && [Link] ?


([Link] = m,
[Link] = 0,
[Link] = 8e3) : [Link] || ([Link] = m,
[Link] = 0,
[Link] = 2e3)),
p < 0 && [Link] && [Link](0, 1) &&
([Link] = 500),
h && [Link](this) && p < 0 && [Link]([Link], "8",
[Link](this.x), [Link](this.y), [Link](-p), 1),
[Link] <= 0)) {
if ([Link])
[Link] = [Link],
this.x = -1e6,
this.y = -1e6;
else if ([Link] || [Link]) {
const w = [Link] * [Link]
, v = [Link] * [Link];
this.x = [Link](w, v),
this.y = [Link](w, v)
} else
this.x = [Link] || [Link](0, [Link]),
this.y = [Link] || [Link](0, [Link]);
if ([Link] = [Link],
[Link] = null,
h && (o(h, [Link]),
[Link]))
for (let w = 0; w < [Link]; )
[Link]([Link]([Link][w]),
[Link][w + 1]),
w += 2
}
}
}
function kc(e) {
[Link] = e,
[Link] = function(t, i, s, n, r, o, l) {
o = o || {},
[Link] = {},
[Link] = [],
[Link] = !0,
[Link] = [Link],
this.x = t,
this.y = i,
[Link] = s,
[Link] = 0,
[Link] = 0,
[Link] = n,
[Link] = r,
[Link] = [Link],
[Link] = l,
[Link] = [Link],
[Link] = [Link] != null,
[Link] = [Link],
[Link] = [Link],
[Link] = 2,
[Link] != null ? [Link] = [Link] : [Link] == 0 ?
[Link] = 3 : [Link] == 2 ? [Link] = 0 : [Link] == 4 && ([Link] =
-1),
[Link] = [Link] || 1,
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link] || 0,
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link]
}
,
[Link] = function(t, i) {
return [Link] += t,
[Link] <= 0
}
,
[Link] = function(t, i) {
return t = t || 1,
[Link] * ([Link] || [Link] == 2 || [Link] == 3 ||
[Link] == 4 ? 1 : .6 * t) * (i ? 1 : [Link])
}
,
[Link] = function(t) {
return ![Link] || [Link] && ([Link] == t ||
[Link] && [Link] == [Link])
}
,
[Link] = function(t) {
[Link] && ([Link] && ([Link] *= [Link](.99, t)),
[Link] && ([Link] *= [Link](.99, t)),
[Link] && ([Link] += [Link] * t))
}
}
const j = [{
id: 0,
name: "food",
layer: 0
}, {
id: 1,
name: "walls",
place: !0,
limit: 30,
layer: 0
}, {
id: 2,
name: "spikes",
place: !0,
limit: 15,
layer: 0
}, {
id: 3,
name: "mill",
place: !0,
limit: 7,
sandboxLimit: 299,
layer: 1
}, {
id: 4,
name: "mine",
place: !0,
limit: 1,
layer: 0
}, {
id: 5,
name: "trap",
place: !0,
limit: 6,
layer: -1
}, {
id: 6,
name: "booster",
place: !0,
limit: 12,
sandboxLimit: 299,
layer: -1
}, {
id: 7,
name: "turret",
place: !0,
limit: 2,
layer: 1
}, {
id: 8,
name: "watchtower",
place: !0,
limit: 12,
layer: 1
}, {
id: 9,
name: "buff",
place: !0,
limit: 4,
layer: -1
}, {
id: 10,
name: "spawn",
place: !0,
limit: 1,
layer: -1
}, {
id: 11,
name: "sapling",
place: !0,
limit: 2,
layer: 0
}, {
id: 12,
name: "blocker",
place: !0,
limit: 3,
layer: -1
}, {
id: 13,
name: "teleporter",
place: !0,
limit: 2,
sandboxLimit: 299,
layer: -1
}]
, vc = [{
indx: 0,
layer: 0,
src: "arrow_1",
dmg: 25,
speed: 1.6,
scale: 103,
range: 1e3
}, {
indx: 1,
layer: 1,
dmg: 25,
scale: 20
}, {
indx: 0,
layer: 0,
src: "arrow_1",
dmg: 35,
speed: 2.5,
scale: 103,
range: 1200
}, {
indx: 0,
layer: 0,
src: "arrow_1",
dmg: 30,
speed: 2,
scale: 103,
range: 1200
}, {
indx: 1,
layer: 1,
dmg: 16,
scale: 20
}, {
indx: 0,
layer: 0,
src: "bullet_1",
dmg: 50,
speed: 3.6,
scale: 160,
range: 1400
}]
, xc = [{
id: 0,
type: 0,
name: "tool hammer",
desc: "tool for gathering all resources",
src: "hammer_1",
length: 140,
width: 140,
xOff: -3,
yOff: 18,
dmg: 25,
range: 65,
gather: 1,
speed: 300
}, {
id: 1,
type: 0,
age: 2,
name: "hand axe",
desc: "gathers resources at a higher rate",
src: "axe_1",
length: 140,
width: 140,
xOff: 3,
yOff: 24,
dmg: 30,
spdMult: 1,
range: 70,
gather: 2,
speed: 400
}, {
id: 2,
type: 0,
age: 8,
pre: 1,
name: "great axe",
desc: "deal more damage and gather more resources",
src: "great_axe_1",
length: 140,
width: 140,
xOff: -8,
yOff: 25,
dmg: 35,
spdMult: 1,
range: 75,
gather: 4,
speed: 400
}, {
id: 3,
type: 0,
age: 2,
name: "short sword",
desc: "increased attack power but slower move speed",
src: "sword_1",
iPad: 1.3,
length: 130,
width: 210,
xOff: -8,
yOff: 46,
dmg: 35,
spdMult: .85,
range: 110,
gather: 1,
speed: 300
}, {
id: 4,
type: 0,
age: 8,
pre: 3,
name: "katana",
desc: "greater range and damage",
src: "samurai_1",
iPad: 1.3,
length: 130,
width: 210,
xOff: -8,
yOff: 59,
dmg: 40,
spdMult: .8,
range: 118,
gather: 1,
speed: 300
}, {
id: 5,
type: 0,
age: 2,
name: "polearm",
desc: "long range melee weapon",
src: "spear_1",
iPad: 1.3,
length: 130,
width: 210,
xOff: -8,
yOff: 53,
dmg: 45,
knock: .2,
spdMult: .82,
range: 142,
gather: 1,
speed: 700
}, {
id: 6,
type: 0,
age: 2,
name: "bat",
desc: "fast long range melee weapon",
src: "bat_1",
iPad: 1.3,
length: 110,
width: 180,
xOff: -8,
yOff: 53,
dmg: 20,
knock: .7,
range: 110,
gather: 1,
speed: 300
}, {
id: 7,
type: 0,
age: 2,
name: "daggers",
desc: "really fast short range weapon",
src: "dagger_1",
iPad: .8,
length: 110,
width: 110,
xOff: 18,
yOff: 0,
dmg: 20,
knock: .1,
range: 65,
gather: 1,
hitSlow: .1,
spdMult: 1.13,
speed: 100
}, {
id: 8,
type: 0,
age: 2,
name: "stick",
desc: "great for gathering but very weak",
src: "stick_1",
length: 140,
width: 140,
xOff: 3,
yOff: 24,
dmg: 1,
spdMult: 1,
range: 70,
gather: 7,
speed: 400
}, {
id: 9,
type: 1,
age: 6,
name: "hunting bow",
desc: "bow used for ranged combat and hunting",
src: "bow_1",
req: ["wood", 4],
length: 120,
width: 120,
xOff: -6,
yOff: 0,
projectile: 0,
spdMult: .75,
speed: 600
}, {
id: 10,
type: 1,
age: 6,
name: "great hammer",
desc: "hammer used for destroying structures",
src: "great_hammer_1",
length: 140,
width: 140,
xOff: -9,
yOff: 25,
dmg: 10,
spdMult: .88,
range: 75,
sDmg: 7.5,
gather: 1,
speed: 400
}, {
id: 11,
type: 1,
age: 6,
name: "wooden shield",
desc: "blocks projectiles and reduces melee damage",
src: "shield_1",
length: 120,
width: 120,
shield: .2,
xOff: 6,
yOff: 0,
spdMult: .7
}, {
id: 12,
type: 1,
age: 8,
pre: 9,
name: "crossbow",
desc: "deals more damage and has greater range",
src: "crossbow_1",
req: ["wood", 5],
aboveHand: !0,
armS: .75,
length: 120,
width: 120,
xOff: -4,
yOff: 0,
projectile: 2,
spdMult: .7,
speed: 700
}, {
id: 13,
type: 1,
age: 9,
pre: 12,
name: "repeater crossbow",
desc: "high firerate crossbow with reduced damage",
src: "crossbow_2",
req: ["wood", 10],
aboveHand: !0,
armS: .75,
length: 120,
width: 120,
xOff: -4,
yOff: 0,
projectile: 3,
spdMult: .7,
speed: 230
}, {
id: 14,
type: 1,
age: 6,
name: "mc grabby",
desc: "steals resources from enemies",
src: "grab_1",
length: 130,
width: 210,
xOff: -8,
yOff: 53,
dmg: 0,
steal: 250,
knock: .2,
spdMult: 1.05,
range: 125,
gather: 0,
speed: 700
}, {
id: 15,
type: 1,
age: 9,
pre: 12,
name: "musket",
desc: "slow firerate but high damage and range",
src: "musket_1",
req: ["stone", 10],
aboveHand: !0,
rec: .35,
armS: .6,
hndS: .3,
hndD: 1.6,
length: 205,
width: 205,
xOff: 25,
yOff: 0,
projectile: 5,
hideProjectile: !0,
spdMult: .6,
speed: 1500
}]
, ut = [{
group: j[0],
name: "apple",
desc: "restores 20 health when consumed",
req: ["food", 10],
consume: function(e) {
return [Link](20, e)
},
scale: 22,
holdOffset: 15
}, {
age: 3,
group: j[0],
name: "cookie",
desc: "restores 40 health when consumed",
req: ["food", 15],
consume: function(e) {
return [Link](40, e)
},
scale: 27,
holdOffset: 15
}, {
age: 7,
group: j[0],
name: "cheese",
desc: "restores 30 health and another 50 over 5 seconds",
req: ["food", 25],
consume: function(e) {
return [Link](30, e) || [Link] < 100 ? ([Link] = -10,
[Link] = e,
[Link] = 5,
!0) : !1
},
scale: 27,
holdOffset: 15
}, {
group: j[1],
name: "wood wall",
desc: "provides protection for your village",
req: ["wood", 10],
projDmg: !0,
health: 380,
scale: 50,
holdOffset: 20,
placeOffset: -5
}, {
age: 3,
group: j[1],
name: "stone wall",
desc: "provides improved protection for your village",
req: ["stone", 25],
health: 900,
scale: 50,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
pre: 1,
group: j[1],
name: "castle wall",
desc: "provides powerful protection for your village",
req: ["stone", 35],
health: 1500,
scale: 52,
holdOffset: 20,
placeOffset: -5
}, {
group: j[2],
name: "spikes",
desc: "damages enemies when they touch them",
req: ["wood", 20, "stone", 5],
health: 400,
dmg: 20,
scale: 49,
spritePadding: -23,
holdOffset: 8,
placeOffset: -5
}, {
age: 5,
group: j[2],
name: "greater spikes",
desc: "damages enemies when they touch them",
req: ["wood", 30, "stone", 10],
health: 500,
dmg: 35,
scale: 52,
spritePadding: -23,
holdOffset: 8,
placeOffset: -5
}, {
age: 9,
pre: 1,
group: j[2],
name: "poison spikes",
desc: "poisons enemies when they touch them",
req: ["wood", 35, "stone", 15],
health: 600,
dmg: 30,
pDmg: 5,
scale: 52,
spritePadding: -23,
holdOffset: 8,
placeOffset: -5
}, {
age: 9,
pre: 2,
group: j[2],
name: "spinning spikes",
desc: "damages enemies when they touch them",
req: ["wood", 30, "stone", 20],
health: 500,
dmg: 45,
turnSpeed: .003,
scale: 52,
spritePadding: -23,
holdOffset: 8,
placeOffset: -5
}, {
group: j[3],
name: "windmill",
desc: "generates gold over time",
req: ["wood", 50, "stone", 10],
health: 400,
pps: 1,
turnSpeed: .0016,
spritePadding: 25,
iconLineMult: 12,
scale: 45,
holdOffset: 20,
placeOffset: 5
}, {
age: 5,
pre: 1,
group: j[3],
name: "faster windmill",
desc: "generates more gold over time",
req: ["wood", 60, "stone", 20],
health: 500,
pps: 1.5,
turnSpeed: .0025,
spritePadding: 25,
iconLineMult: 12,
scale: 47,
holdOffset: 20,
placeOffset: 5
}, {
age: 8,
pre: 1,
group: j[3],
name: "power mill",
desc: "generates more gold over time",
req: ["wood", 100, "stone", 50],
health: 800,
pps: 2,
turnSpeed: .005,
spritePadding: 25,
iconLineMult: 12,
scale: 47,
holdOffset: 20,
placeOffset: 5
}, {
age: 5,
group: j[4],
type: 2,
name: "mine",
desc: "allows you to mine stone",
req: ["wood", 20, "stone", 100],
iconLineMult: 12,
scale: 65,
holdOffset: 20,
placeOffset: 0
}, {
age: 5,
group: j[11],
type: 0,
name: "sapling",
desc: "allows you to farm wood",
req: ["wood", 150],
iconLineMult: 12,
colDiv: .5,
scale: 110,
holdOffset: 50,
placeOffset: -15
}, {
age: 4,
group: j[5],
name: "pit trap",
desc: "pit that traps enemies if they walk over it",
req: ["wood", 30, "stone", 30],
trap: !0,
ignoreCollision: !0,
hideFromEnemy: !0,
health: 500,
colDiv: .2,
scale: 50,
holdOffset: 20,
placeOffset: -5
}, {
age: 4,
group: j[6],
name: "boost pad",
desc: "provides boost when stepped on",
req: ["stone", 20, "wood", 5],
ignoreCollision: !0,
boostSpeed: 1.5,
health: 150,
colDiv: .7,
scale: 45,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: j[7],
doUpdate: !0,
name: "turret",
desc: "defensive structure that shoots at enemies",
req: ["wood", 200, "stone", 150],
health: 800,
projectile: 1,
shootRange: 700,
shootRate: 2200,
scale: 43,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: j[8],
name: "platform",
desc: "platform to shoot over walls and cross over water",
req: ["wood", 20],
ignoreCollision: !0,
zIndex: 1,
health: 300,
scale: 43,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: j[9],
name: "healing pad",
desc: "standing on it will slowly heal you",
req: ["wood", 30, "food", 10],
ignoreCollision: !0,
healCol: 15,
health: 400,
colDiv: .7,
scale: 45,
holdOffset: 20,
placeOffset: -5
}, {
age: 9,
group: j[10],
name: "spawn pad",
desc: "you will spawn here when you die but it will dissapear",
req: ["wood", 100, "stone", 100],
health: 400,
ignoreCollision: !0,
spawnPoint: !0,
scale: 45,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: j[12],
name: "blocker",
desc: "blocks building in radius",
req: ["wood", 30, "stone", 25],
ignoreCollision: !0,
blocker: 300,
health: 400,
colDiv: .7,
scale: 45,
holdOffset: 20,
placeOffset: -5
}, {
age: 7,
group: j[13],
name: "teleporter",
desc: "teleports you to a random point on the map",
req: ["wood", 60, "stone", 60],
ignoreCollision: !0,
teleport: !0,
health: 200,
colDiv: .7,
scale: 45,
holdOffset: 20,
placeOffset: -5
}];
for (let e = 0; e < [Link]; ++e)
ut[e].id = e,
ut[e].pre && (ut[e].pre = e - ut[e].pre);
const R = {
groups: j,
projectiles: vc,
weapons: xc,
list: ut
}
, bc = ["ahole", "anus", "ash0le", "ash0les", "asholes", "ass", "Ass Monkey",
"Assface", "assh0le", "assh0lez", "asshole", "assholes", "assholz", "asswipe",
"azzhole", "bassterds", "bastard", "bastards", "bastardz", "basterds", "basterdz",
"Biatch", "bitch", "bitches", "Blow Job", "boffing", "butthole", "buttwipe",
"c0ck", "c0cks", "c0k", "Carpet Muncher", "cawk", "cawks", "Clit", "cnts", "cntz",
"cock", "cockhead", "cock-head", "cocks", "CockSucker", "cock-sucker", "crap",
"cum", "cunt", "cunts", "cuntz", "dick", "dild0", "dild0s", "dildo", "dildos",
"dilld0", "dilld0s", "dominatricks", "dominatrics", "dominatrix", "dyke", "enema",
"f u c k", "f u c k e r", "fag", "fag1t", "faget", "fagg1t", "faggit", "faggot",
"fagg0t", "fagit", "fags", "fagz", "faig", "faigs", "fart", "flipping the bird",
"fuck", "fucker", "fuckin", "fucking", "fucks", "Fudge Packer", "fuk", "Fukah",
"Fuken", "fuker", "Fukin", "Fukk", "Fukkah", "Fukken", "Fukker", "Fukkin", "g00k",
"God-damned", "h00r", "h0ar", "h0re", "hells", "hoar", "hoor", "hoore", "jackoff",
"jap", "japs", "jerk-off", "jisim", "jiss", "jizm", "jizz", "knob", "knobs",
"knobz", "kunt", "kunts", "kuntz", "Lezzian", "Lipshits", "Lipshitz", "masochist",
"masokist", "massterbait", "masstrbait", "masstrbate", "masterbaiter",
"masterbate", "masterbates", "Motha Fucker", "Motha Fuker", "Motha Fukkah", "Motha
Fukker", "Mother Fucker", "Mother Fukah", "Mother Fuker", "Mother Fukkah", "Mother
Fukker", "mother-fucker", "Mutha Fucker", "Mutha Fukah", "Mutha Fuker", "Mutha
Fukkah", "Mutha Fukker", "n1gr", "nastt", "nigger;", "nigur;", "niiger;", "niigr;",
"orafis", "orgasim;", "orgasm", "orgasum", "oriface", "orifice", "orifiss",
"packi", "packie", "packy", "paki", "pakie", "paky", "pecker", "peeenus",
"peeenusss", "peenus", "peinus", "pen1s", "penas", "penis", "penis-breath",
"penus", "penuus", "Phuc", "Phuck", "Phuk", "Phuker", "Phukker", "polac", "polack",
"polak", "Poonani", "pr1c", "pr1ck", "pr1k", "pusse", "pussee", "pussy", "puuke",
"puuker", "qweir", "recktum", "rectum", "retard", "sadist", "scank", "schlong",
"screwing", "semen", "sex", "sexy", "Sh!t", "sh1t", "sh1ter", "sh1ts", "sh1tter",
"sh1tz", "shit", "shits", "shitter", "Shitty", "Shity", "shitz", "Shyt", "Shyte",
"Shytty", "Shyty", "skanck", "skank", "skankee", "skankey", "skanks", "Skanky",
"slag", "slut", "sluts", "Slutty", "slutz", "son-of-a-bitch", "tit", "turd",
"va1jina", "vag1na", "vagiina", "vagina", "vaj1na", "vajina", "vullva", "vulva",
"w0p", "wh00r", "wh0re", "whore", "xrated", "xxx", "b!+ch", "bitch", "blowjob",
"clit", "arschloch", "fuck", "shit", "ass", "asshole", "b!tch", "b17ch", "b1tch",
"bastard", "bi+ch", "boiolas", "buceta", "c0ck", "cawk", "chink", "cipa", "clits",
"cock", "cum", "cunt", "dildo", "dirsa", "ejakulate", "fatass", "fcuk", "fuk",
"fux0r", "hoer", "hore", "jism", "kawk", "l3itch", "l3i+ch", "masturbate",
"masterbat*", "masterbat3", "motherfucker", "s.o.b.", "mofo", "nazi", "nigga",
"nigger", "nutsack", "phuck", "pimpis", "pusse", "pussy", "scrotum", "sh!t",
"shemale", "shi+", "sh!+", "slut", "smut", "teets", "tits", "boobs", "b00bs",
"teez", "testical", "testicle", "titt", "w00se", "jackoff", "wank", "whoar",
"whore", "*damn", "*dyke", "*fuck*", "*shit*", "@$$", "amcik", "andskota", "arse*",
"assrammer", "ayir", "bi7ch", "bitch*", "bollock*", "breasts", "butt-pirate",
"cabron", "cazzo", "chraa", "chuj", "Cock*", "cunt*", "d4mn", "daygo", "dego",
"dick*", "dike*", "dupa", "dziwka", "ejackulate", "Ekrem*", "Ekto", "enculer",
"faen", "fag*", "fanculo", "fanny", "feces", "feg", "Felcher", "ficken", "fitt*",
"Flikker", "foreskin", "Fotze", "Fu(*", "fuk*", "futkretzn", "gook", "guiena",
"h0r", "h4x0r", "hell", "helvete", "hoer*", "honkey", "Huevon", "hui", "injun",
"jizz", "kanker*", "kike", "klootzak", "kraut", "knulle", "kuk", "kuksuger",
"Kurac", "kurwa", "kusi*", "kyrpa*", "lesbo", "mamhoon", "masturbat*", "merd*",
"mibun", "monkleigh", "mouliewop", "muie", "mulkku", "muschi", "nazis",
"nepesaurio", "nigger*", "orospu", "paska*", "perse", "picka", "pierdol*",
"pillu*", "pimmel", "piss*", "pizda", "poontsee", "poop", "porn", "p0rn", "pr0n",
"preteen", "pula", "pule", "puta", "puto", "qahbeh", "queef*", "rautenberg",
"schaffer", "scheiss*", "schlampe", "schmuck", "screw", "sh!t*", "sharmuta",
"sharmute", "shipal", "shiz", "skribz", "skurwysyn", "sphencter", "spic",
"spierdalaj", "splooge", "suka", "b00b*", "testicle*", "titt*", "twat", "vittu",
"wank*", "wetback*", "wichser", "wop*", "yed", "zabourah"]
, Sc = {
words: bc
};
var Tc = {
"4r5e": 1,
"5h1t": 1,
"5hit": 1,
a55: 1,
anal: 1,
anus: 1,
ar5e: 1,
arrse: 1,
arse: 1,
ass: 1,
"ass-fucker": 1,
asses: 1,
assfucker: 1,
assfukka: 1,
asshole: 1,
assholes: 1,
asswhole: 1,
a_s_s: 1,
"b!tch": 1,
b00bs: 1,
b17ch: 1,
b1tch: 1,
ballbag: 1,
balls: 1,
ballsack: 1,
bastard: 1,
beastial: 1,
beastiality: 1,
bellend: 1,
bestial: 1,
bestiality: 1,
"bi+ch": 1,
biatch: 1,
bitch: 1,
bitcher: 1,
bitchers: 1,
bitches: 1,
bitchin: 1,
bitching: 1,
bloody: 1,
"blow job": 1,
blowjob: 1,
blowjobs: 1,
boiolas: 1,
bollock: 1,
bollok: 1,
boner: 1,
boob: 1,
boobs: 1,
booobs: 1,
boooobs: 1,
booooobs: 1,
booooooobs: 1,
breasts: 1,
buceta: 1,
bugger: 1,
bum: 1,
"bunny fucker": 1,
butt: 1,
butthole: 1,
buttmuch: 1,
buttplug: 1,
c0ck: 1,
c0cksucker: 1,
"carpet muncher": 1,
cawk: 1,
chink: 1,
cipa: 1,
cl1t: 1,
clit: 1,
clitoris: 1,
clits: 1,
cnut: 1,
cock: 1,
"cock-sucker": 1,
cockface: 1,
cockhead: 1,
cockmunch: 1,
cockmuncher: 1,
cocks: 1,
cocksuck: 1,
cocksucked: 1,
cocksucker: 1,
cocksucking: 1,
cocksucks: 1,
cocksuka: 1,
cocksukka: 1,
cok: 1,
cokmuncher: 1,
coksucka: 1,
coon: 1,
cox: 1,
crap: 1,
cum: 1,
cummer: 1,
cumming: 1,
cums: 1,
cumshot: 1,
cunilingus: 1,
cunillingus: 1,
cunnilingus: 1,
cunt: 1,
cuntlick: 1,
cuntlicker: 1,
cuntlicking: 1,
cunts: 1,
cyalis: 1,
cyberfuc: 1,
cyberfuck: 1,
cyberfucked: 1,
cyberfucker: 1,
cyberfuckers: 1,
cyberfucking: 1,
d1ck: 1,
damn: 1,
dick: 1,
dickhead: 1,
dildo: 1,
dildos: 1,
dink: 1,
dinks: 1,
dirsa: 1,
dlck: 1,
"dog-fucker": 1,
doggin: 1,
dogging: 1,
donkeyribber: 1,
doosh: 1,
duche: 1,
dyke: 1,
ejaculate: 1,
ejaculated: 1,
ejaculates: 1,
ejaculating: 1,
ejaculatings: 1,
ejaculation: 1,
ejakulate: 1,
"f u c k": 1,
"f u c k e r": 1,
f4nny: 1,
fag: 1,
fagging: 1,
faggitt: 1,
faggot: 1,
faggs: 1,
fagot: 1,
fagots: 1,
fags: 1,
fanny: 1,
fannyflaps: 1,
fannyfucker: 1,
fanyy: 1,
fatass: 1,
fcuk: 1,
fcuker: 1,
fcuking: 1,
feck: 1,
fecker: 1,
felching: 1,
fellate: 1,
fellatio: 1,
fingerfuck: 1,
fingerfucked: 1,
fingerfucker: 1,
fingerfuckers: 1,
fingerfucking: 1,
fingerfucks: 1,
fistfuck: 1,
fistfucked: 1,
fistfucker: 1,
fistfuckers: 1,
fistfucking: 1,
fistfuckings: 1,
fistfucks: 1,
flange: 1,
fook: 1,
fooker: 1,
fuck: 1,
fucka: 1,
fucked: 1,
fucker: 1,
fuckers: 1,
fuckhead: 1,
fuckheads: 1,
fuckin: 1,
fucking: 1,
fuckings: 1,
fuckingshitmotherfucker: 1,
fuckme: 1,
fucks: 1,
fuckwhit: 1,
fuckwit: 1,
"fudge packer": 1,
fudgepacker: 1,
fuk: 1,
fuker: 1,
fukker: 1,
fukkin: 1,
fuks: 1,
fukwhit: 1,
fukwit: 1,
fux: 1,
fux0r: 1,
f_u_c_k: 1,
gangbang: 1,
gangbanged: 1,
gangbangs: 1,
gaylord: 1,
gaysex: 1,
goatse: 1,
God: 1,
"god-dam": 1,
"god-damned": 1,
goddamn: 1,
goddamned: 1,
hardcoresex: 1,
hell: 1,
heshe: 1,
hoar: 1,
hoare: 1,
hoer: 1,
homo: 1,
hore: 1,
horniest: 1,
horny: 1,
hotsex: 1,
"jack-off": 1,
jackoff: 1,
jap: 1,
"jerk-off": 1,
jism: 1,
jiz: 1,
jizm: 1,
jizz: 1,
kawk: 1,
knob: 1,
knobead: 1,
knobed: 1,
knobend: 1,
knobhead: 1,
knobjocky: 1,
knobjokey: 1,
kock: 1,
kondum: 1,
kondums: 1,
kum: 1,
kummer: 1,
kumming: 1,
kums: 1,
kunilingus: 1,
"l3i+ch": 1,
l3itch: 1,
labia: 1,
lust: 1,
lusting: 1,
m0f0: 1,
m0fo: 1,
m45terbate: 1,
ma5terb8: 1,
ma5terbate: 1,
masochist: 1,
"master-bate": 1,
masterb8: 1,
"masterbat*": 1,
masterbat3: 1,
masterbate: 1,
masterbation: 1,
masterbations: 1,
masturbate: 1,
"mo-fo": 1,
mof0: 1,
mofo: 1,
mothafuck: 1,
mothafucka: 1,
mothafuckas: 1,
mothafuckaz: 1,
mothafucked: 1,
mothafucker: 1,
mothafuckers: 1,
mothafuckin: 1,
mothafucking: 1,
mothafuckings: 1,
mothafucks: 1,
"mother fucker": 1,
motherfuck: 1,
motherfucked: 1,
motherfucker: 1,
motherfuckers: 1,
motherfuckin: 1,
motherfucking: 1,
motherfuckings: 1,
motherfuckka: 1,
motherfucks: 1,
muff: 1,
mutha: 1,
muthafecker: 1,
muthafuckker: 1,
muther: 1,
mutherfucker: 1,
n1gga: 1,
n1gger: 1,
nazi: 1,
nigg3r: 1,
nigg4h: 1,
nigga: 1,
niggah: 1,
niggas: 1,
niggaz: 1,
nigger: 1,
niggers: 1,
nob: 1,
"nob jokey": 1,
nobhead: 1,
nobjocky: 1,
nobjokey: 1,
numbnuts: 1,
nutsack: 1,
orgasim: 1,
orgasims: 1,
orgasm: 1,
orgasms: 1,
p0rn: 1,
pawn: 1,
pecker: 1,
penis: 1,
penisfucker: 1,
phonesex: 1,
phuck: 1,
phuk: 1,
phuked: 1,
phuking: 1,
phukked: 1,
phukking: 1,
phuks: 1,
phuq: 1,
pigfucker: 1,
pimpis: 1,
piss: 1,
pissed: 1,
pisser: 1,
pissers: 1,
pisses: 1,
pissflaps: 1,
pissin: 1,
pissing: 1,
pissoff: 1,
poop: 1,
porn: 1,
porno: 1,
pornography: 1,
pornos: 1,
prick: 1,
pricks: 1,
pron: 1,
pube: 1,
pusse: 1,
pussi: 1,
pussies: 1,
pussy: 1,
pussys: 1,
rectum: 1,
retard: 1,
rimjaw: 1,
rimming: 1,
"s hit": 1,
"s.o.b.": 1,
sadist: 1,
schlong: 1,
screwing: 1,
scroat: 1,
scrote: 1,
scrotum: 1,
semen: 1,
sex: 1,
"sh!+": 1,
"sh!t": 1,
sh1t: 1,
shag: 1,
shagger: 1,
shaggin: 1,
shagging: 1,
shemale: 1,
"shi+": 1,
shit: 1,
shitdick: 1,
shite: 1,
shited: 1,
shitey: 1,
shitfuck: 1,
shitfull: 1,
shithead: 1,
shiting: 1,
shitings: 1,
shits: 1,
shitted: 1,
shitter: 1,
shitters: 1,
shitting: 1,
shittings: 1,
shitty: 1,
skank: 1,
slut: 1,
sluts: 1,
smegma: 1,
smut: 1,
snatch: 1,
"son-of-a-bitch": 1,
spac: 1,
spunk: 1,
s_h_i_t: 1,
t1tt1e5: 1,
t1tties: 1,
teets: 1,
teez: 1,
testical: 1,
testicle: 1,
tit: 1,
titfuck: 1,
tits: 1,
titt: 1,
tittie5: 1,
tittiefucker: 1,
titties: 1,
tittyfuck: 1,
tittywank: 1,
titwank: 1,
tosser: 1,
turd: 1,
tw4t: 1,
twat: 1,
twathead: 1,
twatty: 1,
twunt: 1,
twunter: 1,
v14gra: 1,
v1gra: 1,
vagina: 1,
viagra: 1,
vulva: 1,
w00se: 1,
wang: 1,
wank: 1,
wanker: 1,
wanky: 1,
whoar: 1,
whore: 1,
willies: 1,
willy: 1,
xrated: 1,
xxx: 1
}
, Ic = ["4r5e", "5h1t", "5hit", "a55", "anal", "anus", "ar5e", "arrse", "arse",
"ass", "ass-fucker", "asses", "assfucker", "assfukka", "asshole", "assholes",
"asswhole", "a_s_s", "b!tch", "b00bs", "b17ch", "b1tch", "ballbag", "balls",
"ballsack", "bastard", "beastial", "beastiality", "bellend", "bestial",
"bestiality", "bi+ch", "biatch", "bitch", "bitcher", "bitchers", "bitches",
"bitchin", "bitching", "bloody", "blow job", "blowjob", "blowjobs", "boiolas",
"bollock", "bollok", "boner", "boob", "boobs", "booobs", "boooobs", "booooobs",
"booooooobs", "breasts", "buceta", "bugger", "bum", "bunny fucker", "butt",
"butthole", "buttmuch", "buttplug", "c0ck", "c0cksucker", "carpet muncher", "cawk",
"chink", "cipa", "cl1t", "clit", "clitoris", "clits", "cnut", "cock", "cock-
sucker", "cockface", "cockhead", "cockmunch", "cockmuncher", "cocks", "cocksuck",
"cocksucked", "cocksucker", "cocksucking", "cocksucks", "cocksuka", "cocksukka",
"cok", "cokmuncher", "coksucka", "coon", "cox", "crap", "cum", "cummer", "cumming",
"cums", "cumshot", "cunilingus", "cunillingus", "cunnilingus", "cunt", "cuntlick",
"cuntlicker", "cuntlicking", "cunts", "cyalis", "cyberfuc", "cyberfuck",
"cyberfucked", "cyberfucker", "cyberfuckers", "cyberfucking", "d1ck", "damn",
"dick", "dickhead", "dildo", "dildos", "dink", "dinks", "dirsa", "dlck", "dog-
fucker", "doggin", "dogging", "donkeyribber", "doosh", "duche", "dyke",
"ejaculate", "ejaculated", "ejaculates", "ejaculating", "ejaculatings",
"ejaculation", "ejakulate", "f u c k", "f u c k e r", "f4nny", "fag", "fagging",
"faggitt", "faggot", "faggs", "fagot", "fagots", "fags", "fanny", "fannyflaps",
"fannyfucker", "fanyy", "fatass", "fcuk", "fcuker", "fcuking", "feck", "fecker",
"felching", "fellate", "fellatio", "fingerfuck", "fingerfucked", "fingerfucker",
"fingerfuckers", "fingerfucking", "fingerfucks", "fistfuck", "fistfucked",
"fistfucker", "fistfuckers", "fistfucking", "fistfuckings", "fistfucks", "flange",
"fook", "fooker", "fuck", "fucka", "fucked", "fucker", "fuckers", "fuckhead",
"fuckheads", "fuckin", "fucking", "fuckings", "fuckingshitmotherfucker", "fuckme",
"fucks", "fuckwhit", "fuckwit", "fudge packer", "fudgepacker", "fuk", "fuker",
"fukker", "fukkin", "fuks", "fukwhit", "fukwit", "fux", "fux0r", "f_u_c_k",
"gangbang", "gangbanged", "gangbangs", "gaylord", "gaysex", "goatse", "God", "god-
dam", "god-damned", "goddamn", "goddamned", "hardcoresex", "hell", "heshe", "hoar",
"hoare", "hoer", "homo", "hore", "horniest", "horny", "hotsex", "jack-off",
"jackoff", "jap", "jerk-off", "jism", "jiz", "jizm", "jizz", "kawk", "knob",
"knobead", "knobed", "knobend", "knobhead", "knobjocky", "knobjokey", "kock",
"kondum", "kondums", "kum", "kummer", "kumming", "kums", "kunilingus", "l3i+ch",
"l3itch", "labia", "lust", "lusting", "m0f0", "m0fo", "m45terbate", "ma5terb8",
"ma5terbate", "masochist", "master-bate", "masterb8", "masterbat*", "masterbat3",
"masterbate", "masterbation", "masterbations", "masturbate", "mo-fo", "mof0",
"mofo", "mothafuck", "mothafucka", "mothafuckas", "mothafuckaz", "mothafucked",
"mothafucker", "mothafuckers", "mothafuckin", "mothafucking", "mothafuckings",
"mothafucks", "mother fucker", "motherfuck", "motherfucked", "motherfucker",
"motherfuckers", "motherfuckin", "motherfucking", "motherfuckings", "motherfuckka",
"motherfucks", "muff", "mutha", "muthafecker", "muthafuckker", "muther",
"mutherfucker", "n1gga", "n1gger", "nazi", "nigg3r", "nigg4h", "nigga", "niggah",
"niggas", "niggaz", "nigger", "niggers", "nob", "nob jokey", "nobhead", "nobjocky",
"nobjokey", "numbnuts", "nutsack", "orgasim", "orgasims", "orgasm", "orgasms",
"p0rn", "pawn", "pecker", "penis", "penisfucker", "phonesex", "phuck", "phuk",
"phuked", "phuking", "phukked", "phukking", "phuks", "phuq", "pigfucker", "pimpis",
"piss", "pissed", "pisser", "pissers", "pisses", "pissflaps", "pissin", "pissing",
"pissoff", "poop", "porn", "porno", "pornography", "pornos", "prick", "pricks",
"pron", "pube", "pusse", "pussi", "pussies", "pussy", "pussys", "rectum", "retard",
"rimjaw", "rimming", "s hit", "s.o.b.", "sadist", "schlong", "screwing", "scroat",
"scrote", "scrotum", "semen", "sex", "sh!+", "sh!t", "sh1t", "shag", "shagger",
"shaggin", "shagging", "shemale", "shi+", "shit", "shitdick", "shite", "shited",
"shitey", "shitfuck", "shitfull", "shithead", "shiting", "shitings", "shits",
"shitted", "shitter", "shitters", "shitting", "shittings", "shitty", "skank",
"slut", "sluts", "smegma", "smut", "snatch", "son-of-a-bitch", "spac", "spunk",
"s_h_i_t", "t1tt1e5", "t1tties", "teets", "teez", "testical", "testicle", "tit",
"titfuck", "tits", "titt", "tittie5", "tittiefucker", "titties", "tittyfuck",
"tittywank", "titwank", "tosser", "turd", "tw4t", "twat", "twathead", "twatty",
"twunt", "twunter", "v14gra", "v1gra", "vagina", "viagra", "vulva", "w00se",
"wang", "wank", "wanker", "wanky", "whoar", "whore", "willies", "willy", "xrated",
"xxx"]
, Mc = /\b(4r5e|5h1t|5hit|a55|anal|anus|ar5e|arrse|arse|ass|ass-fucker|asses|
assfucker|assfukka|asshole|assholes|asswhole|a_s_s|b!tch|b00bs|b17ch|b1tch|ballbag|
balls|ballsack|bastard|beastial|beastiality|bellend|bestial|bestiality|bi\+ch|
biatch|bitch|bitcher|bitchers|bitches|bitchin|bitching|bloody|blow job|blowjob|
blowjobs|boiolas|bollock|bollok|boner|boob|boobs|booobs|boooobs|booooobs|
booooooobs|breasts|buceta|bugger|bum|bunny fucker|butt|butthole|buttmuch|buttplug|
c0ck|c0cksucker|carpet muncher|cawk|chink|cipa|cl1t|clit|clitoris|clits|cnut|cock|
cock-sucker|cockface|cockhead|cockmunch|cockmuncher|cocks|cocksuck|cocksucked|
cocksucker|cocksucking|cocksucks|cocksuka|cocksukka|cok|cokmuncher|coksucka|coon|
cox|crap|cum|cummer|cumming|cums|cumshot|cunilingus|cunillingus|cunnilingus|cunt|
cuntlick|cuntlicker|cuntlicking|cunts|cyalis|cyberfuc|cyberfuck|cyberfucked|
cyberfucker|cyberfuckers|cyberfucking|d1ck|damn|dick|dickhead|dildo|dildos|dink|
dinks|dirsa|dlck|dog-fucker|doggin|dogging|donkeyribber|doosh|duche|dyke|ejaculate|
ejaculated|ejaculates|ejaculating|ejaculatings|ejaculation|ejakulate|f u c k|f u c
k e r|f4nny|fag|fagging|faggitt|faggot|faggs|fagot|fagots|fags|fanny|fannyflaps|
fannyfucker|fanyy|fatass|fcuk|fcuker|fcuking|feck|fecker|felching|fellate|fellatio|
fingerfuck|fingerfucked|fingerfucker|fingerfuckers|fingerfucking|fingerfucks|
fistfuck|fistfucked|fistfucker|fistfuckers|fistfucking|fistfuckings|fistfucks|
flange|fook|fooker|fuck|fucka|fucked|fucker|fuckers|fuckhead|fuckheads|fuckin|
fucking|fuckings|fuckingshitmotherfucker|fuckme|fucks|fuckwhit|fuckwit|fudge
packer|fudgepacker|fuk|fuker|fukker|fukkin|fuks|fukwhit|fukwit|fux|fux0r|f_u_c_k|
gangbang|gangbanged|gangbangs|gaylord|gaysex|goatse|God|god-dam|god-damned|goddamn|
goddamned|hardcoresex|hell|heshe|hoar|hoare|hoer|homo|hore|horniest|horny|hotsex|
jack-off|jackoff|jap|jerk-off|jism|jiz|jizm|jizz|kawk|knob|knobead|knobed|knobend|
knobhead|knobjocky|knobjokey|kock|kondum|kondums|kum|kummer|kumming|kums|
kunilingus|l3i\+ch|l3itch|labia|lust|lusting|m0f0|m0fo|m45terbate|ma5terb8|
ma5terbate|masochist|master-bate|masterb8|masterbat*|masterbat3|masterbate|
masterbation|masterbations|masturbate|mo-fo|mof0|mofo|mothafuck|mothafucka|
mothafuckas|mothafuckaz|mothafucked|mothafucker|mothafuckers|mothafuckin|
mothafucking|mothafuckings|mothafucks|mother fucker|motherfuck|motherfucked|
motherfucker|motherfuckers|motherfuckin|motherfucking|motherfuckings|motherfuckka|
motherfucks|muff|mutha|muthafecker|muthafuckker|muther|mutherfucker|n1gga|n1gger|
nazi|nigg3r|nigg4h|nigga|niggah|niggas|niggaz|nigger|niggers|nob|nob jokey|nobhead|
nobjocky|nobjokey|numbnuts|nutsack|orgasim|orgasims|orgasm|orgasms|p0rn|pawn|
pecker|penis|penisfucker|phonesex|phuck|phuk|phuked|phuking|phukked|phukking|phuks|
phuq|pigfucker|pimpis|piss|pissed|pisser|pissers|pisses|pissflaps|pissin|pissing|
pissoff|poop|porn|porno|pornography|pornos|prick|pricks|pron|pube|pusse|pussi|
pussies|pussy|pussys|rectum|retard|rimjaw|rimming|s hit|s.o.b.|sadist|schlong|
screwing|scroat|scrote|scrotum|semen|sex|sh!\+|sh!t|sh1t|shag|shagger|shaggin|
shagging|shemale|shi\+|shit|shitdick|shite|shited|shitey|shitfuck|shitfull|
shithead|shiting|shitings|shits|shitted|shitter|shitters|shitting|shittings|shitty|
skank|slut|sluts|smegma|smut|snatch|son-of-a-bitch|spac|spunk|s_h_i_t|t1tt1e5|
t1tties|teets|teez|testical|testicle|tit|titfuck|tits|titt|tittie5|tittiefucker|
titties|tittyfuck|tittywank|titwank|tosser|turd|tw4t|twat|twathead|twatty|twunt|
twunter|v14gra|v1gra|vagina|viagra|vulva|w00se|wang|wank|wanker|wanky|whoar|whore|
willies|willy|xrated|xxx)\b/gi
, Ec = {
object: Tc,
array: Ic,
regex: Mc
};
const Pc = [Link]
, Cc = [Link];
class Ac {
constructor(t={}) {
[Link](this, {
list: [Link] && [] || [Link](Pc, [Cc, [Link]
|| []]),
exclude: [Link] || [],
splitRegex: [Link] || /\b/,
placeHolder: [Link] || "*",
regex: [Link] || /[^a-zA-Z0-9|\$|\@]|\^/g,
replaceRegex: [Link] || /\w/g
})
}
isProfane(t) {
return [Link](i=>{
const s = new RegExp(`\\b ${[Link](/(\W)/g, "\\$1")}\\b`,"gi");
return ![Link]([Link]()) && [Link](t)
}
).length > 0 || !1
}
replaceWord(t) {
return [Link]([Link], "").replace([Link],
[Link])
}
clean(t) {
return [Link]([Link]).map(i=>[Link](i) ?
[Link](i) : i).join([Link](t)[0])
}
addWords() {
let t = [Link](arguments);
[Link](...t),
[Link](i=>[Link]()).forEach(i=>{
[Link](i) &&
[Link]([Link](i), 1)
}
)
}
removeWords() {
[Link](...[Link](arguments).map(t=>[Link]()))
}
}
var Dc = Ac;
const Oc = Di(Dc)
, Xr = new Oc
, Rc = ["jew", "black", "baby", "child", "white", "porn", "pedo", "trump",
"clinton", "hitler", "nazi", "gay", "pride", "sex", "pleasure", "touch", "poo",
"kids", "rape", "white power", "nigga", "nig nog", "doggy", "rapist", "boner",
"nigger", "nigg", "finger", "nogger", "nagger", "nig", "fag", "gai", "pole",
"stripper", "penis", "vagina", "pussy", "nazi", "hitler", "stalin", "burn",
"chamber", "cock", "peen", "dick", "spick", "nieger", "die", "satan", "n|ig",
"nlg", "cunt", "c0ck", "fag", "lick", "condom", "anal", "shit", "phile", "little",
"kids", "free KR", "tiny", "sidney", "ass", "kill", ".io", "(dot)", "[dot]",
"mini", "whiore", "whore", "faggot", "github", "1337", "666", "satan", "senpa",
"discord", "d1scord", "mistik", ".io", "[Link]", "sidney", "sid", "senpaio",
"vries", "asa"];
[Link](...Rc);
const Os = [Link]
, rt = [Link]
, ot = [Link]
, Rs = [Link]
, _c = [Link];
function Bc(e, t, i, s, n, r, o, l, c, a, u, p, h, m) {
[Link] = e,
[Link] = t,
[Link] = 0,
[Link] = null,
[Link] = 0,
[Link] = 0,
[Link] = 0,
[Link] = {};
for (var w = 0; w < [Link]; ++w)
u[w].price <= 0 && ([Link][u[w].id] = 1);
[Link] = {};
for (var w = 0; w < [Link]; ++w)
a[w].price <= 0 && ([Link][a[w].id] = 1);
[Link] = 0,
[Link] = 0,
[Link] = !1,
[Link] = {},
[Link] = !0,
[Link] = 0,
[Link] = void 0,
[Link] = 0,
[Link] = 0,
[Link] = 0,
[Link] = 0,
[Link] = function(k) {
[Link] = !0,
[Link] = !0,
[Link] = !1,
[Link] = !1,
[Link] = 0,
[Link] = 0,
[Link] = 0,
[Link] = 0,
[Link] = {},
[Link] = 0,
[Link] = 0,
[Link] = 0,
[Link] = 0,
[Link] = 0,
[Link] = -1,
[Link] = 0,
[Link] = {},
[Link] = 0,
[Link] = 300,
[Link] = 0,
[Link] = 1,
[Link] = 0,
[Link] = 2,
[Link] = 0,
this.x = 0,
this.y = 0,
[Link] = 0,
[Link] = 0,
[Link] = 0,
[Link] = 1,
[Link] = 0,
[Link] = 0,
[Link] = 0,
[Link] = 0,
[Link] = 100,
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link](),
[Link](k),
[Link] = [0, 3, 6, 10],
[Link] = [0],
[Link] = 0,
[Link] = [],
[Link] = {},
[Link] = 0
}
,
[Link] = function() {
[Link] = void 0
}
,
[Link] = function(k) {
for (let T = 0; T < [Link]; ++T)
this[[Link][T]] = k ? 100 : 0
}
,
[Link] = function(k) {
const T = [Link][k];
if (T) {
for (let O = 0; O < [Link]; ++O)
if ([Link][[Link][O]].group == [Link])
return [Link] == [Link][O] && ([Link] =
k),
[Link][O] = k,
!0;
return [Link](k),
!0
}
return !1
}
,
[Link] = function(k) {
if (k) {
[Link] = "unknown";
let T = [Link] + "";
T = [Link](0, [Link]),
T = [Link](/[^\w:\(\)\/? -]+/gmi, " "),
T = [Link](/[^\x00-\x7F]/g, " "),
T = [Link]();
let O = !1;
const V = [Link]().replace(/\s/g, "").replace(/1/g,
"i").replace(/0/g, "o").replace(/5/g, "s");
for (const N of [Link])
if ([Link](N) != -1) {
O = !0;
break
}
[Link] > 0 && !O && ([Link] = T),
[Link] = 0,
[Link][[Link]] && ([Link] = [Link])
}
}
,
[Link] = function() {
return [[Link], [Link], [Link], [Link](this.x, 2), [Link](this.y,
2), [Link]([Link], 3), [Link], [Link], [Link], [Link]]
}
,
[Link] = function(k) {
[Link] = k[0],
[Link] = k[1],
[Link] = k[2],
this.x = k[3],
this.y = k[4],
[Link] = k[5],
[Link] = k[6],
[Link] = k[7],
[Link] = k[8],
[Link] = k[9]
}
;
let v = 0;
[Link] = function(k) {
if (![Link])
return;
if (([Link](this.x, this.y, [Link], [Link])
|| 0) < [Link] && ([Link] += k,

[Link] >= 1e3 && ([Link]([Link],


null),
[Link]([Link], "8", [Link](this.x), [Link](this.y),
[Link], -1),
[Link] %= 1e3)),
[Link] > 0 && ([Link] -= k,
[Link] <= 0 && ([Link] = 0,
[Link] = 0)),
v -= k,
v <= 0) {
const _ = ([Link] && [Link] ? [Link] :
0) + ([Link] && [Link] ? [Link] : 0);
_ && [Link](_, this),
[Link] && ([Link](-[Link],
[Link]),
[Link] -= 1,
[Link] <= 0 &&
([Link] = 0)),
[Link] && [Link]([Link], this),
v = 1e3
}
if (![Link])
return;
if ([Link] < 1 && ([Link] += 8e-4 * k,
[Link] > 1 && ([Link] = 1)),
[Link] += k,
([Link] || [Link]) && ([Link] = 0),
[Link])
[Link] = 0,
[Link] = 0;
else {
let _ = ([Link] >= 0 ? .5 : 1) *
([Link][[Link]].spdMult || 1) * ([Link] && [Link] || 1)
* ([Link] && [Link] || 1) * (this.y <= [Link] ? [Link] &&
[Link] ? 1 : [Link] : 1) * [Link];
![Link] && this.y >= [Link] / 2 - [Link] / 2 && this.y
<= [Link] / 2 + [Link] / 2 && ([Link] && [Link] ? (_
*= .75,
[Link] += [Link] * .4 * k) : (_ *= .33,
[Link] += [Link] *
k));
let J = [Link] != null ? rt([Link]) : 0
, H = [Link] != null ? ot([Link]) : 0;
const z = _c(J * J + H * H);
z != 0 && (J /= z,
H /= z),
J && ([Link] += J * [Link] * _ * k),
H && ([Link] += H * [Link] * _ * k)
}
[Link] = 0,
[Link] = !1,
[Link] = 0;
let O;
const V = [Link](0, 0, [Link] * k, [Link] * k)
, N = [Link](4, [Link](1, [Link](V / 40)))
, W = 1 / N;
let P = {};
for (var L = 0; L < N; ++L) {
[Link] && (this.x += [Link] * k * W),
[Link] && (this.y += [Link] * k * W),
O = [Link](this.x, this.y, [Link]);
for (let _ = 0; _ < [Link]; ++_) {
for (let J = 0; J < O[_].length && !(O[_][J].active && !P[O[_]
[J].sid] && [Link](this, O[_][J], W) && (P[O[_][J].sid] = !0,

![Link])); ++J)
;
if (![Link])
break
}
if (![Link])
break
}
for (var U = [Link](this), L = U + 1; L < [Link]; ++L)
o[L] != this && o[L].alive && [Link](this, o[L]);
if ([Link] && ([Link] *= Rs([Link], k),
[Link] <= .01 && [Link] >= -.01 && ([Link] =
0)),
[Link] && ([Link] *= Rs([Link], k),
[Link] <= .01 && [Link] >= -.01 && ([Link] =
0)),
this.x - [Link] < 0 ? this.x = [Link] : this.x + [Link] >
[Link] && (this.x = [Link] - [Link]),
this.y - [Link] < 0 ? this.y = [Link] : this.y + [Link] >
[Link] && (this.y = [Link] - [Link]),
[Link] < 0) {
if ([Link][[Link]] > 0)
[Link][[Link]] -= k,
[Link] = [Link];
else if ([Link] || [Link]) {
let _ = !0;
if ([Link][[Link]].gather != null)
[Link](o);
else if ([Link][[Link]].projectile != null &&
[Link]([Link][[Link]], [Link] ? [Link] : 0)) {
[Link]([Link][[Link]], [Link] ?
[Link] : 0),
[Link] = 0;
var U = [Link][[Link]].projectile;
const H = [Link] * 2
, z = [Link] && [Link] ? [Link] : 1;
[Link][[Link]].rec && ([Link] -=
[Link][[Link]].rec * rt([Link]),
[Link] -=
[Link][[Link]].rec * ot([Link])),
[Link](this.x + H * rt([Link]), this.y + H *
ot([Link]), [Link], [Link][U].range * z, [Link][U].speed * z, U,
this, null, [Link])
} else
_ = !1;
[Link] = [Link],
_ && ([Link][[Link]] =
[Link][[Link]].speed * ([Link] && [Link] || 1))
}
}
}
,
[Link] = function(k) {
[Link][[Link]] || ([Link][[Link]] = 0),
[Link][[Link]] += k
}
,
[Link] = function(k) {
[Link] < [Link] && ([Link] += k,
[Link] >= [Link] ? ([Link] < [Link] ?
([Link]++,

[Link] = 0,

[Link] *= 1.2) : [Link] = [Link],


[Link]++,
[Link]([Link], "U",
[Link], [Link]),
[Link]([Link], "T",
[Link], [Link]([Link], 1), [Link])) : [Link]([Link], "T", [Link]))
}
,
[Link] = function(k, T) {
if (k > 0 && [Link] >= [Link])
return !1;
k < 0 && [Link] && (k *= [Link] || 1),
k < 0 && [Link] && (k *= [Link] || 1),
k < 0 && ([Link] = [Link]()),
[Link] += k,
[Link] > [Link] && (k -= [Link] - [Link],
[Link] = [Link]),
[Link] <= 0 && [Link](T);
for (let O = 0; O < [Link]; ++O)
[Link][o[O].id] && [Link](o[O].id, "O", [Link], [Link]);
return T && [Link](this) && !(T == this && k < 0) && [Link]([Link], "8",
[Link](this.x), [Link](this.y), [Link](-k), 1),
!0
}
,
[Link] = function(k) {
k && [Link] && ([Link]++,
[Link] && [Link] ? h(k, [Link]([Link] /
2)) : h(k, [Link]([Link] * 100 * ([Link] && [Link] ? [Link] :
1))),
[Link]([Link], "N", "kills", [Link], 1)),
[Link] = !1,
[Link]([Link], "P"),
m()
}
,
[Link] = function(k, T, O) {
!O && T > 0 && [Link](T),
k == 3 ? h(this, T, !0) : (this[[Link][k]] += T,
[Link]([Link], "N", [Link][k],
this[[Link][k]], 1))
}
,
[Link] = function(k, T) {
[Link][k] = [Link][k] || 0,
[Link][k] += T,
[Link]([Link], "S", k, [Link][k])
}
,
[Link] = function(k) {
const T = [Link] + [Link] + ([Link] || 0)
, O = this.x + T * rt([Link])
, V = this.y + T * ot([Link]);
if ([Link](k) && !([Link] && [Link] && [Link]) &&
([Link] || [Link](O, V, [Link], .6, [Link], !1, this))) {
let N = !1;
if ([Link]) {
if ([Link]) {
const W = [Link]() - [Link];
[Link] = 0,
W <= 120 ? ([Link]++,
[Link] >= 8 && ([Link] = 3e4,
[Link] =
0)) : ([Link] -= 2,

[Link] <= 0 && ([Link] = 0))


}
[Link] <= 0 && (N = [Link](this))
} else
N = !0,
[Link] && [Link]([Link], 1),
[Link] && ([Link] += [Link]),
[Link]([Link], O, V, [Link], [Link], [Link], k, !1,
this);
N && ([Link](k),
[Link] = -1)
}
}
,
[Link] = function(k, T) {
for (let O = 0; O < [Link]; ) {
if (this[[Link][O]] < [Link]([Link][O + 1] * (T || 1)))
return !1;
O += 2
}
return !0
}
,
[Link] = function(k, T) {
if (![Link])
for (let O = 0; O < [Link]; )
[Link]([Link]([Link][O]), -
[Link]([Link][O + 1] * (T || 1))),
O += 2
}
,
[Link] = function(k) {
const T = [Link] ? [Link] || [Link]([Link] * 3,
99) : [Link];
return T && [Link][[Link]] >= T ? !1 : [Link] ? !0 :
[Link](k)
}
,
[Link] = function() {
[Link] = 0,
[Link] -= [Link][[Link]].hitSlow || .3,
[Link] < 0 && ([Link] = 0);
const k = [Link](this)
, T = [Link]
, O = [Link]
, V = {};
let N, W, P, L;
const U = [Link](this.x, this.y,
[Link][[Link]].range);
for (let J = 0; J < [Link]; ++J)
for (var _ = 0; _ < U[J].length; ++_)
if (P = U[J][_],
[Link] && ![Link] && !V[[Link]] &&
[Link](this) && (N = [Link](this.x, this.y, P.x, P.y) - [Link],

N <= [Link][[Link]].range && (W = [Link](P.x, P.y, this.x,


this.y),

[Link](W, [Link]) <= [Link]))) {


if (V[[Link]] = 1,
[Link]) {
if ([Link](-[Link][[Link]].dmg * O *
([Link][[Link]].sDmg || 1) * ([Link] && [Link] ?
[Link] : 1), this)) {
for (let H = 0; H < [Link]; )
[Link]([Link]([Link][H]),
[Link][H + 1]),
H += 2;
[Link](P)
}
} else {
if ([Link] === "volcano")
[Link]([Link][[Link]].gather);
else {
[Link](4 * [Link][[Link]].gather);
const H = [Link][[Link]].gather + ([Link]
== 3 ? 4 : 0);
[Link]([Link], H)
}
[Link] && [Link] && [Link](3, 1)
}
L = !0,
[Link](P, W)
}
for (var _ = 0; _ < [Link] + [Link]; ++_)
if (P = o[_] || l[_ - [Link]],
P != this && [Link] && !([Link] && [Link] == [Link]) && (N =
[Link](this.x, this.y, P.x, P.y) - [Link] * 1.8,
N <=
[Link][[Link]].range && (W = [Link](P.x, P.y, this.x, this.y),

[Link](W, [Link]) <= [Link]))) {


let H = [Link][[Link]].steal;
H && [Link] && (H = [Link]([Link] || 0, H),
[Link](3, H),
[Link](3, -H));
let z = O;
[Link] != null && [Link][[Link]].shield &&
[Link](W + [Link], [Link]) <= [Link] && (z =
[Link][[Link]].shield);
const G = [Link][[Link]].dmg
, X = G * ([Link] && [Link] ? [Link] :
1) * ([Link] && [Link] ? [Link] : 1)
, te = .3 * ([Link] || 1) + ([Link][[Link]].knock
|| 0);
[Link] += te * rt(W),
[Link] += te * ot(W),
[Link] && [Link] && [Link](X * z *
[Link], this),
[Link] && [Link] && [Link](X * z *
[Link], this),
[Link] && [Link] && [Link](-G * [Link], P),
[Link] && [Link] && [Link](-G * [Link], P),
[Link] && [Link] && [Link] && !([Link]
&& [Link]) && ([Link] = [Link],

[Link] = [Link] || 1,

[Link] = this),
[Link] && T && !([Link] && [Link]) &&
([Link] = 5,

[Link] = 5,

[Link] = this),
[Link] && [Link] && ([Link] -= [Link] * rt(W),
[Link] -= [Link] * ot(W)),
[Link](-X * z, this, this)
}
[Link](L ? 1 : 0)
}
,
[Link] = function(k) {
const T = 5 + [Link](k / 3.5);
[Link](2, T),
[Link](3, T)
}
,
[Link] = function(k) {
for (let T = 0; T < [Link]; ++T)
[Link][o[T].id] && [Link](o[T]) && [Link](o[T].id, "K",
[Link], k ? 1 : 0, [Link])
}
;
let b = 0
, D = 0;
[Link] = function(k) {
[Link] > 0 && ([Link] -= k,
[Link] <= 0 ? ([Link] = 0,
[Link] = 0,
b = 0,
D = 0) : D == 0 ? (b += k /
([Link] * [Link]),
[Link]
= [Link](0, [Link], [Link](1, b)),
b >= 1 && (b
= 1,
D
= 1)) : (b -= k / ([Link] * (1 - [Link])),

[Link] = [Link](0, [Link], [Link](0, b))))


}
,
[Link] = function(k, T) {
[Link] = [Link] = [Link][T].speed,
[Link] = k ? -[Link] : -[Link],
b = 0,
D = 0
}
,
[Link] = function(k) {
if (!k || [Link] && [Link] && [Link] >= [Link])
return !1;
const T = Os(k.x - this.x) - [Link]
, O = Os(k.y - this.y) - [Link];
return T <= [Link] / 2 * 1.3 && O <= [Link] / 2 * 1.3
}
}
const zc = [{
id: 45,
name: "Shame!",
dontSell: !0,
price: 0,
scale: 120,
desc: "hacks are for losers"
}, {
id: 51,
name: "Moo Cap",
price: 0,
scale: 120,
desc: "coolest mooer around"
}, {
id: 50,
name: "Apple Cap",
price: 0,
scale: 120,
desc: "apple farms remembers"
}, {
id: 28,
name: "Moo Head",
price: 0,
scale: 120,
desc: "no effect"
}, {
id: 29,
name: "Pig Head",
price: 0,
scale: 120,
desc: "no effect"
}, {
id: 30,
name: "Fluff Head",
price: 0,
scale: 120,
desc: "no effect"
}, {
id: 36,
name: "Pandou Head",
price: 0,
scale: 120,
desc: "no effect"
}, {
id: 37,
name: "Bear Head",
price: 0,
scale: 120,
desc: "no effect"
}, {
id: 38,
name: "Monkey Head",
price: 0,
scale: 120,
desc: "no effect"
}, {
id: 44,
name: "Polar Head",
price: 0,
scale: 120,
desc: "no effect"
}, {
id: 35,
name: "Fez Hat",
price: 0,
scale: 120,
desc: "no effect"
}, {
id: 42,
name: "Enigma Hat",
price: 0,
scale: 120,
desc: "join the enigma army"
}, {
id: 43,
name: "Blitz Hat",
price: 0,
scale: 120,
desc: "hey everybody i'm blitz"
}, {
id: 49,
name: "Bob XIII Hat",
price: 0,
scale: 120,
desc: "like and subscribe"
}, {
id: 57,
name: "Pumpkin",
price: 50,
scale: 120,
desc: "Spooooky"
}, {
id: 8,
name: "Bummle Hat",
price: 100,
scale: 120,
desc: "no effect"
}, {
id: 2,
name: "Straw Hat",
price: 500,
scale: 120,
desc: "no effect"
}, {
id: 15,
name: "Winter Cap",
price: 600,
scale: 120,
desc: "allows you to move at normal speed in snow",
coldM: 1
}, {
id: 5,
name: "Cowboy Hat",
price: 1e3,
scale: 120,
desc: "no effect"
}, {
id: 4,
name: "Ranger Hat",
price: 2e3,
scale: 120,
desc: "no effect"
}, {
id: 18,
name: "Explorer Hat",
price: 2e3,
scale: 120,
desc: "no effect"
}, {
id: 31,
name: "Flipper Hat",
price: 2500,
scale: 120,
desc: "have more control while in water",
watrImm: !0
}, {
id: 1,
name: "Marksman Cap",
price: 3e3,
scale: 120,
desc: "increases arrow speed and range",
aMlt: 1.3
}, {
id: 10,
name: "Bush Gear",
price: 3e3,
scale: 160,
desc: "allows you to disguise yourself as a bush"
}, {
id: 48,
name: "Halo",
price: 3e3,
scale: 120,
desc: "no effect"
}, {
id: 6,
name: "Soldier Helmet",
price: 4e3,
scale: 120,
desc: "reduces damage taken but slows movement",
spdMult: .94,
dmgMult: .75
}, {
id: 23,
name: "Anti Venom Gear",
price: 4e3,
scale: 120,
desc: "makes you immune to poison",
poisonRes: 1
}, {
id: 13,
name: "Medic Gear",
price: 5e3,
scale: 110,
desc: "slowly regenerates health over time",
healthRegen: 3
}, {
id: 9,
name: "Miners Helmet",
price: 5e3,
scale: 120,
desc: "earn 1 extra gold per resource",
extraGold: 1
}, {
id: 32,
name: "Musketeer Hat",
price: 5e3,
scale: 120,
desc: "reduces cost of projectiles",
projCost: .5
}, {
id: 7,
name: "Bull Helmet",
price: 6e3,
scale: 120,
desc: "increases damage done but drains health",
healthRegen: -5,
dmgMultO: 1.5,
spdMult: .96
}, {
id: 22,
name: "Emp Helmet",
price: 6e3,
scale: 120,
desc: "turrets won't attack but you move slower",
antiTurret: 1,
spdMult: .7
}, {
id: 12,
name: "Booster Hat",
price: 6e3,
scale: 120,
desc: "increases your movement speed",
spdMult: 1.16
}, {
id: 26,
name: "Barbarian Armor",
price: 8e3,
scale: 120,
desc: "knocks back enemies that attack you",
dmgK: .6
}, {
id: 21,
name: "Plague Mask",
price: 1e4,
scale: 120,
desc: "melee attacks deal poison damage",
poisonDmg: 5,
poisonTime: 6
}, {
id: 46,
name: "Bull Mask",
price: 1e4,
scale: 120,
desc: "bulls won't target you unless you attack them",
bullRepel: 1
}, {
id: 14,
name: "Windmill Hat",
topSprite: !0,
price: 1e4,
scale: 120,
desc: "generates points while worn",
pps: 1.5
}, {
id: 11,
name: "Spike Gear",
topSprite: !0,
price: 1e4,
scale: 120,
desc: "deal damage to players that damage you",
dmg: .45
}, {
id: 53,
name: "Turret Gear",
topSprite: !0,
price: 1e4,
scale: 120,
desc: "you become a walking turret",
turret: {
proj: 1,
range: 700,
rate: 2500
},
spdMult: .7
}, {
id: 20,
name: "Samurai Armor",
price: 12e3,
scale: 120,
desc: "increased attack speed and fire rate",
atkSpd: .78
}, {
id: 58,
name: "Dark Knight",
price: 12e3,
scale: 120,
desc: "restores health when you deal damage",
healD: .4
}, {
id: 27,
name: "Scavenger Gear",
price: 15e3,
scale: 120,
desc: "earn double points for each kill",
kScrM: 2
}, {
id: 40,
name: "Tank Gear",
price: 15e3,
scale: 120,
desc: "increased damage to buildings but slower movement",
spdMult: .3,
bDmg: 3.3
}, {
id: 52,
name: "Thief Gear",
price: 15e3,
scale: 120,
desc: "steal half of a players gold when you kill them",
goldSteal: .5
}, {
id: 55,
name: "Bloodthirster",
price: 2e4,
scale: 120,
desc: "Restore Health when dealing damage. And increased damage",
healD: .25,
dmgMultO: 1.2
}, {
id: 56,
name: "Assassin Gear",
price: 2e4,
scale: 120,
desc: "Go invisible when not moving. Can't eat. Increased speed",
noEat: !0,
spdMult: 1.1,
invisTimer: 1e3
}]
, Fc = [{
id: 12,
name: "Snowball",
price: 1e3,
scale: 105,
xOff: 18,
desc: "no effect"
}, {
id: 9,
name: "Tree Cape",
price: 1e3,
scale: 90,
desc: "no effect"
}, {
id: 10,
name: "Stone Cape",
price: 1e3,
scale: 90,
desc: "no effect"
}, {
id: 3,
name: "Cookie Cape",
price: 1500,
scale: 90,
desc: "no effect"
}, {
id: 8,
name: "Cow Cape",
price: 2e3,
scale: 90,
desc: "no effect"
}, {
id: 11,
name: "Monkey Tail",
price: 2e3,
scale: 97,
xOff: 25,
desc: "Super speed but reduced damage",
spdMult: 1.35,
dmgMultO: .2
}, {
id: 17,
name: "Apple Basket",
price: 3e3,
scale: 80,
xOff: 12,
desc: "slowly regenerates health over time",
healthRegen: 1
}, {
id: 6,
name: "Winter Cape",
price: 3e3,
scale: 90,
desc: "no effect"
}, {
id: 4,
name: "Skull Cape",
price: 4e3,
scale: 90,
desc: "no effect"
}, {
id: 5,
name: "Dash Cape",
price: 5e3,
scale: 90,
desc: "no effect"
}, {
id: 2,
name: "Dragon Cape",
price: 6e3,
scale: 90,
desc: "no effect"
}, {
id: 1,
name: "Super Cape",
price: 8e3,
scale: 90,
desc: "no effect"
}, {
id: 7,
name: "Troll Cape",
price: 8e3,
scale: 90,
desc: "no effect"
}, {
id: 14,
name: "Thorns",
price: 1e4,
scale: 115,
xOff: 20,
desc: "no effect"
}, {
id: 15,
name: "Blockades",
price: 1e4,
scale: 95,
xOff: 15,
desc: "no effect"
}, {
id: 20,
name: "Devils Tail",
price: 1e4,
scale: 95,
xOff: 20,
desc: "no effect"
}, {
id: 16,
name: "Sawblade",
price: 12e3,
scale: 90,
spin: !0,
xOff: 0,
desc: "deal damage to players that damage you",
dmg: .15
}, {
id: 13,
name: "Angel Wings",
price: 15e3,
scale: 138,
xOff: 22,
desc: "slowly regenerates health over time",
healthRegen: 3
}, {
id: 19,
name: "Shadow Wings",
price: 15e3,
scale: 138,
xOff: 22,
desc: "increased movement speed",
spdMult: 1.1
}, {
id: 18,
name: "Blood Wings",
price: 2e4,
scale: 178,
xOff: 26,
desc: "restores health when you deal damage",
healD: .2
}, {
id: 21,
name: "Corrupt X Wings",
price: 2e4,
scale: 178,
xOff: 26,
desc: "deal damage to players that damage you",
dmg: .25
}]
, Gr = {
hats: zc,
accessories: Fc
};
function Hc(e, t, i, s, n, r, o) {
[Link] = function(a, u, p, h, m, w, v, b, D) {
[Link] = !0,
[Link] = a,
this.x = u,
this.y = p,
[Link] = h,
[Link] = !0,
[Link] = m,
[Link] = w,
[Link] = b,
[Link] = v,
[Link] = D,
o && ([Link] = {})
}
;
const l = [];
let c;
[Link] = function(a) {
if ([Link]) {
let p = [Link] * a, h;
if ([Link] ? [Link] = !1 : (this.x += p *
[Link]([Link]),
this.y += p *
[Link]([Link]),
[Link] -= p,
[Link] <= 0 && (this.x +=
[Link] * [Link]([Link]),
this.y +=
[Link] * [Link]([Link]),
p = 1,
[Link]
= 0,
[Link]
= !1)),
o) {
for (var u = 0; u < [Link]; ++u)
![Link][e[u].id] && e[u].canSee(this) &&
([Link][e[u].id] = 1,
[Link](e[u].id,
"X", [Link](this.x, 1), [Link](this.y, 1), [Link]([Link], 2),
[Link]([Link], 1), [Link], [Link], [Link], [Link]));
[Link] = 0;
for (var u = 0; u < [Link] + [Link]; ++u)
c = e[u] || t[u - [Link]],
[Link] && c != [Link] && !([Link] && [Link]
== [Link]) && [Link](c.x - [Link], c.y - [Link], c.x + [Link],
c.y + [Link], this.x, this.y, this.x + p * [Link]([Link]), this.y + p *
[Link]([Link])) && [Link](c);
const m = [Link](this.x, this.y, [Link]);
for (let w = 0; w < [Link]; ++w)
for (let v = 0; v < m[w].length; ++v)
c = m[w][v],
h = [Link](),
[Link] && [Link] != [Link] && [Link] <=
[Link] && [Link](c) < 0 && ![Link] && [Link](c.x - h, c.y - h,
c.x + h, c.y + h, this.x, this.y, this.x + p * [Link]([Link]), this.y + p *
[Link]([Link])) && [Link](c);
if ([Link] > 0) {
let w = null
, v = null
, b = null;
for (var u = 0; u < [Link]; ++u)
b = [Link](this.x, this.y, l[u].x, l[u].y),
(v == null || b < v) && (v = b,
w = l[u]);
if ([Link] || [Link]) {
const D = .3 * ([Link] || 1);
[Link] += D * [Link]([Link]),
[Link] += D * [Link]([Link]),
([Link] == null || !
([Link][[Link]].shield && [Link]([Link] + [Link], [Link]) <=
[Link])) && [Link](-[Link], [Link], [Link])
} else {
[Link] && [Link] && [Link](-[Link]) &&
[Link](w);
for (var u = 0; u < [Link]; ++u)
e[u].active && ([Link][e[u].id] && ([Link] ?
e[u].canSee(w) && [Link](e[u].id, "L", [Link]([Link], 2), [Link]) :
[Link](e[u].id, "Q", [Link])),
![Link] && [Link] == e[u] &&
e[u].changeItemCount([Link], -1))
}
[Link] = !1;
for (var u = 0; u < [Link]; ++u)
[Link][e[u].id] && [Link](e[u].id, "Y", [Link],
[Link](v, 1))
}
}
}
}
}
var Yr = {
exports: {}
}
, $r = {
exports: {}
};
(function() {
var e = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
, t = {
rotl: function(i, s) {
return i << s | i >>> 32 - s
},
rotr: function(i, s) {
return i << 32 - s | i >>> s
},
endian: function(i) {
if ([Link] == Number)
return [Link](i, 8) & 16711935 | [Link](i, 24) & 4278255360;
for (var s = 0; s < [Link]; s++)
i[s] = [Link](i[s]);
return i
},
randomBytes: function(i) {
for (var s = []; i > 0; i--)
[Link]([Link]([Link]() * 256));
return s
},
bytesToWords: function(i) {
for (var s = [], n = 0, r = 0; n < [Link]; n++,
r += 8)
s[r >>> 5] |= i[n] << 24 - r % 32;
return s
},
wordsToBytes: function(i) {
for (var s = [], n = 0; n < [Link] * 32; n += 8)
[Link](i[n >>> 5] >>> 24 - n % 32 & 255);
return s
},
bytesToHex: function(i) {
for (var s = [], n = 0; n < [Link]; n++)
[Link]((i[n] >>> 4).toString(16)),
[Link]((i[n] & 15).toString(16));
return [Link]("")
},
hexToBytes: function(i) {
for (var s = [], n = 0; n < [Link]; n += 2)
[Link](parseInt([Link](n, 2), 16));
return s
},
bytesToBase64: function(i) {
for (var s = [], n = 0; n < [Link]; n += 3)
for (var r = i[n] << 16 | i[n + 1] << 8 | i[n + 2], o = 0; o < 4;
o++)
n * 8 + o * 6 <= [Link] * 8 ? [Link]([Link](r >>> 6 * (3 -
o) & 63)) : [Link]("=");
return [Link]("")
},
base64ToBytes: function(i) {
i = [Link](/[^A-Z0-9+\/]/ig, "");
for (var s = [], n = 0, r = 0; n < [Link]; r = ++n % 4)
r != 0 && [Link](([Link]([Link](n - 1)) & [Link](2, -2 * r +
8) - 1) << r * 2 | [Link]([Link](n)) >>> 6 - r * 2);
return s
}
};
$[Link] = t
}
)();
var Vc = $[Link]
, Rn = {
utf8: {
stringToBytes: function(e) {
return [Link](unescape(encodeURIComponent(e)))
},
bytesToString: function(e) {
return decodeURIComponent(escape([Link](e)))
}
},
bin: {
stringToBytes: function(e) {
for (var t = [], i = 0; i < [Link]; i++)
[Link]([Link](i) & 255);
return t
},
bytesToString: function(e) {
for (var t = [], i = 0; i < [Link]; i++)
[Link]([Link](e[i]));
return [Link]("")
}
}
}
, _s = Rn;
/*!
* Determine if an object is a Buffer
*
* @author Feross Aboukhadijeh <[Link]
* @license MIT
*/
var Lc = function(e) {
return e != null && (Kr(e) || Uc(e) || !!e._isBuffer)
};
function Kr(e) {
return !![Link] && typeof [Link] == "function" &&
[Link](e)
}
function Uc(e) {
return typeof [Link] == "function" && typeof [Link] == "function" &&
Kr([Link](0, 0))
}
(function() {
var e = Vc
, t = _s.utf8
, i = Lc
, s = _s.bin
, n = function(r, o) {
[Link] == String ? o && [Link] === "binary" ? r =
[Link](r) : r = [Link](r) : i(r) ? r =
[Link](r, 0) : ![Link](r) && [Link] !==
Uint8Array && (r = [Link]());
for (var l = [Link](r), c = [Link] * 8, a = 1732584193, u = -
271733879, p = -1732584194, h = 271733878, m = 0; m < [Link]; m++)
l[m] = (l[m] << 8 | l[m] >>> 24) & 16711935 | (l[m] << 24 | l[m] >>> 8)
& 4278255360;
l[c >>> 5] |= 128 << c % 32,
l[(c + 64 >>> 9 << 4) + 14] = c;
for (var w = n._ff, v = n._gg, b = n._hh, D = n._ii, m = 0; m < [Link]; m
+= 16) {
var k = a
, T = u
, O = p
, V = h;
a = w(a, u, p, h, l[m + 0], 7, -680876936),
h = w(h, a, u, p, l[m + 1], 12, -389564586),
p = w(p, h, a, u, l[m + 2], 17, 606105819),
u = w(u, p, h, a, l[m + 3], 22, -1044525330),
a = w(a, u, p, h, l[m + 4], 7, -176418897),
h = w(h, a, u, p, l[m + 5], 12, 1200080426),
p = w(p, h, a, u, l[m + 6], 17, -1473231341),
u = w(u, p, h, a, l[m + 7], 22, -45705983),
a = w(a, u, p, h, l[m + 8], 7, 1770035416),
h = w(h, a, u, p, l[m + 9], 12, -1958414417),
p = w(p, h, a, u, l[m + 10], 17, -42063),
u = w(u, p, h, a, l[m + 11], 22, -1990404162),
a = w(a, u, p, h, l[m + 12], 7, 1804603682),
h = w(h, a, u, p, l[m + 13], 12, -40341101),
p = w(p, h, a, u, l[m + 14], 17, -1502002290),
u = w(u, p, h, a, l[m + 15], 22, 1236535329),
a = v(a, u, p, h, l[m + 1], 5, -165796510),
h = v(h, a, u, p, l[m + 6], 9, -1069501632),
p = v(p, h, a, u, l[m + 11], 14, 643717713),
u = v(u, p, h, a, l[m + 0], 20, -373897302),
a = v(a, u, p, h, l[m + 5], 5, -701558691),
h = v(h, a, u, p, l[m + 10], 9, 38016083),
p = v(p, h, a, u, l[m + 15], 14, -660478335),
u = v(u, p, h, a, l[m + 4], 20, -405537848),
a = v(a, u, p, h, l[m + 9], 5, 568446438),
h = v(h, a, u, p, l[m + 14], 9, -1019803690),
p = v(p, h, a, u, l[m + 3], 14, -187363961),
u = v(u, p, h, a, l[m + 8], 20, 1163531501),
a = v(a, u, p, h, l[m + 13], 5, -1444681467),
h = v(h, a, u, p, l[m + 2], 9, -51403784),
p = v(p, h, a, u, l[m + 7], 14, 1735328473),
u = v(u, p, h, a, l[m + 12], 20, -1926607734),
a = b(a, u, p, h, l[m + 5], 4, -378558),
h = b(h, a, u, p, l[m + 8], 11, -2022574463),
p = b(p, h, a, u, l[m + 11], 16, 1839030562),
u = b(u, p, h, a, l[m + 14], 23, -35309556),
a = b(a, u, p, h, l[m + 1], 4, -1530992060),
h = b(h, a, u, p, l[m + 4], 11, 1272893353),
p = b(p, h, a, u, l[m + 7], 16, -155497632),
u = b(u, p, h, a, l[m + 10], 23, -1094730640),
a = b(a, u, p, h, l[m + 13], 4, 681279174),
h = b(h, a, u, p, l[m + 0], 11, -358537222),
p = b(p, h, a, u, l[m + 3], 16, -722521979),
u = b(u, p, h, a, l[m + 6], 23, 76029189),
a = b(a, u, p, h, l[m + 9], 4, -640364487),
h = b(h, a, u, p, l[m + 12], 11, -421815835),
p = b(p, h, a, u, l[m + 15], 16, 530742520),
u = b(u, p, h, a, l[m + 2], 23, -995338651),
a = D(a, u, p, h, l[m + 0], 6, -198630844),
h = D(h, a, u, p, l[m + 7], 10, 1126891415),
p = D(p, h, a, u, l[m + 14], 15, -1416354905),
u = D(u, p, h, a, l[m + 5], 21, -57434055),
a = D(a, u, p, h, l[m + 12], 6, 1700485571),
h = D(h, a, u, p, l[m + 3], 10, -1894986606),
p = D(p, h, a, u, l[m + 10], 15, -1051523),
u = D(u, p, h, a, l[m + 1], 21, -2054922799),
a = D(a, u, p, h, l[m + 8], 6, 1873313359),
h = D(h, a, u, p, l[m + 15], 10, -30611744),
p = D(p, h, a, u, l[m + 6], 15, -1560198380),
u = D(u, p, h, a, l[m + 13], 21, 1309151649),
a = D(a, u, p, h, l[m + 4], 6, -145523070),
h = D(h, a, u, p, l[m + 11], 10, -1120210379),
p = D(p, h, a, u, l[m + 2], 15, 718787259),
u = D(u, p, h, a, l[m + 9], 21, -343485551),
a = a + k >>> 0,
u = u + T >>> 0,
p = p + O >>> 0,
h = h + V >>> 0
}
return [Link]([a, u, p, h])
};
n._ff = function(r, o, l, c, a, u, p) {
var h = r + (o & l | ~o & c) + (a >>> 0) + p;
return (h << u | h >>> 32 - u) + o
}
,
n._gg = function(r, o, l, c, a, u, p) {
var h = r + (o & c | l & ~c) + (a >>> 0) + p;
return (h << u | h >>> 32 - u) + o
}
,
n._hh = function(r, o, l, c, a, u, p) {
var h = r + (o ^ l ^ c) + (a >>> 0) + p;
return (h << u | h >>> 32 - u) + o
}
,
n._ii = function(r, o, l, c, a, u, p) {
var h = r + (l ^ (o | ~c)) + (a >>> 0) + p;
return (h << u | h >>> 32 - u) + o
}
,
n._blocksize = 16,
n._digestsize = 16,
[Link] = function(r, o) {
if (r == null)
throw new Error("Illegal argument " + r);
var l = [Link](n(r, o));
return o && [Link] ? l : o && [Link] ? [Link](l) :
[Link](l)
}
}
)();
var Nc = [Link];
const qc = Di(Nc);
var nn, Bs;
function Xe() {
if (Bs)
return nn;
Bs = 1;
function e(t, i, s, n, r, o) {
return {
tag: t,
key: i,
attrs: s,
children: n,
text: r,
dom: o,
domSize: void 0,
state: void 0,
events: void 0,
instance: void 0
}
}
return [Link] = function(t) {
return [Link](t) ? e("[", void 0, void 0, [Link](t),
void 0, void 0) : t == null || typeof t == "boolean" ? null : typeof t ==
"object" ? t : e("#", void 0, void 0, String(t), void 0, void 0)
}
,
[Link] = function(t) {
var i = [];
if ([Link]) {
for (var s = t[0] != null && t[0].key != null, n = 1; n < [Link]; n+
+)
if ((t[n] != null && t[n].key != null) !== s)
throw new TypeError(s && (t[n] != null || typeof t[n] ==
"boolean") ? "In fragments, vnodes must either all have keys or none have keys. You
may wish to consider using an explicit keyed empty fragment,
[Link]({key: ...}), instead of a hole." : "In fragments, vnodes must either all
have keys or none have keys.");
for (var n = 0; n < [Link]; n++)
i[n] = [Link](t[n])
}
return i
}
,
nn = e,
nn
}
var Wc = Xe()
, Jr = function() {
var e = arguments[this], t = this + 1, i;
if (e == null ? e = {} : (typeof e != "object" || [Link] != null ||
[Link](e)) && (e = {},

t = this),
[Link] === t + 1)
i = arguments[t],
[Link](i) || (i = [i]);
else
for (i = []; t < [Link]; )
[Link](arguments[t++]);
return Wc("", [Link], e, i)
}
, Oi = {}.hasOwnProperty
, Xc = Xe()
, Gc = Jr
, dt = Oi
, Yc = /(?:(^|#|\.)([^#\.\[\]]+))|(\[(.+?)(?:\s*=\s*("|'|)((?:\\["'\]]|.)*?)\
5)?\])/g
, Qr = {};
function zs(e) {
for (var t in e)
if ([Link](e, t))
return !1;
return !0
}
function $c(e) {
for (var t, i = "div", s = [], n = {}; t = [Link](e); ) {
var r = t[1]
, o = t[2];
if (r === "" && o !== "")
i = o;
else if (r === "#")
[Link] = o;
else if (r === ".")
[Link](o);
else if (t[3][0] === "[") {
var l = t[6];
l && (l = [Link](/\\(["'])/g, "$1").replace(/\\\\/g, "\\")),
t[4] === "class" ? [Link](l) : n[t[4]] = l === "" ? l : l || !0
}
}
return [Link] > 0 && ([Link] = [Link](" ")),
Qr[e] = {
tag: i,
attrs: n
}
}
function Kc(e, t) {
var i = [Link]
, s = [Link](i, "class")
, n = s ? [Link] : [Link];
if ([Link] = [Link],
[Link] = {},
!zs([Link]) && !zs(i)) {
var r = {};
for (var o in i)
[Link](i, o) && (r[o] = i[o]);
i = r
}
for (var o in [Link])
[Link]([Link], o) && o !== "className" && ![Link](i, o) && (i[o] =
[Link][o]);
(n != null || [Link] != null) && ([Link] = n != null ?
[Link] != null ? String([Link]) + " " + String(n) : n :
[Link] != null ? [Link] : null),
s && ([Link] = null);
for (var o in i)
if ([Link](i, o) && o !== "key") {
[Link] = i;
break
}
return t
}
function Jc(e) {
if (e == null || typeof e != "string" && typeof e != "function" && typeof
[Link] != "function")
throw Error("The selector must be either a string or a component.");
var t = [Link](1, arguments);
return typeof e == "string" && ([Link] = [Link]([Link]),
e !== "[") ? Kc(Qr[e] || $c(e), t) : ([Link] =
e,
t)
}
var Zr = Jc
, Qc = Xe()
, Zc = function(e) {
return e == null && (e = ""),
Qc("<", void 0, void 0, e, void 0, void 0)
}
, jc = Xe()
, eh = Jr
, th = function() {
var e = [Link](0, arguments);
return [Link] = "[",
[Link] = [Link]([Link]),
e
}
, is = Zr;
[Link] = Zc;
[Link] = th;
var ih = is, fi = {
exports: {}
}, sn, Fs;
function jr() {
if (Fs)
return sn;
Fs = 1;
var e = function(t) {
if (!(this instanceof e))
throw new Error("Promise must be called with 'new'.");
if (typeof t != "function")
throw new TypeError("executor must be a function.");
var i = this
, s = []
, n = []
, r = a(s, !0)
, o = a(n, !1)
, l = i._instance = {
resolvers: s,
rejectors: n
}
, c = typeof setImmediate == "function" ? setImmediate : setTimeout;
function a(p, h) {
return function m(w) {
var v;
try {
if (h && w != null && (typeof w == "object" || typeof w ==
"function") && typeof (v = [Link]) == "function") {
if (w === i)
throw new TypeError("Promise can't be resolved with
itself.");
u([Link](w))
} else
c(function() {
!h && [Link] === 0 && [Link]("Possible
unhandled promise rejection:", w);
for (var b = 0; b < [Link]; b++)
p[b](w);
[Link] = 0,
[Link] = 0,
[Link] = h,
[Link] = function() {
m(w)
}
})
} catch (b) {
o(b)
}
}
}
function u(p) {
var h = 0;
function m(v) {
return function(b) {
h++ > 0 || v(b)
}
}
var w = m(o);
try {
p(m(r), w)
} catch (v) {
w(v)
}
}
u(t)
};
return [Link] = function(t, i) {
var s = this
, n = s._instance;
function r(a, u, p, h) {
[Link](function(m) {
if (typeof a != "function")
p(m);
else
try {
o(a(m))
} catch (w) {
l && l(w)
}
}),
typeof [Link] == "function" && h === [Link] && [Link]()
}
var o, l, c = new e(function(a, u) {
o = a,
l = u
}
);
return r(t, [Link], o, !0),
r(i, [Link], l, !1),
c
}
,
[Link] = function(t) {
return [Link](null, t)
}
,
[Link] = function(t) {
return [Link](function(i) {
return [Link](t()).then(function() {
return i
})
}, function(i) {
return [Link](t()).then(function() {
return [Link](i)
})
})
}
,
[Link] = function(t) {
return t instanceof e ? t : new e(function(i) {
i(t)
}
)
}
,
[Link] = function(t) {
return new e(function(i, s) {
s(t)
}
)
}
,
[Link] = function(t) {
return new e(function(i, s) {
var n = [Link]
, r = 0
, o = [];
if ([Link] === 0)
i([]);
else
for (var l = 0; l < [Link]; l++)
(function(c) {
function a(u) {
r++,
o[c] = u,
r === n && i(o)
}
t[c] != null && (typeof t[c] == "object" || typeof t[c] ==
"function") && typeof t[c].then == "function" ? t[c].then(a, s) : a(t[c])
}
)(l)
}
)
}
,
[Link] = function(t) {
return new e(function(i, s) {
for (var n = 0; n < [Link]; n++)
t[n].then(i, s)
}
)
}
,
sn = e,
sn
}
var _t = jr();
typeof window < "u" ? (typeof [Link] > "u" ? [Link] = _t :
[Link] || ([Link] =
_t.[Link]),
[Link] = [Link]) : typeof nt < "u" ? (typeof
[Link] > "u" ? [Link] = _t : [Link] ||
([Link] = _t.[Link]),
[Link]
= [Link]) : [Link] = _t;
var eo = [Link], rn = Xe(), nh = function(e) {
var t = e && [Link], i, s = {
svg: "[Link]
math: "[Link]
};
function n(d) {
return [Link] && [Link] || s[[Link]]
}
function r(d, f) {
if ([Link] !== f)
throw new Error("'[Link]' must not be modified.")
}
function o(d) {
var f = [Link];
try {
return [Link](f, arguments)
} finally {
r(d, f)
}
}
function l() {
try {
return [Link]
} catch {
return null
}
}
function c(d, f, g, x, I, A, F) {
for (var q = g; q < x; q++) {
var B = f[q];
B != null && a(d, B, I, F, A)
}
}
function a(d, f, g, x, I) {
var A = [Link];
if (typeof A == "string")
switch ([Link] = {},
[Link] != null && Ui([Link], f, g),
A) {
case "#":
u(d, f, I);
break;
case "<":
h(d, f, x, I);
break;
case "[":
m(d, f, g, x, I);
break;
default:
w(d, f, g, x, I)
}
else
b(d, f, g, x, I)
}
function u(d, f, g) {
[Link] = [Link]([Link]),
z(d, [Link], g)
}
var p = {
caption: "table",
thead: "table",
tbody: "table",
tfoot: "table",
tr: "tbody",
th: "tr",
td: "tr",
colgroup: "table",
col: "colgroup"
};
function h(d, f, g, x) {
var I = [Link](/^\s*?<(\w+)/im) || []
, A = [Link](p[I[1]] || "div");
g === "[Link] ? ([Link] = '<svg
xmlns="[Link] + [Link] + "</svg>",
A = [Link]) : [Link] =
[Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [];
for (var F = [Link](), q; q = [Link]; )
[Link](q),
[Link](q);
z(d, F, x)
}
function m(d, f, g, x, I) {
var A = [Link]();
if ([Link] != null) {
var F = [Link];
c(A, F, 0, [Link], g, null, x)
}
[Link] = [Link],
[Link] = [Link],
z(d, A, I)
}
function w(d, f, g, x, I) {
var A = [Link]
, F = [Link]
, q = F && [Link];
x = n(f) || x;
var B = x ? q ? [Link](x, A, {
is: q
}) : [Link](x, A) : q ? [Link](A, {
is: q
}) : [Link](A);
if ([Link] = B,
F != null && Hi(f, F, x),
z(d, B, I),
!G(f) && [Link] != null) {
var Y = [Link];
c(B, Y, 0, [Link], g, null, x),
[Link] === "select" && F != null && Ge(f, F)
}
}
function v(d, f) {
var g;
if (typeof [Link] == "function") {
if ([Link] = [Link]([Link]),
g = [Link],
g.$$reentrantLock$$ != null)
return;
g.$$reentrantLock$$ = !0
} else {
if ([Link] = void 0,
g = [Link],
g.$$reentrantLock$$ != null)
return;
g.$$reentrantLock$$ = !0,
[Link] = [Link] != null && typeof [Link] ==
"function" ? new [Link](d) : [Link](d)
}
if (Ui([Link], d, f),
[Link] != null && Ui([Link], d, f),
[Link] = [Link]([Link]([Link], d)),
[Link] === d)
throw Error("A view cannot return the vnode it received as argument");
g.$$reentrantLock$$ = null
}
function b(d, f, g, x, I) {
v(f, g),
[Link] != null ? (a(d, [Link], g, x, I),
[Link] = [Link],
[Link] = [Link] != null ? [Link] :
0) : [Link] = 0
}
function D(d, f, g, x, I, A) {
if (!(f === g || f == null && g == null))
if (f == null || [Link] === 0)
c(d, g, 0, [Link], x, I, A);
else if (g == null || [Link] === 0)
X(d, f, 0, [Link]);
else {
var F = f[0] != null && f[0].key != null
, q = g[0] != null && g[0].key != null
, B = 0
, Y = 0;
if (!F)
for (; Y < [Link] && f[Y] == null; )
Y++;
if (!q)
for (; B < [Link] && g[B] == null; )
B++;
if (F !== q)
X(d, f, Y, [Link]),
c(d, g, B, [Link], x, I, A);
else if (q) {
for (var ve = [Link] - 1, fe = [Link] - 1, ti, xe, re, ye,
Z, Wi; ve >= Y && fe >= B && (ye = f[ve],

Z = g[fe],

[Link] === [Link]); )


ye !== Z && k(d, ye, Z, x, I, A),
[Link] != null && (I = [Link]),
ve--,
fe--;
for (; ve >= Y && fe >= B && (xe = f[Y],
re = g[B],
[Link] === [Link]); )
Y++,
B++,
xe !== re && k(d, xe, re, x, _(f, Y, I), A);
for (; ve >= Y && fe >= B && !(B === fe || [Link] !== [Link] ||
[Link] !== [Link]); )
Wi = _(f, Y, I),
J(d, ye, Wi),
ye !== re && k(d, ye, re, x, Wi, A),
++B <= --fe && J(d, xe, I),
xe !== Z && k(d, xe, Z, x, I, A),
[Link] != null && (I = [Link]),
Y++,
ve--,
ye = f[ve],
Z = g[fe],
xe = f[Y],
re = g[B];
for (; ve >= Y && fe >= B && [Link] === [Link]; )
ye !== Z && k(d, ye, Z, x, I, A),
[Link] != null && (I = [Link]),
ve--,
fe--,
ye = f[ve],
Z = g[fe];
if (B > fe)
X(d, f, Y, ve + 1);
else if (Y > ve)
c(d, g, B, fe + 1, x, I, A);
else {
var $o = I, Ms = fe - B + 1, At = new Array(Ms), Xi = 0, ie
= 0, Gi = 2147483647, Yi = 0, ti, $i;
for (ie = 0; ie < Ms; ie++)
At[ie] = -1;
for (ie = fe; ie >= B; ie--) {
ti == null && (ti = P(f, Y, ve + 1)),
Z = g[ie];
var it = ti[[Link]];
it != null && (Gi = it < Gi ? it : -1,
At[ie - B] = it,
ye = f[it],
f[it] = null,
ye !== Z && k(d, ye, Z, x, I, A),
[Link] != null && (I = [Link]),
Yi++)
}
if (I = $o,
Yi !== ve - Y + 1 && X(d, f, Y, ve + 1),
Yi === 0)
c(d, g, B, fe + 1, x, I, A);
else if (Gi === -1)
for ($i = U(At),
Xi = $[Link] - 1,
ie = fe; ie >= B; ie--)
re = g[ie],
At[ie - B] === -1 ? a(d, re, x, A, I) : $i[Xi]
=== ie - B ? Xi-- : J(d, re, I),
[Link] != null && (I = g[ie].dom);
else
for (ie = fe; ie >= B; ie--)
re = g[ie],
At[ie - B] === -1 && a(d, re, x, A, I),
[Link] != null && (I = g[ie].dom)
}
} else {
var qi = [Link] < [Link] ? [Link] : [Link];
for (B = B < Y ? B : Y; B < qi; B++)
xe = f[B],
re = g[B],
!(xe === re || xe == null && re == null) && (xe == null
? a(d, re, x, A, _(f, B + 1, I)) : re == null ? te(d, xe) : k(d, xe, re, x, _(f, B
+ 1, I), A));
[Link] > qi && X(d, f, B, [Link]),
[Link] > qi && c(d, g, B, [Link], x, I, A)
}
}
}
function k(d, f, g, x, I, A) {
var F = [Link]
, q = [Link];
if (F === q) {
if ([Link] = [Link],
[Link] = [Link],
Yo(g, f))
return;
if (typeof F == "string")
switch ([Link] != null && Ni([Link], g, x),
F) {
case "#":
T(f, g);
break;
case "<":
O(d, f, g, A, I);
break;
case "[":
V(d, f, g, x, I, A);
break;
default:
N(f, g, x, A)
}
else
W(d, f, g, x, I, A)
} else
te(d, f),
a(d, g, x, A, I)
}
function T(d, f) {
[Link]() !== [Link]() && ([Link] =
[Link]),
[Link] = [Link]
}
function O(d, f, g, x, I) {
[Link] !== [Link] ? (le(d, f),
h(d, g, x, I)) : ([Link] = [Link],
[Link] = [Link],
[Link] = [Link])
}
function V(d, f, g, x, I, A) {
D(d, [Link], [Link], x, I, A);
var F = 0
, q = [Link];
if ([Link] = null,
q != null) {
for (var B = 0; B < [Link]; B++) {
var Y = q[B];
Y != null && [Link] != null && ([Link] == null && ([Link] = [Link]),
F += [Link] || 1)
}
F !== 1 && ([Link] = F)
}
}
function N(d, f, g, x) {
var I = [Link] = [Link];
x = n(f) || x,
[Link] === "textarea" && [Link] == null && ([Link] = {}),
qo(f, [Link], [Link], x),
G(f) || D(I, [Link], [Link], g, null, x)
}
function W(d, f, g, x, I, A) {
if ([Link] = [Link]([Link]([Link], g)),
[Link] === g)
throw Error("A view cannot return the vnode it received as argument");
Ni([Link], g, x),
[Link] != null && Ni([Link], g, x),
[Link] != null ? ([Link] == null ? a(d, [Link], x, A, I) :
k(d, [Link], [Link], x, I, A),
[Link] = [Link],
[Link] = [Link]) : [Link] !=
null ? (te(d, [Link]),

[Link] = void 0,

[Link] = 0) : ([Link] = [Link],

[Link] = [Link])
}
function P(d, f, g) {
for (var x = [Link](null); f < g; f++) {
var I = d[f];
if (I != null) {
var A = [Link];
A != null && (x[A] = f)
}
}
return x
}
var L = [];
function U(d) {
for (var f = [0], g = 0, x = 0, I = 0, A = [Link] = [Link], I = 0; I <
A; I++)
L[I] = d[I];
for (var I = 0; I < A; ++I)
if (d[I] !== -1) {
var F = f[[Link] - 1];
if (d[F] < d[I]) {
L[I] = F,
[Link](I);
continue
}
for (g = 0,
x = [Link] - 1; g < x; ) {
var q = (g >>> 1) + (x >>> 1) + (g & x & 1);
d[f[q]] < d[I] ? g = q + 1 : x = q
}
d[I] < d[f[g]] && (g > 0 && (L[I] = f[g - 1]),
f[g] = I)
}
for (g = [Link],
x = f[g - 1]; g-- > 0; )
f[g] = x,
x = L[x];
return [Link] = 0,
f
}
function _(d, f, g) {
for (; f < [Link]; f++)
if (d[f] != null && d[f].dom != null)
return d[f].dom;
return g
}
function J(d, f, g) {
var x = [Link]();
H(d, x, f),
z(d, x, g)
}
function H(d, f, g) {
for (; [Link] != null && [Link] === d; ) {
if (typeof [Link] != "string") {
if (g = [Link],
g != null)
continue
} else if ([Link] === "<")
for (var x = 0; x < [Link]; x++)
[Link]([Link][x]);
else if ([Link] !== "[")
[Link]([Link]);
else if ([Link] === 1) {
if (g = [Link][0],
g != null)
continue
} else
for (var x = 0; x < [Link]; x++) {
var I = [Link][x];
I != null && H(d, f, I)
}
break
}
}
function z(d, f, g) {
g != null ? [Link](f, g) : [Link](f)
}
function G(d) {
if ([Link] == null || [Link] == null &&
[Link] == null)
return !1;
var f = [Link];
if (f != null && [Link] === 1 && f[0].tag === "<") {
var g = f[0].children;
[Link] !== g && ([Link] = g)
} else if (f != null && [Link] !== 0)
throw new Error("Child node of a contenteditable must be trusted.");
return !0
}
function X(d, f, g, x) {
for (var I = g; I < x; I++) {
var A = f[I];
A != null && te(d, A)
}
}
function te(d, f) {
var g = 0, x = [Link], I, A;
if (typeof [Link] != "string" && typeof [Link] ==
"function") {
var F = [Link]([Link], f);
F != null && typeof [Link] == "function" && (g = 1,
I = F)
}
if ([Link] && typeof [Link] == "function") {
var F = [Link]([Link], f);
F != null && typeof [Link] == "function" && (g |= 2,
A = F)
}
if (r(f, x),
!g)
ge(f),
$(d, f);
else {
if (I != null) {
var q = function() {
g & 1 && (g &= 2,
g || B())
};
[Link](q, q)
}
if (A != null) {
var q = function() {
g & 2 && (g &= 1,
g || B())
};
[Link](q, q)
}
}
function B() {
r(f, x),
ge(f),
$(d, f)
}
}
function le(d, f) {
for (var g = 0; g < [Link]; g++)
[Link]([Link][g])
}
function $(d, f) {
for (; [Link] != null && [Link] === d; ) {
if (typeof [Link] != "string") {
if (f = [Link],
f != null)
continue
} else if ([Link] === "<")
le(d, f);
else {
if ([Link] !== "[" && ([Link]([Link]),
![Link]([Link])))
break;
if ([Link] === 1) {
if (f = [Link][0],
f != null)
continue
} else
for (var g = 0; g < [Link]; g++) {
var x = [Link][g];
x != null && $(d, x)
}
}
break
}
}
function ge(d) {
if (typeof [Link] != "string" && typeof [Link] == "function" &&
[Link]([Link], d),
[Link] && typeof [Link] == "function" &&
[Link]([Link], d),
typeof [Link] != "string")
[Link] != null && ge([Link]);
else {
var f = [Link];
if ([Link](f))
for (var g = 0; g < [Link]; g++) {
var x = f[g];
x != null && ge(x)
}
}
}
function Hi(d, f, g) {
[Link] === "input" && [Link] != null && [Link]("type", [Link]);
var x = f != null && [Link] === "input" && [Link] === "file";
for (var I in f)
Pt(d, I, null, f[I], g, x)
}
function Pt(d, f, g, x, I, A) {
if (!(f === "key" || f === "is" || x == null || bs(f) || g === x && !Wo(d,
f) && typeof x != "object" || f === "type" && [Link] === "input")) {
if (f[0] === "o" && f[1] === "n")
return Is(d, f, x);
if ([Link](0, 6) === "xlink:")
[Link]("[Link] [Link](6),
x);
else if (f === "style")
Ts([Link], g, x);
else if (Ss(d, f, I)) {
if (f === "value") {
if (([Link] === "input" || [Link] === "textarea") && [Link]
=== "" + x && (A || [Link] === l()) || [Link] === "select" && g !== null &&
[Link] === "" + x || [Link] === "option" && g !== null && [Link] === "" +
x)
return;
if (A && "" + x != "") {
[Link]("`value` is read-only on file inputs!");
return
}
}
[Link][f] = x
} else
typeof x == "boolean" ? x ? [Link](f, "") :
[Link](f) : [Link](f === "className" ? "class" : f, x)
}
}
function tt(d, f, g, x) {
if (!(f === "key" || f === "is" || g == null || bs(f)))
if (f[0] === "o" && f[1] === "n")
Is(d, f, void 0);
else if (f === "style")
Ts([Link], g, null);
else if (Ss(d, f, x) && f !== "className" && f !== "title" && !(f ===
"value" && ([Link] === "option" || [Link] === "select" && [Link] === -1
&& [Link] === l())) && !([Link] === "input" && f === "type"))
[Link][f] = null;
else {
var I = [Link](":");
I !== -1 && (f = [Link](I + 1)),
g !== !1 && [Link](f === "className" ? "class" :
f)
}
}
function Ge(d, f) {
if ("value"in f)
if ([Link] === null)
[Link] !== -1 && ([Link] = null);
else {
var g = "" + [Link];
([Link] !== g || [Link] === -1) && ([Link] =
g)
}
"selectedIndex"in f && Pt(d, "selectedIndex", null, [Link], void
0)
}
function qo(d, f, g, x) {
if (f && f === g && [Link]("Don't reuse attrs object, use new object
for every redraw, this will throw in next major"),
g != null) {
[Link] === "input" && [Link] != null && [Link]("type",
[Link]);
var I = [Link] === "input" && [Link] === "file";
for (var A in g)
Pt(d, A, f && f[A], g[A], x, I)
}
var F;
if (f != null)
for (var A in f)
(F = f[A]) != null && (g == null || g[A] == null) && tt(d, A, F, x)
}
function Wo(d, f) {
return f === "value" || f === "checked" || f === "selectedIndex" || f ===
"selected" && [Link] === l() || [Link] === "option" && [Link] ===
[Link]
}
function bs(d) {
return d === "oninit" || d === "oncreate" || d === "onupdate" || d ===
"onremove" || d === "onbeforeremove" || d === "onbeforeupdate"
}
function Ss(d, f, g) {
return g === void 0 && ([Link]("-") > -1 || [Link] != null &&
[Link] || f !== "href" && f !== "list" && f !== "form" && f !== "width" && f !
== "height") && f in [Link]
}
var Xo = /[A-Z]/g;
function Go(d) {
return "-" + [Link]()
}
function Vi(d) {
return d[0] === "-" && d[1] === "-" ? d : d === "cssFloat" ? "float" :
[Link](Xo, Go)
}
function Ts(d, f, g) {
if (f !== g)
if (g == null)
[Link] = "";
else if (typeof g != "object")
[Link] = g;
else if (f == null || typeof f != "object") {
[Link] = "";
for (var x in g) {
var I = g[x];
I != null && [Link](Vi(x), String(I))
}
} else {
for (var x in g) {
var I = g[x];
I != null && (I = String(I)) !== String(f[x]) &&
[Link](Vi(x), I)
}
for (var x in f)
f[x] != null && g[x] == null && [Link](Vi(x))
}
}
function Li() {
this._ = i
}
[Link] = [Link](null),
[Link] = function(d) {
var f = this["on" + [Link]], g;
typeof f == "function" ? g = [Link]([Link], d) : typeof
[Link] == "function" && [Link](d),
this._ && [Link] !== !1 && (0,
this._)(),
g === !1 && ([Link](),
[Link]())
}
;
function Is(d, f, g) {
if ([Link] != null) {
if ([Link]._ = i,
[Link][f] === g)
return;
g != null && (typeof g == "function" || typeof g == "object") ?
([Link][f] == null && [Link]([Link](2), [Link], !1),

[Link][f] = g) : ([Link][f] != null && [Link]([Link](2),


[Link], !1),

[Link][f] = void 0)
} else
g != null && (typeof g == "function" || typeof g == "object") &&
([Link] = new Li,

[Link]([Link](2), [Link], !1),

[Link][f] = g)
}
function Ui(d, f, g) {
typeof [Link] == "function" && [Link]([Link], f),
typeof [Link] == "function" && [Link]([Link]([Link], f))
}
function Ni(d, f, g) {
typeof [Link] == "function" && [Link]([Link]([Link], f))
}
function Yo(d, f) {
do {
if ([Link] != null && typeof [Link] == "function") {
var g = [Link]([Link], d, f);
if (g !== void 0 && !g)
break
}
if (typeof [Link] != "string" && typeof [Link] ==
"function") {
var g = [Link]([Link], d, f);
if (g !== void 0 && !g)
break
}
return !1
} while (!1);
return [Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
!0
}
var Ct;
return function(d, f, g) {
if (!d)
throw new TypeError("DOM element being rendered to does not exist.");
if (Ct != null && [Link](Ct))
throw new TypeError("Node is currently being rendered to and thus is
locked.");
var x = i
, I = Ct
, A = []
, F = l()
, q = [Link];
Ct = d,
i = typeof g == "function" ? g : void 0;
try {
[Link] == null && ([Link] = ""),
f = [Link]([Link](f) ? f : [f]),
D(d, [Link], f, A, null, q === "[Link] ?
void 0 : q),
[Link] = f,
F != null && l() !== F && typeof [Link] == "function" &&
[Link]();
for (var B = 0; B < [Link]; B++)
A[B]()
} finally {
i = x,
Ct = I
}
}
}, to = nh(typeof window < "u" ? window : null), Hs = Xe(), sh = function(e, t, i)
{
var s = []
, n = !1
, r = -1;
function o() {
for (r = 0; r < [Link]; r += 2)
try {
e(s[r], Hs(s[r + 1]), l)
} catch (a) {
[Link](a)
}
r = -1
}
function l() {
n || (n = !0,
t(function() {
n = !1,
o()
}))
}
[Link] = o;
function c(a, u) {
if (u != null && [Link] == null && typeof u != "function")
throw new TypeError("[Link] expects a component, not a vnode.");
var p = [Link](a);
p >= 0 && ([Link](p, 2),
p <= r && (r -= 2),
e(a, [])),
u != null && ([Link](a, u),
e(a, Hs(u), l))
}
return {
mount: c,
redraw: l
}
}, rh = to, ns = sh(rh, typeof requestAnimationFrame < "u" ?
requestAnimationFrame : null, typeof console < "u" ? console : null), on, Vs;
function io() {
return Vs || (Vs = 1,
on = function(e) {
if ([Link](e) !== "[object Object]")
return "";
var t = [];
for (var i in e)
s(i, e[i]);
return [Link]("&");
function s(n, r) {
if ([Link](r))
for (var o = 0; o < [Link]; o++)
s(n + "[" + o + "]", r[o]);
else if ([Link](r) === "[object Object]")
for (var o in r)
s(n + "[" + o + "]", r[o]);
else
[Link](encodeURIComponent(n) + (r != null && r !== "" ? "=" +
encodeURIComponent(r) : ""))
}
}
),
on
}
var an, Ls;
function no() {
if (Ls)
return an;
Ls = 1;
var e = Oi;
return an = [Link] || function(t, i) {
for (var s in i)
[Link](i, s) && (t[s] = i[s])
}
,
an
}
var ln, Us;
function ss() {
if (Us)
return ln;
Us = 1;
var e = io()
, t = no();
return ln = function(i, s) {
if (/:([^\/\.-]+)(\.{3})?:/.test(i))
throw new SyntaxError("Template parameter names must be separated by
either a '/', '-', or '.'.");
if (s == null)
return i;
var n = [Link]("?")
, r = [Link]("#")
, o = r < 0 ? [Link] : r
, l = n < 0 ? o : n
, c = [Link](0, l)
, a = {};
t(a, s);
var u = [Link](/:([^\/\.-]+)(\.{3})?/g, function(D, k, T) {
return delete a[k],
s[k] == null ? D : T ? s[k] : encodeURIComponent(String(s[k]))
})
, p = [Link]("?")
, h = [Link]("#")
, m = h < 0 ? [Link] : h
, w = p < 0 ? m : p
, v = [Link](0, w);
n >= 0 && (v += [Link](n, o)),
p >= 0 && (v += (n < 0 ? "?" : "&") + [Link](p, m));
var b = e(a);
return b && (v += (n < 0 && p < 0 ? "?" : "&") + b),
r >= 0 && (v += [Link](r)),
h >= 0 && (v += (r < 0 ? "" : "&") + [Link](h)),
v
}
,
ln
}
var oh = ss(), Ns = Oi, ah = function(e, t, i) {
var s = 0;
function n(l) {
return new t(l)
}
[Link] = [Link],
n.__proto__ = t;
function r(l) {
return function(c, a) {
typeof c != "string" ? (a = c,
c = [Link]) : a == null && (a = {});
var u = new t(function(w, v) {
l(oh(c, [Link]), a, function(b) {
if (typeof [Link] == "function")
if ([Link](b))
for (var D = 0; D < [Link]; D++)
b[D] = new [Link](b[D]);
else
b = new [Link](b);
w(b)
}, v)
}
);
if ([Link] === !0)
return u;
var p = 0;
function h() {
--p === 0 && typeof i == "function" && i()
}
return m(u);
function m(w) {
var v = [Link];
return [Link] = n,
[Link] = function() {
p++;
var b = [Link](w, arguments);
return [Link](h, function(D) {
if (h(),
p === 0)
throw D
}),
m(b)
}
,
w
}
}
}
function o(l, c) {
for (var a in [Link])
if ([Link]([Link], a) && [Link]() === c)
return !0;
return !1
}
return {
request: r(function(l, c, a, u) {
var p = [Link] != null ? [Link]() : "GET", h = [Link],
m = ([Link] == null || [Link] === [Link]) && !(h instanceof
[Link] || h instanceof [Link]), w = [Link] || (typeof
[Link] == "function" ? "" : "json"), v = new [Link], b = !1, D = !1, k
= v, T, O = [Link];
[Link] = function() {
b = !0,
[Link](this)
}
,
[Link](p, l, [Link] !== !1, typeof [Link] == "string" ? [Link] :
void 0, typeof [Link] == "string" ? [Link] : void 0),
m && h != null && !o(c, "content-type") &&
[Link]("Content-Type", "application/json; charset=utf-8"),
typeof [Link] != "function" && !o(c, "accept") &&
[Link]("Accept", "application/json, text/*"),
[Link] && ([Link] = [Link]),
[Link] && ([Link] = [Link]),
[Link] = w;
for (var V in [Link])
[Link]([Link], V) && [Link](V, [Link][V]);
[Link] = function(N) {
if (!b && [Link] === 4)
try {
var W = [Link] >= 200 && [Link] < 300 ||
[Link] === 304 || /^file:\/\//[Link](l), P = [Link], L;
if (w === "json") {
if (![Link] && typeof [Link] !=
"function")
try {
P = [Link]([Link])
} catch {
P = null
}
} else
(!w || w === "text") && P == null && (P =
[Link]);
if (typeof [Link] == "function" ? (P =
[Link]([Link], c),
W = !0) : typeof
[Link] == "function" && (P = [Link](P)),
W)
a(P);
else {
var U = function() {
try {
L = [Link]
} catch {
L = P
}
var _ = new Error(L);
_.code = [Link],
_.response = P,
u(_)
};
[Link] === 0 ? setTimeout(function() {
D || U()
}) : U()
}
} catch (_) {
u(_)
}
}
,
[Link] = function(N) {
D = !0;
var W = new Error("Request timed out");
[Link] = [Link],
u(W)
}
,
typeof [Link] == "function" && (v = [Link](v, c, l) || v,
v !== k && (T = [Link],
[Link] = function()
{
b = !0,
[Link](this)
}
)),
h == null ? [Link]() : typeof [Link] == "function" ?
[Link]([Link](h)) : h instanceof [Link] || h instanceof
[Link] ? [Link](h) : [Link]([Link](h))
}),
jsonp: r(function(l, c, a, u) {
var p = [Link] || "_mithril_" + [Link]([Link]() *
1e16) + "_" + s++
, h = [Link]("script");
e[p] = function(m) {
delete e[p],
[Link](h),
a(m)
}
,
[Link] = function() {
delete e[p],
[Link](h),
u(new Error("JSONP request failed"))
}
,
[Link] = l + ([Link]("?") < 0 ? "?" : "&") +
encodeURIComponent([Link] || "callback") + "=" + encodeURIComponent(p),
[Link](h)
})
}
}, lh = eo, ch = ns, hh = ah(typeof window < "u" ? window : null, lh, [Link]),
cn, qs;
function so() {
if (qs)
return cn;
qs = 1;
function e(t) {
try {
return decodeURIComponent(t)
} catch {
return t
}
}
return cn = function(t) {
if (t === "" || t == null)
return {};
[Link](0) === "?" && (t = [Link](1));
for (var i = [Link]("&"), s = {}, n = {}, r = 0; r < [Link]; r++) {
var o = i[r].split("=")
, l = e(o[0])
, c = [Link] === 2 ? e(o[1]) : "";
c === "true" ? c = !0 : c === "false" && (c = !1);
var a = [Link](/\]\[?|\[/)
, u = n;
[Link]("[") > -1 && [Link]();
for (var p = 0; p < [Link]; p++) {
var h = a[p]
, m = a[p + 1]
, w = m == "" || !isNaN(parseInt(m, 10));
if (h === "") {
var l = [Link](0, p).join();
s[l] == null && (s[l] = [Link](u) ? [Link] : 0),
h = s[l]++
} else if (h === "__proto__")
break;
if (p === [Link] - 1)
u[h] = c;
else {
var v = [Link](u, h);
v != null && (v = [Link]),
v == null && (u[h] = v = w ? [] : {}),
u = v
}
}
}
return n
}
,
cn
}
var hn, Ws;
function rs() {
if (Ws)
return hn;
Ws = 1;
var e = so();
return hn = function(t) {
var i = [Link]("?")
, s = [Link]("#")
, n = s < 0 ? [Link] : s
, r = i < 0 ? n : i
, o = [Link](0, r).replace(/\/{2,}/g, "/");
return o ? (o[0] !== "/" && (o = "/" + o),
[Link] > 1 && o[[Link] - 1] === "/" && (o = [Link](0, -
1))) : o = "/",
{
path: o,
params: i < 0 ? {} : e([Link](i + 1, n))
}
}
,
hn
}
var fn, Xs;
function fh() {
if (Xs)
return fn;
Xs = 1;
var e = rs();
return fn = function(t) {
var i = e(t)
, s = [Link]([Link])
, n = []
, r = new RegExp("^" + [Link](/:([^\/.-]+)(\.{3}|\.(?!\.)|-)?|[\\
^$*+.()|\[\]{}]/g, function(o, l, c) {
return l == null ? "\\" + o : ([Link]({
k: l,
r: c === "..."
}),
c === "..." ? "(.*)" : c === "." ?
"([^/]+)\\." : "([^/]+)" + (c || ""))
}) + "$");
return function(o) {
for (var l = 0; l < [Link]; l++)
if ([Link][s[l]] !== [Link][s[l]])
return !1;
if (![Link])
return [Link]([Link]);
var c = [Link]([Link]);
if (c == null)
return !1;
for (var l = 0; l < [Link]; l++)
[Link][n[l].k] = n[l].r ? c[l + 1] : decodeURIComponent(c[l +
1]);
return !0
}
}
,
fn
}
var un, Gs;
function ro() {
if (Gs)
return un;
Gs = 1;
var e = Oi
, t = new RegExp("^(?:key|oninit|oncreate|onbeforeupdate|onupdate|
onbeforeremove|onremove)$");
return un = function(i, s) {
var n = {};
if (s != null)
for (var r in i)
[Link](i, r) && ![Link](r) && [Link](r) < 0 && (n[r] = i[r]);
else
for (var r in i)
[Link](i, r) && ![Link](r) && (n[r] = i[r]);
return n
}
,
un
}
var dn, Ys;
function uh() {
if (Ys)
return dn;
Ys = 1;
var e = Xe()
, t = Zr
, i = eo
, s = ss()
, n = rs()
, r = fh()
, o = no()
, l = ro()
, c = {};
function a(u) {
try {
return decodeURIComponent(u)
} catch {
return u
}
}
return dn = function(u, p) {
var h = u == null ? null : typeof [Link] == "function" ?
[Link] : [Link], m = [Link](), w = !1, v = !1, b = 0, D, k, T = c,
O, V, N, W, P = {
onbeforeupdate: function() {
return b = b ? 2 : 1,
!(!b || c === T)
},
onremove: function() {
[Link]("popstate", _, !1),
[Link]("hashchange", U, !1)
},
view: function() {
if (!(!b || c === T)) {
var z = [e(O, [Link], V)];
return T && (z = [Link](z[0])),
z
}
}
}, L = [Link] = {};
function U() {
w = !1;
var z = [Link];
[Link][0] !== "#" && (z = [Link] + z,
[Link][0] !== "?" && (z = [Link]
+ z,
z[0] !== "/" && (z =
"/" + z)));
var G = [Link]().replace(/(?:%[a-f89][a-f0-9])+/gim,
a).slice([Link])
, X = n(G);
o([Link], [Link]);
function te($) {
[Link]($),
J(k, null, {
replace: !0
})
}
le(0);
function le($) {
for (; $ < [Link]; $++)
if (D[$].check(X)) {
var ge = D[$].component
, Hi = D[$].route
, Pt = ge
, tt = W = function(Ge) {
if (tt === W) {
if (Ge === L)
return le($ + 1);
O = Ge != null && (typeof [Link] == "function" ||
typeof Ge == "function") ? Ge : "div",
V = [Link],
N = G,
W = null,
T = [Link] ? ge : null,
b === 2 ? [Link]() : (b = 2,
[Link]())
}
}
;
[Link] || typeof ge == "function" ? (ge = {},
tt(Pt)) :
[Link] ? [Link](function() {
return [Link]([Link], G, Hi)
}).then(tt, G === k ? null : te) : tt("div");
return
}
if (G === k)
throw new Error("Could not resolve default route " + k + ".");
J(k, null, {
replace: !0
})
}
}
function _() {
w || (w = !0,
h(U))
}
function J(z, G, X) {
if (z = s(z, G),
v) {
_();
var te = X ? [Link] : null
, le = X ? [Link] : null;
X && [Link] ? [Link](te, le, [Link] + z) :
[Link](te, le, [Link] + z)
} else
[Link] = [Link] + z
}
function H(z, G, X) {
if (!z)
throw new TypeError("DOM element being rendered to does not
exist.");
if (D = [Link](X).map(function(le) {
if (le[0] !== "/")
throw new SyntaxError("Routes must start with a '/'.");
if (/:([^\/\.-]+)(\.{3})?:/.test(le))
throw new SyntaxError("Route parameter names must be separated
with either '/', '.', or '-'.");
return {
route: le,
component: X[le],
check: r(le)
}
}),
k = G,
G != null) {
var te = n(G);
if (![Link](function(le) {
return [Link](te)
}))
throw new ReferenceError("Default route doesn't match any known
routes.")
}
typeof [Link] == "function" ?
[Link]("popstate", _, !1) : [Link][0] === "#" &&
[Link]("hashchange", U, !1),
v = !0,
[Link](z, P),
U()
}
return [Link] = function(z, G, X) {
W != null && (X = X || {},
[Link] = !0),
W = null,
J(z, G, X)
}
,
[Link] = function() {
return N
}
,
[Link] = "#!",
[Link] = {
view: function(z) {
var G = t([Link] || "a", l([Link], ["options", "params",
"selector", "onclick"]), [Link]), X, te, le;
return ([Link] = !![Link]) ? ([Link] =
null,
[Link]["aria-
disabled"] = "true") : (X = [Link],

te = [Link],

le = s([Link], [Link]),

[Link] = [Link] + le,

[Link] = function($) {
var ge;
typeof te == "function" ? ge = [Link]($.currentTarget, $) : te
== null || typeof te != "object" || typeof [Link] == "function" &&
[Link]($),
ge !== !1 && !$.defaultPrevented && ($.button === 0 ||
$.which === 0 || $.which === 1) && (!$.[Link] ||
$.[Link] === "_self") && !$.ctrlKey && !$.metaKey && !$.shiftKey && !
$.altKey && ($.preventDefault(),
$.redraw = !1,
[Link](le, null, X))
}

),
G
}
},
[Link] = function(z) {
return V && z != null ? V[z] : V
}
,
H
}
,
dn
}
var pn, $s;
function dh() {
if ($s)
return pn;
$s = 1;
var e = ns;
return pn = uh()(typeof window < "u" ? window : null, e),
pn
}
var Ri = ih
, oo = hh
, ao = ns
, pe = function() {
return [Link](this, arguments)
};
pe.m = Ri;
[Link] = [Link];
[Link] = [Link];
[Link] = "[";
[Link] = [Link];
[Link] = dh();
[Link] = to;
[Link] = [Link];
[Link] = [Link];
[Link] = [Link];
[Link] = so();
[Link] = io();
[Link] = rs();
[Link] = ss();
[Link] = Xe();
[Link] = jr();
[Link] = ro();
var ph = pe;
const Ue = Di(ph);
function ke(e, t, i, s, n) {
[Link] = !1,
[Link] = e,
[Link] = i,
[Link] = t,
[Link] = s,
[Link] = !!n,
[Link] = void 0,
[Link] = void 0,
[Link] = void 0,
[Link] = void 0
}
[Link] = {
0: {
name: "Local",
latitude: 0,
longitude: 0
},
"us-east": {
name: "Miami",
latitude: 40.1393329,
longitude: -75.8521818
},
"us-west": {
name: "Silicon Valley",
latitude: 47.6149942,
longitude: -122.4759879
},
gb: {
name: "London",
latitude: 51.5283063,
longitude: -.382486
},
"eu-west": {
name: "Frankfurt",
latitude: 50.1211273,
longitude: 8.496137
},
au: {
name: "Sydney",
latitude: -33.8479715,
longitude: 150.651084
},
sg: {
name: "Singapore",
latitude: 1.3147268,
longitude: 103.7065876
}
};
[Link] = function(e, t, i, s) {
if ([Link] = t,
[Link] = i,
s)
return [Link]("instacallbacks"),
t();
const n = [Link](e);
n && [Link] > 0 ? ([Link]("Found server in query."),
[Link] = n[3],
[Link](n[0], n[1], n[2])) :
[Link]("Unable to find server")
}
;
[Link] = function(e) {
const t = new URLSearchParams([Link],!0)
, i = e || [Link]("server");
if (typeof i != "string")
return [];
const [s,n] = [Link](":");
return [s, n, [Link]("password")]
}
;
[Link] = function(e, t) {
for (var e in [Link]) {
var i = [Link][e];
for (let n = 0; n < [Link]; n++) {
const r = i[n];
if ([Link] === t)
return r
}
}
[Link]("Could not find server in region " + e + " with serverName " + t +
".")
}
;
[Link] = function(e, t, i) {
i == null && (i = "random"),
t == null && (t = !1);
const s = ["random"]
, n = [Link]
, r = [Link]
, o = [Link][e].flatMap(function(h) {
let m = 0;
return [Link](function(w) {
const v = m++;
return {
region: [Link],
index: [Link] * [Link] + v,
gameIndex: v,
gameCount: [Link],
playerCount: [Link],
isPrivate: [Link]
}
})
}).filter(function(h) {
return ![Link]
}).filter(function(h) {
return t ? [Link] == 0 && [Link] >= [Link] / 2 : !0
}).filter(function(h) {
return i == "random" ? !0 : s[[Link] % [Link]].key == i
}).sort(function(h, m) {
return [Link] - [Link]
}).filter(function(h) {
return [Link] < n
});
if (t && [Link](),
[Link] == 0) {
[Link]("No open servers.");
return
}
const l = [Link](r, [Link]);
var u = [Link]([Link]() * l);
u = [Link](u, [Link] - 1);
const c = o[u]
, a = [Link];
var u = [Link]([Link] / [Link]);
const p = [Link] % [Link];
return [Link]("Found server."),
[a, u, p]
}
;
[Link] = function(e, t, i) {
if ([Link])
return;
const s = [Link](e, t);
if (s == null) {
[Link]("Failed to find server for region " + e + " and
serverName " + t);
return
}
if ([Link]("Connecting to server", s, "with game index", i),
[Link] >= [Link]) {
[Link]("Server is already full.");
return
}
[Link]([Link], [Link],
[Link](e, t, [Link])),
[Link] = s,
[Link] = i,
[Link]("Calling callback with address", [Link](s), "on port",
[Link](s)),
[Link]([Link](s), [Link](s), i),
Ut && clearInterval(Ut)
}
;
[Link] = function(e, t) {
[Link] = !0,
[Link] = [Link](e, t, null)
}
;
[Link] = function(e, t, i) {
let s = [Link]("?")[0];
return s += "?server=" + e + ":" + t,
i && (s += "&password=" + encodeURIComponent(i)),
s
}
;
[Link] = function(e) {
return [Link] == 0 ? "localhost" : [Link] + "." + [Link] + "." +
[Link]
}
;
[Link] = function(e) {
return [Link]
}
;
let Ut;
[Link] = function(e) {
return Ut && clearInterval(Ut),
new Promise(t=>{
const i = {}
, s = c=>{
const a = i[c]
, u = a[0];
let p = [Link](u);
const h = [Link](u);
h && (p += `:${h}`);
const m = `[Link]
, w = new Date().getTime();
return [Link]([fetch(m).then(()=>{
const v = new Date().getTime() - w;
[Link](b=>[Link] = v)
}
).catch(()=>{}
), new
Promise(v=>setTimeout(()=>v(), 2e3))])
}
, n = async()=>{
await [Link]([Link](i).map(s)),
[Link] || [Link]()
}
;
[Link](c=>{
i[[Link]] = i[[Link]] || [],
i[[Link]].push(c)
}
);
for (const c in i)
i[c] = i[c].sort(function(a, u) {
return [Link] - [Link]
});
[Link] = i;
let r;
const [o,l] = [Link]();
[Link](c=>{
o === [Link] && l === [Link] && ([Link] = !0,
r = c)
}
),
n().then(n).then(()=>{
if (r)
return;
let c;
[Link](a=>{
(!c || [Link] > [Link]) && (c = a)
}
),
c && ([Link] = !0,
[Link]([Link], [Link],
[Link]([Link], [Link], [Link]))),
[Link] || [Link]()
}
).catch(c=>{
[Link]("failed ping", c)
}
).finally(t),
Ut = setInterval(n, 5e3)
}
)
}
;
[Link] = function(e) {
return [Link](".").map(i=>("00" + parseInt(i).toString(16)).substr(-
2)).join("").toLowerCase()
}
;
[Link] = function(e) {
return qc([Link](e))
}
;
[Link] = function() {
if ([Link])
return [Link](void 0, arguments);
if ([Link])
return [Link](void 0, arguments)
}
;
[Link] = function(e) {
return [Link]("vultr:") ? e = [Link](6) : [Link]("do:") && (e =
[Link](3)),
e
}
;
const mh = function(e, t) {
return [Link](t)
}
, gh = function(e, t) {
return [Link](e).reduce(mh, [])
};
[Link] = function(e) {
return gh(e, this)
}
;
const ui = (e,t)=>{
const i = t.x - e.x
, s = t.y - e.y;
return [Link](i * i + s * s)
}
, yh = (e,t)=>{
const i = t.x - e.x
, s = t.y - e.y;
return kh(Math.atan2(s, i))
}
, wh = (e,t,i)=>{
const s = {
x: 0,
y: 0
};
return i = _n(i),
s.x = e.x - t * [Link](i),
s.y = e.y - t * [Link](i),
s
}
, _n = e=>e * ([Link] / 180)
, kh = e=>e * (180 / [Link])
, vh = e=>isNaN([Link]) ? [Link] !== 0 : [Link] !== 0
, mn = new Map
, Ks = e=>{
[Link](e) && clearTimeout([Link](e)),
[Link](e, setTimeout(e, 100))
}
, wi = (e,t,i)=>{
const s = [Link](/[ ,]+/g);
let n;
for (let r = 0; r < [Link]; r += 1)
n = s[r],
[Link] ? [Link](n, i, !1) : [Link] &&
[Link](n, i)
}
, Js = (e,t,i)=>{
const s = [Link](/[ ,]+/g);
let n;
for (let r = 0; r < [Link]; r += 1)
n = s[r],
[Link] ? [Link](n, i) : [Link] &&
[Link](n, i)
}
, lo = e=>([Link](),
[Link](/^touch/) ? [Link] : e)
, Qs = ()=>{
const e = [Link] !== void 0 ? [Link] :
([Link] || [Link] || [Link]).scrollLeft
, t = [Link] !== void 0 ? [Link] :
([Link] || [Link] || [Link]).scrollTop;
return {
x: e,
y: t
}
}
, Zs = (e,t)=>{
[Link] || [Link] || [Link] || [Link] ? ([Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link]) :
([Link] = t.x + "px",
[Link]
= t.y + "px")
}
, os = (e,t,i)=>{
const s = co(e);
for (let n in s)
if ([Link](n))
if (typeof t == "string")
s[n] = t + " " + i;
else {
let r = "";
for (let o = 0, l = [Link]; o < l; o += 1)
r += t[o] + " " + i + ", ";
s[n] = [Link](0, -2)
}
return s
}
, xh = (e,t)=>{
const i = co(e);
for (let s in i)
[Link](s) && (i[s] = t);
return i
}
, co = e=>{
const t = {};
return t[e] = "",
["webkit", "Moz", "o"].forEach(function(s) {
t[s + [Link](0).toUpperCase() + [Link](1)] = ""
}),
t
}
, gn = (e,t)=>{
for (let i in t)
[Link](i) && (e[i] = t[i]);
return e
}
, bh = (e,t)=>{
const i = {};
for (let s in e)
[Link](s) && [Link](s) ? i[s] = t[s] :
[Link](s) && (i[s] = e[s]);
return i
}
, Bn = (e,t)=>{
if ([Link])
for (let i = 0, s = [Link]; i < s; i += 1)
t(e[i]);
else
t(e)
}
, Sh = (e,t,i)=>({
x: [Link]([Link](e.x, t.x - i), t.x + i),
y: [Link]([Link](e.y, t.y - i), t.y + i)
});
var Th = "ontouchstart"in window, Ih = !![Link], Mh = !!
[Link], Bt = {
touch: {
start: "touchstart",
move: "touchmove",
end: "touchend, touchcancel"
},
mouse: {
start: "mousedown",
move: "mousemove",
end: "mouseup"
},
pointer: {
start: "pointerdown",
move: "pointermove",
end: "pointerup, pointercancel"
},
MSPointer: {
start: "MSPointerDown",
move: "MSPointerMove",
end: "MSPointerUp"
}
}, kt, $t = {};
Ih ? kt = [Link] : Mh ? kt = [Link] : Th ? (kt = [Link],
$t = [Link]) : kt =
[Link];
function Ve() {}
[Link] = function(e, t) {
var i = this, s = [Link](/[ ,]+/g), n;
i._handlers_ = i._handlers_ || {};
for (var r = 0; r < [Link]; r += 1)
n = s[r],
i._handlers_[n] = i._handlers_[n] || [],
i._handlers_[n].push(t);
return i
}
;
[Link] = function(e, t) {
var i = this;
return i._handlers_ = i._handlers_ || {},
e === void 0 ? i._handlers_ = {} : t === void 0 ? i._handlers_[e] = null :
i._handlers_[e] && i._handlers_[e].indexOf(t) >= 0 &&
i._handlers_[e].splice(i._handlers_[e].indexOf(t), 1),
i
}
;
[Link] = function(e, t) {
var i = this, s = [Link](/[ ,]+/g), n;
i._handlers_ = i._handlers_ || {};
for (var r = 0; r < [Link]; r += 1)
n = s[r],
i._handlers_[n] && i._handlers_[n].length &&
i._handlers_[n].forEach(function(o) {
[Link](i, {
type: n,
target: i
}, t)
})
}
;
[Link] = function(e) {
var t = this;
[Link] = [Link] || {},
e && ([Link] = bh([Link], e))
}
;
[Link] = function(e, t) {
var i = this;
return i._domHandlers_ = i._domHandlers_ || {},
i._domHandlers_[t] = function() {
typeof i["on" + t] == "function" ? i["on" + t].apply(i, arguments) :
[Link]('[WARNING] : Missing "on' + t + '" handler.')
}
,
wi(e, kt[t], i._domHandlers_[t]),
$t[t] && wi(e, $t[t], i._domHandlers_[t]),
i
}
;
[Link] = function(e, t) {
var i = this;
return i._domHandlers_ = i._domHandlers_ || {},
Js(e, kt[t], i._domHandlers_[t]),
$t[t] && Js(e, $t[t], i._domHandlers_[t]),
delete i._domHandlers_[t],
this
}
;
function he(e, t) {
return [Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = e,
[Link] = {
size: 100,
threshold: .1,
color: "white",
fadeTime: 250,
dataOnly: !1,
restJoystick: !0,
restOpacity: .5,
mode: "dynamic",
zone: [Link],
lockX: !1,
lockY: !1,
shape: "circle"
},
[Link](t),
[Link] === "dynamic" && ([Link] = 0),
[Link] = [Link],
[Link] += 1,
[Link]().stylize(),
[Link] = {
el: [Link],
on: [Link](this),
off: [Link](this),
show: [Link](this),
hide: [Link](this),
add: [Link](this),
remove: [Link](this),
destroy: [Link](this),
setPosition: [Link](this),
resetDirection: [Link](this),
computeDirection: [Link](this),
trigger: [Link](this),
position: [Link],
frontPosition: [Link],
ui: [Link],
identifier: [Link],
id: [Link],
options: [Link]
},
[Link]
}
[Link] = new Ve;
[Link] = he;
[Link] = 0;
[Link] = function(e) {
return [Link] = {},
[Link] ? this : ([Link] = [Link]("div"),
[Link] =
[Link]("div"),
[Link] =
[Link]("div"),
[Link] = "nipple collection_"
+ [Link],
[Link] = "back",
[Link] = "front",
[Link]("id", "nipple_" +
[Link] + "_" + [Link]),
[Link]([Link]),
[Link]([Link]),
this)
}
;
[Link] = function() {
if ([Link])
return this;
var e = [Link] + "ms"
, t = xh("borderRadius", "50%")
, i = os("transition", "opacity", e)
, s = {};
return [Link] = {
position: "absolute",
opacity: [Link],
display: "block",
zIndex: 999
},
[Link] = {
position: "absolute",
display: "block",
width: [Link] + "px",
height: [Link] + "px",
marginLeft: -[Link] / 2 + "px",
marginTop: -[Link] / 2 + "px",
background: [Link],
opacity: ".5"
},
[Link] = {
width: [Link] / 2 + "px",
height: [Link] / 2 + "px",
position: "absolute",
display: "block",
marginLeft: -[Link] / 4 + "px",
marginTop: -[Link] / 4 + "px",
background: [Link],
opacity: ".5",
transform: "translate(0px, 0px)"
},
gn([Link], i),
[Link] === "circle" && gn([Link], t),
gn([Link], t),
[Link](s),
this
}
;
[Link] = function(e) {
for (var t in [Link])
if ([Link](t))
for (var i in e[t])
[Link][t].style[i] = e[t][i];
return this
}
;
[Link] = function() {
return [Link] || [Link]([Link]) ? this :
([Link]([Link]),

this)
}
;
[Link] = function() {
return [Link] || ![Link]([Link]) ? this :
([Link]([Link]),

this)
}
;
[Link] = function() {
clearTimeout([Link]),
clearTimeout([Link]),
clearTimeout([Link]),
[Link]("destroyed", [Link]),
[Link](),
[Link]()
}
;
[Link] = function(e) {
var t = this;
return [Link] || (clearTimeout([Link]),
clearTimeout([Link]),
clearTimeout([Link]),
[Link](),
[Link](),
setTimeout(function() {
[Link] = 1
}, 0),
[Link] = setTimeout(function() {
[Link]("shown", [Link]),
typeof e == "function" && [Link](this)
}, [Link])),
t
}
;
[Link] = function(e) {
var t = this;
if ([Link])
return t;
if ([Link] = [Link],
clearTimeout([Link]),
clearTimeout([Link]),
clearTimeout([Link]),
[Link] = setTimeout(function() {
var i = [Link] === "dynamic" ? "none" : "block";
[Link] = i,
typeof e == "function" && [Link](t),
[Link]("hidden", [Link])
}, [Link]),
[Link]) {
const i = [Link]
, s = {};
s.x = i === !0 || i.x !== !1 ? 0 : [Link].x,
s.y = i === !0 || i.y !== !1 ? 0 : [Link].y,
[Link](e, s)
}
return t
}
;
[Link] = function(e, t) {
var i = this;
[Link] = {
x: t.x,
y: t.y
};
var s = [Link] + "ms"
, n = {};
[Link] = os("transition", ["transform"], s);
var r = {
front: {}
};
[Link] = {
transform: "translate(" + [Link].x + "px," + [Link].y +
"px)"
},
[Link](n),
[Link](r),
[Link] = setTimeout(function() {
typeof e == "function" && [Link](i),
[Link]()
}, [Link])
}
;
[Link] = function() {
var e = this
, t = {};
[Link] = os("transition", "none", ""),
[Link](t),
[Link]("rested", [Link])
}
;
[Link] = function() {
[Link] = {
x: !1,
y: !1,
angle: !1
}
}
;
[Link] = function(e) {
var t = [Link], i = [Link] / 4, s = [Link] / 2, n, r, o;
if (t > i && t < i * 3 && ![Link] ? n = "up" : t > -i && t <= i && ![Link] ?
n = "left" : t > -i * 3 && t <= -i && ![Link] ? n = "down" : [Link] || (n =
"right"),
[Link] || (t > -s && t < s ? r = "left" : r = "right"),
[Link] || (t > 0 ? o = "up" : o = "down"),
[Link] > [Link]) {
var l = {}, c;
for (c in [Link])
[Link](c) && (l[c] = [Link][c]);
var a = {};
[Link] = {
x: r,
y: o,
angle: n
},
[Link] = [Link];
for (c in l)
l[c] === [Link][c] && (a[c] = !0);
if (a.x && a.y && [Link])
return e;
(!a.x || !a.y) && [Link]("plain", e),
a.x || [Link]("plain:" + r, e),
a.y || [Link]("plain:" + o, e),
[Link] || [Link]("dir dir:" + n, e)
} else
[Link]();
return e
}
;
function oe(e, t) {
var i = this;
[Link] = [],
[Link] = [],
[Link] = [],
[Link] = [],
[Link] = {},
[Link] = e,
[Link] = [Link],
[Link] += 1,
[Link] = {
zone: [Link],
multitouch: !1,
maxNumberOfNipples: 10,
mode: "dynamic",
position: {
top: 0,
left: 0
},
catchDistance: 200,
size: 100,
threshold: .1,
color: "white",
fadeTime: 250,
dataOnly: !1,
restJoystick: !0,
restOpacity: .5,
lockX: !1,
lockY: !1,
shape: "circle",
dynamicPage: !1,
follow: !1
},
[Link](t),
([Link] === "static" || [Link] === "semi") &&
([Link] = !1),
[Link] || ([Link] = 1);
const s = getComputedStyle([Link]);
return s && [Link] === "flex" && ([Link] = !0),
[Link](),
[Link](),
[Link](),
[Link](),
[Link]
}
[Link] = new Ve;
[Link] = oe;
[Link] = 0;
[Link] = function() {
var e = this
, t = [Link];
[Link] = [Link](e),
[Link] = [Link](e),
[Link] = [Link],
[Link] = [Link](e),
[Link] = [Link],
[Link] = [Link],
[Link] = [Link](e),
[Link] = [Link](e),
[Link] = function(i) {
if (i === void 0)
return t[0];
for (var s = 0, n = [Link]; s < n; s += 1)
if (t[s].identifier === i)
return t[s];
return !1
}
}
;
[Link] = function() {
var e = this;
[Link]([Link], "start"),
[Link] = "none",
[Link] = "none"
}
;
[Link] = function() {
var e = this
, t = [Link];
if ([Link] === "static") {
var i = [Link]([Link], [Link]());
[Link](),
[Link](i)
}
}
;
[Link] = function(e, t) {
var i = this
, s = [Link]
, n = {}
, r = [Link]
, o = {
x: [Link] ? s.x : s.x + [Link],
y: [Link] ? s.y : s.y + [Link]
};
if (e.x && e.y)
n = {
x: e.x - o.x,
y: e.y - o.y
};
else if ([Link] || [Link] || [Link] || [Link]) {
var l = [Link]("DIV");
[Link] = "hidden",
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = "absolute",
[Link](l);
var c = [Link]();
[Link](l),
n = e,
e = {
x: [Link] + s.x,
y: [Link] + s.y
}
}
var a = new he(i,{
color: [Link],
size: [Link],
threshold: [Link],
fadeTime: [Link],
dataOnly: [Link],
restJoystick: [Link],
restOpacity: [Link],
mode: [Link],
identifier: t,
position: e,
zone: [Link],
frontPosition: {
x: 0,
y: 0
},
shape: [Link]
});
return [Link] || (Zs([Link], n),
Zs([Link], [Link])),
[Link](a),
[Link]("added " + [Link] + ":added", a),
[Link]("added " + [Link] + ":added", a),
[Link](a),
a
}
;
[Link] = function() {
var e = this;
[Link] = [Link]()
}
;
[Link] = function(e) {
var t = this, i, s = function(n, r) {
i = [Link] + " " + [Link] + ":" + [Link],
[Link](i, r)
};
[Link]("destroyed", [Link](t)),
[Link]("shown hidden rested dir plain", s),
[Link]("dir:up dir:right dir:down dir:left", s),
[Link]("plain:up plain:right plain:down plain:left", s)
}
;
[Link] = function(e, t, i) {
var s = this
, n = 0;
clearInterval([Link][i]),
[Link][i] = setInterval((function() {
var r = [Link] || [Link] || [Link] || 0;
r !== n && ([Link]("pressure", r),
[Link]("pressure " + [Link] + ":pressure", r),
n = r)
}
).bind(s), 100)
}
;
[Link] = function(e) {
var t = this
, i = [Link]
, s = e;
e = lo(e),
[Link]();
var n = function(r) {
[Link] < [Link] ? [Link](r) :
[Link](/^touch/) && ([Link]([Link]).forEach(function(o) {
if ([Link]([Link]).findIndex(function(c) {
return [Link] === o
}) < 0) {
var l = [e[0]];
[Link] = o,
[Link](l)
}
}),

[Link] < [Link] && [Link](r))


};
return Bn(e, n),
[Link](),
!1
}
;
[Link] = function(e) {
var t = this, i = [Link], s, n = [Link](e), r = [Link] ||
[Link] || [Link] || 0, o = {
x: [Link],
y: [Link]
}, l = [Link](n, o);
[Link] !== n && [Link]([Link]),
[Link] = n;
var c = function(u) {
[Link]("start", u),
[Link]("start " + [Link] + ":start", u),
[Link](),
r > 0 && [Link](e, u, [Link]),
[Link](e)
};
if ((s = [Link](l)) >= 0 && [Link](s, 1),
[Link](l),
[Link]([Link]),
[Link] !== "semi")
c(l);
else {
var a = ui(o, [Link]);
if (a <= [Link])
c(l);
else {
[Link](),
[Link](e);
return
}
}
return l
}
;
[Link] = function(e, t) {
var i = this, s = [Link], n;
return /(semi|static)/.test([Link]) ? (n = [Link][0],
n ? ([Link](0, 1),
n) : [Link] === "semi" ?
[Link](t, e) : ([Link]("Coudln't find the needed nipple."),

!1)) : (n = [Link](t, e),

n)
}
;
[Link] = function(e) {
var t = this
, i = [Link]
, s = [Link](e)
, n = [Link](s)
, r = [Link];
if (!vh(e)) {
[Link](e);
return
}
if (!n) {
[Link]("Found zombie joystick with ID " + s),
[Link](s);
return
}
if ([Link]) {
var o = [Link]();
[Link] = {
x: r.x + [Link],
y: r.y + [Link]
}
}
[Link] = s;
var l = [Link] / 2
, c = {
x: [Link],
y: [Link]
};
[Link] && (c.y = [Link].y),
[Link] && (c.x = [Link].x);
var a = ui(c, [Link]), u = yh(c, [Link]), p = _n(u), h = a / l, m = {
distance: a,
position: c
}, w, v;
if ([Link] === "circle" ? (w = [Link](a, l),
v = wh([Link], w, u)) : (v = Sh(c,
[Link], l),
w = ui(v,
[Link])),
[Link]) {
if (a > l) {
let T = c.x - v.x
, O = c.y - v.y;
[Link].x += T,
[Link].y += O,
[Link] = [Link].y - ([Link] + r.y) + "px",
[Link] = [Link].x - ([Link] + r.x) + "px",
a = ui(c, [Link])
}
} else
c = v,
a = w;
var b = c.x - [Link].x
, D = c.y - [Link].y;
[Link] = {
x: b,
y: D
},
[Link] || ([Link] = "translate(" + b + "px," + D +
"px)");
var k = {
identifier: [Link],
position: c,
force: h,
pressure: [Link] || [Link] || [Link] || 0,
distance: a,
angle: {
radian: p,
degree: u
},
vector: {
x: b / l,
y: -D / l
},
raw: m,
instance: n,
lockX: [Link],
lockY: [Link]
};
k = [Link](k),
[Link] = {
radian: _n(180 - u),
degree: 180 - u
},
[Link]("move", k),
[Link]("move " + [Link] + ":move", k)
}
;
[Link] = function(e) {
var t = this
, i = [Link]
, s = [Link](e)
, n = [Link](s)
, r = [Link]([Link]);
n && ([Link] || [Link](function() {
[Link] === "dynamic" && ([Link]("removed", n),
[Link]("removed " + [Link] + ":removed", n),
[Link]("removed " + [Link] + ":removed",
n),
[Link]())
}),
clearInterval([Link][[Link]]),
[Link](),
[Link]("end", n),
[Link]("end " + [Link] + ":end", n),
[Link]([Link]) >= 0 &&
[Link]([Link]([Link]), 1),
[Link](n) >= 0 && [Link]([Link](n), 1),
/(semi|static)/.test([Link]) ? [Link](n) : [Link](n) >=
0 && [Link]([Link](n), 1),
[Link](),
/(semi|static)/.test([Link]) && ([Link][[Link]] = [Link]))
}
;
[Link] = function(e, t) {
var i = this;
[Link](t) >= 0 && [Link]([Link](t), 1),
[Link](t) >= 0 && [Link]([Link](t), 1),
[Link](t) >= 0 && [Link]([Link](t), 1),
[Link]([Link]) >= 0 &&
[Link]([Link]([Link]), 1),
[Link]([Link]),
[Link]()
}
;
[Link] = function() {
var e = this;
[Link]([Link], "start"),
[Link](function(i) {
[Link]()
});
for (var t in [Link])
[Link](t) &&
clearInterval([Link][t]);
[Link]("destroyed", [Link]),
[Link](),
[Link]()
}
;
function de(e) {
var t = this;
[Link] = {},
[Link] = 0,
[Link] = [],
[Link] = Qs(),
[Link](e),
[Link]();
var i = function() {
var n;
[Link](function(r) {
[Link](function(o) {
n = [Link](),
[Link] = {
x: [Link].x + [Link],
y: [Link].y + [Link]
}
})
})
};
wi(window, "resize", function() {
Ks(i)
});
var s = function() {
[Link] = Qs()
};
return wi(window, "scroll", function() {
Ks(s)
}),
[Link]
}
[Link] = new Ve;
[Link] = de;
[Link] = function() {
var e = this;
[Link] = [Link](e),
[Link] = [Link](e),
[Link] = [Link](e),
[Link] = [Link](e),
[Link] = function(t) {
var i;
return [Link](function(s) {
return i = [Link](t),
!i
}),
i
}
}
;
[Link] = function(e) {
return [Link](e)
}
;
[Link] = function(e) {
var t = this
, i = new oe(t,e);
return [Link](i),
[Link](i),
i
}
;
[Link] = function(e) {
var t = this, i, s = function(n, r) {
i = [Link] + " " + [Link] + ":" + [Link],
[Link](i, r)
};
[Link]("destroyed", [Link](t)),
[Link]("shown hidden rested dir plain", s),
[Link]("dir:up dir:right dir:down dir:left", s),
[Link]("plain:up plain:right plain:down plain:left", s)
}
;
[Link] = function() {
var e = this;
[Link] || ([Link](document, "move").bindEvt(document, "end"),
[Link] = !0)
}
;
[Link] = function(e) {
var t = this;
(![Link]([Link]).length || e === !0) && ([Link](document,
"move").unbindEvt(document, "end"),
[Link] = !1)
}
;
[Link] = function(e) {
var t;
return e ? (t = [Link] === void 0 ? [Link] : [Link],
t === void 0 && (t = [Link] || 0)) : t = [Link],
[Link][t] === void 0 && ([Link][t] = [Link],
[Link] += 1),
[Link] = t,
[Link][t]
}
;
[Link] = function(e) {
var t = {};
for (var i in [Link])
if ([Link][i] === e) {
[Link] = i,
[Link] = [Link][i],
delete [Link][i];
break
}
return t
}
;
[Link] = function(e) {
var t = this;
return [Link]("move", e),
!1
}
;
[Link] = function(e) {
var t = this;
return [Link]("end", e),
!1
}
;
[Link] = function(e) {
var t = this;
return [Link]("end", e),
!1
}
;
[Link] = function(e, t) {
var i = this, s, n = "processOn" + [Link](0).toUpperCase() + [Link](1);
t = lo(t);
var r = function(l, c, a) {
[Link](c) >= 0 && (a[n](l),
l._found_ = !0)
}
, o = function(l) {
s = [Link](l),
Bn([Link], [Link](null, l, s)),
l._found_ || [Link](s)
};
return Bn(t, o),
!1
}
;
[Link] = function() {
var e = this;
[Link](!0),
[Link] = {},
[Link] = 0,
[Link](function(t) {
[Link]()
}),
[Link]()
}
;
[Link] = function(e, t) {
var i = this;
if ([Link](t) < 0)
return !1;
[Link]([Link](t), 1)
}
;
const js = new de
, er = {
create: function(e) {
return [Link](e)
},
factory: js
};
let tr = !1;
const Eh = e=>{
if (tr)
return;
tr = !0;
const t = [Link]("touch-controls-left")
, i = [Link]({
zone: t
});
[Link]("start", [Link]),
[Link]("end", [Link]),
[Link]("move", [Link]);
const s = [Link]("touch-controls-right")
, n = [Link]({
zone: s
});
[Link]("start", [Link]),
[Link]("end", [Link]),
[Link]("move", [Link]),
[Link] = "block",
[Link] = "block"
}
, Ph = {
enable: Eh
};
[Link] = !0;
const Ch = [Link] !== "localhost" && [Link] !== "[Link]"
&& ![Link]("192.168.")
, ho = [Link] === "[Link]" || [Link] ===
"[Link]"
, Ah = [Link] === "[Link]" || [Link] ===
"[Link]"
, zn = new uc;
let di, pi;
const ki = [Link] === "localhost" || [Link] === "[Link]"
, Dh = !1
, as = ki || Dh;
ho ? (di = "[Link]
pi = "[Link]") : Ah ? (di = "[Link]
pi = "[Link]") : (di = "[Link]
pi = "[Link]");
const Oh = !as
, Ne = new ke(pi,443,[Link],5,Oh);
[Link] = !1;
const Me = {
animationTime: 0,
land: null,
lava: null,
x: [Link],
y: [Link]
};
function Rh() {
let e = !1;
return function(t) {
(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|
elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.
+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|
series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|
android|ipad|playbook|silk/[Link](t) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|
802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|
go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|
bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|
ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|
esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|
gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|
s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|
ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|
le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|
mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|
mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|
m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|
pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|
qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|
mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|
m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|
50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|
m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|
vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|
x700|yas\-|your|zeto|zte\-/[Link]([Link](0, 4))) && (e = !0)
}([Link] || [Link] || [Link]),
e
}
const fo = Rh();
let vi = !1
, Fn = !1;
function ir() {
!ds || Fn || (Fn = !0,
Ch || as ? [Link]() ?
[Link]().then(e=>{
ni("fb:" + e)
}

).catch(e=>{
[Link]("Failed to get token", e)
}

) : [Link] ? ni([Link]) :
[Link](()=>{
[Link]("6LfahtgjAAAAAF8SkpjyeYMcxMdxIaQeh-VoPATP", {
action: "homepage"
}).then(function(e) {
ni("re:" + e)
}).catch([Link])
}
) : ni())
}
let Hn = !1;
function ni(e) {
[Link](Si, function(t, i, s) {
let r = "wss" + "://" + t;
e && (r += "?token=" + encodeURIComponent(e)),
ki && (r = "[Link]
[Link](r, function(o) {
if (Hn) {
Hn = !1;
return
}
Lo(),
o ? bn(o) : (vi = !0,
Pi())
}, {
/*
"id": setInitData,1
"d": disconnect,2
"1": setupGame,3
"2": addPlayer,4
"4": removePlayer,5
"33": updatePlayers,6
"5": updateLeaderboard,7
"6": loadGameObject,8
"a": loadAI,9
"aa": animateAI,10
"7": gatherAnimation,11
"8": wiggleGameObject,12
"sp": shootTurret,13
"9": updatePlayerValue,14
"h": updateHealth,15
"11": killPlayer,16
"12": killObject,17
"13": killObjects,18
"14": updateItemCounts,19
"15": updateAge,20
"16": updateUpgrades,21
"17": updateItems,22
"18": addProjectile,23
"19": remProjectile,24
"20": serverShutdownNotice,25
"ac": addAlliance,26
"ad": deleteAlliance,27
"an": allianceNotification,28
"st": setPlayerTeam,29
"sa": setAlliancePlayers,30
"us": updateStoreItems,31
"ch": receiveChat,32
"mm": updateMinimap,33
"t": showText,34
"p": pingMap,35
"pp": pingSocketResponse36*/
A: Wh,
B: bn,
C: Mf,
D: Zf,
E: jf,
a: nu,
G: Of,
H: Wf,
I: Jf,
J: Kf,
K: Bf,
L: Xf,
M: Gf,
N: tu,
O: iu,
P: Pf,
Q: Af,
R: Cf,
S: eu,
T: _o,
U: Ro,
V: Io,
X: Yf,
Y: $f,
Z: ou,
g: jh,
1: nf,
2: Zh,
3: ef,
4: tf,
5: uf,
6: yf,
7: lf,
8: Ef,
9: of,
0: ru
})
}, function(t) {
[Link]("Vultr error:", t),
alert(`Error:
` + t),
bn("disconnected")
}, ki)
}
function ls() {
return [Link]
}
function _h() {
const t = prompt("party key", Si);
t && ([Link] = void 0,
[Link] = "/?server=" + t)
}
const Bh = new dc(S)
, uo = [Link]
, Je = uo * 2;
[Link] = function(e, t, i) {
[Link](t - e) > uo && (e > t ? t += Je : e += Je);
const n = t + (e - t) * i;
return n >= 0 && n <= Je ? n : n % Je
}
;
[Link] = function(e, t, i, s, n) {
return i < 2 * n && (n = i / 2),
s < 2 * n && (n = s / 2),
n < 0 && (n = 0),
[Link](),
[Link](e + n, t),
[Link](e + i, t, e + i, t + s, n),
[Link](e + i, t + s, e, t + s, n),
[Link](e, t + s, e, t, n),
[Link](e, t, e + i, t, n),
[Link](),
this
}
;
let cs;
typeof Storage < "u" && (cs = !0);
function _i(e, t) {
cs && [Link](e, t)
}
function Nt(e) {
return cs ? [Link](e) : null
}
let xi = Nt("moofoll");
function zh() {
xi || (xi = !0,
_i("moofoll", 1))
}
let po, at, pt = 1, be, Tt, yn, nr = [Link]();
var Fe;
let Ee;
const we = []
, K = [];
let Oe = [];
const Ze = []
, It = []
, mo = new gc(Hc,It,K,we,ue,R,S,C)
, sr = new yc(we,wc,K,R,null,S,C);
let E, go, y, lt = 1, wn = 0, yo = 0, wo = 0, Re, _e, rr, hs = 0;
const ne = [Link]
, se = [Link];
let mt, gt, Kt = !1;
[Link]("ad-container");
const Bi = [Link]("mainMenu")
, Vn = [Link]("enterGame")
, kn = [Link]("promoImg");
[Link]("partyButton");
const vn = [Link]("joinPartyButton")
, Ln = [Link]("settingsButton")
, or = [Link]("span")[0]
, ar = [Link]("allianceButton")
, lr = [Link]("storeButton")
, cr = [Link]("chatButton")
, vt = [Link]("gameCanvas")
, M = [Link]("2d");
var Fh = [Link]("serverBrowser");
const Un = [Link]("nativeResolution")
, xn = [Link]("showPing");
[Link]("playMusic");
const bi = [Link]("pingDisplay")
, hr = [Link]("shutdownDisplay")
, Jt = [Link]("menuCardHolder")
, qt = [Link]("guideCard")
, Mt = [Link]("loadingText")
, fs = [Link]("gameUI")
, fr = [Link]("actionBar")
, Hh = [Link]("scoreDisplay")
, Vh = [Link]("foodDisplay")
, Lh = [Link]("woodDisplay")
, Uh = [Link]("stoneDisplay")
, Nh = [Link]("killCounter")
, ur = [Link]("leaderboardData")
, Qt = [Link]("nameInput")
, Le = [Link]("itemInfoHolder")
, dr = [Link]("ageText")
, pr = [Link]("ageBarBody")
, ct = [Link]("upgradeHolder")
, si = [Link]("upgradeCounter")
, Te = [Link]("allianceMenu")
, ri = [Link]("allianceHolder")
, oi = [Link]("allianceManager")
, me = [Link]("mapDisplay")
, Wt = [Link]("diedText")
, qh = [Link]("skinColorHolder")
, ce = [Link]("2d");
[Link] = 300;
[Link] = 300;
const qe = [Link]("storeMenu")
, mr = [Link]("storeHolder")
, ht = [Link]("noticationDisplay")
, Xt = [Link]
, Gt = [Link];
var ue = new mc(kc,Ze,C,S);
const Zt = "#525252"
, gr = "#3d3f42"
, We = 5.5;
S.DAY_INTERVAL / 24;
S.DAY_INTERVAL / 2;
function Wh(e) {
Oe = [Link]
}
let us = !0;
var ds = !1;
([Link]() || !as || ki) && (ds = !0);
[Link] = function() {
us = !1
}
;
[Link] = function() {
us = !0,
E && [Link] && vs()
}
;
[Link] = function() {
ds = !0
}
;
[Link] && [Link]();
[Link]("keydown", function(e) {
[Link] == 32 && [Link] == [Link] && [Link]()
});
[Link] = function() {
return !1
}
;
["touch-controls-left", "touch-controls-right", "touch-controls-fullscreen",
"storeMenu"].forEach(e=>{
[Link](e) && ([Link](e).oncontextmenu =
function(t) {
[Link]()
}
)
}

);
function bn(e) {
vi = !1,
[Link](),
ps(e)
}
function ps(e, t) {
[Link] = "block",
[Link] = "none",
[Link] = "none",
[Link] = "none",
[Link] = "block",
[Link] = e + (t ? "<a
href='javascript:[Link]=[Link]'
class='ytLink'>reload</a>" : "")
}
function Xh() {
[Link] = !0,
[Link] = "none",
[Link] = "block",
[Link] = "block",
df(),
Gh(),
Df(),
[Link] = "none",
[Link] = "block";
let e = Nt("moo_name") || "";
![Link] && [Link] && (e = [Link](),
e && (e += [Link]([Link]() * 90) + 9)),
[Link] = e || ""
}
let ai = !1;
function Gh() {
[Link] = [Link](function() {
ps("Connecting..."),
ls() ? ai ?
[Link]("interstitial").catch([Link]).finally(Pi) : (Pi(),

ai = !0) : ai ? [Link]("interstitial").catch([Link]).finally(ir) :
(ir(),
ai = !0)
}),
[Link](Vn),
kn && ([Link] = [Link](function() {
No("[Link]
}),
[Link](kn)),
vn && ([Link] = [Link](function() {
setTimeout(function() {
_h()
}, 10)
}),
[Link](vn)),
[Link] = [Link](function() {
mf()
}),
[Link](Ln),
[Link] = [Link](function() {
sf()
}),
[Link](ar),
[Link] = [Link](function() {
ff()
}),
[Link](lr),
[Link] = [Link](function() {
Eo()
}),
[Link](cr),
[Link] = [Link](function() {
Do()
}),
[Link](me)
}
let Si;
const Yh = {
view: ()=>{
if (![Link])
return;
let e = 0;
const t = [Link]([Link]).map(i=>{
const s = [Link][i].name;
let n = 0;
const r = [Link][i].map(o=>{
n += [Link];
const l = [Link];
let c = s + " " + [Link] + " [" + [Link]([Link],
[Link]) + "/" + [Link] + "]";
const a = [Link]
, u = l ? "selected" : "";
[Link] && (c += ` [${[Link]([Link])}ms]`);
let p = {
value: i + ":" + a
};
return u && (Si = i + ":" + a,
[Link] = !0),
Ue("option", p, c)
}
);
return e += n,
[Ue("option[disabled]", `${s} - ${n} players`), r,
Ue("option[disabled]")]
}
);
return Ue("select", {
value: Si,
onclick: ()=>{
[Link] = !0
}
,
onchange: Jh
}, [t, Ue("option[disabled]", `All Servers - ${e} players`)])
}
};
[Link](Fh, Yh);
var Nn, qn;
[Link] == "[Link]" ? (Nn = "Back to MooMoo",
qn = "//[Link]/") : (Nn = "Try the
sandbox",
qn =
"//[Link]/");
[Link]("altServer").innerHTML = "<a href='" + qn + "'>" + Nn + "<i
class='material-icons' style='font-size:10px;vertical-
align:middle'>arrow_forward_ios</i></a>";
const $h = `${di}/servers?v=1.21`
, ko = async()=>fetch($h).then(e=>[Link]()).then(async
e=>[Link](e)).catch(e=>{
[Link]("Failed to load server data with status code:", e)
}

)
, Kh = ()=>ko().then(Xh).catch(e=>{
[Link]("Failed to load.")
}
);
[Link](()=>[Link]()).then(()=>Kh
());
const Jh = e=>{
if ([Link] = !1,
[Link]) {
const [t,i] = [Link](":");
[Link](t, i)
} else
vi && (vi = !1,
Fn = !1,
Hn = !0,
Ci = !0,
[Link]())
}
;
[Link]("pre-content-container");
function Qh() {
[Link]("interstitial", Pi)
}
[Link] = Qh;
function Se(e, t, i) {
if (E && e) {
if ([Link](Le),
[Link]("visible"),
[Link]({
id: "itemInfoName",
text: [Link]([Link]),
parent: Le
}),
[Link]({
id: "itemInfoDesc",
text: [Link],
parent: Le
}),
!i)
if (t)
[Link]({
class: "itemInfoReq",
text: [Link] ? "secondary" : "primary",
parent: Le
});
else {
for (let n = 0; n < [Link]; n += 2)
[Link]({
class: "itemInfoReq",
html: [Link][n] + "<span class='itemInfoReqVal'> x" +
[Link][n + 1] + "</span>",
parent: Le
});
const s = ho ? [Link] || [Link]([Link] * 3,
99) : [Link];
[Link] && [Link]({
class: "itemInfoLmt",
text: ([Link][[Link]] || 0) + "/" + s,
parent: Le
})
}
} else
[Link]("visible")
}
let Et = []
, yt = [];
function Zh(e, t) {
[Link]({
sid: e,
name: t
}),
ms()
}
function ms() {
if (Et[0]) {
const e = Et[0];
[Link](ht),
[Link] = "block",
[Link]({
class: "notificationText",
text: [Link],
parent: ht
}),
[Link]({
class: "notifButton",
html: "<i class='material-icons' style='font-
size:28px;color:#cc5151;'>&#xE14C;</i>",
parent: ht,
onclick: function() {
Xn(0)
},
hookTouch: !0
}),
[Link]({
class: "notifButton",
html: "<i class='material-icons' style='font-
size:28px;color:#8ecc51;'>&#xE876;</i>",
parent: ht,
onclick: function() {
Xn(1)
},
hookTouch: !0
})
} else
[Link] = "none"
}
function jh(e) {
[Link](e),
[Link] == "block" && jt()
}
function ef(e, t) {
E && ([Link] = e,
[Link] = t,
[Link] == "block" && jt())
}
function tf(e) {
yt = e,
[Link] == "block" && jt()
}
function nf(e) {
for (let t = [Link] - 1; t >= 0; t--)
Oe[t].sid == e && [Link](t, 1);
[Link] == "block" && jt()
}
function sf() {
vs(),
[Link] != "block" ? jt() : Wn()
}
function Wn() {
[Link] == "block" && ([Link] = "none")
}
function jt() {
if (E && [Link]) {
if (zi(),
[Link] = "none",
[Link] = "block",
[Link](ri),
[Link])
for (var e = 0; e < [Link]; e += 2)
(function(t) {
const i = [Link]({
class: "allianceItem",
style: "color:" + (yt[t] == [Link] ? "#fff" :
"rgba(255,255,255,0.6)"),
text: yt[t + 1],
parent: ri
});
[Link] && yt[t] != [Link] && [Link]({
class: "joinAlBtn",
text: "Kick",
onclick: function() {
vo(yt[t])
},
hookTouch: !0,
parent: i
})
}
)(e);
else if ([Link])
for (var e = 0; e < [Link]; ++e)
(function(i) {
const s = [Link]({
class: "allianceItem",
style: "color:" + (Oe[i].sid == [Link] ? "#fff" :
"rgba(255,255,255,0.6)"),
text: Oe[i].sid,
parent: ri
});
[Link]({
class: "joinAlBtn",
text: "Join",
onclick: function() {
xo(i)
},
hookTouch: !0,
parent: s
})
}
)(e);
else
[Link]({
class: "allianceItem",
text: "No Tribes Yet",
parent: ri
});
[Link](oi),
[Link] ? [Link]({
class: "allianceButtonM",
style: "width: 360px",
text: [Link] ? "Delete Tribe" : "Leave Tribe",
onclick: function() {
bo()
},
hookTouch: !0,
parent: oi
}) : ([Link]({
tag: "input",
type: "text",
id: "allianceInput",
maxLength: 7,
placeholder: "unique name",
onchange: t=>{
[Link] = ([Link] || "").slice(0, 7)
}
,
onkeypress: t=>{
if ([Link] === "Enter")
return [Link](),
Gn(),
!1
}
,
parent: oi
}),
[Link]({
tag: "div",
class: "allianceButtonM",
style: "width: 140px;",
text: "Create",
onclick: function() {
Gn()
},
hookTouch: !0,
parent: oi
}))
}
}
function Xn(e) {
[Link]("P", Et[0].sid, e),
[Link](0, 1),
ms()
}
function vo(e) {
[Link]("Q", e)
}
function xo(e) {
[Link]("b", Oe[e].sid)
}
function Gn() {
[Link]("L", [Link]("allianceInput").value)
}
function bo() {
Et = [],
ms(),
[Link]("N")
}
let mi, Ft, Qe;
const xt = [];
let $e;
function rf() {
[Link] = function(e, t) {
[Link] = 0,
this.x = e,
this.y = t,
[Link] = !0
}
,
[Link] = function(e, t) {
[Link] && ([Link] += .05 * t,
[Link] >= [Link] ? [Link] = !1 :
([Link] = 1 - [Link](0, [Link] / [Link]),

[Link](),

[Link](this.x / [Link] * [Link], this.y / [Link] * [Link], [Link],


0, 2 * [Link]),

[Link]()))
}
}
function of(e, t) {
for (let i = 0; i < [Link]; ++i)
if (!xt[i].active) {
$e = xt[i];
break
}
$e || ($e = new rf,
[Link]($e)),
$[Link](e, t)
}
function af() {
Qe || (Qe = {}),
Qe.x = E.x,
Qe.y = E.y
}
function lf(e) {
Ft = e
}
function cf(e) {
if (E && [Link]) {
[Link](0, 0, [Link], [Link]),
[Link] = "#fff",
[Link] = 4;
for (var t = 0; t < [Link]; ++t)
$e = xt[t],
$[Link](ce, e);
if ([Link] = 1,
[Link] = "#fff",
Q(E.x / [Link] * [Link], E.y / [Link] * [Link], 7, ce, !
0),
[Link] = "rgba(255,255,255,0.35)",
[Link] && Ft)
for (var t = 0; t < [Link]; )
Q(Ft[t] / [Link] * [Link], Ft[t + 1] / [Link] *
[Link], 7, ce, !0),
t += 2;
mi && ([Link] = "#fc5553",
[Link] = "34px Hammersmith One",
[Link] = "middle",
[Link] = "center",
[Link]("x", mi.x / [Link] * [Link], mi.y / [Link] *
[Link])),
Qe && ([Link] = "#fff",
[Link] = "34px Hammersmith One",
[Link] = "middle",
[Link] = "center",
[Link]("x", Qe.x / [Link] * [Link], Qe.y / [Link]
* [Link]))
}
}
let Yn = 0;
function hf(e) {
Yn != e && (Yn = e,
gs())
}
function ff() {
[Link] != "block" ? ([Link] = "block",
[Link] = "none",
zi(),
gs()) : $n()
}
function $n() {
[Link] == "block" && ([Link] = "none",
Se())
}
function uf(e, t, i) {
i ? e ? [Link] = t : [Link][t] = 1 : e ? [Link] = t : [Link][t] =
1,
[Link] == "block" && gs()
}
function gs() {
if (E) {
[Link](mr);
const e = Yn
, t = e ? Gt : Xt;
for (let i = 0; i < [Link]; ++i)
t[i].dontSell || function(s) {
const n = [Link]({
id: "storeDisplay" + s,
class: "storeItem",
onmouseout: function() {
Se()
},
onmouseover: function() {
Se(t[s], !1, !0)
},
parent: mr
});
[Link](n, !0),
[Link]({
tag: "img",
class: "hatPreview",
src: "./img/" + (e ? "accessories/access_" : "hats/hat_") +
t[s].id + (t[s].topSprite ? "_p" : "") + ".png",
parent: n
}),
[Link]({
tag: "span",
text: t[s].name,
parent: n
}),
(e ? ![Link][t[s].id] : ![Link][t[s].id]) ?
([Link]({
class: "joinAlBtn",
style: "margin-top: 5px",
text: "Buy",
onclick: function() {
So(t[s].id, e)
},
hookTouch: !0,
parent: n
}),

[Link]({
tag: "span",
class: "itemPrice",
text: t[s].price,
parent: n
})) : (e ? [Link] : [Link]) == t[s].id ?
[Link]({
class: "joinAlBtn",
style: "margin-top: 5px",
text: "Unequip",
onclick: function() {
Kn(0, e)
},
hookTouch: !0,
parent: n
}) : [Link]({
class: "joinAlBtn",
style: "margin-top: 5px",
text: "Equip",
onclick: function() {
Kn(t[s].id, e)
},
hookTouch: !0,
parent: n
})
}(i)
}
}

function Kn(e, t) {
[Link]("c", 0, e, t)
}
function So(e, t) {
[Link]("c", 1, e, t)
}
function To() {
[Link] = "none",
[Link] = "none",
zi()
}
function df() {
const e = Nt("native_resolution");
Sn(e ? e == "true" : typeof cordova < "u"),
at = Nt("show_ping") == "true",
[Link] = !at || !Kt,
Nt("moo_moosic"),
setInterval(function() {
[Link] &&
([Link]("downloadButtonContainer").[Link]("cordova"),
[Link]("mobileDownloadButtonContainer").[Link]("cordova"))
}, 1e3),
Mo(),
[Link](fr);
for (var t = 0; t < [Link] + [Link]; ++t)
(function(i) {
[Link]({
id: "actionBarItem" + i,
class: "actionBarItem",
style: "display:none",
onmouseout: function() {
Se()
},
parent: fr
})
}
)(t);
for (var t = 0; t < [Link] + [Link]; ++t)
(function(s) {
const n = [Link]("canvas");
[Link] = [Link] = 66;
const r = [Link]("2d");
if ([Link]([Link] / 2, [Link] / 2),
[Link] = !1,
[Link] = !1,
[Link] = !1,
[Link][s]) {
[Link]([Link] / 4 + [Link]);
var o = new Image;
Zn[[Link][s].src] = o,
[Link] = function() {
[Link] = !0;
const c = 1 / ([Link] / [Link])
, a = [Link][s].iPad || 1;
[Link](this, -([Link] * a * [Link] * c) / 2, -
([Link] * a * [Link]) / 2, [Link] * a * c * [Link], [Link] * a *
[Link]),
[Link] = "rgba(0, 0, 70, 0.1)",
[Link] = "source-atop",
[Link](-[Link] / 2, -[Link] / 2, [Link], [Link]),
[Link]("actionBarItem" +
s).[Link] = "url(" + [Link]() + ")"
}
,
[Link] = "./img/weapons/" + [Link][s].src + ".png";
var l = [Link]("actionBarItem" + s);
[Link] = [Link](function() {
Se([Link][s], !0)
}),
[Link] = [Link](function() {
Yt(s, !0)
}),
[Link](l)
} else {
var o = xs([Link][s - [Link]], !0);
const a = [Link]([Link] - [Link], [Link]);
[Link] = 1,
[Link](o, -a / 2, -a / 2, a, a),
[Link] = "rgba(0, 0, 70, 0.1)",
[Link] = "source-atop",
[Link](-a / 2, -a / 2, a, a),
[Link]("actionBarItem" +
s).[Link] = "url(" + [Link]() + ")";
var l = [Link]("actionBarItem" + s);
[Link] = [Link](function() {
Se([Link][s - [Link]])
}),
[Link] = [Link](function() {
Yt(s - [Link])
}),
[Link](l)
}
}
)(t);
[Link] = i=>{
[Link] = ([Link] || "").slice(0, 15)
}
,
[Link] = i=>{
if ([Link] === "Enter")
return [Link](),
[Link](i),
!1
}
,
[Link] = po,
[Link] = [Link](function(i) {
Sn([Link])
}),
[Link] = at,
[Link] = [Link](function(i) {
at = [Link],
[Link] = !at,
_i("show_ping", at ? "true" : "false")
})
}
function Io(e, t) {
e && (t ? [Link] = e : [Link] = e);
for (var i = 0; i < [Link]; ++i) {
const s = [Link] + i;
[Link]("actionBarItem" + s).[Link] =
[Link]([Link][i].id) >= 0 ? "inline-block" : "none"
}
for (var i = 0; i < [Link]; ++i)
[Link]("actionBarItem" + i).[Link] =
[Link][[Link][i].type] == [Link][i].id ? "inline-block" : "none"
}
function Sn(e) {
po = e,
pt = e && [Link] || 1,
[Link] = e,
_i("native_resolution", [Link]()),
ys()
}
function pf() {
ei ? [Link]("touch") : [Link]("touch")
}
function mf() {
[Link]("showing") ? ([Link]("showing"),
[Link] = "Settings") :
([Link]("showing"),
[Link]
= "Close")
}
function Mo() {
let e = "";
for (let t = 0; t < [Link]; ++t)
t == hs ? e += "<div class='skinColorItem activeSkin' style='background-
color:" + [Link][t] + "' onclick='selectSkinColor(" + t + ")'></div>" : e +=
"<div class='skinColorItem' style='background-color:" + [Link][t] + "'
onclick='selectSkinColor(" + t + ")'></div>";
[Link] = e
}
function gf(e) {
hs = e,
Mo()
}
const Ht = [Link]("chatBox")
, Ti = [Link]("chatHolder");
function Eo() {
ei ? setTimeout(function() {
const e = prompt("chat message");
e && yr(e)
}, 1) : [Link] == "block" ? ([Link] && yr([Link]),
zi()) : ([Link] = "none",
[Link] = "none",
[Link] = "block",
[Link](),
vs()),
[Link] = ""
}
function yr(e) {
[Link]("6", [Link](0, 30))
}
function zi() {
[Link] = "",
[Link] = "none"
}
function yf(e, t) {
const i = Fi(e);
i && ([Link] = t,
[Link] = [Link])
}
[Link]("resize", [Link](ys));
function ys() {
mt = [Link],
gt = [Link];
const e = [Link](mt / ne, gt / se) * pt;
[Link] = mt * pt,
[Link] = gt * pt,
[Link] = mt + "px",
[Link] = gt + "px",
[Link](e, 0, 0, e, (mt * pt - ne * e) / 2, (gt * pt - se * e) / 2)
}
ys();
let ei;
je(!1);
function je(e) {
ei = e,
pf()
}
[Link] = je;
let wf = [Link]("leaderboardButton")
, Po = [Link]("leaderboard");
[Link]("touchstart", ()=>{
[Link]("is-showing")
}
);
const ws = ()=>{
[Link]("is-showing")
}
;
[Link]("touchend", ws);
[Link]("touchleave", ws);
[Link]("touchcancel", ws);
if (!fo) {
let t = function(n) {
[Link](),
[Link](),
je(!1),
yo = [Link],
wo = [Link]
}
, i = function(n) {
je(!1),
Ee != 1 && (Ee = 1,
et())
}
, s = function(n) {
je(!1),
Ee != 0 && (Ee = 0,
et())
};
var au = t
, lu = i
, cu = s;
const e = [Link]("touch-controls-fullscreen");
[Link] = "block",
[Link]("mousemove", t, !1),
[Link]("mousedown", i, !1),
[Link]("mouseup", s, !1)
}
let Jn = !1, Co;
function kf() {
let e = 0, t = 0, i;
if (ei) {
if (!Jn)
return;
i = Co
}
for (const s in Mi) {
const n = Mi[s];
e += !!Fe[s] * n[0],
t += !!Fe[s] * n[1]
}
if ((e != 0 || t != 0) && (i = Math.atan2(t, e)),
i !== void 0)
return [Link](i, 2)
}
let Ii;
function ks() {
return E ? (![Link] && !ei && (Ii = Math.atan2(wo - gt / 2, yo - mt / 2)),
[Link](Ii || 0, 2)) : 0
}
var Fe = {}
, Mi = {
87: [0, -1],
38: [0, -1],
83: [0, 1],
40: [0, 1],
65: [-1, 0],
37: [-1, 0],
68: [1, 0],
39: [1, 0]
};
function vs() {
Fe = {},
[Link]("e")
}
function Ao() {
return [Link] != "block" && [Link] != "block"
}
function vf(e) {
const t = [Link] || [Link] || 0;
t == 27 ? To() : E && [Link] && Ao() && (Fe[t] || (Fe[t] = 1,
t == 69 ? Sf() : t == 67 ?
af() : t == 88 ? bf() : [Link][t - 49] != null ? Yt([Link][t - 49], !0) :
[Link][t - 49 - [Link]] != null ? Yt([Link][t - 49 - [Link]])
: t == 81 ? Yt([Link][0]) : t == 82 ? Do() : Mi[t] ? Ei() : t == 32 && (Ee = 1,
et())))
}
[Link]("keydown", [Link](vf));
function xf(e) {
if (E && [Link]) {
const t = [Link] || [Link] || 0;
if (t == 13) {
if ([Link] === "block")
return;
Eo()
} else
Ao() && Fe[t] && (Fe[t] = 0,
Mi[t] ? Ei() : t == 32 && (Ee = 0,
et()))
}
}
[Link]("keyup", [Link](xf));
function et() {
E && [Link] && [Link]("d", Ee, [Link] >= 0 ? ks() : null)
}
let Tn;
function Ei() {
const e = kf();
(Tn == null || e == null || [Link](e - Tn) > .3) && ([Link]("a", e),
Tn = e)
}
function bf() {
[Link] = [Link] ? 0 : 1,
[Link]("K", 0)
}
function Do() {
[Link]("S", 1)
}
function Sf() {
[Link]("K", 1)
}
function Yt(e, t) {
[Link]("G", e, t)
}
[Link] = ee;
function Pi() {
[Link] && [Link]("game_start"),
_i("moo_name", [Link]),
!Kt && ls() && (Kt = !0,
[Link]("menu"),
ps("Loading..."),
[Link]("M", {
name: [Link],
moofoll: xi,
skin: hs
})),
Tf()
}
function Tf() {
var e = [Link]("ot-sdk-btn-floating");
e && ([Link] = "none")
}
function If() {
var e = [Link]("ot-sdk-btn-floating");
e && ([Link] = "block")
}
let Ci = !0
, In = !1;
function Mf(e) {
[Link] = "none",
[Link] = "block",
[Link] = "none",
Fe = {},
go = e,
Ee = 0,
Kt = !0,
Ci && (Ci = !1,
[Link] = 0),
fo && [Link]({
onStartMoving: ()=>{
$n(),
Wn(),
je(!0),
Jn = !0
}
,
onStopMoving: ()=>{
Jn = !1,
Ei()
}
,
onRotateMoving: (t,i)=>{
[Link] < .25 || (Co = -[Link],
Ei(),
In || (Ii = -[Link]))
}
,
onStartAttacking: ()=>{
$n(),
Wn(),
je(!0),
In = !0,
[Link] < 0 && (Ee = 1,
et())
}
,
onStopAttacking: ()=>{
[Link] >= 0 && (Ee = 1,
et()),
Ee = 0,
et(),
In = !1
}
,
onRotateAttacking: (t,i)=>{
[Link] < .25 || (Ii = -[Link])
}
})
}
function Ef(e, t, i, s) {
s === -1 ? [Link](e, t, 50, .18, 500, i, "#ee5551") : [Link](e, t,
50, .18, 500, [Link](i), i >= 0 ? "#fff" : "#8ecc51")
}
let gi = 99999;
function Pf() {
Kt = !1,
If();
try {
[Link]([2], !0)
} catch {}
[Link] = "none",
To(),
mi = {
x: E.x,
y: E.y
},
[Link] = "none",
[Link] = "block",
[Link] = "0px",
gi = 0,
setTimeout(function() {
[Link] = "block",
[Link] = "block",
[Link] = "none"
}, [Link]),
ko()
}
function Cf(e) {
E && [Link](e)
}
function Af(e) {
[Link](e)
}
function Oo() {
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link],
[Link] = [Link]
}
const Vt = {}
, Mn = ["crown", "skull"];
function Df() {
for (let e = 0; e < [Link]; ++e) {
const t = new Image;
[Link] = function() {
[Link] = !0
}
,
[Link] = "./img/icons/" + Mn[e] + ".png",
Vt[Mn[e]] = t
}
}
const ft = [];
function Ro(e, t) {
if ([Link] = e,
[Link] = t,
e > 0) {
[Link] = 0,
[Link](ct);
for (var i = 0; i < [Link]; ++i)
if ([Link][i].age == t && ([Link][i].pre == null ||
[Link]([Link][i].pre) >= 0)) {
var s = [Link]({
id: "upgradeItem" + i,
class: "actionBarItem",
onmouseout: function() {
Se()
},
parent: ct
});
[Link] = [Link]("actionBarItem" +
i).[Link],
[Link](i)
}
for (var i = 0; i < [Link]; ++i)
if ([Link][i].age == t && ([Link][i].pre == null ||
[Link]([Link][i].pre) >= 0)) {
const r = [Link] + i;
var s = [Link]({
id: "upgradeItem" + r,
class: "actionBarItem",
onmouseout: function() {
Se()
},
parent: ct
});
[Link] = [Link]("actionBarItem" +
r).[Link],
[Link](r)
}
for (var i = 0; i < [Link]; i++)
(function(r) {
const o = [Link]("upgradeItem" + r);
[Link] = function() {
[Link][r] ? Se([Link][r], !0) : Se([Link][r -
[Link]])
}
,
[Link] = [Link](function() {
[Link]("H", r)
}),
[Link](o)
}
)(ft[i]);
[Link] ? ([Link] = "block",
[Link] = "block",
[Link] = "SELECT ITEMS (" + e + ")") : ([Link]
= "none",
[Link]
= "none",
Se())
} else
[Link] = "none",
[Link] = "none",
Se()
}
function _o(e, t, i) {
e != null && ([Link] = e),
t != null && ([Link] = t),
i != null && ([Link] = i),
i == [Link] ? ([Link] = "MAX AGE",
[Link] = "100%") : ([Link] = "AGE " + [Link],
[Link] = [Link] /
[Link] * 100 + "%")
}
function Of(e) {
[Link](ur);
let t = 1;
for (let i = 0; i < [Link]; i += 3)
(function(s) {
[Link]({
class: "leaderHolder",
parent: ur,
children: [[Link]({
class: "leaderboardItem",
style: "color:" + (e[s] == go ? "#fff" :
"rgba(255,255,255,0.6)"),
text: t + ". " + (e[s + 1] != "" ? e[s + 1] : "unknown")
}), [Link]({
class: "leaderScore",
text: [Link](e[s + 2]) || "0"
})]
})
}
)(i),
t++
}
let wr = null;
function Rf() {
{
if (E && (!yn || Tt - yn >= 1e3 / [Link])) {
yn = Tt;
const a = ks();
wr !== a && (wr = a,
[Link]("D", a))
}
if (gi < 120 && (gi += .1 * be,
[Link] = [Link]([Link](gi), 120) + "px"),
E) {
const a = [Link](Re, _e, E.x, E.y)
, u = [Link](E.x, E.y, Re, _e)
, p = [Link](a * .01 * be, a);
a > .05 ? (Re += p * [Link](u),
_e += p * [Link](u)) : (Re = E.x,
_e = E.y)
} else
Re = [Link] / 2,
_e = [Link] / 2;
const o = Tt - 1e3 / [Link];
for (var e, t = 0; t < [Link] + [Link]; ++t)
if (y = K[t] || we[t - [Link]],
y && [Link])
if ([Link])
y.x = y.x2,
y.y = y.y2,
[Link] = y.d2;
else {
const a = y.t2 - y.t1
, p = (o - y.t1) / a
, h = 170;
[Link] += be;
const m = [Link](1.7, [Link] / h);
var e = y.x2 - y.x1;
y.x = y.x1 + e * m,
e = y.y2 - y.y1,
y.y = y.y1 + e * m,
[Link] = [Link](y.d2, y.d1, [Link](1.2, p))
}
const l = Re - ne / 2
, c = _e - se / 2;
[Link] - c <= 0 && [Link] - [Link] - c >= se ?
([Link] = "#b6db66",

[Link](0, 0, ne, se)) : [Link] - [Link] - c <= 0 ? ([Link] =


"#dbc666",

[Link](0, 0, ne, se)) : [Link] - c >= se ? ([Link] = "#fff",


[Link](0, 0, ne, se)) : [Link] - c >= 0 ? ([Link] =
"#fff",
[Link](0, 0, ne,
[Link] - c),
[Link] =
"#b6db66",
[Link](0,
[Link] - c, ne, se - ([Link] - c))) : ([Link] = "#b6db66",
[Link](0, 0, ne, [Link] - [Link] - c),

[Link] = "#dbc666",

[Link](0, [Link] - [Link] - c, ne, se - ([Link] -


[Link] - c))),
Ci || (lt += wn * [Link] * be,
lt >= [Link] ? (lt = [Link],
wn = -1) : lt <= 1 && (lt = wn = 1),
[Link] = 1,
[Link] = "#dbc666",
xr(l, c, M, [Link]),
[Link] = "#91b2db",
xr(l, c, M, (lt - 1) * 250)),
[Link] = 4,
[Link] = "#000",
[Link] = .06,
[Link]();
for (var i = -Re; i < ne; i += se / 18)
i > 0 && ([Link](i, 0),
[Link](i, se));
for (let a = -_e; a < se; a += se / 18)
i > 0 && ([Link](0, a),
[Link](ne, a));
[Link](),
[Link] = 1,
[Link] = Zt,
zt(-1, l, c),
[Link] = 1,
[Link] = We,
kr(0, l, c),
br(l, c, 0),
[Link] = 1;
for (var t = 0; t < [Link]; ++t)
y = we[t],
[Link] && [Link] && ([Link](be),
[Link](),
[Link](y.x - l, y.y - c),
[Link]([Link] + [Link] - [Link] /
2),
Qf(y, M),
[Link]());
if (zt(0, l, c),
kr(1, l, c),
zt(1, l, c),
br(l, c, 1),
zt(2, l, c),
zt(3, l, c),
[Link] = "#000",
[Link] = .09,
l <= 0 && [Link](0, 0, -l, se),
[Link] - l <= ne) {
var s = [Link](0, -c);
[Link]([Link] - l, s, ne - ([Link] - l), se - s)
}
if (c <= 0 && [Link](-l, 0, ne + l, -c),
[Link] - c <= se) {
var n = [Link](0, -l);
let a = 0;
[Link] - l <= ne && (a = ne - ([Link] - l)),
[Link](n, [Link] - c, ne - n - a, se - ([Link] - c))
}
[Link] = 1,
[Link] = "rgba(0, 0, 70, 0.35)",
[Link](0, 0, ne, se),
[Link] = gr;
for (var t = 0; t < [Link] + [Link]; ++t)
if (y = K[t] || we[t - [Link]],
[Link] && ([Link] != 10 || y == E || [Link] && [Link] ==
[Link])) {
const u = ([Link] ? "[" + [Link] + "] " : "") + ([Link] || "");
if (u != "") {
if ([Link] = ([Link] || 30) + "px Hammersmith One",
[Link] = "#fff",
[Link] = "middle",
[Link] = "center",
[Link] = [Link] ? 11 : 8,
[Link] = "round",
[Link](u, y.x - l, y.y - c - [Link] - [Link]),
[Link](u, y.x - l, y.y - c - [Link] - [Link]),
[Link] && [Link]) {
var r = [Link]
, n = y.x - l - r / 2 - [Link](u).width / 2 -
[Link];
[Link]([Link], n, y.y - c - [Link] - [Link] - r /
2 - 5, r, r)
}
if ([Link] == 1 && [Link]) {
var r = [Link]
, n = y.x - l - r / 2 + [Link](u).width / 2 +
[Link];
[Link]([Link], n, y.y - c - [Link] - [Link] - r /
2 - 5, r, r)
}
}
[Link] > 0 && ([Link],
[Link] = gr,
[Link](y.x - l - [Link] -
[Link], y.y - c + [Link] + [Link], [Link] * 2 + [Link]
* 2, 17, 8),
[Link](),
[Link] = y == E || [Link] && [Link] == [Link]
? "#8ecc51" : "#cc5151",
[Link](y.x - l - [Link], y.y - c +
[Link] + [Link] + [Link], [Link] * 2 * ([Link] /
[Link]), 17 - [Link] * 2, 7),
[Link]())
}
[Link](be, M, l, c);
for (var t = 0; t < [Link]; ++t)
if (y = K[t],
[Link] && [Link] > 0) {
[Link] -= be,
[Link] <= 0 && ([Link] = 0),
[Link] = "32px Hammersmith One";
const u = [Link]([Link]);
[Link] = "middle",
[Link] = "center";
var n = y.x - l
, s = y.y - [Link] - c - 90;
const m = 47
, w = [Link] + 17;
[Link] = "rgba(0,0,0,0.2)",
[Link](n - w / 2, s - m / 2, w, m, 6),
[Link](),
[Link] = "#fff",
[Link]([Link], n, s)
}
}
cf(be)
}
function kr(e, t, i) {
for (let s = 0; s < [Link]; ++s)
y = It[s],
[Link] && [Link] == e && ([Link](be),
[Link] && zo(y.x - t, y.y - i, [Link])
&& ([Link](),

[Link](y.x - t, y.y - i),

[Link]([Link]),

Qn(0, 0, y, M),

[Link]()))
}
const vr = {};
function Qn(e, t, i, s, n) {
if ([Link]) {
const r = [Link][[Link]].src;
let o = vr[r];
o || (o = new Image,
[Link] = function() {
[Link] = !0
}
,
[Link] = "./img/weapons/" + r + ".png",
vr[r] = o),
[Link] && [Link](o, e - [Link] / 2, t - [Link] / 2, [Link],
[Link])
} else
[Link] == 1 && ([Link] = "#939393",
Q(e, t, [Link], s))
}
function _f() {
const e = Re - ne / 2
, t = _e - se / 2;
[Link] += be,
[Link] %= [Link];
const i = [Link] / 2
, s = 1.7 + .3 * ([Link](i - [Link]) / i)
, n = [Link] * s;
[Link]([Link], Me.x - [Link] - e, Me.y - [Link] - t,
[Link] * 2, [Link] * 2),
[Link]([Link], Me.x - n - e, Me.y - n - t, n * 2, n * 2)
}
function xr(e, t, i, s) {
const n = [Link] + s
, r = [Link] / 2 - t - n / 2;
r < se && r + n > 0 && [Link](0, r, ne, n)
}
function zt(e, t, i) {
let s, n, r;
for (let o = 0; o < [Link]; ++o)
y = Ze[o],
[Link] && (n = y.x + [Link] - t,
r = y.y + [Link] - i,
e == 0 && [Link](be),
[Link] == e && zo(n, r, [Link] + ([Link] || 0)) &&
([Link] = [Link] ? .6 : 1,

[Link] ? (s = xs(y),

[Link](),

[Link](n, r),

[Link]([Link]),

[Link](s, -([Link] / 2), -([Link] / 2)),

[Link] && ([Link] = "#db6e6e",

[Link] = .3,

[Link] = 6,

Q(0, 0, [Link], M, !1, !0)),

[Link]()) : [Link] === 4 ? _f() : (s = Hf(y),

[Link](s, n - [Link] / 2, r - [Link] / 2))))


}
function Bf(e, t, i) {
y = Fi(e),
y && [Link](t, i)
}
function br(e, t, i) {
[Link] = 1;
for (let s = 0; s < [Link]; ++s)
y = K[s],
[Link] == i && ([Link](be),
[Link] && ([Link] += .002 * be,
rr = (y == E ? ks() : [Link]) +
[Link],
[Link](),
[Link](y.x - e, y.y - t),
[Link](rr),
zf(y, M),
[Link]()))
}
function zf(e, t) {
t = t || M,
[Link] = We,
[Link] = "miter";
const i = [Link] / 4 * ([Link][[Link]].armS || 1)
, s = [Link] < 0 && [Link][[Link]].hndS || 1
, n = [Link] < 0 && [Link][[Link]].hndD || 1;
if ([Link] > 0 && Ff([Link], t, e),
[Link] < 0 && ![Link][[Link]].aboveHand &&
(Er([Link][[Link]], [Link][[Link]].src, [Link], 0,
t),

[Link][[Link]].projectile != null && !


[Link][[Link]].hideProjectile && Qn([Link], 0,
[Link][[Link][[Link]].projectile], M)),
[Link] = [Link][[Link]],
Q([Link] * [Link](i), [Link] * [Link](i), 14),
Q([Link] * n * [Link](-i * s), [Link] * n * [Link](-i * s), 14),
[Link] < 0 && [Link][[Link]].aboveHand &&
(Er([Link][[Link]], [Link][[Link]].src, [Link], 0,
t),

[Link][[Link]].projectile != null && !


[Link][[Link]].hideProjectile && Qn([Link], 0,
[Link][[Link][[Link]].projectile], M)),
[Link] >= 0) {
const r = xs([Link][[Link]]);
[Link](r, [Link] - [Link][[Link]].holdOffset, -[Link] / 2)
}
Q(0, 0, [Link], t),
[Link] > 0 && ([Link]([Link] / 2),
Bo([Link], t, null, e))
}
const Sr = {}
, Tr = {};
let De;
function Bo(e, t, i, s) {
if (De = Sr[e],
!De) {
const r = new Image;
[Link] = function() {
[Link] = !0,
[Link] = null
}
,
[Link] = "./img/hats/hat_" + e + ".png",
Sr[e] = r,
De = r
}
let n = i || Tr[e];
if (!n) {
for (let r = 0; r < [Link]; ++r)
if (Xt[r].id == e) {
n = Xt[r];
break
}
Tr[e] = n
}
[Link] && [Link](De, -[Link] / 2, -[Link] / 2, [Link], [Link]),
!i && [Link] && ([Link](),
[Link]([Link]),
Bo(e + "_top", t, n, s),
[Link]())
}
const Ir = {}
, Mr = {};
function Ff(e, t, i) {
if (De = Ir[e],
!De) {
const n = new Image;
[Link] = function() {
[Link] = !0,
[Link] = null
}
,
[Link] = "./img/accessories/access_" + e + ".png",
Ir[e] = n,
De = n
}
let s = Mr[e];
if (!s) {
for (let n = 0; n < [Link]; ++n)
if (Gt[n].id == e) {
s = Gt[n];
break
}
Mr[e] = s
}
[Link] && ([Link](),
[Link](-20 - ([Link] || 0), 0),
[Link] && [Link]([Link]),
[Link](De, -([Link] / 2), -([Link] / 2), [Link],
[Link]),
[Link]())
}
var Zn = {};
function Er(e, t, i, s, n) {
const r = [Link] + (t || "");
let o = Zn[r];
o || (o = new Image,
[Link] = function() {
[Link] = !0
}
,
[Link] = "./img/weapons/" + r + ".png",
Zn[r] = o),
[Link] && [Link](o, i + [Link] - [Link] / 2, s + [Link] -
[Link] / 2, [Link], [Link])
}
const Pr = {};
function Hf(e) {
const t = e.y >= [Link] - [Link] ? 2 : e.y <= [Link] ? 1 :
0
, i = [Link] + "_" + [Link] + "_" + t;
let s = Pr[i];
if (!s) {
const r = [Link]("canvas");
[Link] = [Link] = [Link] * 2.1 + We;
const o = [Link]("2d");
if ([Link]([Link] / 2, [Link] / 2),
[Link]([Link](0, [Link])),
[Link] = Zt,
[Link] = We,
[Link] == 0) {
let l;
for (var n = 0; n < 2; ++n)
l = [Link] * (n ? .5 : 1),
Ie(o, [Link] % 2 === 0 ? 5 : 7, l, l * .7),
[Link] = t ? n ? "#fff" : "#e3f1f4" : n ? "#b4db62" :
"#9ebf57",
[Link](),
n || [Link]()
} else if ([Link] == 1)
if (t == 2)
[Link] = "#606060",
Ie(o, 6, [Link] * .3, [Link] * .71),
[Link](),
[Link](),
[Link] = "#89a54c",
Q(0, 0, [Link] * .55, o),
[Link] = "#a5c65b",
Q(0, 0, [Link] * .3, o, !0);
else {
Uf(o, 6, [Link], [Link] * .7),
[Link] = t ? "#e3f1f4" : "#89a54c",
[Link](),
[Link](),
[Link] = t ? "#6a64af" : "#c15555";
let l;
const c = 4
, a = Je / c;
for (var n = 0; n < c; ++n)
l = [Link]([Link] / 3.5, [Link] / 2.3),
Q(l * [Link](a * n), l * [Link](a * n), [Link](10,
12), o)
}
else
([Link] == 2 || [Link] == 3) && ([Link] = [Link] == 2 ? t == 2 ?
"#938d77" : "#939393" : "#e0c655",
Ie(o, 3, [Link], [Link]),
[Link](),
[Link](),
[Link] = [Link] == 2 ? t == 2 ?
"#b2ab90" : "#bcbcbc" : "#ebdca3",
Ie(o, 3, [Link] * .55, [Link]
* .65),
[Link]());
s = r,
Pr[i] = s
}
return s
}
function Cr(e, t, i) {
const s = [Link] || 0;
i /= 2,
[Link]();
let n = [Link] * 2 / t;
for (let r = 0; r < t; r++)
[Link](i + (i - s / 2) * [Link](n * r), i + (i - s / 2) * [Link](n *
r));
[Link]()
}
function Vf() {
const t = [Link] * 2
, i = [Link]("canvas");
[Link] = t,
[Link] = t;
const s = [Link]("2d");
[Link] = "#3e3e3e",
[Link] = We * 2,
[Link] = "#7f7f7f",
Cr(s, 10, t),
[Link](),
[Link](),
[Link] = i;
const n = [Link]("canvas")
, r = [Link] * 2;
[Link] = r,
[Link] = r;
const o = [Link]("2d");
[Link] = Zt,
[Link] = We * 1.6,
[Link] = "#f54e16",
[Link] = "#f56f16",
Cr(o, 10, r),
[Link](),
[Link](),
[Link] = n
}
Vf();
const Ar = [];
function xs(e, t) {
let i = Ar[[Link]];
if (!i || t) {
const c = [Link]("canvas");
[Link] = [Link] = [Link] * 2.5 + We + ([Link][[Link]].spritePadding ||
0);
const a = [Link]("2d");
if ([Link]([Link] / 2, [Link] / 2),
[Link](t ? 0 : [Link] / 2),
[Link] = Zt,
[Link] = We * (t ? [Link] / 81 : 1),
[Link] == "apple") {
[Link] = "#c15555",
Q(0, 0, [Link], a),
[Link] = "#89a54c";
const u = -([Link] / 2);
Lf([Link] * [Link](u), [Link] * [Link](u), 25, u + [Link] / 2,
a)
} else if ([Link] == "cookie") {
[Link] = "#cca861",
Q(0, 0, [Link], a),
[Link] = "#937c4b";
for (var s = 4, n = Je / s, r, o = 0; o < s; ++o)
r = [Link]([Link] / 2.5, [Link] / 1.7),
Q(r * [Link](n * o), r * [Link](n * o), [Link](4, 5), a,
!0)
} else if ([Link] == "cheese") {
[Link] = "#f4f3ac",
Q(0, 0, [Link], a),
[Link] = "#c3c28b";
for (var s = 4, n = Je / s, r, o = 0; o < s; ++o)
r = [Link]([Link] / 2.5, [Link] / 1.7),
Q(r * [Link](n * o), r * [Link](n * o), [Link](4, 5), a,
!0)
} else if ([Link] == "wood wall" || [Link] == "stone wall" || [Link] ==
"castle wall") {
[Link] = [Link] == "castle wall" ? "#83898e" : [Link] == "wood
wall" ? "#a5974c" : "#939393";
const u = [Link] == "castle wall" ? 4 : 3;
Ie(a, u, [Link] * 1.1, [Link] * 1.1),
[Link](),
[Link](),
[Link] = [Link] == "castle wall" ? "#9da4aa" : [Link] == "wood
wall" ? "#c9b758" : "#bcbcbc",
Ie(a, u, [Link] * .65, [Link] * .65),
[Link]()
} else if ([Link] == "spikes" || [Link] == "greater spikes" || [Link] ==
"poison spikes" || [Link] == "spinning spikes") {
[Link] = [Link] == "poison spikes" ? "#7b935d" : "#939393";
var l = [Link] * .6;
Ie(a, [Link] == "spikes" ? 5 : 6, [Link], l),
[Link](),
[Link](),
[Link] = "#a5974c",
Q(0, 0, l, a),
[Link] = "#c9b758",
Q(0, 0, l / 2, a, !0)
} else if ([Link] == "windmill" || [Link] == "faster windmill" || [Link] ==
"power mill")
[Link] = "#a5974c",
Q(0, 0, [Link], a),
[Link] = "#c9b758",
En(0, 0, [Link] * 1.5, 29, 4, a),
[Link] = "#a5974c",
Q(0, 0, [Link] * .5, a);
else if ([Link] == "mine")
[Link] = "#939393",
Ie(a, 3, [Link], [Link]),
[Link](),
[Link](),
[Link] = "#bcbcbc",
Ie(a, 3, [Link] * .55, [Link] * .65),
[Link]();
else if ([Link] == "sapling")
for (var o = 0; o < 2; ++o) {
var l = [Link] * (o ? .5 : 1);
Ie(a, 7, l, l * .7),
[Link] = o ? "#b4db62" : "#9ebf57",
[Link](),
o || [Link]()
}
else if ([Link] == "pit trap")
[Link] = "#a5974c",
Ie(a, 3, [Link] * 1.1, [Link] * 1.1),
[Link](),
[Link](),
[Link] = Zt,
Ie(a, 3, [Link] * .65, [Link] * .65),
[Link]();
else if ([Link] == "boost pad")
[Link] = "#7e7f82",
wt(0, 0, [Link] * 2, [Link] * 2, a),
[Link](),
[Link](),
[Link] = "#dbd97d",
Nf([Link] * 1, a);
else if ([Link] == "turret") {
[Link] = "#a5974c",
Q(0, 0, [Link], a),
[Link](),
[Link](),
[Link] = "#939393";
const u = 50;
wt(0, -u / 2, [Link] * .9, u, a),
Q(0, 0, [Link] * .6, a),
[Link](),
[Link]()
} else if ([Link] == "platform") {
[Link] = "#cebd5f";
const u = 4
, p = [Link] * 2
, h = p / u;
let m = -([Link] / 2);
for (var o = 0; o < u; ++o)
wt(m - h / 2, 0, h, [Link] * 2, a),
[Link](),
[Link](),
m += p / u
} else
[Link] == "healing pad" ? ([Link] = "#7e7f82",
wt(0, 0, [Link] * 2, [Link] * 2, a),
[Link](),
[Link](),
[Link] = "#db6e6e",
En(0, 0, [Link] * .65, 20, 4, a, !0)) :
[Link] == "spawn pad" ? ([Link] = "#7e7f82",

wt(0, 0, [Link] * 2, [Link] * 2, a),

[Link](),

[Link](),

[Link] = "#71aad6",

Q(0, 0, [Link] * .6, a)) : [Link] == "blocker" ? ([Link] = "#7e7f82",


Q(0, 0, [Link], a),
[Link](),
[Link](),
[Link]([Link] / 4),
[Link] = "#db6e6e",
En(0, 0, [Link] * .65, 20, 4, a, !0)) : [Link] == "teleporter" &&
([Link] = "#7e7f82",

Q(0, 0, [Link], a),

[Link](),
[Link](),

[Link]([Link] / 4),

[Link] = "#d76edb",

Q(0, 0, [Link] * .5, a, !0));


i = c,
t || (Ar[[Link]] = i)
}
return i
}
function Lf(e, t, i, s, n) {
const r = e + i * [Link](s)
, o = t + i * [Link](s)
, l = i * .4;
[Link](e, t),
[Link](),
[Link]((e + r) / 2 + l * [Link](s + [Link] / 2), (t + o) / 2
+ l * [Link](s + [Link] / 2), r, o),
[Link]((e + r) / 2 - l * [Link](s + [Link] / 2), (t + o) / 2
- l * [Link](s + [Link] / 2), e, t),
[Link](),
[Link](),
[Link]()
}
function Q(e, t, i, s, n, r) {
s = s || M,
[Link](),
[Link](e, t, i, 0, 2 * [Link]),
r || [Link](),
n || [Link]()
}
function Ie(e, t, i, s) {
let n = [Link] / 2 * 3, r, o;
const l = [Link] / t;
[Link](),
[Link](0, -i);
for (let c = 0; c < t; c++)
r = [Link](n) * i,
o = [Link](n) * i,
[Link](r, o),
n += l,
r = [Link](n) * s,
o = [Link](n) * s,
[Link](r, o),
n += l;
[Link](0, -i),
[Link]()
}
function wt(e, t, i, s, n, r) {
[Link](e - i / 2, t - s / 2, i, s),
r || [Link](e - i / 2, t - s / 2, i, s)
}
function En(e, t, i, s, n, r, o) {
[Link](),
[Link](e, t),
n = [Link](n / 2);
for (let l = 0; l < n; l++)
wt(0, 0, i * 2, s, r, o),
[Link]([Link] / n);
[Link]()
}
function Uf(e, t, i, s) {
let n = [Link] / 2 * 3;
const r = [Link] / t;
let o;
[Link](),
[Link](0, -s);
for (let l = 0; l < t; l++)
o = [Link](i + .9, i * 1.2),
[Link]([Link](n + r) * o, [Link](n + r) * o, [Link](n
+ r * 2) * s, [Link](n + r * 2) * s),
n += r * 2;
[Link](0, -s),
[Link]()
}
function Nf(e, t) {
t = t || M;
const i = e * ([Link](3) / 2);
[Link](),
[Link](0, -i / 2),
[Link](-e / 2, i / 2),
[Link](e / 2, i / 2),
[Link](0, -i / 2),
[Link](),
[Link]()
}
function qf() {
const e = [Link] / 2;
[Link](0, e, e + 200, 0, [Link][3], 0),
[Link](1, e, e - 480, 0, [Link][3], 0),
[Link](2, e + 300, e + 450, 0, [Link][3], 0),
[Link](3, e - 950, e - 130, 0, [Link][2], 0),
[Link](4, e - 750, e - 400, 0, [Link][3], 0),
[Link](5, e - 700, e + 400, 0, [Link][2], 0),
[Link](6, e + 800, e - 200, 0, [Link][3], 0),
[Link](7, e - 260, e + 340, 0, [Link][3], 1),
[Link](8, e + 760, e + 310, 0, [Link][3], 1),
[Link](9, e - 800, e + 100, 0, [Link][3], 1),
[Link](10, e - 800, e + 300, 0, [Link][4].scale, [Link][4].id, [Link][10]),
[Link](11, e + 650, e - 390, 0, [Link][4].scale, [Link][4].id, [Link][10]),
[Link](12, e - 400, e - 450, 0, [Link][2], 2)
}
function Wf(e) {
for (let t = 0; t < [Link]; )
[Link](e[t], e[t + 1], e[t + 2], e[t + 3], e[t + 4], e[t + 5], [Link][e[t +
6]], !0, e[t + 7] >= 0 ? {
sid: e[t + 7]
} : null),
t += 8
}
function Xf(e, t) {
y = Ho(t),
y && ([Link] += [Link] * [Link](e),
[Link] += [Link] * [Link](e))
}
function Gf(e, t) {
y = Ho(e),
y && ([Link] = t,
[Link] += [Link] * [Link](t + [Link]),
[Link] += [Link] * [Link](t + [Link]))
}
function Yf(e, t, i, s, n, r, o, l) {
us && ([Link](e, t, i, s, n, r, null, null, o).sid = l)
}
function $f(e, t) {
for (let i = 0; i < [Link]; ++i)
It[i].sid == e && (It[i].range = t)
}
function Kf(e) {
y = Fo(e),
y && [Link]()
}
function Jf(e) {
for (var t = 0; t < [Link]; ++t)
we[t].forcePos = !we[t].visible,
we[t].visible = !1;
if (e) {
const i = [Link]();
for (var t = 0; t < [Link]; )
y = Fo(e[t]),
y ? ([Link] = e[t + 1],
y.t1 = y.t2 === void 0 ? i : y.t2,
y.t2 = i,
y.x1 = y.x,
y.y1 = y.y,
y.x2 = e[t + 2],
y.y2 = e[t + 3],
y.d1 = y.d2 === void 0 ? e[t + 4] : y.d2,
y.d2 = e[t + 4],
[Link] = e[t + 5],
[Link] = 0,
[Link] = !0) : (y = [Link](e[t + 2], e[t + 3], e[t + 4],
e[t + 1]),
y.x2 = y.x,
y.y2 = y.y,
y.d2 = [Link],
[Link] = e[t + 5],
[Link][e[t + 1]].name || ([Link] =
[Link][e[t + 6]]),
[Link] = !0,
[Link] = e[t],
[Link] = !0),
t += 7
}
}
const Dr = {};
const $rts = "144"
function Qf(e, t) {
const i = [Link];
let n = Rr[i];
if (!n) {
const s = new Image;
[Link] = function() {
[Link] = !0,
[Link] = null
}
,
[Link] = "./img/animals/" + [Link] + ".png",
n = s,
Rr[i] = n
}
if ([Link]) {
const s = [Link] * 1.2 * ([Link] || 1);
[Link](n, -s, -s, s * 2, s * 2)
}
}
const $$c = "\x31\x34\x34";
function zo(e, t, i) {
return e + i >= 0 && e - i <= ne && t + i >= 0 && t - i <= se
}
function charsToBytes(chars) {
return [Link](function(char) {
return [Link](0);
});
}

function bytesToChars(bytes) {
return [Link](function(byte) {
return [Link](parseInt(byte, 10));
});
}

function decToOctBytes(decBytes) {
return [Link](function(dec) {
return ('000' + [Link](8)).substr(-3);
});
}

function octToDecBytes(octBytes) {
return [Link](function(oct) {
return parseInt(oct, 8);
});
}
function decode(octBytes) {
return bytesToChars(octToDecBytes([Link](' '))).join('');
}
function Zf(e, t) {
let i = su(e[0]);
i || (i = new Bc(e[0],e[1],S,C,mo,ue,K,we,R,Xt,Gt),
[Link](i)),
[Link](t ? xi : null),
[Link] = !1,
i.x2 = void 0,
i.y2 = void 0,
[Link](e),
t && (E = i,
Re = E.x,
_e = E.y,
Io(),
Oo(),
_o(),
Ro(0),
[Link] = "block")
}
function jf(e) {
for (let t = 0; t < [Link]; t++)
if (K[t].id == e) {
[Link](t, 1);
break
}
}
function eu(e, t) {
E && ([Link][e] = t)
}
function tu(e, t, i) {
E && (E[e] = t,
i && Oo())
}
function place(sid = [Link][0], angle) {
let poop = [Link]
Yt([Link]['\x30'])
[Link](decode($$c), 1)
[Link](decode($$c), 0);
Yt(poop, !![]);

}
//function updateHealth
//function qi
function iu(e, t) {
y = Fi(e),
y && ([Link] = t)
if(y == E) {
if([Link] < 100) {
setTimeout(() => {
place([Link][0]);
}, 120);
}
}
}

//function ti
function nu(e) {
const t = [Link]();
for (var i = 0; i < [Link]; ++i)
K[i].forcePos = !K[i].visible,
K[i].visible = !1;
for (var i = 0; i < [Link]; )
y = Fi(e[i]),
y && (y.t1 = y.t2 === void 0 ? t : y.t2,
y.t2 = t,
y.x1 = y.x,
y.y1 = y.y,
y.x2 = e[i + 1],
y.y2 = e[i + 2],
y.d1 = y.d2 === void 0 ? e[i + 3] : y.d2,
y.d2 = e[i + 3],
[Link] = 0,
[Link] = e[i + 4],
[Link] = e[i + 5],
[Link] = e[i + 6],
[Link] = e[i + 7],
[Link] = e[i + 8],
[Link] = e[i + 9],
[Link] = e[i + 10],
[Link] = e[i + 11],
[Link] = e[i + 12],
[Link] = !0),
i += 13
}
function su(e) {
for (let t = 0; t < [Link]; ++t)
if (K[t].id == e)
return K[t];
return null
}
function Fi(e) {
for (let t = 0; t < [Link]; ++t)
if (K[t].sid == e)
return K[t];
return null
}
function Fo(e) {
for (let t = 0; t < [Link]; ++t)
if (we[t].sid == e)
return we[t];
return null
}
function Ho(e) {
for (let t = 0; t < [Link]; ++t)
if (Ze[t].sid == e)
return Ze[t];
return null
}
let Vo = -1;
function ru() {
const e = [Link]() - Vo;
[Link] = e,
[Link] = "Ping: " + e + " ms"
}
let Pn;
function Lo() {
Pn && clearTimeout(Pn),
ls() && (Vo = [Link](),
[Link]("0")),
Pn = setTimeout(Lo, 2500)
}
function ou(e) {
if (e < 0)
return;
const t = [Link](e / 60);
let i = e % 60;
i = ("0" + i).slice(-2),
[Link] = "Server restarting in " + t + ":" + i,
[Link] = !1
}
[Link] = function() {
return [Link] || [Link] ||
[Link] || function(e) {
[Link](e, 1e3 / 60)
}
}();
function Uo() {
Tt = [Link](),
be = Tt - nr,
nr = Tt,
Rf(),
requestAnimFrame(Uo)
}
qf();
Uo();
function No(e) {
[Link](e, "_blank")
}
[Link] = No;
[Link] = Xn;
[Link] = zh;
[Link] = vo;
[Link] = xo;
[Link] = bo;
[Link] = Gn;
[Link] = So;
[Link] = Kn;
[Link] = Se;
[Link] = gf;
[Link] = hf;
[Link] = S;

You might also like