// ==UserScript== // @name ProShadow // @author ProShadow&GG // @description Coded By GG Developed By ProShadow // @version 1.6.5 // @license gpl-3.0 // @namespace https://proshadow-op.web.app/ // @icon https://cdn.discordapp.com/attachments/904678349086019585/914139818764664872/proshadow.gif // @grant GM.setValue // @grant GM_getValue // @match https://krunker.io/* // @match https://*.browserfps.com/* // @extracted Sat, 27 Nov 2021 21:51:05 GMT // @run-at document-start // @noframes // @downloadURL https://update.greasyfork.cloud/scripts/436580/ProShadow.user.js // @updateURL https://update.greasyfork.cloud/scripts/436580/ProShadow.meta.js // ==/UserScript== /*! For license information please see sploit.user.js.LICENSE.txt */ (() => { var t = { 2311: (t) => { "use strict"; t.exports = class { ls_prefix = "ss"; gm = "function" == typeof GM_getValue; get(t, e) { var i = this.get_raw(t); if ("string" == typeof i) try { return JSON.parse(i); } catch (t) { return console.error("DATASTORE ERROR", t, i), i; } switch (e) { case "object": return {}; case "array": return []; } } set(t, e) { return e instanceof Set && (e = [...e]), this.set_raw(t, JSON.stringify(e)); } get_raw(t) { return this.gm ? GM_getValue(t) : localStorage.getItem(this.ls_prefix + t); } set_raw(t, e) { return this.gm ? GM.setValue(t, e) : localStorage.setItem(this.ls_prefix + t, e); } }; }, 1902: (t, e, i) => { "use strict"; var a = i(7263); class s extends HTMLElement { constructor() { super(); var t = this.attachShadow({ mode: "closed" }); (this.main = a.add_ele("main", t)), a.add_ele("style", t, { textContent: i(6454) }), a.add_ele("slot", this.main); } } e.Button = s; }, 7376: (t, e, i) => { "use strict"; var a = i(7263); class s extends HTMLElement { constructor() { super(); var t = this.attachShadow({ mode: "closed" }); (this.main = a.add_ele("main", t)), a.add_ele("style", t, { textContent: i(8182) }), a.add_ele("raw", this.main, { html: '', }), this.addEventListener("click", () => ((this.checked ^= 1), this.dispatchEvent(new Event("change")))); } get checked() { return this.main.hasAttribute("checked"); } set checked(t) { return this.main[(t ? "set" : "remove") + "Attribute"]("checked", ""), this; } } e.Checkbox = s; }, 4471: (t, e, i) => { "use strict"; var a = i(7263); class s extends HTMLElement { constructor() { super(); var t = this.attachShadow({ mode: "closed" }); a.add_ele("style", t, { textContent: i(1192) }), (this.main = a.add_ele("main", t)), (this.input = a.add_ele("input", this.main)); for (let t of ["focus", "blur", "keydown", "change"]) a.redirect(t, this.input, this); this.addEventListener("mousedown", () => this.input.focus()); } blur() { this.input.blur(); } focus() { this.input.focus(); } get value() { return this.input.value; } set value(t) { return (this.input.value = t); } get placeholder() { return this.input.placeholder; } set placeholder(t) { return (this.input.placeholder = t); } } e.Input = s; }, 8861: (t, e, i) => { "use strict"; var a = i(7263); class s extends HTMLElement { constructor() { super(); var t = this.attachShadow({ mode: "open" }); (this.wrapper = a.add_ele("main", t)), (this.label = a.add_ele("text", this.wrapper)), a.add_ele("style", t, { textContent: i(1618) }), a.add_ele("raw", this.wrapper, { html: '', }), (this.nslot = a.add_ele("slot", this.wrapper)), window.addEventListener("mousedown", (t) => { var e = t.composedPath(); for (let t of e) if (t instanceof r) return; e.includes(this.wrapper) ? this.toggle_dropdown() : this.hide_dropdown(), this.set_pos(); }), window.addEventListener("resize", () => this.set_pos()), window.addEventListener("blur", () => this.wrapper.classList.remove("active")); } toggle_dropdown() { this.wrapper.classList.toggle("active"); } hide_dropdown() { this.wrapper.classList.remove("active"); } changed() { this.hide_dropdown(), this.dispatchEvent(new Event("change")); } set_pos() { (this.wrapper.classList.remove("bottom"), this.wrapper.classList.contains("active")) && this.nslot.getBoundingClientRect().bottom > window.innerHeight && this.wrapper.classList.add("bottom"); } get options() { return [...(this.querySelectorAll("ez-option") || [])]; } get value() { for (let t of this.options) if (t.selected) return t.value; } set value(t) { for (let e of this.options) e.value == t && (e.selected = !0); return t; } } class r extends HTMLElement { constructor() { super(), this.addEventListener("mousedown", () => { (this.selected = !0), this.parentNode.changed(); }); } get value() { return this.getAttribute("value"); } set value(t) { return this.setAttribute("value", t), this.textContent || (this.textContent = this.getAttribute("value")), t; } get selected() { return this.hasAttribute("selected"); } set selected(t) { if (t) { this.setAttribute("selected", ""); for (let t of this.parentNode.options) t != this && t.selected && (t.selected = !1); this.parentNode.label.nodeValue = this.textContent; } else this.removeAttribute("selected"); } connectedCallback() { this.selected = this.selected; } } (e.Select = s), (e.Option = r); }, 9271: (t, e, i) => { "use strict"; var a = i(7263); class s extends HTMLElement { constructor() { super(), (this._value = 0), (this.labels = {}); var t = this.attachShadow({ mode: "open" }); (this.wrapper = a.add_ele("main", t)), (this.background = a.add_ele("div", this.wrapper, { className: "background" })), (this.thumb = a.add_ele("div", this.wrapper, { className: "thumb" })), a.add_ele("style", t, { textContent: i(3273) }), (this.movement = { held: !1, x: 0, y: 0 }), this.addEventListener("mousedown", (t) => { (this.movement = { held: !0, x: t.layerX, y: t.layerY }), this.update_slider(t); }), window.addEventListener("mouseup", () => (this.movement.held = !1)), window.addEventListener("mousemove", (t) => this.update_slider(t)); } get min() { return this.getAttribute("min"); } set min(t) { return this.setAttribute("min", t), t; } get max() { return this.getAttribute("max"); } set max(t) { return this.setAttribute("max", t), t; } get step() { return this.getAttribute("step"); } set step(t) { return this.setAttribute("step", t), t; } get value() { return this._value; } set value(t) { return (this._value = t), this.render(), t; } update_slider(t) { if (this.movement.held) { var e = this.getBoundingClientRect(), i = this.min, s = this.max, r = this.step, n = ((t.pageX - e.x) / e.width) * 100, o = Math.max((s * n) / 100, i); r && (o = a.rtn(o, r)), (o = +o.toFixed(2)), t.clientX <= e.x ? (o = n = i) : t.clientX >= e.x + e.width && ((o = s), (n = 100)), (this.value = o), this.dispatchEvent(new Event("change")); } } render() { var t = (this.value / this.max) * 100; (this.background.style.width = t + "%"), (this.thumb.dataset.label = (this.labels && this.labels[this.value]) || this.value); var e = this.thumb.getBoundingClientRect(), i = this.wrapper.getBoundingClientRect(); this.thumb.style.left = Math.min(Math.max((i.width * t) / 100 - e.width / 2, 0), i.width) + "px"; } connectedCallback() {} } e.Slider = s; }, 2566: (t, e, i) => { "use strict"; var a = i(7263); class s extends HTMLElement { constructor() { super(); var t = this.attachShadow({ mode: "closed" }); (this.main = a.add_ele("main", t)), a.add_ele("style", t, { textContent: i(3497) }), this.addEventListener("click", () => ((this.checked ^= 1), this.dispatchEvent(new Event("change")))); } get checked() { return this.main.hasAttribute("checked"); } set checked(t) { return this.main[(t ? "set" : "remove") + "Attribute"]("checked", ""), this; } } e.Switch = s; }, 387: (t, e, i) => { "use strict"; var { Select: a, Option: s } = i(8861), { Slider: r } = i(9271), { Checkbox: n } = i(7376), { Switch: o } = i(2566), { Input: h } = i(4471), { Button: c } = i(1902); customElements.define("ez-checkbox", n), customElements.define("ez-select", a), customElements.define("ez-option", s), customElements.define("ez-slider", r), customElements.define("ez-input", h), customElements.define("ez-switch", o), customElements.define("ez-button", c); }, 122: (t) => { "use strict"; class e { static original = Symbol(); static events = new WeakMap(); static resolve(t) { e.events.has(this) || e.events.set(this, new Map()); var i = e.events.get(this), a = i.get(t); return a || ((a = new Set()), i.set(t, a)), a; } on(t, i) { if ("function" != typeof i) throw new TypeError("Callback is not a function."); return e.resolve.call(this, t).add(i), this; } once(t, i) { var a = function (...e) { this.off(t, i), i.call(this, ...e); }; return (i[e.original] = a), this.on(t, a); } off(t, i) { if ("function" != typeof i) throw new TypeError("Callback is not a function."); return i[e.original] && (i = i[e.original]), e.resolve.call(this, t).delete(i); } emit(t, ...i) { var a = e.resolve.call(this, t); if (!a.size) { if ("error" == t) throw i[0]; return !1; } for (let t of a) try { t.call(this, ...i); } catch (t) { this.emit("error", t); } return !0; } } t.exports = e; }, 6425: (t, e, i) => { "use strict"; var a = i(7263); class s { utf8_dec = new TextDecoder("utf8"); constructor(t) { (this.data = t), (this.name = t.name || ""), (this.size = t.size || 0); } read(t) { var e = new FileReader(); return new Promise((i, a) => { e.addEventListener( "load", () => { switch (t) { case "text": default: i(this.utf8_dec.decode(e.result)); break; case "buffer": i(e.result); } }, { once: !0 } ), e.readAsArrayBuffer(this.data); }); } static pick(t = {}) { var e = a.add_ele("input", document.documentElement, { type: "file", style: { display: "none" } }); return ( Array.isArray(t.accept) && e.setAttribute("accept", t.accept.join(", ")), t.multipe && e.setAttribute("multiple", ""), new Promise((i, a) => { e.addEventListener( "change", () => { var a = []; for (let t of e.files) a.push(new s(t)); i(t.multiple ? a : a[0]); }, { once: !0 } ), e.click(); }) ); } static save(t = {}) { var e = a.add_ele("a", document.documentElement, { href: URL.createObjectURL(new Blob([t.data])), download: t.name || "", type: "file" }); e.click(), e.remove(); } } t.exports = s; }, 7598: (t, e, i) => { "use strict"; var a = i(4254), s = i(7263); t.exports = class { constructor(t) { this.frame = t; } alert(t) { this.frame.css("panel", i(5302)), this.frame.css("action", i(9306)); var e = new a(this.frame, "prompt"); s.add_ele("div", e.node, { innerHTML: t, className: "description" }); var r = s.add_ele("form", e.node); return s.add_ele("button", r, { textContent: "OK", className: "submit single" }), e.show(), e.focus(), new Promise((t) => r.addEventListener("submit", (i) => (i.preventDefault(), e.remove(), t()), { once: !0 })); } prompt(t, e = "") { this.frame.css("panel", i(5302)), this.frame.css("action", i(9306)); var r = new a(this.frame, "prompt"); s.add_ele("div", r.node, { textContent: t, className: "description" }); var n = s.add_ele("form", r.node), o = s.add_ele("input", n, { className: "input", value: e }); s.add_ele("button", n, { textContent: "OK", className: "submit" }); var h = s.add_ele("button", n, { textContent: "Cancel", className: "cancel" }); return ( r.show(), r.focus(), o.focus(), o.select(), new Promise((t, e) => n.addEventListener("submit", (i) => { i.preventDefault(), (i.submitter == h ? e : t)(o.value), r.remove(); }) ) ); } options(t, e) { var i = new a(this.frame, {}, "options"); t = s.add_ele("div", i.node, { textContent: t, className: "title" }); return ( i.focus(), new Promise((t) => { e.forEach((e, a) => s.add_ele("div", i.node, { className: "control", textContent: e[0] }).addEventListener("click", () => (i.hide(), t(e[1])))); }) ); } }; }, 7352: (t, e, i) => { "use strict"; i(387); var { keybinds: a } = i(3432), s = i(7263), r = i(122); class n extends r { constructor(t, e, i) { super(), (this.name = t), (this.data = e), (this.panel = i.panel), (this.section = i), (this.content = s.add_ele("div", this.section.node, { className: "control" })), (this.label = s.add_ele("text", this.content, { nodeValue: this.name })), this.content.addEventListener("click", (t) => { [this.content, this.label].includes(t.target) || setTimeout(() => this.emit("click")); }), this.create(); } create() {} remove() { this.content.remove(); } walk(t) { var e, i, a = this.panel.config; for (let s of t.split(".")) a = (e = a)[(i = s)] || {}; return [e, i]; } get value() { if (!this.data.walk || (this.data.value && "object" != typeof this.data.value)) return this.data.value; var t = this.walk(this.data.walk); return t[0][t[1]]; } set value(t) { if (!this.data.walk) return this.emit("change", t); var e = this.walk(this.data.walk); return (e[0][e[1]] = t), this.panel.save_config(), this.emit("change", t), t; } interact() { console.warn("No defined interaction for", this); } update() {} } (n.Types = [ class extends n { static id = "keybind"; create() { (this.input = s.add_ele("ez-input", this.content, { placeholder: "Press a key" })), this.input.addEventListener("focus", () => { this.input.value = ""; }), this.input.addEventListener("blur", () => { this.update(); }), this.input.addEventListener("keydown", (t) => { t.preventDefault(), (this.value = "Escape" == t.code ? null : t.code), this.input.blur(); }); } update(t) { this.input.value = this.value ? s.string_key(this.value) : "Unset"; } }, class extends n { static id = "select"; create() { this.select = s.add_ele("ez-select", this.content, { events: { change: () => (this.value = this.select.value) } }); for (let t in this.data.value) s.add_ele("ez-option", this.select, { textContent: this.data.value[t], value: t }); } update(t) { t && (this.select.value = this.value); } }, class extends n { static id = "dropdown"; create() { this.select = s.add_ele("ez-select", this.content, { events: { change: () => { (this.key = this.select.value), (this.value = this.data.value[this.select.value]); }, }, }); for (let t in this.data.value) s.add_ele("ez-option", this.select, { textContent: t, value: t }); } update(t) { if (t) for (let [t, e] of Object.entries(this.data.value)) e == this.value && ((this.select.value = t), (this.key = t)); } }, class extends n { static id = "boolean"; create() { this.input = s.add_ele("ez-checkbox", this.content, { events: { change: () => (this.value = this.input.checked) } }); } interact() { this.value = !this.value; } update(t) { t && (this.input.checked = this.value); } }, class extends n { static id = "function"; create() { (this.button = s.add_ele("ez-button", this.content)), this.button.append(this.label), this.button.addEventListener("click", () => this.data.value()); } }, class extends n { static id = "functions"; create() { for (let t in this.value) s.add_ele("ez-button", this.content, { textContent: t, events: { click: this.value[t] } }); } }, class extends n { static id = "link"; create() { (this.link = s.add_ele("a", this.content)), this.link.append(this.label); } interact() { this.link.click(); } update() { this.link.href = this.value; } }, class extends n { static id = "textbox"; update() { (this.button.style.display = "none"), (this.input.value = ("" + this.value).substr(0, this.data.max_length)); } }, class extends n { static id = "slider"; create() { (this.input = s.add_ele("ez-slider", this.content, { min: this.data.min, max: this.data.max, step: this.data.step })), (this.input.labels = this.data.labels), this.input.addEventListener("change", () => (this.value = this.input.value)); } update(t) { t ? (this.input.value = this.value) : this.input.render(); } }, class extends n { static id = "color"; create() { this.input = s.add_ele("input", this.content, { type: "color", events: { change: () => (this.value = this.input.value) } }); } update(t) { super.update(t), t && (this.input.value = this.value); } }, ]), (t.exports = n); }, 6099: (t, e, i) => { "use strict"; var a = i(7263), s = i(7352); t.exports = class { constructor(t, e) { (this.panel = e), (this.node = a.add_ele("section", this.panel.sections_con)), (this.name = t), (this.controls = new Set()), (this.button = a.add_ele("div", this.panel.sidebar_con, { className: "open", textContent: this.name, events: { click: () => { this.interact(); }, }, })), this.hide(); } interact() { this.show(); for (let t of this.panel.tabs) t != this && t.hide(); } get visible() { return !this.node.classList.contains("hidden"); } update(t) { for (let e of this.controls) try { e.emit("change", e.value, t), e.update(t); } catch (t) { console.error(t); } } show(t) { this.button.classList.add("active"), this.node.classList.remove("hidden"), this.update(t), (this.panel.config.section = this.name), t || this.panel.save_config(); } hide() { this.button.classList.remove("active"), this.node.classList.add("hidden"); } control(t, e) { void 0 === e && "object" == typeof t && ((e = t), (t = "")); for (let i of s.Types) if (i.id == e.type) { let a = new i(t, e, this); return this.controls.add(a), a; } throw new TypeError("Unknown type: " + e.type); } }; }, 7433: (t, e, i) => { "use strict"; var { store: a } = i(3432), s = i(7263), r = i(2311), n = i(3836), o = (i(7352), i(6099)); t.exports = class extends n { constructor(t, e, i, a = new r()) { super(t, "config"), (this.store = a), (this.config_key = i), (this.presets = new Map()), (this.tabs = new Set()), (this.title = this.listen_dragging(s.add_ele("div", this.node, { textContent: e, className: "title" }))), (this.title_right = s.add_ele("div", this.title, { className: "right" })), (this.sidebar_con = s.add_ele("div", this.node, { className: "tabs" })), (this.sections_con = s.add_ele("div", this.node, { className: "sections" })), this.apply_bounds(); } get default_section() { var t; for (let e of this.tabs) { if (e.visible) return e; if ((t || (t = e), e.name == this.config.section)) return e; } return t; } update(t) { this.apply_bounds(); for (let e of this.tabs) e.update(t), e == this.default_section ? e.show(t) : e.hide(); this.title_right.textContent = ["F2", this.config.binds.toggle].map(s.string_key).join(" or "); } tab(t) { var e = new o(t, this); return this.tabs.add(e), e; } add_preset(t, e) { this.presets.set(t, e), this.emit("add-preset", t, e); } async insert_config(t, e = !1, i = {}) { (this.config = s.assign_deep(s.clone_obj(this.presets.get("Default")), t, i)), e && (await this.save_config()), this.emit("config", e), this.update(!0); } async load_preset(t, e = {}) { if (!this.presets.has(t)) throw new Error("Invalid preset:", t); this.insert_config(this.presets.get(t), !0, e); } async save_config() { this.emit("config"), await this.store.set(this.config_key, this.config); } async load_config() { this.insert_config(await this.store.get(this.config_key, "object")), (this.pos = { x: 1, y: this.center_side("height") }), this.apply_bounds(), this.load_ui_data(); } }; }, 4151: (t, e, i) => { "use strict"; var { store: a } = i(3432), s = i(7263), r = i(2713); t.exports = class { static ID() { return Math.random().toString(); } constructor(t, e) { (this.panel = e), this.panel.tabs.add(this), (this.name = t.name), (this.id = t.id), (this.active = t.active), (this.focused = !1), (this.node = s.add_ele("div", e.tab_con, { className: "tab" })), (this.namen = s.add_ele("div", this.node, { className: "name" })), s.add_ele("raw", this.node, { html: r.close, className: "close button", events: { click: (t) => { t.stopImmediatePropagation(), this.remove(); }, }, }), this.node.addEventListener("click", () => this.focus()), this.update(); } async save() { return await this.panel.save_config(), this; } async get_value() { return (await a.get_raw(this.id)) || ""; } async set_value(t = this.panel.editor.getValue()) { await a.set_raw(this.id, t); } async rename(t) { t.replace(/\s/g, "").length && ((this.name = this.namen.textContent = t), await this.save(), this.update()); } update() { (this.namen.textContent = this.name), this.panel.update_overflow(); } async focus() { if (this.focused) return this; for (let t of this.panel.tabs) t.blur(); return ( (this.focused = !0), this.node.classList.add("active"), this.panel.editor.setValue(await this.get_value()), (this.panel.filename.value = this.name), (this.panel.fileactive.checked = this.active), (this.panel.saved = !0), this.panel.update(), this ); } blur() { (this.focused = !1), this.node.classList.remove("active"); } async remove() { this.node.remove(), this.panel.tabs.delete(this), await a.set_raw(this.id, ""), await this.save(), await this.panel.load(), (await this.panel.first_tab()).focus(); } async toggle_active() { (this.active = !this.active), await this.save(), this.update(), this.panel.load(); } }; }, 2097: (t, e, i) => { "use strict"; var { store: a } = i(3432), s = i(7263), r = i(3836), n = i(4151), o = i(2713), h = i(5186), c = i(7598); t.exports = class extends r { constructor(t, e) { super(t, "editor"), this.frame.css("editor", i(7405)), (this.actions = new c(this.frame)), (this.data = e), (this.sheet = s.add_ele("style", () => document.documentElement)), (this.title = s.add_ele("div", this.node, { textContent: this.data.title, className: "bar" })), (this.scroll_by = 0), setInterval(() => { this.scroll_by && (this.tab_con.scrollBy(25 * this.scroll_by, 0), this.update_overflow()); }, 50), window.addEventListener("blur", () => (this.scroll_by = 0)), window.addEventListener("mouseup", () => (this.scroll_by = 0)), (this.back = s.add_ele("button", this.title, { className: "scroll back", textContent: "<", events: { mousedown: () => (this.scroll_by = -1) } })), (this.tab_con = s.add_ele("div", this.title, { className: "files" })), (this.forward = s.add_ele("button", this.title, { className: "scroll forward", textContent: ">", events: { mousedown: () => (this.scroll_by = 1) } })), (this.controls = this.listen_dragging(s.add_ele("div", this.title, { className: "actions" }))), s.add_ele("button", this.controls, { className: "new" }).addEventListener("click", async () => this.new_tab()), (this.saven = s.add_ele("button", this.controls, { innerHTML: o.save, className: "save", events: { click: () => this.save_doc() } })), s.add_ele("button", this.controls, { innerHTML: o.web, className: "web", events: { click: () => this.actions .prompt("Enter a CSS link", "https://") .then(async (t) => { try { var e = await (await fetch(new URL(t, location))).text(), i = t.split("/").slice(-1)[0], a = new n({ id: n.ID(), name: i, active: !0 }, this); await a.set_value(e), await a.save(), a.focus(), await this.load(); } catch (t) { "Failed to construct 'URL': Invalid URL" == t.message ? this.actions.alert("Invalid URL") : this.actions.alert("Loading failed: " + t.message); } }) .catch(() => {}), }, }), (this.data.help = this.data.help.replace(/svg\.(\w+)/g, (t, e) => o[e])), s.add_ele("button", this.controls, { textContent: "?", events: { click: (t) => this.actions.alert(this.data.help) } }), s.add_ele("button", this.controls, { innerHTML: o.close, className: "hide", events: { click: (t) => this.hide() } }), (this.tabs = new Set()), (this.editor = new h(this.node)), this.editor.on("ctrl+s", () => this.save_doc()), this.editor.on("ctrl+r", () => this.load()), this.editor.on("change", () => { (this.saved = !1), this.update(); }), (this.footer = s.add_ele("footer", this.node)), (this.footer_text = s.add_ele("div", this.footer, { className: "text" })); var a = s.add_ele("div", this.footer, { className: "file-opt", textContent: "Name:" }); this.filename = s.add_ele("ez-input", a, { spellcheck: !1, events: { change: async () => { (await this.focused_tab()).rename(this.filename.value); }, focus: async () => { var t = document.createRange(); t.selectNodeContents(this.filename.main); var e = window.getSelection(); e.removeAllRanges(), e.addRange(t); }, }, }); var r = s.add_ele("div", this.footer, { className: "file-opt", textContent: "Active:" }); (this.fileactive = s.add_ele("ez-checkbox", r, { events: { change: async () => (await this.focused_tab()).toggle_active() } })), this.update(), this.load_config(), (this.pos = { x: this.center_side("width"), y: this.center_side("height") }), this.apply_bounds(), this.load_ui_data(), this.hide(); } update_overflow() { this.tab_con.scrollWidth > this.tab_con.offsetWidth ? (this.title.classList.add("overflow"), (this.back.disabled = 0 == this.tab_con.scrollLeft), (this.forward.disabled = this.tab_con.scrollLeft + this.tab_con.offsetWidth == this.tab_con.scrollWidth)) : this.title.classList.remove("overflow"); } async new_tab() { var t = await new n({ id: n.ID(), name: "New Style", active: !0, value: "" }, this); return await t.save(), t.focus(), t; } async focused_tab() { for (let t of this.tabs) if (t.focused) return t; return (await this.new_tab()).focus(); } async first_tab() { for (let t of this.tabs) return t; return await this.new_tab(); } update() { this.saven.classList[this.saved ? "add" : "remove"]("saved"), (this.footer_text.innerHTML = null == this.saved ? "Editor loaded" : this.saved ? "All changes saved" : `Unsaved changes, press ${o.save}`), this.apply_bounds(); } async save_doc() { for (let t of this.tabs) t.focused && (await a.set_raw(t.id, this.editor.getValue())); (this.saved = !0), await this.update(), await this.load(); } async load() { this.update_overflow(), (this.sheet.textContent = ""); for (let t of this.tabs) t.active && (this.sheet.textContent += await t.get_value()); } async load_config() { for (let t of await a.get("css", "array")) { let e = new n(t, this); e.active && (this.sheet.textContent += await e.get_value()); } (await this.first_tab()).focus(); } async save_config() { await a.set( "css", [...this.tabs].map((t) => ({ id: t.id, name: t.name, active: t.active })) ); } }; }, 2713: (t, e) => { "use strict"; (e.rename = ''), (e.close = ''), (e.save = ''), (e.web = ''), (e.reload = ''); }, 1191: (t, e, i) => { "use strict"; var a = i(7263); t.exports = class { container = a.add_ele("div", () => document.documentElement, { style: { top: 0, left: 0, "z-index": 9999999999, border: "none", position: "absolute", background: "#0000", width: "100vw", height: "100vh", overflow: "hidden" }, }); content = this.container.attachShadow({ mode: "open" }); constructor() { (this.update = this.update.bind(this)), window.addEventListener("mousemove", this.update), window.addEventListener("mousedown", this.update), window.addEventListener("mouseup", this.update); } panels = new Set(); update(t) { for (let e of this.panels) { if (!e.visible) continue; let i = e.node.getBoundingClientRect(); if (t.clientX >= i.x && t.clientY >= i.y && t.clientX - i.x <= i.width && t.clientY - i.y <= i.height) return (this.container.style["pointer-events"] = "all"); } if (((this.container.style["pointer-events"] = "none"), "mousedown" == t.type)) for (let t of this.panels) t.blur(); } added_css = new Set(); css(t, e) { return !this.added_css.has(t) && (this.added_css.add(t), a.add_ele("style", this, { textContent: e }), !0); } append(t) { this.content.append(t); } }; }, 8859: (t, e, i) => { "use strict"; var a = i(7263), s = i(5018); t.exports = class extends s { constructor(t, e, s) { super(t, "loading"), this.frame.css("loading", i(2617)), a.add_ele("img", this.node, { src: s }), a.add_ele("a", this.node, { href: e, draggable: !1, target: "_blank" }), this.show(); } update() { this.node.classList[this.visible ? "remove" : "add"]("hidden"); } }; }, 3836: (t, e, i) => { "use strict"; var { frame: a, panels: s, store: r } = i(3432), n = i(4254); t.exports = class extends n { constructor(t, e) { super(t, e), (this.pos = { x: 0, y: 0 }), window.addEventListener("resize", () => this.apply_bounds()), window.addEventListener("mousemove", (t) => { var e = { x: t.pageX, y: t.pageY }; this.prev_pos && this.dragging && ((this.pos.x += ((e.x - this.prev_pos.x) / this.bounds().width) * 100), (this.pos.y += ((e.y - this.prev_pos.y) / this.bounds().height) * 100), this.save_ui(), this.apply_bounds()), (this.prev_pos = e); }), window.addEventListener("mouseup", () => { this.dragging && ((this.pos = this.within_bounds()), this.apply_bounds(), (this.dragging = !1)); }); } async load_ui_data() { var t = await this.load_ui(); (this.pos = t.pos), (this.visible = t.visible), this.visible ? this.show() : this.hide(), this.apply_bounds(); } async save_ui(t) { if (["editor", "config"].includes(this.type)) { t ? (await this.load_ui().catch((t) => this)).pos : this.pos; return r.set_raw(this.type + "-ui", +this.visible + "," + this.pos.x + "," + this.pos.y); } } async load_ui() { var t = await r.get_raw(this.type + "-ui"); if (!t) return this; var e = t.split(","); return { pos: { x: +e[1], y: +e[2] }, visible: !!+e[0] }; } listen_dragging(t) { return t.addEventListener("mousedown", () => (this.dragging = !0)), t; } center_side(t) { return 50 - (this.node.getBoundingClientRect()[t] / this.bounds()[t]) * 50; } bounds() { return { width: window.innerWidth, height: window.innerHeight }; } within_bounds() { var t = this.node.getBoundingClientRect(); return { x: Math.min(Math.max(this.pos.x, 0), 100 - (t.width / this.bounds().width) * 100), y: Math.min(Math.max(this.pos.y, 0), 100 - (t.height / this.bounds().height) * 100) }; } apply_bounds() { var t = this.within_bounds(); (this.node.style.left = t.x.toFixed(1) + "%"), (this.node.style.top = t.y.toFixed(1) + "%"); } show() { super.show(), this.save_ui(!0); } hide() { super.hide(), this.save_ui(!0); } }; }, 4254: (t, e, i) => { "use strict"; var { store: a } = i(3432), s = i(7263), r = i(122); t.exports = class extends r { constructor(t, e = "") { super(), (this.frame = t), this.frame.css("panel", i(5302)), (this.type = e), (this.visible = !0), (this.hover = !0), (this.node = s.add_ele("main", this.frame, { className: this.type })), this.frame.panels.add(this), this.node.addEventListener("mousedown", () => this.focus()); } focus() { for (let t of this.frame.panels) t != this && t.blur(); this.node.classList.add("focus"), (this.node.style["z-index"] = 3); } blur() { this.node.classList.remove("focus"), (this.node.style["z-index"] = 2); } show() { this.focus(), (this.visible = !0), this.node.classList.add("visible"); } hide() { (this.visible = !1), this.node.classList.remove("visible"); } remove() { this.frame.panels.delete(this), this.hide(), this.node.remove(); } }; }, 5186: (t, e, i) => { "use strict"; var a = i(7263), s = i(122); t.exports = class extends s { constructor(t) { super(), (this.container = a.add_ele("div", t, { className: "write" })), (this.linenums = a.add_ele("div", this.container, { className: "linenums" })), (this.node = a.add_ele("textarea", this.container, { className: "text", spellcheck: !1 })), a.add_ele("style", t, { textContent: i(47) }), this.node.addEventListener("input", () => { this.update(), this.emit("change"); }), this.node.addEventListener("keydown", (t) => { var e = t.key.toLowerCase(); t.ctrlKey && (["s", "w", "r"].includes(e) && t.preventDefault(), this.emit("ctrl+" + e)), "tab" == e && (this.insertAtCaret("\t"), t.preventDefault()); }), this.update(); } getValue() { return this.node.value; } setValue(t) { (this.node.value = t), this.update(); } get line_count() { return this.node.value.split("\n").length; } update() { (this.node.style.width = "5px"), (this.node.style.height = "5px"), (this.node.style.width = this.node.scrollWidth + 4 + "px"), (this.node.style.height = this.node.scrollHeight + "px"); var t = this.line_count; this.prev_line_count != t && ((this.prev_line_count = t), (this.linenums.textContent = [...Array(t)].map((t, e) => e + 1).join("\n"))); } insertAtCaret(t = "") { if (this.node.selectionStart || 0 == this.node.selectionStart) { var e = this.node.selectionStart, i = this.node.selectionEnd; (this.node.value = this.node.value.substring(0, e) + t + this.node.value.substring(i, this.node.value.length)), (this.node.selectionStart = e + t.length), (this.node.selectionEnd = e + t.length); } else this.node.value += t; this.emit("change"); } }; }, 3432: (t, e, i) => { "use strict"; var a = i(2311); e.store = new a(); }, 9075: (t, e, i) => { "use strict"; i(8721), (e.Frame = i(1191)), (e.Actions = i(7598)), (e.Loading = i(8859)), (e.Config = i(7433)), (e.Editor = i(2097)); }, 5018: (t, e, i) => { "use strict"; var { store: a } = i(3432), s = i(7263), r = i(122); t.exports = class extends r { constructor(t, e = "") { super(), (this.frame = t), this.frame.css("panel", i(1650)), (this.type = e), (this.visible = !0), (this.hover = !0), (this.node = s.add_ele("main", this.frame, { className: this.type })), this.frame.panels.add(this), this.node.addEventListener("mousedown", () => this.focus()); } focus() { for (let t of this.frame.panels) t != this && t.blur(); this.node.classList.add("focus"), (this.node.style["z-index"] = 3); } blur() { this.node.classList.remove("focus"), (this.node.style["z-index"] = 2); } show() { this.focus(), (this.visible = !0), this.node.classList.add("visible"); } hide() { (this.visible = !1), this.node.classList.remove("visible"); } remove() { this.frame.panels.delete(this), this.hide(), this.node.remove(); } }; }, 3363: (t, e, i) => { "use strict"; var a = i(2176), { Vector3: s } = i(4914), { loader: r, api: n } = i(9606), { vars: o, gconsts: h } = r, c = 2 * Math.PI; t.exports = class { smooth_map = { 0: 1, 0.1: 0.05, 0.2: 0.1, 0.3: 0.08, 0.4: 0.07, 0.5: 0.06, 0.6: 0.05, 0.7: 0.04, 0.8: 0.03, 0.9: 0.02, 1: 0.01 }; can_auto_fire = !0; constructor(t) { this.data = t; } push(t) { if (this.data.player && this.data.controls) try { var e = new a(t); this.modify(e), this.timers(e), e.done(); } catch (t) { r.report_error("input", t); } return t; } aim_input(t, e) { (e.xdir = t.x), (e.ydir = t.y); } aim_camera(t, e) { (this.data.controls[o.pchObjc].rotation.x = t.x), (this.data.controls.object.rotation.y = t.y), this.aim_input(t, e); } correct_aim(t, e) { e.shoot && (e.shoot = !this.data.player.shot), !e.reload && this.data.player.has_ammo && e.shoot && !this.data.player.shot && this.aim_input(t, e); } enemy_sight() { if (!this.data.player.shot) { var t = new this.data.three.Raycaster(); return ( t.setFromCamera({ x: 0, y: 0 }, this.data.world.camera), !( !this.data.player.aimed || !t.intersectObjects( this.data.players.filter((t) => t.can_target).map((t) => t.obj), !0 ).length ) || void 0 ); } } smooth(t, e, i, a) { var s = this.data.utils.getAngleDst(t.xdir, e.x), r = this.data.utils.getAngleDst(t.ydir, e.y); return { y: t.ydir + r * i, x: t.xdir + s * a }; } bhop(t) { if (-1 != t.move) { var e = this.data.bhop, i = e.startsWith("auto"), a = (e.startsWith("key"), e.endsWith("slide")), s = a || e.endsWith("jump"); t.focused && (s && (i || t.keys.has("Space")) && ((this.data.controls.keys[this.data.controls.binds.jump.val] ^= 1), this.data.controls.keys[this.data.controls.binds.jump.val] && (this.data.controls.didPressed[this.data.controls.binds.jump.val] = 1)), a && (i || t.keys.has("Space")) && this.data.player.velocity.y < -0.02 && this.data.player.can_slide && (setTimeout(() => (this.data.controls.keys[this.data.controls.binds.crouch.val] = 0), 325), (this.data.controls.keys[this.data.controls.binds.crouch.val] = 1))); } } spin_count = 0; spinbot(t) { t.xdir = this.data.utils.deg2rad(-90); } spinbot_pre(t) { (t.crouch = -1 == t.move), (t.scope = t.scope || t.crouch), (t.ydir += c * (1e9 * (this.spin_count ^= 1))); } anti_offset(t) { (t.x -= this.data.world.shakeY), (t.x -= this.data.player.entity.recoilAnimY * h.recoilMlt), (t.x -= 0.1 * this.data.player.entity.landBobY); } move = 0; timers(t) { this.data.player.can_shoot && t.shoot && !this.data.player.shot ? ((this.data.player.shot = !0), setTimeout(() => (this.data.player.shot = !1), this.data.player.weapon.rate + 1)) : this.data.spinbot && this.spinbot(t); } move_ticks(t, e, i) { for (; e--; ) t.next((t) => ((t.move = i), (t.xdir += 0.002))); } modify(t) { this.data.inactivity && -1 == t.move && this.move++ % 200 == 0 && (this.move_ticks(t, 4, 1), this.move_ticks(t, 4, 5)), this.data.spinbot && this.spinbot_pre(t), this.bhop(t), this.data.player.has_ammo || ("auto" != this.data.aim && !this.data.auto_reload) || (t.reload = !0), (t.could_shoot = this.data.player.can_shoot), t.shoot && !this.data.player.did_shoot && ((this.can_auto_fire = !1), setTimeout(() => { this.can_auto_fire = !0; }, 1e3 * this.data.force_auto_rate)), this.data.force_auto && this.can_auto_fire && this.data.player.did_shoot && t.shoot && ((this.can_auto_fire = !1), (t.shoot = !1)); var e = this.data.player.weapon_auto || this.data.player.weapon.burst || !t.shoot || !t.previous.could_shoot || !t.previous.shoot, i = 100 * Math.random() < this.data.hitchance, a = "auto" == this.data.aim || t.scope || t.shoot; this.data.player.weapon.burst && (this.data.player.shot = this.data.player.did_shoot); for (let t of this.data.players) t.calc_parts(); if ((a && this.data.pick_target(), this.data.player.can_shoot)) if ("trigger" == this.data.aim) t.shoot = this.enemy_sight() || t.shoot; else if ("off" != this.data.aim && this.data.target && this.data.player.health) { var s = this.data.target.calc_rot(); if ( (this.anti_offset(s), i && ("correction" == this.data.aim && e ? this.correct_aim(s, t) : "auto" == this.data.aim && (this.data.player.can_aim && (t.scope = !0), this.data.player.aimed && (t.shoot = !this.data.player.shot), this.correct_aim(s, t))), "assist" == this.data.aim && this.data.player.aim_press) ) { let e = this.smooth_map[this.data.aim_smooth] || (console.warn(this.data.aim_smooth, "not registered"), 1), a = this.smooth_map[+Math.min(3 * this.data.aim_smooth, 1).toFixed(1)]; (s = this.smooth(t, s, e, a)), this.aim_camera(s, t), !t.shoot || this.data.player.shot || i || (t.xdir = 0); } } t.shoot && this.data.player.shot && (t.shoot = !e); } }; }, 2176: (t) => { "use strict"; var e = new Set(), i = { frame: 0, delta: 1, xdir_r: 2, ydir_r: 3, move: 4, shoot: 5, scope: 6, jump: 7, reload: 8, crouch: 9, weapon_scroll: 10, weapon_swap: 11, move_lock: 12, speed_limit: 13, reset: 14, tween_time: 15, tween_progress: 16, }; class a { static next = []; constructor(t) { this.array = t; var e = a.next.shift(); "function" == typeof e && e(this); } get previous() { return a.previous; } next(t) { a.next.push(t); } done() { a.previous = this; } get keys() { return "INPUT" == document.activeElement.tagName ? new Set() : e; } get focused() { return null != document.pointerLockElement; } get xdir() { return this.xdir_r / 1e3; } set xdir(t) { return (this.xdir_r = 1e3 * t), t; } get ydir() { return this.ydir_r / 1e3; } set ydir(t) { return (this.ydir_r = 1e3 * t), t; } } document.addEventListener("keydown", (t) => e.add(t.code)), document.addEventListener("keyup", (t) => e.delete(t.code)), window.addEventListener("blur", () => (e = new Set())); for (let t in i) { let e = i[t]; Object.defineProperty(a.prototype, t, { get() { return this.array[e]; }, set(t) { return (this.array[e] = "boolean" == typeof t ? +t : t); }, }); } (t.exports = a), (window.InputData = a); }, 6492: (t) => { "use strict"; class e { static keybinds = new Set(); constructor(t, i) { (this.keys = new Set()), (this.callbacks = new Set()), e.keybinds.add(this), "string" == typeof t && (this.key(t), (t = i)), "function" == typeof t && this.callback(i); } delete() { e.keybinds.delete(this); } set_key(...t) { return (this.keys = new Set()), this.key(...t); } set_callback(...t) { return (this.callbacks = new Set()), this.key(...t); } key(...t) { for (let e of t) this.keys.add(e); return this; } callback(...t) { for (let e of t) this.callbacks.add(e); return this; } } window.addEventListener("keydown", (t) => { if (!t.repeat) { for (let e of [...t.composedPath()]) if (e.tagName) for (let t of ["INPUT", "TEXTAREA"]) if (e.tagName.includes(t)) return; for (let i of e.keybinds) if (!t.repeat && i.keys.has(t.code)) { t.preventDefault(); for (let e of i.callbacks) e(t); } } }), (t.exports = e); }, 866: (t, e, i) => { "use strict"; var { loader: a } = i(9606), { vars: s } = a, { Vector3: r } = i(4914); t.exports = class { constructor(t) { this.data = t; } rgbToHex(t, e, i) { for (var a = ((t << 16) | (e << 8) | i).toString(16); 6 > a.length; ) a = "0" + a; return "#" + a; } hexFromHue(t) { var e = t / 60, i = 255 * (1 - Math.abs((e % 2) - 1)), a = Math.floor(e); return this.rgbToHex(1 > a || 4 < a ? 255 : 1 == a || 4 == a ? i : 0, 0 == a || 3 == a ? i : 1 == a || 2 == a ? 255 : 0, 0 == a || 1 == a ? 0 : 3 == a || 4 == a ? 255 : i); } deg2rad(t) { return (t * Math.PI) / 180; } dist_center(t) { return Math.hypot(window.innerWidth / 2 - t.x, window.innerHeight / 2 - t.y); } distanceTo(t, e) { return Math.hypot(t.x - e.x, t.y - e.y, t.z - e.z); } applyMatrix4(t, e) { var i = t.x, a = t.y, s = t.z, r = e.elements, n = 1 / (r[3] * i + r[7] * a + r[11] * s + r[15]); return (t.x = (r[0] * i + r[4] * a + r[8] * s + r[12]) * n), (t.y = (r[1] * i + r[5] * a + r[9] * s + r[13]) * n), (t.z = (r[2] * i + r[6] * a + r[10] * s + r[14]) * n), t; } project3d(t, e) { return this.applyMatrix4(this.applyMatrix4(t, e.matrixWorldInverse), e.projectionMatrix); } update_frustum() { this.data.world.frustum.setFromProjectionMatrix(new this.data.three.Matrix4().multiplyMatrices(this.data.world.camera.projectionMatrix, this.data.world.camera.matrixWorldInverse)); } update_camera() { this.data.world.camera.updateMatrix(), this.data.world.camera.updateMatrixWorld(); } pos2d(t, e = 0) { return isNaN(t.x) || isNaN(t.y) || isNaN(t.z) ? { x: 0, y: 0 } : (((t = { x: t.x, y: t.y, z: t.z }).y += e), this.update_camera(), this.project3d(t, this.data.world.camera), { x: ((t.x + 1) / 2) * this.data.ctx.canvas.width, y: ((1 - t.y) / 2) * this.data.ctx.canvas.height }); } obstructing(t) { var e = this.data.wallbangs && (!this.data.player || (this.data.player.weapon && this.data.player.weapon.pierce)), i = this.camera_world() || new r(), a = this.getD3D(i.x, i.y, i.z, t.x, t.y, t.z), s = this.getDir(i.z, i.x, t.z, t.x), n = this.getDir(this.getDistance(i.x, i.z, t.x, t.z), t.y, 0, i.y), o = 1 / (a * Math.sin(s - Math.PI) * Math.cos(n)), h = 1 / (a * Math.cos(s - Math.PI) * Math.cos(n)), c = 1 / (a * Math.sin(n)); for (let t of this.data.game.map.manager.objects) if (!t.noShoot && t.active && (!e || !t.penetrable)) { var l = this.lineInRect( i.x, i.z, i.y, o, h, c, t.x - Math.max(0, t.width), t.z - Math.max(0, t.length), t.y - Math.max(0, t.height), t.x + Math.max(0, t.width), t.z + Math.max(0, t.length), t.y + Math.max(0, t.height) ); if (l && 1 > l) return l; } if (this.data.game.map.terrain) { var d = this.data.game.map.terrain.raycast(i.x, -i.z, i.y, 1 / o, -1 / h, 1 / c); if (d) return this.getD3D(i.x, i.y, i.z, d.x, d.z, -d.y); } } getDistance(t, e, i, a) { return Math.sqrt((i -= t) * i + (a -= e) * a); } getD3D(t, e, i, a, s, r) { var n = t - a, o = e - s, h = i - r; return Math.sqrt(n * n + o * o + h * h); } getXDire(t, e, i, a, s, r) { return Math.asin(Math.abs(e - s) / this.getD3D(t, e, i, a, s, r)) * (e > s ? -1 : 1); } getDir(t, e, i, a) { return Math.atan2(e - a, t - i); } lineInRect(t, e, i, a, s, r, n, o, h, c, l, d) { var u = (n - t) * a, p = (c - t) * a, f = (h - i) * r, m = (d - i) * r, g = (o - e) * s, v = (l - e) * s, x = Math.max(Math.max(Math.min(u, p), Math.min(f, m)), Math.min(g, v)), y = Math.min(Math.min(Math.max(u, p), Math.max(f, m)), Math.max(g, v)); return !(y < 0 || x > y) && x; } getAngleDst(t, e) { return Math.atan2(Math.sin(e - t), Math.cos(t - e)); } contains_point(t) { for (let e of this.data.world.frustum.planes) if (e.distanceToPoint(t) < 0) return !1; return !0; } camera_world() { var t = this.data.world.camera.matrixWorld.clone(), e = this.data.world.camera[s.getWorldPosition](); return this.data.world.camera.matrixWorld.copy(t), this.data.world.camera.matrixWorldInverse.copy(t).invert(), e.clone(); } request_frame(t) { requestAnimationFrame(t); } }; }, 6947: (t, e, i) => { "use strict"; var a = i(7263), s = i(8144), r = i(122); t.exports = class extends r { gconsts = { playerHeight: 11, cameraHeight: 1.5, headScale: 2, armScale: 1.3, armInset: 0.1, chestWidth: 2.6, hitBoxPad: 1, crouchDst: 3, recoilMlt: 0.3, nameOffset: 0.6, nameOffsetHat: 0.8 }; api = "https://api.sys32.dev/"; matchmaker = "https://matchmaker.krunker.io/"; badge = "[GameLoader]"; vars = {}; context = { key: "_" + Math.random().toString().substr(2) }; has_instruct = this.has_instruct.bind(this); stacks = new Set(); api_v2 = new URL("v2/", this.api); meta = a.promise(); patches = new Map(); variables = new Map(); log(...t) { console.log(this.badge, ...t); } var(t, e, i) { return this.variables.set(t, [e, i]), this; } patch(t, e, i) { return this.patches.set(t, [e, i]), this; } observe() { this.loadp = new Promise((t) => new MutationObserver((e, i) => e.forEach((e) => [...e.addedNodes].forEach((e) => { "DIV" == e.tagName && "instructionHolder" == e.id && ((this.instruction_holder = e), new MutationObserver(() => setTimeout(() => this.emit("instruct", this.has_instruct), 200)).observe(this.instruction_holder, { attributes: !0, attributeFilter: ["style"] })), "SCRIPT" == e.tagName && e.textContent.includes("Yendis Entertainment") && ((e.textContent = ""), t()); }) ) ).observe(document, { childList: !0, subtree: !0 }) ); } has_instruct(...t) { if (!this.instruction_holder) return !1; var e = this.instruction_holder.textContent.trim().toLowerCase(); for (let i of t) if (e.includes(t)) return !0; return !1; } async report_error(t, e) { if ("object" == typeof e) { var i = { name: e.name, message: e.message, stack: e.stack, where: t }; this.stacks.has(e.stack) || (console.error("Where:", t, "\nUncaught", e), this.stacks.add(e.stack), await s({ target: this.api_v2, endpoint: "error", data: i })); } } async show_error(t, e) { await this.load; var i = document.querySelector("#instructionHolder"), a = document.querySelector("#instructions"); (i.style.display = "block"), (i.style.pointerEvents = "all"); for (let t of document.querySelectorAll("#loadingBg, #initLoader")) t.style.display = "none"; a.innerHTML = `
${t}
${e}
`; } async token() { return ( await this.meta, await s({ target: this.api_v2, endpoint: "token", data: await s({ target: this.matchmaker, endpoint: "generate-token", headers: { "client-key": this.meta.key }, result: "json" }), result: "json" }) ); } apply_patches(t) { var e; for (var [i, [a, s]] of this.variables) { var r = (t.match(a) || 0)[s]; r ? (this.vars[i] = r) : ((e || (e = {}))[i] = [a, s]); } for (var [i, [n, o]] of (console.log("Game Variables:"), console.table(this.vars), e && (console.log("Missing:"), console.table(e)), this.patches)) t.match(n) || console.error("Could not patch", i), (t = t.replace(n, o)); return t; } async license(t) { var e = await s({ target: this.api_v2, endpoint: "meta", data: { ...t, needs_key: !0 }, method: "POST", result: "json" }); e.error ? (a.add_ele("style", document.documentElement, { textContent: "#initLoader,#instructionsUpdate{display:none!IMPORTANT}" }), this.show_error(e.error.title, e.error.message), this.meta.reject()) : this.meta.resolve((this.meta = e)); } async source() { return await this.meta, await s({ target: this.api_v2, endpoint: "source", query: { build: this.meta.build }, result: "text", cache: !0 }); } async load(t = {}, e = {}, i = () => {}) { var a = { ...t, [this.context.key]: this.context, WP_fetchMMToken: this.token() }, s = this.apply_patches(await this.source()); Object.assign(this.context, e); try { await this.loadp, i(), new Function(...Object.keys(a), s)(...Object.values(a)); } catch (t) { this.report_error("loading", t), this.show_error(t.message, "Post a screenshot of this error on the forums or click here to try again."); } } }; }, 4304: (t, e, i) => { "use strict"; var { Vector3: a, Hex3: s, Box3: r } = i(4914), { loader: n } = i(9606), { vars: o, gconsts: h } = n, c = 0; setInterval(() => (c = Math.random()), 2e3); t.exports = class { part_keys = ["head", "torso", "legs"]; calc_ticks = 2; constructor(t, e) { (this.data = t), (this.entity = "object" == typeof e && null != e ? e : {}), (this.velocity = new a()), (this.position = new a()), (this.esp_hex = new s()), (this.hp_hex = new s()), (this.dont_calc = 0), (this.hitbox = new r()), (this.hitbox.head = new r()), (this.parts = { hitbox_head: new a(), head: new a(), torso: new a(), legs: new a() }); } get ground() { return this.entity.onGround; } calc_rect() { var t = (2 * h.armScale + h.chestWidth + h.armInset) / 2, e = 1 / 0, i = -1 / 0, a = 1 / 0, s = -1 / 0, r = null; this.frustum = !0; for (let n = -1; this.frustum && n < 2; n += 2) for (let o = -1; this.frustum && o < 2; o += 2) for (let h = 0; this.frustum && h < 2; h++) if ((r = this.obj.position.clone())) { if (((r.x += n * t), (r.z += o * t), (r.y += h * this.height), !this.data.utils.contains_point(r))) return (this.frustum = !1); r.project(this.data.world.camera), (e = Math.min(e, r.x)), (i = Math.max(i, r.x)), (a = Math.min(a, r.y)), (s = Math.max(s, r.y)); } (e = (e + 1) / 2), (i = (i + 1) / 2), (a = 0.5 - ((a = (a + 1) / 2) - 0.5)), (s = 0.5 - ((s = (s + 1) / 2) - 0.5)), (e *= this.data.ctx.canvas.width), (i *= this.data.ctx.canvas.width), (a *= this.data.ctx.canvas.height); var n = { left: e, top: (s *= this.data.ctx.canvas.height), right: i, bottom: a, width: i - e, height: a - s }; return (n.x = n.left + n.width / 2), (n.y = n.top + n.height / 2), n; } scale_rect(t, e) { var i = {}, a = ["y", "height", "top", "bottom"]; for (var s in this.rect) i[s] = this.rect[s] / (a.includes(s) ? e : t); return i; } calc_in_fov() { if (!this.active) return !1; if (110 == this.data.aim_fov) return !0; if (!this.frustum) return !1; var t = this.data.world.camera.fov; (this.data.world.camera.fov = (this.data.aim_fov / t) * 100), this.data.world.camera.updateProjectionMatrix(), this.data.utils.update_frustum(); var e = this.data.utils.contains_point(this.aim_point); return (this.data.world.camera.fov = t), this.data.world.camera.updateProjectionMatrix(), this.data.utils.update_frustum(), e; } get ping() { return this.entity.ping; } get jump_bob_y() { return this.entity.jumpBobY; } get clan() { return this.entity.clan; } get alias() { return this.entity.alias; } get weapon() { return this.entity.weapon; } get weapon_auto() { return !this.weapon.nAuto; } get can_slide() { return this.entity.canSlide; } get risk() { return this.entity.level >= 30 || (this.entity.account && (this.entity.account.featured || this.entity.account.premiumT)); } get is_you() { return this.entity[o.isYou]; } get target() { return this.data.target && this.entity == this.data.target.entity; } get can_melee() { return (this.weapon.melee && this.data.target && this.data.target.active && this.position.distance_to(this.data.target) <= 18) || !1; } get reloading() { return 0 != this.entity.reloadTimer; } get can_aim() { return !this.can_melee; } get can_throw() { return this.entity.canThrow && this.weapon.canThrow; } get aimed() { var t = this.can_throw ? 1 - this.entity.chargeTime / this.entity.throwCharge : this.weapon.melee ? 1 : this.entity[o.aimVal]; return this.weapon.noAim || 0 == t || this.can_melee || !1; } get can_shoot() { return !this.reloading && this.has_ammo && (this.can_throw || !this.weapon.melee || this.can_melee); } get hitbox_pad() { return this.data.game.config.hitBoxPad - 0.2; } get hitbox_scale() { return this.entity.scale + this.hitbox_pad - 0.2; } get aim_press() { return this.data.controls[o.adsToggled] || this.data.controls.keys[this.data.controls.binds.aim.val]; } get crouch() { return this.entity[o.crouchVal] || 0; } get box_scale() { this.data.utils.camera_world(); var t = (t) => Math.min(1, (this.rect[t] / this.data.ctx.canvas[t]) * 10); return [t("width"), t("height")]; } get dist_scale() { var t = this.data.utils.camera_world(), e = Math.max(0.65, 1 - this.data.utils.getD3D(t.x, t.y, t.z, this.position.x, this.position.y, this.position.z) / 600); return [e, e]; } get distance_camera() { return this.data.utils.camera_world().distanceTo(this.position); } get obj() { return this.is_ai ? this.enity.dat : this.entity[o.objInstances]; } get land_bob_y() { return this.entity.landBobY || 0; } get recoil_y() { return this.entity[o.recoilAnimY] || 0; } get has_ammo() { return this.ammo || this.ammo == this.max_ammo; } get ammo() { return this.entity[o.ammos][this.entity[o.weaponIndex]] || 0; } get max_ammo() { return this.weapon.ammo || 0; } get height() { return this.entity.height - this.crouch * h.crouchDst; } get health() { return this.entity.health || 0; } get scale() { return this.entity.scale; } get max_health() { return this.entity[o.maxHealth] || 100; } get active() { return this.entity.active && null != this.entity.x && this.health > 0 && (!!this.is_you || (this.chest && this.leg)) && !0; } get teammate() { return this.is_you || (this.data.player && this.team && this.team == this.data.player.team); } get enemy() { return !this.teammate; } get team() { return this.entity.team; } get streaks() { return Object.keys(this.entity.streaks || {}); } get did_shoot() { return this.entity[o.didShoot]; } get chest() { return this.entity.lowerBody ? this.entity.lowerBody.children[0] : null; } get leg() { for (var t of this.entity.legMeshes) if (t.visible) return t; return this.chest; } calc_rot() { var t = this.data.utils.camera_world(), e = this.aim_point; return { x: this.data.utils.getXDire(t.x, t.y, t.z, e.x, e.y - this.data.player.jump_bob_y, e.z) || 0, y: this.data.utils.getDir(t.z, t.x, e.z, e.x) || 0 }; } calc_parts() { if (!this.active || this.is_you) return (this.can_target = !1); if (!this.data.aim_smooth || !this.aim_point || this.dont_calc++ % (this.calc_ticks + 1) == 0) { var t = new this.data.three.Box3().setFromObject(this.chest), e = t.getSize(), i = t.getCenter(); this.parts.torso.copy(i).translate_quaternion(this.chest.getWorldQuaternion(), new a().copy({ x: 0, y: -0.75, z: 0 })), (this.parts.torso_height = e.y - 1.5), this.parts.head.copy(i).translate_quaternion(this.chest.getWorldQuaternion(), new a().copy({ x: 0, y: this.parts.torso_height / 2, z: 0 })); var s = this.leg[o.getWorldPosition](), r = this.leg.getWorldScale(); this.parts.legs.copy(s).translate_quaternion(this.leg.getWorldQuaternion(), new a().copy({ x: -r.x / 2, y: -r.y / 2, z: 0 })); var n = "random" == this.data.aim_offset ? this.part_keys[~~(c * this.part_keys.length)] : this.data.aim_offset; switch (n) { case "head": this.set_aim_point(this.parts.head); break; case "multi": if (!this.set_aim_point(this.parts.hitbox_head)) { let t = this.data.utils.camera_world(), e = this.visible_points(this.hitbox.head.points()).sort((e, i) => e.distance_to(t) - i.distance_to(t) + (i.y - e.y)); for (let t of e) if (this.set_aim_point(t)) break; } break; default: this.set_aim_point(this.parts[n]); } (this.in_fov = this.calc_in_fov()), (this.can_target = this.active && this.can_see && this.enemy && this.in_fov); } } visible_points(t) { var e = []; for (let i of [ [0, 3], [3, 5], [5, 6], [6, 0], ]) { let a = new this.data.three.Box3(); for (let e of i) a.expandByPoint(t[e]); let s = a.getSize(), r = a.getCenter(); e.push({ width: s.x, length: s.z, height: s.y, x: r.x, y: r.y - s.y / 2, z: r.z }); } return t.filter((t) => !!this.point_obstructing(t, e)); } point_obstructing(t, e) { var i = this.data.utils.camera_world(), a = this.data.utils.getD3D(i.x, i.y, i.z, t.x, t.y, t.z), s = this.data.utils.getDir(i.z, i.x, t.z, t.x), r = this.data.utils.getDir(this.data.utils.getDistance(i.x, i.z, t.x, t.z), t.y, 0, i.y), n = 1 / (a * Math.sin(s - Math.PI) * Math.cos(r)), o = 1 / (a * Math.cos(s - Math.PI) * Math.cos(r)), h = 1 / (a * Math.sin(r)); for (let t of e) { var c = this.data.utils.lineInRect( i.x, i.z, i.y, n, o, h, t.x - Math.max(0, t.width), t.z - Math.max(0, t.length), t.y - Math.max(0, t.height), t.x + Math.max(0, t.width), t.z + Math.max(0, t.length), t.y + Math.max(0, t.height) ); if (c && 1 > c) return c; } } set_aim_point(t) { return (this.aim_point = t), (this.can_see = null == this.data.utils.obstructing(t)); } tick() { if ( (this.position.set(this.entity.x, this.entity.y, this.entity.z), this.velocity.set(this.entity.velocity.x, this.entity.velocity.y, this.entity.velocity.z), this.hitbox.min.set(this.position.x - this.hitbox_scale, this.position.y, this.position.z - this.hitbox_scale), this.hitbox.max.set(this.position.x + this.hitbox_scale, this.position.y + this.height + this.hitbox_pad, this.position.z + this.hitbox_scale), this.hitbox.head.max.copy(this.hitbox.max), this.hitbox.head.min.copy(this.hitbox.min), (this.hitbox.head.min.y = this.hitbox.max.y - this.entity.headScale - 0.5), (this.parts.hitbox_head.copy(this.position).y = this.position.y + this.height), !this.is_you) ) { (this.rect = this.calc_rect()), this.esp_hex.set_style(this.data.rainbow ? this.data.visual.rainbow.col : this.data.color[this.enemy ? (this.risk ? "risk" : "hostile") : "friendly"]), this.can_see || this.esp_hex.sub_scalar(119), (this.esp_color = this.esp_hex.toString()); var t = (this.health / this.max_health) * 100, e = t < 50 ? 255 : Math.round(510 - 5.1 * t), i = t < 50 ? Math.round(5.1 * t) : 255; this.hp_hex.set(e, i, 0), (this.hp_color = this.hp_hex.toString()); } } }; }, 3137: () => { "use strict"; var t = new Function("return this")(), e = { port: 443, localhost: ["localhost", "127.0.0.1"], hosts: { http: ["krunker.io", "internal.krunker.io"], mm: ["matchmaker.krunker.io", "matchmaker_beta.krunker.io", "127.0.0.1:5050"], api: ["api.krunker.io", "api_beta.krunker.io", "127.0.0.1:5080"], social: ["social.krunker.io", "social_beta.krunker.io", "127.0.0.1:5070"], editor: ["editor.krunker.io", "editor_beta.krunker.io", "127.0.0.1:5090"], assets: ["assets.krunker.io"], userAssets: ["user-assets.krunker.io"], }, region: { default: "de-fra", map: { fra: "de-fra", sv: "us-ca-sv", syd: "au-syd", tok: "jb-hnd", mia: "us-fl", sin: "sgp", ny: "us-nj" }, reverseMap: { "de-fra": "fra", "us-ca-sv": "sv", "au-syd": "syd", "jb-hnd": "tok", "us-fl": "mia", sgp: "sin", "us-nj": "ny" }, }, isSSL: !0, protocol: { http: "https:", ws: "wss:" }, }; const i = e.localhost.includes(location.hostname), a = !i && location.hostname.split(".").slice(-2).join(".") == location.hostname, s = function (t) { if (e.hosts.mm.includes(t.host)) { if ( ((t.protocol = e.protocol.http), (t.hostname = location.hostname), (t.port = e.port), (t.pathname = `/mm${t.pathname}`), (t.search = t.search.replace(`hostname=${location.hostname}`, `hostname=${e.hosts.http[0]}`)), t.search.match(/region=/)) ) if (i) t.search = t.search.replace("region=local", `region=${e.region.default}`); else if (!a) { const i = e.region.map[location.hostname.split(".")[0]] || e.region.default; t.search = t.search.replace(/region=[\w-]+/g, `region=${i}`); } } else e.hosts.api.includes(t.host) && ((t.protocol = e.protocol.http), (t.hostname = location.hostname), (t.port = e.port), (t.pathname = `/api${t.pathname}`)); return t; }, r = t.fetch; (t.fetch = async function (...t) { try { const e = new URL(t[0]); t[0] = s(e).toString(); } catch (t) {} return r(...t); }), (t.WebSocket = class extends t.WebSocket { constructor(...t) { const i = new URL(t[0]); e.hosts.social.includes(i.host) ? ((i.protocol = e.protocol.ws), (i.port = ""), (i.host = e.hosts.social[0])) : e.hosts.editor.includes(i.host) && ((i.protocol = e.protocol.ws), (i.port = ""), (i.host = e.hosts.editor[0])), (t[0] = `${e.protocol.ws}//${location.host}/ws?redirect=${btoa(i.toString())}`), super(t); } }), (t.XMLHttpRequest = class extends t.XMLHttpRequest { open(...t) { try { const i = new URL(t[1]); e.hosts.assets.includes(i.host) ? ((i.protocol = e.protocol.http), (i.hostname = location.hostname), (i.port = e.port), (i.pathname = `/assets${i.pathname}`), (t[1] = i.toString())) : e.hosts.userAssets.includes(i.host) ? ((i.protocol = e.protocol.http), (i.hostname = location.hostname), (i.port = e.port), (i.pathname = `/user${i.pathname}`), (t[1] = i.toString())) : (t[1] = s(i).toString()); } catch (t) {} super.open(...t); } }), (document.createElementNS = new Proxy(document.createElementNS, { apply: function (t, i, a) { const s = t.apply(i, a); let r; s.addEventListener( "error", function t() { this.removeEventListener("error", t, !1), this.addEventListener("error", r, !1); const i = new URL(this.src); e.hosts.assets.includes(i.host) && ((i.protocol = e.protocol.http), (i.hostname = location.hostname), (i.port = e.port), (i.pathname = `/assets${i.pathname}`)), (this.src = i.toString()); }, !1 ); const n = s.addEventListener; return ( (s.addEventListener = new Proxy(n, { apply: function (t, e, i) { "error" == i[0] ? ((r = i[1]), (s.addEventListener = n)) : t.apply(e, i); }, })), s ); }, })); const n = document.createElement("div"); (n.className = "settingsBtn"), (n.style.cssText = "width: auto;font-size: 14px;padding: 5px 8px;"), (n.innerText = "Find"), n.addEventListener( "click", function () { const t = document.getElementById("setBod_local").childNodes[0].childNodes[2].value, a = e.region.reverseMap[t] || e.region.reverseMap[e.region.default]; if (i) { const t = `${e.protocol.http}//${a}.subdomain.com`; alert(`REDIRECT - ${t}`); } else { const t = `${e.protocol.http}//${a}.${location.hostname.split(".").slice(-2).join(".")}`; location.href = t; } }, !1 ); const o = setInterval(function () { t.windows && (clearInterval(o), t.windows[0].getSettings && (t.windows[0].getSettings = new Proxy(t.windows[0].getSettings, { apply: function (t, i, a) { return ( setTimeout(function () { const t = document.getElementById("setBod_local"); if (t) { const i = t.children[0]; i.innerHTML = i.innerHTML.replace("Default Region", "Proxy Region"); const a = i.children[0]; i.insertBefore(n, a), [...a.children].filter((t) => !e.region.reverseMap[t.value]).forEach((t) => a.removeChild(t)), a.onchange(); } }), t.apply(i, a) ); }, }))); }, 100); }, 8144: (t) => { "use strict"; var e = (t) => "object" == typeof t && null != t, i = (t) => "string" == typeof t || t instanceof Location || t instanceof URL, a = (t) => { if (e(t)) { if (t instanceof Headers) { let e = {}; for (let [i, a] of t) e[i] = a; return e; } return t; } return {}; }, s = (t) => { if (!e(t)) throw new TypeError("Input must be an object"); var i = { cache: "no-cache", headers: a(t.headers) }, r = s.resolve(t); switch (t.cache) { case !0: i.cache = "force-cache"; break; case "query": r.search += "?" + Date.now(); } 1 == t.cache && (i.cache = "force-cache"), e(t.data) && ((i.method = "POST"), (i.body = JSON.stringify(t.data)), (i.headers["content-type"] = "application/json")), "string" == typeof t.method && (i.method = t.method), t.sync && ((i.xhr = !0), (i.synchronous = !0)); var n = ["text", "json", "arrayBuffer"].includes(t.result) ? t.result : "text"; return (i.xhr ? s.fetch_xhr : window.fetch.bind(window))(r, i).then((t) => t[n]()); }; (s.fetch_xhr = (t, e = {}) => { if (!i(t)) throw new TypeError("url param is not resolvable"); t = new URL(t, location).href; var a = "string" == typeof e.method ? e.method : "GET", s = new XMLHttpRequest(); return ( s.open(a, t, !e.synchronous), new Promise((t, i) => { s.addEventListener("load", () => t({ text: async () => s.responseText, json: async () => JSON.parse(s.responseText), headers: new Headers() })), s.addEventListener("error", (t) => i(t.error)), s.send(e.body); }) ); }), (s.resolve = (t) => { if (!i(t.target)) throw new TypeError("Target must be specified"); var e = new URL(t.target); return i(t.endpoint) && (e = new URL(t.endpoint, e)), "object" == typeof t.query && null != t.query && (e.search = "?" + new URLSearchParams(Object.entries(t.query))), e; }), (t.exports = s); }, 8721: (t, e, i) => { "use strict"; i(7263).add_ele("style", () => document.documentElement, { textContent: i(4309) }); }, 82: (t, e, i) => { "use strict"; var a = i(3229); Symbol(); t.exports = (t) => { var e, i, s = { sgp: "sin", "au-syd": "syd", "de-fra": "fra", "jb-hnd": "tok", "us-ca-sv": "sv", "us-fl": "mia", "us-nj": "ny" }; class r extends WebSocket { constructor(r, n) { t.proxy && (r = "wss://" + (s[localStorage.kro_setngss_defaultRegion] || "mia") + ".browserfps.com/ws?redirect=" + btoa(r)), super(r, n), this.addEventListener("message", (s) => { var r, [n, ...o] = a.decode(new Uint8Array(s.data)); if ("io-init" == n) e = o[0]; else if (t.unlock_skins && 0 == n && i && e && -1 != (r = o[0].indexOf(e))) { (o[0][r + 12] = i[2]), (o[0][r + 13] = i[3]), (o[0][r + 14] = i[4]), (o[0][r + 19] = i[9]), (o[0][r + 24] = i[14]), (o[0][r + 33] = i[17]); var h = a.encode([n, ...o]), c = new Uint8Array(h.byteLength + 2); c.set(h, 0), c.set(s.data.slice(-2), h.byteLength), Object.defineProperty(s, "data", { value: c.buffer }); } }); } set onmessage(t) { return ( this.addEventListener("message", (e) => { try { return t.call(this, e); } catch (t) { console.error("Socket error:", t); } }), t ); } send(t) { var [e, ...s] = a.decode(t.slice(0, -2)); "en" == e && (i = s[0]), super.send(t); } } return r; }; }, 4914: (t, e) => { "use strict"; class i { constructor(t = 0, e = 0, i = 0) { (this.x = t), (this.y = e), (this.z = i); } clone() { return new i(this.x, this.y, this.z); } mps() { return 1e3 * Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2)); } set(t, e, i) { return (this.x = t), (this.y = e), (this.z = i), this; } copy(t) { return (this.x = t.x), (this.y = t.y), (this.z = t.z), this; } add(t) { return (this.x += t.x), (this.y += t.y), (this.z += t.z), this; } add_vectors(t = 0, e = 0, i = 0) { return (this.x += t), (this.y += e), (this.z += i), this; } add_scalar(t) { return (this.x += t), (this.y += t), (this.z += t), this; } sub(t) { return (this.x += t.x), (this.y += t.y), (this.z += t.z), this; } sub_vectors(t = 0, e = 0, i = 0) { return (this.x -= t), (this.y -= e), (this.z -= i), this; } sub_scalar(t) { return (this.x -= t), (this.y -= t), (this.z -= t), this; } multiply(t) { return (this.x *= t.x), (this.y *= t.y), (this.z *= t.z), this; } multiply_vectors(t = 0, e = 0, i = 0) { return (this.x *= t), (this.y *= e), (this.z *= i), this; } multiply_scalar(t) { return (this.x *= t), (this.y *= t), (this.z *= t), this; } divide(t) { return (this.x /= t.x), (this.y /= t.y), (this.z /= t.z), this; } divide_vectors(t = 0, e = 0, i = 0) { return (this.x /= t), (this.y /= e), (this.z /= i), this; } divide_scalar(t) { return (this.x /= t), (this.y /= t), (this.z /= t), this; } apply_quaternion(t) { const e = this.x, i = this.y, a = this.z, s = t.x, r = t.y, n = t.z, o = t.w, h = o * e + r * a - n * i, c = o * i + n * e - s * a, l = o * a + s * i - r * e, d = -s * e - r * i - n * a; return (this.x = h * o + d * -s + c * -n - l * -r), (this.y = c * o + d * -r + l * -s - h * -n), (this.z = l * o + d * -n + h * -r - c * -s), this; } translate_quaternion(t, e) { for (var a in e) { var s = new i(); s[a] = 1; var r = s.apply_quaternion(t).multiply_scalar(e[a]); this.add(r); } return this; } distance_to(t) { return Math.hypot(this.x - t.x, this.y - t.y, this.z - t.z); } } i.Blank = new i(); (e.Box3 = class { min = new i(); max = new i(); points() { return [ new i(this.min.x, this.min.y, this.min.z), new i(this.min.x, this.min.y, this.max.z), new i(this.min.x, this.max.y, this.min.z), new i(this.min.x, this.max.y, this.max.z), new i(this.max.x, this.min.y, this.min.z), new i(this.max.x, this.min.y, this.max.z), new i(this.max.x, this.max.y, this.min.z), new i(this.max.x, this.max.y, this.max.z), ]; } }), (e.Hex3 = class { hex = [0, 0, 0]; constructor(t = "#000") { this.set_style(t); } add_scalar(t) { for (let e in this.hex) this.hex[e] += t; return this.normalize(); } sub_scalar(t) { for (let e in this.hex) this.hex[e] -= t; return this.normalize(); } normalize() { for (let t in this.hex) this.hex[t] = Math.max(Math.min(this.hex[t], 255), 0); return this; } set(t, e, i) { return (this.hex[0] = t), (this.hex[1] = e), (this.hex[2] = i), this; } set_style(t) { let e = 0, i = "#" == t[0] ? 1 : 0, a = t.length - i < 5 ? 1 : 2; for (let s = i; s < t.length; s += a) { let i = t.substr(s, a); 1 == a && (i += i), (this.hex[e++] = parseInt(i, 16)); } return this; } toString() { var t = "#"; for (let e of this.hex) t += e.toString(16).padStart(2, 0); return t; } }), (e.Vector3 = i); }, 7263: (t) => { "use strict"; t.exports = class { static is_host(t, ...e) { return e.some((e) => t.hostname == e || t.hostname.endsWith("." + e)); } static round(t, e) { return Math.round(t * Math.pow(10, e)) / Math.pow(10, e); } static add_ele(t, e, i = {}) { var a = this.crt_ele(t, i); if ("function" == typeof e) this.wait_for(e).then((t) => t.append(a)); else { if ("object" != typeof e || null == e || !e.append) throw new Error("Parent is not resolvable to a DOM element"); e.append(a); } return a; } static crt_ele(t, e = {}) { var i, a = {}; for (let t in e) "object" == typeof e[t] && null != e[t] && ((a[t] = e[t]), delete e[t]); i = "raw" == t ? this.crt_ele("div", { innerHTML: e.html }).firstChild : "text" == t ? document.createTextNode("") : document.createElement(t); var s = e.className; s && (delete e.className, i.setAttribute("class", s)); var r = a.events; if (r) { delete a.events; for (let t in r) i.addEventListener(t, r[t]); } Object.assign(i, e); for (let t in a) Object.assign(i[t], a[t]); return i; } static wait_for(t, e) { return new Promise((i) => { var a, s = () => { try { var e = t(); if (e) return a && clearInterval(a), i(e), !0; } catch (t) { console.log(t); } }; a = s() || setInterval(s, e || 50); }); } static sanitize(t) { var e = document.createElement("div"); return (e.textContent = t), e.innerHTML; } static unsanitize(t) { var e = document.createElement("div"); return (e.innerHTML = t), e.textContent; } static node_tree(t, e = document) { var i = { parent: e }, a = /^\$\s+>?/g, s = /^\^\s+>?/g; for (var r in t) { var n = t[r]; if (n instanceof Node) i[r] = n; else if ("object" == typeof n) i[r] = this.node_tree(n, i.container); else if (a.test(t[r])) { if (!i.container) { console.warn("No container is available, could not access", n); continue; } i[r] = i.container.querySelector(t[r].replace(a, "")); } else if (s.test(t[r])) { if (!i.parent) { console.warn("No parent is available, could not access", n); continue; } i[r] = i.parent.querySelector(t[r].replace(s, "")); } else i[r] = e.querySelector(t[r]); i[r] || console.warn("No node found, could not access", n); } return i; } static string_key(t) { return t.replace(/^([A-Z][a-z]+?)([A-Z0-9][a-z]*?)/, (t, e, i) => (["Digit", "Key"].includes(e) ? i : `${i} ${e}`)); } static clone_obj(t) { return JSON.parse(JSON.stringify(t)); } static assign_deep(t, ...e) { for (let i in e) for (let a in e[i]) "object" == typeof e[i][a] && null != e[i][a] && a in t ? this.assign_deep(t[a], e[i][a]) : "object" == typeof t && null != t && Object.defineProperty(t, a, Object.getOwnPropertyDescriptor(e[i], a)); return t; } static filter_deep(t, e) { for (let i in t) i in e || delete t[i], "object" == typeof e[i] && null != e[i] && this.filter_deep(t[i], e[i]); return t; } static redirect(t, e, i) { var a = Symbol(); i.addEventListener(t, (t) => { t[a]; }), e.addEventListener(t, (e) => i.dispatchEvent(Object.assign(new e.constructor(t, e), { [a]: !0, stopImmediatePropagation: e.stopImmediatePropagation.bind(e), preventDefault: e.preventDefault.bind(e) }))); } static promise() { var t, e = new Promise((e, i) => (t = { resolve: e, reject: i })); return Object.assign(e, t), (e.resolve_in = (t = 0, i) => setTimeout(() => e.resolve(i), t)), e; } static rtn(t, e) { return (t / e).toFixed() * e; } }; }, 6132: (t, e, i) => { "use strict"; var { Vector3: a } = i(573); class s { constructor(t) { (this.data = t), (this.materials = new Map()), (this.rainbow = { col: "#ffffff", val: 0 }); } tick_rainbow() { (this.rainbow.val += 0.6), (this.rainbow.val %= 360), (this.rainbow.col = this.data.utils.hexFromHue(Math.round(this.rainbow.val))); } esp_mat(t) { return this.materials.has(t) || this.materials.set(t, new this.data.three.MeshBasicMaterial({ transparent: !0, fog: !1, depthTest: !1, color: t })), this.materials.get(t); } tick() { this.data.ctx.clearRect(0, 0, this.data.ctx.canvas.width, this.data.ctx.canvas.height), this.tick_rainbow(); } draw_text(t, e, i, a) { for (var s = 0; s < a.length; s++) for (var r = a[s], n = 0, o = 0; o < r.length; o++) { var h = r[o][0], c = r[o][1], l = [c, t + n, e + s * (i + 2)]; (this.data.ctx.fillStyle = h), this.data.ctx.strokeText(...l), this.data.ctx.fillText(...l), (n += this.data.ctx.measureText(c).width + 2); } } fov(t) { var e = (this.data.ctx.canvas.width * t) / 100, i = (this.data.ctx.canvas.height * t) / 100; (this.data.ctx.strokeStyle = "#000"), (this.data.ctx.lineWidth = 2), this.data.ctx.strokeRect((this.data.ctx.canvas.width - e) / 2, (this.data.ctx.canvas.height - i) / 2, e, i); } walls() { this.data.world.scene.children.forEach((t) => { if ("Mesh" == t.type && t.dSrc && !t.material[s.hooked]) { t.material[s.hooked] = !0; var e = t.material.transparent, i = t.material.opacity; Object.defineProperties(t.material, { opacity: { get: (t) => (i * this.data.walls) / 100, set: (t) => (i = t) }, transparent: { get: (t) => 100 != this.data.walls || e, set: (t) => (e = t) } }); } }); } axis_join(t) { return t ? ["x", "y", "z"].map((e) => e + ": " + t[e].toFixed(2)).join(", ") : null; } overlay() { (this.data.ctx.strokeStyle = "#000"), (this.data.ctx.font = "14px monospace"), (this.data.ctx.textAlign = "start"), (this.data.ctx.lineWidth = 2.6); var t = { Player: this.data.player ? this.axis_join(this.data.player.position) : null, Target: this.data.target ? this.axis_join(this.data.target.position) : null }, e = []; for (var i in t) { var a = "#FFF", s = t[i]; switch (typeof s) { case "boolean": (a = s ? "#0F0" : "#F00"), (s = s ? "Yes" : "No"); break; case "number": (a = "#00F"), (s = s.toFixed(2)); break; case "object": s = "N/A"; } e.push([ ["#BBB", i + ": "], [a, s], ]); } this.draw_text(15, this.data.ctx.canvas.height / 2 - (14 * e.length) / 2, 14, e); } p2a(t) { var e = this.data.utils.pos2d(t); return [e.x, e.y]; } hitbox(t) { var e = t.points(); (this.data.ctx.fillStyle = "red"), (this.data.ctx.lineWidth = 1.5), this.data.ctx.moveTo(...this.p2a(e[0])), this.data.ctx.lineTo(...this.p2a(e[2])), this.data.ctx.lineTo(...this.p2a(e[4])), this.data.ctx.lineTo(...this.p2a(e[6])), this.data.ctx.lineTo(...this.p2a(e[5])), this.data.ctx.lineTo(...this.p2a(e[7])), this.data.ctx.lineTo(...this.p2a(e[1])), this.data.ctx.lineTo(...this.p2a(e[3])), this.data.ctx.lineTo(...this.p2a(e[0])), this.data.ctx.lineTo(...this.p2a(e[1])), this.data.ctx.lineTo(...this.p2a(e[5])), this.data.ctx.lineTo(...this.p2a(e[4])), this.data.ctx.lineTo(...this.p2a(e[0])), this.data.ctx.lineTo(...this.p2a(e[2])), this.data.ctx.lineTo(...this.p2a(e[3])), this.data.ctx.lineTo(...this.p2a(e[7])), this.data.ctx.lineTo(...this.p2a(e[6])), this.data.ctx.lineTo(...this.p2a(e[2])), this.data.ctx.stroke(); } box(t) { (this.data.ctx.strokeStyle = t.esp_color), (this.data.ctx.lineWidth = 1.5), this.data.ctx.strokeRect(t.rect.left, t.rect.top, t.rect.width, t.rect.height); } tracer(t) { (this.data.ctx.strokeStyle = t.esp_color), (this.data.ctx.lineWidth = 1.75), (this.data.ctx.lineCap = "round"), this.data.ctx.beginPath(), this.data.ctx.moveTo(this.data.ctx.canvas.width / 2, this.data.ctx.canvas.height), this.data.ctx.lineTo(t.rect.x, t.rect.bottom), this.data.ctx.stroke(); } get can_draw_chams() { return ["chams", "box_chams", "full"].includes(this.data.esp); } cham(t) { if (!t.obj[s.hooked]) { t.obj[s.hooked] = !0; let e = !0; Object.defineProperty(t.obj, "visible", { get: (t) => this.can_draw_chams || e, set: (t) => (e = t) }); } t.obj.traverse((e) => { if ("Mesh" == e.type && !e[s.hooked]) { e[s.hooked] = !0; var i = e.material; Object.defineProperty(e, "material", { get: (e) => { var a = this.can_draw_chams ? this.esp_mat(t.esp_color) : i; return (a.wireframe = this.data.wireframe), a; }, set: (t) => (i = t), }); } }); } health(t) { this.data.ctx.save(), this.data.ctx.scale(...t.box_scale); var e = t.scale_rect(...t.box_scale); (this.data.ctx.fillStyle = t.hp_color), this.data.ctx.fillRect(e.left - 30, e.top, 25, e.height), this.data.ctx.restore(); } text(t) { this.data.ctx.save(), this.data.ctx.scale(...t.dist_scale); var e = t.scale_rect(...t.dist_scale); (this.data.ctx.font = "Bold 13px Tahoma"), (this.data.ctx.strokeStyle = "#000"), (this.data.ctx.lineWidth = 2.5), (this.data.ctx.textBaseline = "top"); var i = [ [ ["#FB8", t.alias], ["#FFF", t.clan ? " [" + t.clan + "]" : ""], ], [[t.hp_color, t.health + "/" + t.max_health + " HP"]], [["#FFF", t.weapon.name]], ]; t.target && i.push([["#00F", "Target"]]), this.draw_text(e.right + 4, e.top, 13, i), this.data.ctx.restore(); } text_clean(t) { this.data.ctx.save(), this.data.ctx.scale(...t.dist_scale); var e = t.scale_rect(...t.dist_scale); (this.data.ctx.font = "Bold 17px Tahoma"), (this.data.ctx.fillStyle = "white"), (this.data.ctx.strokeStyle = "black"), (this.data.ctx.lineWidth = 1); let i = e.right + 7, a = e.top, s = t.name || t.alias; this.data.ctx.fillText(s, i, a), this.data.ctx.strokeText(s, i, a), (a += 16), (this.data.ctx.font = "Bold 15px Tahoma"), (this.data.ctx.fillStyle = "#cccccc"), this.data.ctx.fillText(t.weapon.name, i, a), this.data.ctx.strokeText(t.weapon.name, i, a), (a += 16), (this.data.ctx.fillStyle = t.hp_color), this.data.ctx.fillText(t.health + " HP", i, a), this.data.ctx.strokeText(t.health + " HP", i, a), this.data.ctx.restore(); } } (s.hooked = Symbol()), (t.exports = s); }, 9606: (t, e, i) => { "use strict"; var a = i(2311), s = i(6947), r = i(1191); (e.store = new a()), (e.meta = i(3571)); var n = new s(); e.loader = n; var o = i(7263); if ( ((e.is_frame = window != window.top), (e.krunker = o.is_host(location, "krunker.io", "browserfps.com") && "browserfps.com" != location.host && ["/.htaccess", "/"].includes(location.pathname)), (e.proxy_addons = [ { name: "Browser VPN", chrome: "https://chrome.google.com/webstore/detail/ppajinakbfocjfnijggfndbdmjggcmde", firefox: "https://addons.mozilla.org/en-US/firefox/addon/mybrowser-vpn/" }, { name: "Hola VPN", chrome: "https://chrome.google.com/webstore/detail/gkojfkhlekighikafcpjkiklfbnlmeio", firefox: "https://addons.mozilla.org/en-US/firefox/addon/hola-unblocker/" }, { name: "Windscribe", chrome: "https://chrome.google.com/webstore/detail/hnmpcagpplmpfojmgmnngilcnanddlhb", firefox: "https://addons.mozilla.org/en-US/firefox/addon/windscribe/?utm_source=addons.mozilla.org&utm_medium=referral&utm_content=search", }, { name: "UltraSurf", chrome: "https://chrome.google.com/webstore/detail/mjnbclmflcpookeapghfhapeffmpodij" }, ]), (e.firefox = navigator.userAgent.includes("Firefox")), (e.supported_store = e.firefox ? "firefox" : "chrome"), (e.addon_url = (t) => (e.firefox ? "https://addons.mozilla.org/en-US/firefox/search/?q=" + encodeURIComponent(t) : "https://chrome.google.com/webstore/search/" + encodeURI(t))), i(8864), (e.init = () => {}), e.krunker && !e.is_frame && ((e.frame = new r()), o.is_host(location, "browserfps.com") && i(3137), n.observe(), n.license(e.meta)), !navigator.userAgent.includes("Electron") && "object" != typeof LOADER && document.currentScript && "SCRIPT" == document.currentScript.nodeName) ) throw (alert("The new loader will update/install."), setTimeout(() => location.assign("https://y9x.github.io/userscripts/loader.user.js"), 200)); }, 573: (t, e) => { "use strict"; class i { constructor(t = 0, e = 0, i = 0) { (this.x = t), (this.y = e), (this.z = i); } clone() { return new i(this.x, this.y, this.z); } mps() { return 1e3 * Math.sqrt(Math.pow(this.x, 2) + Math.pow(this.y, 2)); } set(t, e, i) { return (this.x = t), (this.y = e), (this.z = i), this; } copy(t) { return (this.x = t.x), (this.y = t.y), (this.z = t.z), this; } add(t) { return (this.x += t.x), (this.y += t.y), (this.z += t.z), this; } add_vectors(t = 0, e = 0, i = 0) { return (this.x += t), (this.y += e), (this.z += i), this; } add_scalar(t) { return (this.x += t), (this.y += t), (this.z += t), this; } sub(t) { return (this.x += t.x), (this.y += t.y), (this.z += t.z), this; } sub_vectors(t = 0, e = 0, i = 0) { return (this.x -= t), (this.y -= e), (this.z -= i), this; } sub_scalar(t) { return (this.x -= t), (this.y -= t), (this.z -= t), this; } multiply(t) { return (this.x *= t.x), (this.y *= t.y), (this.z *= t.z), this; } multiply_vectors(t = 0, e = 0, i = 0) { return (this.x *= t), (this.y *= e), (this.z *= i), this; } multiply_scalar(t) { return (this.x *= t), (this.y *= t), (this.z *= t), this; } divide(t) { return (this.x /= t.x), (this.y /= t.y), (this.z /= t.z), this; } divide_vectors(t = 0, e = 0, i = 0) { return (this.x /= t), (this.y /= e), (this.z /= i), this; } divide_scalar(t) { return (this.x /= t), (this.y /= t), (this.z /= t), this; } apply_quaternion(t) { const e = this.x, i = this.y, a = this.z, s = t.x, r = t.y, n = t.z, o = t.w, h = o * e + r * a - n * i, c = o * i + n * e - s * a, l = o * a + s * i - r * e, d = -s * e - r * i - n * a; return (this.x = h * o + d * -s + c * -n - l * -r), (this.y = c * o + d * -r + l * -s - h * -n), (this.z = l * o + d * -n + h * -r - c * -s), this; } translate_quaternion(t, e) { for (var a in e) { var s = new i(); s[a] = 1; var r = s.apply_quaternion(t).multiply_scalar(e[a]); this.add(r); } return this; } distance_to(t) { return Math.hypot(this.x - t.x, this.y - t.y, this.z - t.z); } } i.Blank = new i(); (e.Box3 = class { min = new i(); max = new i(); points() { return [ new i(this.min.x, this.min.y, this.min.z), new i(this.min.x, this.min.y, this.max.z), new i(this.min.x, this.max.y, this.min.z), new i(this.min.x, this.max.y, this.max.z), new i(this.max.x, this.min.y, this.min.z), new i(this.max.x, this.min.y, this.max.z), new i(this.max.x, this.max.y, this.min.z), new i(this.max.x, this.max.y, this.max.z), ]; } }), (e.Hex3 = class { hex = [0, 0, 0]; constructor(t = "#000") { this.set_style(t); } add_scalar(t) { for (let e in this.hex) this.hex[e] += t; return this.normalize(); } sub_scalar(t) { for (let e in this.hex) this.hex[e] -= t; return this.normalize(); } normalize() { for (let t in this.hex) this.hex[t] = Math.max(Math.min(this.hex[t], 255), 0); return this; } set(t, e, i) { return (this.hex[0] = t), (this.hex[1] = e), (this.hex[2] = i), this; } set_style(t) { let e = 0, i = "#" == t[0] ? 1 : 0, a = t.length - i < 5 ? 1 : 2; for (let s = i; s < t.length; s += a) { let i = t.substr(s, a); 1 == a && (i += i), (this.hex[e++] = parseInt(i, 16)); } return this; } toString() { var t = "#"; for (let e of this.hex) t += e.toString(16).padStart(2, 0); return t; } }), (e.Vector3 = i); }, 8864: (t, e, i) => { "use strict"; var { loader: a } = i(9606); a.var("inView", /&&!\w\.\w+&&\w\.\w+&&\w\.(\w+)\){/, 1), a.var("spectating", /team:window\.(\w+)/, 1), a.var("nAuto", /'Single Fire',varN:'(\w+)'/, 1), a.var("xDire", /this\.(\w+)=Math\.lerpAngle\(this\.\w+\[1\]\.xD/, 1), a.var("yDire", /this\.(\w+)=Math\.lerpAngle\(this\.\w+\[1\]\.yD/, 1), a.var("procInputs", /this\.(\w+)=function\(\w+,\w+,\w+,\w+\){this\.recon/, 1), a.var("isYou", /this\.accid=0,this\.(\w+)=\w+,this\.isPlayer/, 1), a.var("pchObjc", /this\.mouseX=0,this\.mouseY=0\,this\.(\w+)=new /, 1), a.var("aimVal", /this\.(\w+)-=1\/\(this\.weapon\.aimSpd/, 1), a.var("crouchVal", /this\.(\w+)\+=\w\.crouchSpd\*\w+,1<=this\.\w+/, 1), a.var("didShoot", /--,\w+\.(\w+)=!0/, 1), a.var("ammos", /length;for\(\w+=0;\w+<\w+\.(\w+)\.length/, 1), a.var("weaponIndex", /\.weaponConfig\[\w+]\.secondary&&\(\w+\.(\w+)==\w+/, 1), a.var("maxHealth", /\.regenDelay,this\.(\w+)=\w+\.mode&&\w+\.mode\.\1/, 1), a.var("adsToggled", /this\.(\w+)=!1,this\.keys=/, 1), a.var("recoilAnimY", /\.\w+=0,this\.(\w+)=0,this\.\w+=0,this\.\w+=1,this\.slide/, 1), a.var("objInstances", /objInstances/, 0), a.var("getWorldPosition", /var \w+=\w+\.camera\.(\w+)\(\);/, 1), a.patch("Skins", /(this\.name=\w+,)(this\.score=)/g, (t, e, i) => `${e}${a.context.key}.skins(this),${i}`), a.patch("Nametags", /&&((\w+)\.\w+Seen)(?=\){if\(\(\w+=\2\.objInstances)/, (t, e) => `&& ${a.context.key}.can_see(${e})`), a.patch("Game", /(\w+)\.moveObj=func/, (t, e) => `${a.context.key}.game(${e}),${t}`), a.patch("Controls", /\.controls=(\w+);/, (t, e) => `${t}${a.context.key}.controls(${e});`), a.patch("World", /(\w+)\.backgroundScene=/, (t, e) => `${a.context.key}.world(${e}),${t}`), a.patch("Input", /((\w+\.\w+)\[\2\._push\?'_push':'push']\()(\w+)(\),)/, (t, e, i, s, r) => `${e}${a.context.key}.input.push(${s})${r}`), a.patch("ThreeJS", /\(\w+,(\w+),\w+\){(?=[a-z ';\.\(\),]+ACESFilmic)/, (t, e) => `${t}${a.context.key}.three(${e});`), a.patch("Socket", /(\w+\.exports={ahNum:)/, (t, e) => `${a.context.key}.socket=${e}`), a.patch("Inactivity", />=(\w+\.kickTimer)/g, (t, e) => `>=${a.context.key}.kick_timer(${e})`); }, 7846: (t) => { !(function (e) { t.exports = e; var i = { on: function (t, e) { return r(this, t).push(e), this; }, once: function (t, e) { var i = this; return (a.originalListener = e), r(i, t).push(a), i; function a() { s.call(i, t, a), e.apply(this, arguments); } }, off: s, emit: function (t, e) { var i = this, a = r(i, t, !0); if (!a) return !1; var s = arguments.length; if (1 === s) a.forEach(o); else if (2 === s) a.forEach(h); else { var n = Array.prototype.slice.call(arguments, 1); a.forEach(c); } return !!a.length; function o(t) { t.call(i); } function h(t) { t.call(i, e); } function c(t) { t.apply(i, n); } }, }; function a(t) { for (var e in i) t[e] = i[e]; return t; } function s(t, e) { var i, a = this; if (arguments.length) { if (e) { if ((i = r(a, t, !0))) { if (!(i = i.filter(n)).length) return s.call(a, t); a.listeners[t] = i; } } else if ((i = a.listeners) && (delete i[t], !Object.keys(i).length)) return s.call(a); } else delete a.listeners; return a; function n(t) { return t !== e && t.originalListener !== e; } } function r(t, e, i) { if (!i || t.listeners) { var a = t.listeners || (t.listeners = {}); return a[e] || (a[e] = []); } } a(e.prototype), (e.mixin = a); })(function t() { if (!(this instanceof t)) return new t(); }); }, 8898: (t, e) => { (e.read = function (t, e, i, a, s) { var r, n, o = 8 * s - a - 1, h = (1 << o) - 1, c = h >> 1, l = -7, d = i ? s - 1 : 0, u = i ? -1 : 1, p = t[e + d]; for (d += u, r = p & ((1 << -l) - 1), p >>= -l, l += o; l > 0; r = 256 * r + t[e + d], d += u, l -= 8); for (n = r & ((1 << -l) - 1), r >>= -l, l += a; l > 0; n = 256 * n + t[e + d], d += u, l -= 8); if (0 === r) r = 1 - c; else { if (r === h) return n ? NaN : (1 / 0) * (p ? -1 : 1); (n += Math.pow(2, a)), (r -= c); } return (p ? -1 : 1) * n * Math.pow(2, r - a); }), (e.write = function (t, e, i, a, s, r) { var n, o, h, c = 8 * r - s - 1, l = (1 << c) - 1, d = l >> 1, u = 23 === s ? Math.pow(2, -24) - Math.pow(2, -77) : 0, p = a ? 0 : r - 1, f = a ? 1 : -1, m = e < 0 || (0 === e && 1 / e < 0) ? 1 : 0; for ( e = Math.abs(e), isNaN(e) || e === 1 / 0 ? ((o = isNaN(e) ? 1 : 0), (n = l)) : ((n = Math.floor(Math.log(e) / Math.LN2)), e * (h = Math.pow(2, -n)) < 1 && (n--, (h *= 2)), (e += n + d >= 1 ? u / h : u * Math.pow(2, 1 - d)) * h >= 2 && (n++, (h /= 2)), n + d >= l ? ((o = 0), (n = l)) : n + d >= 1 ? ((o = (e * h - 1) * Math.pow(2, s)), (n += d)) : ((o = e * Math.pow(2, d - 1) * Math.pow(2, s)), (n = 0))); s >= 8; t[i + p] = 255 & o, p += f, o /= 256, s -= 8 ); for (n = (n << s) | o, c += s; c > 0; t[i + p] = 255 & n, p += f, n /= 256, c -= 8); t[i + p - f] |= 128 * m; }); }, 7137: function (t, e) { !(function (t) { var e, i = "undefined", a = i !== typeof Buffer && Buffer, s = i !== typeof Uint8Array && Uint8Array, r = i !== typeof ArrayBuffer && ArrayBuffer, n = [0, 0, 0, 0, 0, 0, 0, 0], o = Array.isArray || function (t) { return !!t && "[object Array]" == Object.prototype.toString.call(t); }, h = 4294967296; function c(o, c, w) { var b = c ? 0 : 4, _ = c ? 4 : 0, k = c ? 0 : 3, E = c ? 1 : 2, z = c ? 2 : 1, S = c ? 3 : 0, A = c ? g : x, M = c ? v : y, C = F.prototype, L = "is" + o, B = "_" + L; return ( (C.buffer = void 0), (C.offset = 0), (C[B] = !0), (C.toNumber = T), (C.toString = function (t) { var e = this.buffer, i = this.offset, a = j(e, i + b), s = j(e, i + _), r = "", n = !w && 2147483648 & a; n && ((a = ~a), (s = h - s)); t = t || 10; for (;;) { var o = (a % t) * h + s; if (((a = Math.floor(a / t)), (s = Math.floor(o / t)), (r = (o % t).toString(t) + r), !a && !s)) break; } n && (r = "-" + r); return r; }), (C.toJSON = T), (C.toArray = l), a && (C.toBuffer = d), s && (C.toArrayBuffer = u), (F[L] = function (t) { return !(!t || !t[B]); }), (t[o] = F), F ); function F(t, a, o, c) { return this instanceof F ? (function (t, a, o, c, l) { s && r && (a instanceof r && (a = new s(a)), c instanceof r && (c = new s(c))); if (!(a || o || c || e)) return void (t.buffer = m(n, 0)); if (!p(a, o)) { (l = o), (c = a), (o = 0), (a = new (e || Array)(8)); } if (((t.buffer = a), (t.offset = o |= 0), i === typeof c)) return; "string" == typeof c ? (function (t, e, i, a) { var s = 0, r = i.length, n = 0, o = 0; "-" === i[0] && s++; var c = s; for (; s < r; ) { var l = parseInt(i[s++], a); if (!(l >= 0)) break; (o = o * a + l), (n = n * a + Math.floor(o / h)), (o %= h); } c && ((n = ~n), o ? (o = h - o) : n++); U(t, e + b, n), U(t, e + _, o); })(a, o, c, l || 10) : p(c, l) ? f(a, o, c, l) : "number" == typeof l ? (U(a, o + b, c), U(a, o + _, l)) : c > 0 ? A(a, o, c) : c < 0 ? M(a, o, c) : f(a, o, n, 0); })(this, t, a, o, c) : new F(t, a, o, c); } function T() { var t = this.buffer, e = this.offset, i = j(t, e + b), a = j(t, e + _); return w || (i |= 0), i ? i * h + a : a; } function U(t, e, i) { (t[e + S] = 255 & i), (i >>= 8), (t[e + z] = 255 & i), (i >>= 8), (t[e + E] = 255 & i), (i >>= 8), (t[e + k] = 255 & i); } function j(t, e) { return 16777216 * t[e + k] + (t[e + E] << 16) + (t[e + z] << 8) + t[e + S]; } } function l(t) { var i = this.buffer, a = this.offset; return (e = null), !1 !== t && 0 === a && 8 === i.length && o(i) ? i : m(i, a); } function d(t) { var i = this.buffer, s = this.offset; if (((e = a), !1 !== t && 0 === s && 8 === i.length && Buffer.isBuffer(i))) return i; var r = new a(8); return f(r, 0, i, s), r; } function u(t) { var i = this.buffer, a = this.offset, n = i.buffer; if (((e = s), !1 !== t && 0 === a && n instanceof r && 8 === n.byteLength)) return n; var o = new s(8); return f(o, 0, i, a), o.buffer; } function p(t, e) { var i = t && t.length; return (e |= 0), i && e + 8 <= i && "string" != typeof t[e]; } function f(t, e, i, a) { (e |= 0), (a |= 0); for (var s = 0; s < 8; s++) t[e++] = 255 & i[a++]; } function m(t, e) { return Array.prototype.slice.call(t, e, e + 8); } function g(t, e, i) { for (var a = e + 8; a > e; ) (t[--a] = 255 & i), (i /= 256); } function v(t, e, i) { var a = e + 8; for (i++; a > e; ) (t[--a] = (255 & -i) ^ 255), (i /= 256); } function x(t, e, i) { for (var a = e + 8; e < a; ) (t[e++] = 255 & i), (i /= 256); } function y(t, e, i) { var a = e + 8; for (i++; e < a; ) (t[e++] = (255 & -i) ^ 255), (i /= 256); } c("Uint64BE", !0, !0), c("Int64BE", !0, !1), c("Uint64LE", !1, !0), c("Int64LE", !1, !1); })("string" != typeof e.nodeName ? e : this || {}); }, 5182: (t) => { var e = {}.toString; t.exports = Array.isArray || function (t) { return "[object Array]" == e.call(t); }; }, 3229: (t, e, i) => { (e.encode = i(7483).encode), (e.decode = i(7296).decode), (e.Encoder = i(9285).Encoder), (e.Decoder = i(5988).Decoder), (e.createCodec = i(6059).createCodec), (e.codec = i(3626).codec); }, 4122: function (t) { function e(t) { return t && t.isBuffer && t; } t.exports = e("undefined" != typeof Buffer && Buffer) || e(this.Buffer) || e("undefined" != typeof window && window.Buffer) || this.Buffer; }, 1891: (t, e) => { (e.copy = function (t, e, i, a) { var s; i || (i = 0); a || 0 === a || (a = this.length); e || (e = 0); var r = a - i; if (t === this && i < e && e < a) for (s = r - 1; s >= 0; s--) t[s + e] = this[s + i]; else for (s = 0; s < r; s++) t[s + e] = this[s + i]; return r; }), (e.toString = function (t, e, i) { var a = this, s = 0 | e; i || (i = a.length); var r = "", n = 0; for (; s < i; ) (n = a[s++]) < 128 ? (r += String.fromCharCode(n)) : (192 == (224 & n) ? (n = ((31 & n) << 6) | (63 & a[s++])) : 224 == (240 & n) ? (n = ((15 & n) << 12) | ((63 & a[s++]) << 6) | (63 & a[s++])) : 240 == (248 & n) && (n = ((7 & n) << 18) | ((63 & a[s++]) << 12) | ((63 & a[s++]) << 6) | (63 & a[s++])), n >= 65536 ? ((n -= 65536), (r += String.fromCharCode(55296 + (n >>> 10), 56320 + (1023 & n)))) : (r += String.fromCharCode(n))); return r; }), (e.write = function (t, e) { var i = this, a = e || (e |= 0), s = t.length, r = 0, n = 0; for (; n < s; ) (r = t.charCodeAt(n++)) < 128 ? (i[a++] = r) : r < 2048 ? ((i[a++] = 192 | (r >>> 6)), (i[a++] = 128 | (63 & r))) : r < 55296 || r > 57343 ? ((i[a++] = 224 | (r >>> 12)), (i[a++] = 128 | ((r >>> 6) & 63)), (i[a++] = 128 | (63 & r))) : ((r = 65536 + (((r - 55296) << 10) | (t.charCodeAt(n++) - 56320))), (i[a++] = 240 | (r >>> 18)), (i[a++] = 128 | ((r >>> 12) & 63)), (i[a++] = 128 | ((r >>> 6) & 63)), (i[a++] = 128 | (63 & r))); return a - e; }); }, 2169: (t, e, i) => { var a = i(8918), s = (t.exports = r(0)); function r(t) { return new Array(t); } (s.alloc = r), (s.concat = a.concat), (s.from = function (t) { if (!a.isBuffer(t) && a.isView(t)) t = a.Uint8Array.from(t); else if (a.isArrayBuffer(t)) t = new Uint8Array(t); else { if ("string" == typeof t) return a.from.call(s, t); if ("number" == typeof t) throw new TypeError('"value" argument must not be a number'); } return Array.prototype.slice.call(t); }); }, 5837: (t, e, i) => { var a = i(8918), s = a.global, r = (t.exports = a.hasBuffer ? n(0) : []); function n(t) { return new s(t); } (r.alloc = (a.hasBuffer && s.alloc) || n), (r.concat = a.concat), (r.from = function (t) { if (!a.isBuffer(t) && a.isView(t)) t = a.Uint8Array.from(t); else if (a.isArrayBuffer(t)) t = new Uint8Array(t); else { if ("string" == typeof t) return a.from.call(r, t); if ("number" == typeof t) throw new TypeError('"value" argument must not be a number'); } return s.from && 1 !== s.from.length ? s.from(t) : new s(t); }); }, 5706: (t, e, i) => { var a, s = i(1891); (e.copy = c), (e.slice = l), (e.toString = function (t, e, i) { var a = !o && r.isBuffer(this) ? this.toString : s.toString; return a.apply(this, arguments); }), (e.write = ((a = "write"), function () { return (this[a] || s[a]).apply(this, arguments); })); var r = i(8918), n = r.global, o = r.hasBuffer && "TYPED_ARRAY_SUPPORT" in n, h = o && !n.TYPED_ARRAY_SUPPORT; function c(t, e, i, a) { var n = r.isBuffer(this), o = r.isBuffer(t); if (n && o) return this.copy(t, e, i, a); if (h || n || o || !r.isView(this) || !r.isView(t)) return s.copy.call(this, t, e, i, a); var c = i || null != a ? l.call(this, i, a) : this; return t.set(c, e), c.length; } function l(t, e) { var i = this.slice || (!h && this.subarray); if (i) return i.call(this, t, e); var a = r.alloc.call(this, e - t); return c.call(this, a, 0, t, e), a; } }, 8513: (t, e, i) => { var a = i(8918), s = (t.exports = a.hasArrayBuffer ? r(0) : []); function r(t) { return new Uint8Array(t); } (s.alloc = r), (s.concat = a.concat), (s.from = function (t) { if (a.isView(t)) { var e = t.byteOffset, i = t.byteLength; (t = t.buffer).byteLength !== i && (t.slice ? (t = t.slice(e, e + i)) : (t = new Uint8Array(t)).byteLength !== i && (t = Array.prototype.slice.call(t, e, e + i))); } else { if ("string" == typeof t) return a.from.call(s, t); if ("number" == typeof t) throw new TypeError('"value" argument must not be a number'); } return new Uint8Array(t); }); }, 8918: (t, e, i) => { var a = (e.global = i(4122)), s = (e.hasBuffer = a && !!a.isBuffer), r = (e.hasArrayBuffer = "undefined" != typeof ArrayBuffer), n = (e.isArray = i(5182)); e.isArrayBuffer = r ? function (t) { return t instanceof ArrayBuffer || f(t); } : v; var o = (e.isBuffer = s ? a.isBuffer : v), h = (e.isView = r ? ArrayBuffer.isView || x("ArrayBuffer", "buffer") : v); (e.alloc = p), (e.concat = function (t, i) { i || ((i = 0), Array.prototype.forEach.call(t, function (t) { i += t.length; })); var a = (this !== e && this) || t[0], s = p.call(a, i), r = 0; return ( Array.prototype.forEach.call(t, function (t) { r += u.copy.call(t, s, r); }), s ); }), (e.from = function (t) { return "string" == typeof t ? m.call(this, t) : g(this).from(t); }); var c = (e.Array = i(2169)), l = (e.Buffer = i(5837)), d = (e.Uint8Array = i(8513)), u = (e.prototype = i(5706)); function p(t) { return g(this).alloc(t); } var f = x("ArrayBuffer"); function m(t) { var e = 3 * t.length, i = p.call(this, e), a = u.write.call(i, t); return e !== a && (i = u.slice.call(i, 0, a)), i; } function g(t) { return o(t) ? l : h(t) ? d : n(t) ? c : s ? l : r ? d : c; } function v() { return !1; } function x(t, e) { return ( (t = "[object " + t + "]"), function (i) { return null != i && {}.toString.call(e ? i[e] : i) === t; } ); } }, 8551: (t, e, i) => { var a = i(5182); (e.createCodec = o), (e.install = function (t) { for (var e in t) r.prototype[e] = n(r.prototype[e], t[e]); }), (e.filter = function (t) { return a(t) ? (function (t) { return ( (t = t.slice()), function (i) { return t.reduce(e, i); } ); function e(t, e) { return e(t); } })(t) : t; }); var s = i(8918); function r(t) { if (!(this instanceof r)) return new r(t); (this.options = t), this.init(); } function n(t, e) { return t && e ? function () { return t.apply(this, arguments), e.apply(this, arguments); } : t || e; } function o(t) { return new r(t); } (r.prototype.init = function () { var t = this.options; return t && t.uint8array && (this.bufferish = s.Uint8Array), this; }), (e.preset = o({ preset: !0 })); }, 3626: (t, e, i) => { i(5440), i(9339), (e.codec = { preset: i(8551).preset }); }, 7323: (t, e, i) => { e.T = s; var a = i(5440).preset; function s(t) { if (!(this instanceof s)) return new s(t); if (t && ((this.options = t), t.codec)) { var e = (this.codec = t.codec); e.bufferish && (this.bufferish = e.bufferish); } } i(2193).k.mixin(s.prototype), (s.prototype.codec = a), (s.prototype.fetch = function () { return this.codec.decode(this); }); }, 7296: (t, e, i) => { e.decode = function (t, e) { var i = new a(e); return i.write(t), i.read(); }; var a = i(7323).T; }, 5988: (t, e, i) => { e.Decoder = r; var a = i(7846), s = i(7323).T; function r(t) { if (!(this instanceof r)) return new r(t); s.call(this, t); } (r.prototype = new s()), a.mixin(r.prototype), (r.prototype.decode = function (t) { arguments.length && this.write(t), this.flush(); }), (r.prototype.push = function (t) { this.emit("data", t); }), (r.prototype.end = function (t) { this.decode(t), this.emit("end"); }); }, 2425: (t, e, i) => { e.F = s; var a = i(9339).preset; function s(t) { if (!(this instanceof s)) return new s(t); if (t && ((this.options = t), t.codec)) { var e = (this.codec = t.codec); e.bufferish && (this.bufferish = e.bufferish); } } i(2193).I.mixin(s.prototype), (s.prototype.codec = a), (s.prototype.write = function (t) { this.codec.encode(this, t); }); }, 7483: (t, e, i) => { e.encode = function (t, e) { var i = new a(e); return i.write(t), i.read(); }; var a = i(2425).F; }, 9285: (t, e, i) => { e.Encoder = r; var a = i(7846), s = i(2425).F; function r(t) { if (!(this instanceof r)) return new r(t); s.call(this, t); } (r.prototype = new s()), a.mixin(r.prototype), (r.prototype.encode = function (t) { this.write(t), this.emit("data", this.read()); }), (r.prototype.end = function (t) { arguments.length && this.encode(t), this.flush(), this.emit("end"); }); }, 7386: (t, e, i) => { e.S = function t(e, i) { if (!(this instanceof t)) return new t(e, i); (this.buffer = a.from(e)), (this.type = i); }; var a = i(8918); }, 7754: (t, e, i) => { e.setExtPackers = function (t) { t.addExtPacker(14, Error, [d, h]), t.addExtPacker(1, EvalError, [d, h]), t.addExtPacker(2, RangeError, [d, h]), t.addExtPacker(3, ReferenceError, [d, h]), t.addExtPacker(4, SyntaxError, [d, h]), t.addExtPacker(5, TypeError, [d, h]), t.addExtPacker(6, URIError, [d, h]), t.addExtPacker(10, RegExp, [l, h]), t.addExtPacker(11, Boolean, [c, h]), t.addExtPacker(12, String, [c, h]), t.addExtPacker(13, Date, [Number, h]), t.addExtPacker(15, Number, [c, h]), "undefined" != typeof Uint8Array && (t.addExtPacker(17, Int8Array, n), t.addExtPacker(18, Uint8Array, n), t.addExtPacker(19, Int16Array, n), t.addExtPacker(20, Uint16Array, n), t.addExtPacker(21, Int32Array, n), t.addExtPacker(22, Uint32Array, n), t.addExtPacker(23, Float32Array, n), "undefined" != typeof Float64Array && t.addExtPacker(24, Float64Array, n), "undefined" != typeof Uint8ClampedArray && t.addExtPacker(25, Uint8ClampedArray, n), t.addExtPacker(26, ArrayBuffer, n), t.addExtPacker(29, DataView, n)); s.hasBuffer && t.addExtPacker(27, r, s.from); }; var a, s = i(8918), r = s.global, n = s.Uint8Array.from, o = { name: 1, message: 1, stack: 1, columnNumber: 1, fileName: 1, lineNumber: 1 }; function h(t) { return a || (a = i(7483).encode), a(t); } function c(t) { return t.valueOf(); } function l(t) { (t = RegExp.prototype.toString.call(t).split("/")).shift(); var e = [t.pop()]; return e.unshift(t.join("/")), e; } function d(t) { var e = {}; for (var i in o) e[i] = t[i]; return e; } }, 7660: (t, e, i) => { e.setExtUnpackers = function (t) { t.addExtUnpacker(14, [o, c(Error)]), t.addExtUnpacker(1, [o, c(EvalError)]), t.addExtUnpacker(2, [o, c(RangeError)]), t.addExtUnpacker(3, [o, c(ReferenceError)]), t.addExtUnpacker(4, [o, c(SyntaxError)]), t.addExtUnpacker(5, [o, c(TypeError)]), t.addExtUnpacker(6, [o, c(URIError)]), t.addExtUnpacker(10, [o, h]), t.addExtUnpacker(11, [o, l(Boolean)]), t.addExtUnpacker(12, [o, l(String)]), t.addExtUnpacker(13, [o, l(Date)]), t.addExtUnpacker(15, [o, l(Number)]), "undefined" != typeof Uint8Array && (t.addExtUnpacker(17, l(Int8Array)), t.addExtUnpacker(18, l(Uint8Array)), t.addExtUnpacker(19, [d, l(Int16Array)]), t.addExtUnpacker(20, [d, l(Uint16Array)]), t.addExtUnpacker(21, [d, l(Int32Array)]), t.addExtUnpacker(22, [d, l(Uint32Array)]), t.addExtUnpacker(23, [d, l(Float32Array)]), "undefined" != typeof Float64Array && t.addExtUnpacker(24, [d, l(Float64Array)]), "undefined" != typeof Uint8ClampedArray && t.addExtUnpacker(25, l(Uint8ClampedArray)), t.addExtUnpacker(26, d), t.addExtUnpacker(29, [d, l(DataView)])); s.hasBuffer && t.addExtUnpacker(27, l(r)); }; var a, s = i(8918), r = s.global, n = { name: 1, message: 1, stack: 1, columnNumber: 1, fileName: 1, lineNumber: 1 }; function o(t) { return a || (a = i(7296).decode), a(t); } function h(t) { return RegExp.apply(null, t); } function c(t) { return function (e) { var i = new t(); for (var a in n) i[a] = e[a]; return i; }; } function l(t) { return function (e) { return new t(e); }; } function d(t) { return new Uint8Array(t).buffer; } }, 6059: (t, e, i) => { i(5440), i(9339), (e.createCodec = i(8551).createCodec); }, 2193: (t, e, i) => { (e.k = r), (e.I = n); var a = i(8918), s = "BUFFER_SHORTAGE"; function r() { if (!(this instanceof r)) return new r(); } function n() { if (!(this instanceof n)) return new n(); } function o() { throw new Error("method not implemented: write()"); } function h() { throw new Error("method not implemented: fetch()"); } function c() { return this.buffers && this.buffers.length ? (this.flush(), this.pull()) : this.fetch(); } function l(t) { (this.buffers || (this.buffers = [])).push(t); } function d() { return (this.buffers || (this.buffers = [])).shift(); } function u(t) { return function (e) { for (var i in t) e[i] = t[i]; return e; }; } (r.mixin = u({ bufferish: a, write: function (t) { var e = this.offset ? a.prototype.slice.call(this.buffer, this.offset) : this.buffer; (this.buffer = e ? (t ? this.bufferish.concat([e, t]) : e) : t), (this.offset = 0); }, fetch: h, flush: function () { for (; this.offset < this.buffer.length; ) { var t, e = this.offset; try { t = this.fetch(); } catch (t) { if (t && t.message != s) throw t; this.offset = e; break; } this.push(t); } }, push: l, pull: d, read: c, reserve: function (t) { var e = this.offset, i = e + t; if (i > this.buffer.length) throw new Error(s); return (this.offset = i), e; }, offset: 0, })), r.mixin(r.prototype), (n.mixin = u({ bufferish: a, write: o, fetch: function () { var t = this.start; if (t < this.offset) { var e = (this.start = this.offset); return a.prototype.slice.call(this.buffer, t, e); } }, flush: function () { for (; this.start < this.offset; ) { var t = this.fetch(); t && this.push(t); } }, push: l, pull: function () { var t = this.buffers || (this.buffers = []), e = t.length > 1 ? this.bufferish.concat(t) : t[0]; return (t.length = 0), e; }, read: c, reserve: function (t) { var e = 0 | t; if (this.buffer) { var i = this.buffer.length, a = 0 | this.offset, s = a + e; if (s < i) return (this.offset = s), a; this.flush(), (t = Math.max(t, Math.min(2 * i, this.maxBufferSize))); } return (t = Math.max(t, this.minBufferSize)), (this.buffer = this.bufferish.alloc(t)), (this.start = 0), (this.offset = e), 0; }, send: function (t) { var e = t.length; if (e > this.minBufferSize) this.flush(), this.push(t); else { var i = this.reserve(e); a.prototype.copy.call(t, this.buffer, i); } }, maxBufferSize: 65536, minBufferSize: 2048, offset: 0, start: 0, })), n.mixin(n.prototype); }, 5440: (t, e, i) => { var a = i(7386).S, s = i(7660), r = i(8209).readUint8, n = i(2680), o = i(8551); function h() { var t = this.options; return ( (this.decode = (function (t) { var e = n.getReadToken(t); return function (t) { var i = r(t), a = e[i]; if (!a) throw new Error("Invalid type: " + (i ? "0x" + i.toString(16) : i)); return a(t); }; })(t)), t && t.preset && s.setExtUnpackers(this), this ); } o.install({ addExtUnpacker: function (t, e) { (this.extUnpackers || (this.extUnpackers = []))[t] = o.filter(e); }, getExtUnpacker: function (t) { return ( (this.extUnpackers || (this.extUnpackers = []))[t] || function (e) { return new a(e, t); } ); }, init: h, }), (e.preset = h.call(o.preset)); }, 8209: (t, e, i) => { var a = i(8898), s = i(7137), r = s.Uint64BE, n = s.Int64BE; (e.getReadFormat = function (t) { var e = o.hasArrayBuffer && t && t.binarraybuffer, i = t && t.int64; return { map: c && t && t.usemap ? d : l, array: u, str: p, bin: e ? m : f, ext: g, uint8: v, uint16: y, uint32: b, uint64: k(8, i ? S : E), int8: x, int16: w, int32: _, int64: k(8, i ? A : z), float32: k(4, M), float64: k(8, C), }; }), (e.readUint8 = v); var o = i(8918), h = i(5706), c = "undefined" != typeof Map; function l(t, e) { var i, a = {}, s = new Array(e), r = new Array(e), n = t.codec.decode; for (i = 0; i < e; i++) (s[i] = n(t)), (r[i] = n(t)); for (i = 0; i < e; i++) a[s[i]] = r[i]; return a; } function d(t, e) { var i, a = new Map(), s = new Array(e), r = new Array(e), n = t.codec.decode; for (i = 0; i < e; i++) (s[i] = n(t)), (r[i] = n(t)); for (i = 0; i < e; i++) a.set(s[i], r[i]); return a; } function u(t, e) { for (var i = new Array(e), a = t.codec.decode, s = 0; s < e; s++) i[s] = a(t); return i; } function p(t, e) { var i = t.reserve(e), a = i + e; return h.toString.call(t.buffer, "utf-8", i, a); } function f(t, e) { var i = t.reserve(e), a = i + e, s = h.slice.call(t.buffer, i, a); return o.from(s); } function m(t, e) { var i = t.reserve(e), a = i + e, s = h.slice.call(t.buffer, i, a); return o.Uint8Array.from(s).buffer; } function g(t, e) { var i = t.reserve(e + 1), a = t.buffer[i++], s = i + e, r = t.codec.getExtUnpacker(a); if (!r) throw new Error("Invalid ext type: " + (a ? "0x" + a.toString(16) : a)); return r(h.slice.call(t.buffer, i, s)); } function v(t) { var e = t.reserve(1); return t.buffer[e]; } function x(t) { var e = t.reserve(1), i = t.buffer[e]; return 128 & i ? i - 256 : i; } function y(t) { var e = t.reserve(2), i = t.buffer; return (i[e++] << 8) | i[e]; } function w(t) { var e = t.reserve(2), i = t.buffer, a = (i[e++] << 8) | i[e]; return 32768 & a ? a - 65536 : a; } function b(t) { var e = t.reserve(4), i = t.buffer; return 16777216 * i[e++] + (i[e++] << 16) + (i[e++] << 8) + i[e]; } function _(t) { var e = t.reserve(4), i = t.buffer; return (i[e++] << 24) | (i[e++] << 16) | (i[e++] << 8) | i[e]; } function k(t, e) { return function (i) { var a = i.reserve(t); return e.call(i.buffer, a, true); }; } function E(t) { return new r(this, t).toNumber(); } function z(t) { return new n(this, t).toNumber(); } function S(t) { return new r(this, t); } function A(t) { return new n(this, t); } function M(t) { return a.read(this, t, !1, 23, 4); } function C(t) { return a.read(this, t, !1, 52, 8); } }, 2680: (t, e, i) => { var a = i(8209); function s(t) { var e, i = new Array(256); for (e = 0; e <= 127; e++) i[e] = r(e); for (e = 128; e <= 143; e++) i[e] = o(e - 128, t.map); for (e = 144; e <= 159; e++) i[e] = o(e - 144, t.array); for (e = 160; e <= 191; e++) i[e] = o(e - 160, t.str); for ( i[192] = r(null), i[193] = null, i[194] = r(!1), i[195] = r(!0), i[196] = n(t.uint8, t.bin), i[197] = n(t.uint16, t.bin), i[198] = n(t.uint32, t.bin), i[199] = n(t.uint8, t.ext), i[200] = n(t.uint16, t.ext), i[201] = n(t.uint32, t.ext), i[202] = t.float32, i[203] = t.float64, i[204] = t.uint8, i[205] = t.uint16, i[206] = t.uint32, i[207] = t.uint64, i[208] = t.int8, i[209] = t.int16, i[210] = t.int32, i[211] = t.int64, i[212] = o(1, t.ext), i[213] = o(2, t.ext), i[214] = o(4, t.ext), i[215] = o(8, t.ext), i[216] = o(16, t.ext), i[217] = n(t.uint8, t.str), i[218] = n(t.uint16, t.str), i[219] = n(t.uint32, t.str), i[220] = n(t.uint16, t.array), i[221] = n(t.uint32, t.array), i[222] = n(t.uint16, t.map), i[223] = n(t.uint32, t.map), e = 224; e <= 255; e++ ) i[e] = r(e - 256); return i; } function r(t) { return function () { return t; }; } function n(t, e) { return function (i) { var a = t(i); return e(i, a); }; } function o(t, e) { return function (i) { return e(i, t); }; } e.getReadToken = function (t) { var e = a.getReadFormat(t); return t && t.useraw ? (function (t) { var e, i = s(t).slice(); for (i[217] = i[196], i[218] = i[197], i[219] = i[198], e = 160; e <= 191; e++) i[e] = o(e - 160, t.bin); return i; })(e) : s(e); }; }, 9339: (t, e, i) => { var a = i(7386).S, s = i(7754), r = i(1885), n = i(8551); function o() { var t = this.options; return ( (this.encode = (function (t) { var e = r.getWriteType(t); return function (t, i) { var a = e[typeof i]; if (!a) throw new Error('Unsupported type "' + typeof i + '": ' + i); a(t, i); }; })(t)), t && t.preset && s.setExtPackers(this), this ); } n.install({ addExtPacker: function (t, e, i) { i = n.filter(i); var s = e.name; if (s && "Object" !== s) { (this.extPackers || (this.extPackers = {}))[s] = r; } else { (this.extEncoderList || (this.extEncoderList = [])).unshift([e, r]); } function r(e) { return i && (e = i(e)), new a(e, t); } }, getExtPacker: function (t) { var e = this.extPackers || (this.extPackers = {}), i = t.constructor, a = i && i.name && e[i.name]; if (a) return a; for (var s = this.extEncoderList || (this.extEncoderList = []), r = s.length, n = 0; n < r; n++) { var o = s[n]; if (i === o[0]) return o[1]; } }, init: o, }), (e.preset = o.call(n.preset)); }, 1868: (t, e, i) => { var a = i(8898), s = i(7137), r = s.Uint64BE, n = s.Int64BE, o = i(6685).w, h = i(8918), c = h.global, l = h.hasBuffer && "TYPED_ARRAY_SUPPORT" in c && !c.TYPED_ARRAY_SUPPORT, d = (h.hasBuffer && c.prototype) || {}; function u() { var t = o.slice(); return ( (t[196] = p(196)), (t[197] = f(197)), (t[198] = m(198)), (t[199] = p(199)), (t[200] = f(200)), (t[201] = m(201)), (t[202] = g(202, 4, d.writeFloatBE || y, !0)), (t[203] = g(203, 8, d.writeDoubleBE || w, !0)), (t[204] = p(204)), (t[205] = f(205)), (t[206] = m(206)), (t[207] = g(207, 8, v)), (t[208] = p(208)), (t[209] = f(209)), (t[210] = m(210)), (t[211] = g(211, 8, x)), (t[217] = p(217)), (t[218] = f(218)), (t[219] = m(219)), (t[220] = f(220)), (t[221] = m(221)), (t[222] = f(222)), (t[223] = m(223)), t ); } function p(t) { return function (e, i) { var a = e.reserve(2), s = e.buffer; (s[a++] = t), (s[a] = i); }; } function f(t) { return function (e, i) { var a = e.reserve(3), s = e.buffer; (s[a++] = t), (s[a++] = i >>> 8), (s[a] = i); }; } function m(t) { return function (e, i) { var a = e.reserve(5), s = e.buffer; (s[a++] = t), (s[a++] = i >>> 24), (s[a++] = i >>> 16), (s[a++] = i >>> 8), (s[a] = i); }; } function g(t, e, i, a) { return function (s, r) { var n = s.reserve(e + 1); (s.buffer[n++] = t), i.call(s.buffer, r, n, a); }; } function v(t, e) { new r(this, e, t); } function x(t, e) { new n(this, e, t); } function y(t, e) { a.write(this, t, e, !1, 23, 4); } function w(t, e) { a.write(this, t, e, !1, 52, 8); } e.getWriteToken = function (t) { return t && t.uint8array ? (((e = u())[202] = g(202, 4, y)), (e[203] = g(203, 8, w)), e) : l || (h.hasBuffer && t && t.safe) ? (function () { var t = o.slice(); return ( (t[196] = g(196, 1, c.prototype.writeUInt8)), (t[197] = g(197, 2, c.prototype.writeUInt16BE)), (t[198] = g(198, 4, c.prototype.writeUInt32BE)), (t[199] = g(199, 1, c.prototype.writeUInt8)), (t[200] = g(200, 2, c.prototype.writeUInt16BE)), (t[201] = g(201, 4, c.prototype.writeUInt32BE)), (t[202] = g(202, 4, c.prototype.writeFloatBE)), (t[203] = g(203, 8, c.prototype.writeDoubleBE)), (t[204] = g(204, 1, c.prototype.writeUInt8)), (t[205] = g(205, 2, c.prototype.writeUInt16BE)), (t[206] = g(206, 4, c.prototype.writeUInt32BE)), (t[207] = g(207, 8, v)), (t[208] = g(208, 1, c.prototype.writeInt8)), (t[209] = g(209, 2, c.prototype.writeInt16BE)), (t[210] = g(210, 4, c.prototype.writeInt32BE)), (t[211] = g(211, 8, x)), (t[217] = g(217, 1, c.prototype.writeUInt8)), (t[218] = g(218, 2, c.prototype.writeUInt16BE)), (t[219] = g(219, 4, c.prototype.writeUInt32BE)), (t[220] = g(220, 2, c.prototype.writeUInt16BE)), (t[221] = g(221, 4, c.prototype.writeUInt32BE)), (t[222] = g(222, 2, c.prototype.writeUInt16BE)), (t[223] = g(223, 4, c.prototype.writeUInt32BE)), t ); })() : u(); var e; }; }, 1885: (t, e, i) => { var a = i(5182), s = i(7137), r = s.Uint64BE, n = s.Int64BE, o = i(8918), h = i(5706), c = i(1868), l = i(6685).w, d = i(7386).S, u = "undefined" != typeof Uint8Array, p = "undefined" != typeof Map, f = []; (f[1] = 212), (f[2] = 213), (f[4] = 214), (f[8] = 215), (f[16] = 216), (e.getWriteType = function (t) { var e = c.getWriteToken(t), i = t && t.useraw, s = u && t && t.binarraybuffer, m = s ? o.isArrayBuffer : o.isBuffer, g = s ? function (t, e) { w(t, new Uint8Array(e)); } : w, v = p && t && t.usemap ? function (t, i) { if (!(i instanceof Map)) return b(t, i); var a = i.size; e[a < 16 ? 128 + a : a <= 65535 ? 222 : 223](t, a); var s = t.codec.encode; i.forEach(function (e, i, a) { s(t, i), s(t, e); }); } : b; return { boolean: function (t, i) { e[i ? 195 : 194](t, i); }, function: y, number: function (t, i) { var a, s = 0 | i; if (i !== s) return void e[(a = 203)](t, i); a = -32 <= s && s <= 127 ? 255 & s : 0 <= s ? (s <= 255 ? 204 : s <= 65535 ? 205 : 206) : -128 <= s ? 208 : -32768 <= s ? 209 : 210; e[a](t, s); }, object: i ? function (t, i) { if (m(i)) return (function (t, i) { var a = i.length; e[a < 32 ? 160 + a : a <= 65535 ? 218 : 219](t, a), t.send(i); })(t, i); x(t, i); } : x, string: (function (t) { return i; function i(i, a) { var s = a.length, r = 5 + 3 * s; i.offset = i.reserve(r); var n = i.buffer, o = t(s), c = i.offset + o; s = h.write.call(n, a, c); var l = t(s); if (o !== l) { var d = c + l - o, u = c + s; h.copy.call(n, n, d, c, u); } e[1 === l ? 160 + s : l <= 3 ? 215 + l : 219](i, s), (i.offset += s); } })( i ? function (t) { return t < 32 ? 1 : t <= 65535 ? 3 : 5; } : function (t) { return t < 32 ? 1 : t <= 255 ? 2 : t <= 65535 ? 3 : 5; } ), symbol: y, undefined: y, }; function x(t, i) { if (null === i) return y(t, i); if (m(i)) return g(t, i); if (a(i)) return (function (t, i) { var a = i.length; e[a < 16 ? 144 + a : a <= 65535 ? 220 : 221](t, a); for (var s = t.codec.encode, r = 0; r < a; r++) s(t, i[r]); })(t, i); if (r.isUint64BE(i)) return (function (t, i) { e[207](t, i.toArray()); })(t, i); if (n.isInt64BE(i)) return (function (t, i) { e[211](t, i.toArray()); })(t, i); var s = t.codec.getExtPacker(i); if ((s && (i = s(i)), i instanceof d)) return (function (t, i) { var a = i.buffer, s = a.length, r = f[s] || (s < 255 ? 199 : s <= 65535 ? 200 : 201); e[r](t, s), l[i.type](t), t.send(a); })(t, i); v(t, i); } function y(t, i) { e[192](t, i); } function w(t, i) { var a = i.length; e[a < 255 ? 196 : a <= 65535 ? 197 : 198](t, a), t.send(i); } function b(t, i) { var a = Object.keys(i), s = a.length; e[s < 16 ? 128 + s : s <= 65535 ? 222 : 223](t, s); var r = t.codec.encode; a.forEach(function (e) { r(t, e), r(t, i[e]); }); } }); }, 6685: (t, e) => { for (var i = (e.w = new Array(256)), a = 0; a <= 255; a++) i[a] = s(a); function s(t) { return function (e) { var i = e.reserve(1); e.buffer[i] = t; }; } }, 2220: (t, e, i) => { "use strict"; var a = i(9075), s = i(6132), r = i(3363), n = i(82), o = i(4304), h = (i(6492), i(866)), { frame: c, proxy_addons: l, supported_store: d, addon_url: u, meta: p, store: f, loader: m, init: g } = i(9606), v = i(7263), x = new a.Actions(c); (t.exports = new (class { hooked = Symbol(); skins = [...Array(5e3)].map((t, e) => ({ ind: e, cnt: 1 })); canvas = v.add_ele("canvas", c); ctx = this.canvas.getContext("2d"); sorts = { dist3d: (t, e) => t.distance_camera - e.distance_camera, dist2d: (t, e) => this.utils.dist_center(t.rect) - this.utils.dist_center(e.rect), hp: (t, e) => t.health - e.health }; constructor() { this.resize_canvas(), window.addEventListener("resize", () => this.resize_canvas()), this.init_interface(), (this.utils = new h(this.interface)), (this.visual = new s(this.interface)), (this.input = new r(this.interface)); } resize_canvas() { (this.canvas.width = window.innerWidth), (this.canvas.height = window.innerHeight); } init_interface() { var t = this; this.interface = { get ctx() { return t.ctx; }, get utils() { return t.utils; }, get visual() { return t.visual; }, get game() { return t.game; }, get socket() { return t.socket; }, get three() { return t.three; }, get world() { return t.world; }, get force_auto() { return t.config.aim.force_auto; }, get force_auto_rate() { return t.config.aim.force_auto_rate; }, get color() { return t.config.colors; }, get controls() { return t.controls; }, get player() { return t.player; }, get players() { return t.players; }, get target() { return t.target; }, get inactivity() { return t.config.game.inactivity; }, get esp() { return t.config.esp.status; }, get wireframe() { return t.config.player.wireframe; }, get walls() { return t.config.esp.walls; }, get bhop() { return t.config.player.bhop; }, get spinbot() { return t.config.aim.spinbot; }, get aim() { return t.config.aim.status; }, get aim_offset() { return t.config.aim.offset; }, get wallbangs() { return t.config.aim.wallbangs; }, get aim_fov() { return t.config.aim.fov; }, get aim_smooth() { return t.config.aim.smooth; }, get hitchance() { return t.config.aim.hitchance; }, get auto_reload() { return t.config.aim.auto_reload; }, get unlock_skins() { return t.config.player.skins; }, pick_target() { t.target = t.players.filter((t) => t.can_target).sort((e, i) => t.sorts[e.rect && i.rect ? t.config.aim.target_sorting || "dist2d" : "dist3d"](e, i) * (e.frustum ? 1 : 0.5))[0]; }, get proxy() { return t.config.game.proxy; }, }; } async load() { (this.ui = i(3847)), g.call(this), await this.ui.load_config(), "object" == typeof this.config.aim.smooth && (this.config.aim.smooth = this.config.aim.smooth.value), this.config.aim.smooth > 1 && (this.config.aim.smooth = 0), "object" == typeof this.config.esp.walls && (this.config.esp.walls = 100), ("feet" == this.config.aim.target || "chest" == this.config.aim.target) && this.config.aim.target, m.on("instruct", (t) => { if (this.config.game.error_tips) if (t("connection banned")) if (this.config.game.proxy) x.alert( "

Your region's proxy was banned.

\n\t\t\t\t\t\t

To bypass this ban, try one of the following:

\n\t\t\t\t\t\t" ); else { let t = l .filter((t) => t[d]) .map((t) => `
  • ${t.name}
  • `) .join(""); localStorage.removeItem("krunker_token"), x.alert( `

    You were IP banned, Sploit has signed you out.\nSpoof your IP to bypass this ban with one of the following:

    \n\t\t\t\t\t\t\t` ); } else t("banned - ") ? x.alert("

    You were banned from the match.

    \n\t\t\t\t\t

    Find a new game to bypass this.

    ").then(() => location.assign("/")) : t("banned") && (localStorage.removeItem("krunker_token"), x.alert("

    You were banned. Sploit has signed you out.

    \n\t\t\t\t\t

    Create a new account to bypass this ban.

    ").then(() => location.assign("/"))); this.config.game.auto_lobby && t("connection error", "game is full", "kicked by vote", "disconnected") ? (location.href = "/") : !this.config.game.auto_start || !t("to play") || (this.player && this.player.active) || this.utils.wait_for(() => { var t = this.player && this.player.active; return t || (this.controls.locklessChange(!0), this.controls.locklessChange(!1)), t; }); }), (this.process = this.process.bind(this)), this.process(); var t = Symbol(), e = this; await m.load( { WebSocket: n(this.interface) }, { three: (t) => (this.three = t), game: (t) => (this.game = t), controls: (t) => (this.controls = t), time: (t) => (this.config.game.inactivity ? 1 / 0 : t), world: (t) => (this.world = t), can_see: (t) => "full" != this.config.esp.status && (this.config.esp.nametags || t), skins: (i) => Object.defineProperty(i, "skins", { get() { return e.config.player.skins ? e.skins : this[t]; }, set(e) { return (this[t] = e); }, }), input: this.input, socket: (t) => (this.socket = t), } ); } process() { try { if ((this.visual.tick(), this.config.game.overlay && this.visual.overlay(), this.config.aim.fov_box && this.visual.fov(this.config.aim.fov), this.game && this.world)) { this.visual.walls(); for (let t of this.players) t.is_you && (this.player = t), t.active && (t.tick(), t.frustum && !t.is_you && (this.visual.cham(t), ["box", "box_chams", "full"].includes(this.config.esp.status) && this.visual.box(t), "full" == this.config.esp.status && (this.visual.health(t), this.visual.text(t)), this.config.esp.tracers && this.visual.tracer(t))); } this.config.game.auto_nuke && this.player && 25 == this.player.streaks.length && this.socket.send("k", 0); } catch (t) { m.report_error("frame", t); } this.utils.request_frame(this.process); } get config() { return this.ui.config; } get players() { return this.game.players.list.map((t) => this.add(t)); } add(t) { return t[this.hooked] || (t[this.hooked] = new o(this.interface, t)); } })()).load(); }, 3847: (t, e, i) => { "use strict"; var { api: a, meta: s, loader: r, frame: n } = i(9606), o = i(9075), h = i(6425), c = i(6492), l = i(8144), d = i(7263), u = new o.Config(n, "ProShadow", "config"), p = { toggle: new c().callback(() => { u.visible ? u.hide() : (document.exitPointerLock(), u.show()); }), reset: new c().callback(() => u.load_preset("Default", { binds: u.menu.binds })), }, f = u.tab("ESP"); f.control("ESP Mode", { name: "ESP Mode", type: "dropdown", walk: "esp.status", value: { Off: "off", Box: "box", Chams: "chams", "Box & Chams": "box_chams", Full: "full" } }), f.control("Nametags", { type: "boolean", walk: "esp.nametags" }), f.control("Tracers", { type: "boolean", walk: "esp.tracers" }), f.control("Wireframe", { type: "boolean", walk: "esp.wireframe" }), f.control("Wall Opacity", { type: "slider", walk: "esp.walls", min: 0, max: 100, step: 10 }), f.control("Overlay", { type: "boolean", walk: "game.overlay" }), f.control("Rainbow Colors", { type: "boolean", walk: "esp.rainbow" }), f.control("Custom CSS", { type: "function", value() { u.css_editor.show(); }, }), f.control("Hostile Color", { type: "color", walk: "colors.hostile" }), f.control("Risk Color", { type: "color", walk: "colors.risk" }), f.control("Friendly Color", { type: "color", walk: "colors.friendly" }), f.control("Rainbow Color", { type: "boolean", walk: "colors.rainbow" }); var m = u.tab("GUN"); m.control("Aimbot Mode", { type: "dropdown", walk: "aim.status", value: { Off: "off", Triggerbot: "trigger", Correction: "correction", Assist: "assist", Automatic: "auto" } }), m.control("Target", { type: "dropdown", walk: "aim.offset", value: { Head: "head", Torso: "torso", Legs: "legs", Random: "random", Multi: "multi" } }), m.control("Target Sorting", { type: "dropdown", walk: "aim.target_sorting", value: { Crosshair: "dist2d", Distance: "dist3d", Health: "hp" } }), m.control("Draw Target FOV", { type: "boolean", walk: "aim.fov_box" }), m.control("Target FOV", { type: "slider", walk: "aim.fov", min: 5, max: 110, step: 5, labels: { 110: "Inf" } }), m.control("Smoothness", { type: "slider", walk: "aim.smooth", min: 0, max: 1, step: 0.1, labels: { 0: "Off" } }), m.control("Hitchance", { type: "slider", walk: "aim.hitchance", min: 10, max: 100, step: 10 }), m.control("Wallbangs", { type: "boolean", walk: "aim.wallbangs" }), m.control("Spinbot", { type: "boolean", walk: "aim.spinbot" }), m.control("Force auto-fire", { type: "boolean", walk: "aim.force_auto" }), m.control("Auto-fire rate", { type: "slider", walk: "aim.force_auto_rate", min: 0, max: 2, step: 0.1 }), m.control("Auto reload", { type: "boolean", walk: "aim.auto_reload" }); var g = u.tab("Player"); g.control("Auto Bhop Mode", { type: "dropdown", walk: "player.bhop", value: { Off: "off", "[SPACE] to Slide": "keyslide", "Auto Slide": "autoslide", } }), g.control("Unlock All Skins", { type: "boolean", walk: "player.skins" }); var v = u.tab("Game"); v.control("Proxy (Rage Gameplay)", { type: "boolean", walk: "game.proxy" }).on("click", (t, e) => !e && location.assign("/")), v.control("Auto Activate Nuke", { type: "boolean", walk: "game.auto_nuke" }), v.control("Auto Start Match", { type: "boolean", walk: "game.auto_start" }), v.control("New Lobby Finder", { type: "boolean", walk: "game.auto_lobby" }), v.control("No Inactivity kick", { type: "boolean", walk: "game.inactivity" }), v.control("Error code tips", { type: "boolean", walk: "game.error_tips" }); var x = u.tab("Info"); x.control("Discord", { type: "link", value: s.discord }), x.control("ProShadow WebApp", { type: "link", value: s.forum }), x.control("Download Game", { type: "link", value: l.resolve({ target: r.api, endpoint: "/v2/source", query: { download: !0 } }) }); var y = u.tab("UI And Preset"); y.control({ type: "functions", value: { Reset() { u.load_preset("Default"); }, async Import() { var t = await h.pick({ accept: "menu.json" }), e = await t.read(); try { await u.insert_config(JSON.parse(e), !0); } catch (t) { console.error(t), alert("Invalid config"); } }, Export() { h.save({ name: "menu.json", data: JSON.stringify(u.config) }); }, }, }); var w = y.control("Preset", { type: "select", value: {} }).select; w.addEventListener("change", () => { "Custom" != w.value && u.load_preset(w.value, { section: u.config.section }); }), d.add_ele("ez-option", w, { value: "Custom" }), u.on("add-preset", (t) => d.add_ele("ez-option", w, { value: t })), u.on("config", () => { var t = u.presets.get("Default"), e = JSON.stringify(d.filter_deep(d.clone_obj(u.config), t)); for (let [i, a] of u.presets) if (JSON.stringify(d.assign_deep(d.clone_obj(t), a)) == e) return (w.value = i); w.value = "Custom"; }), y.control("Menu Toggle", { type: "keybind", walk: "binds.toggle" }).on("change", (t) => p.toggle.set_key("F2", t)), y.control("Reset settings", { type: "keybind", walk: "binds.reset" }).on("change", (t) => p.reset.set_key(t)), (u.css_editor = new o.Editor(n, { help: [ "

    Glossary:

    ", "

    What does this menu do?

    ", "

    This is a CSS manager/ide for Krunker.

    ", "

    How do I add my CSS?

    ", "

    1. Press the svg.web button found in the menu bar.

    ", "

    2. In the new window, input the link to your CSS then press OK.

    ", "

    How do I manually add CSS?

    ", "

    1. Create a new file with the svg.add_file button found in the top right of the CSS manager.

    ", "

    2. In the text editor, input your CSS.

    ", "

    3. When you are finished, press the svg.save button to save changes.

    ", "

    How do I turn on/off my CSS?

    ", "

    Pressing the square icon in your CSS's tab will toggle the visibility. When the square is filled, the tab is enabled, when the square is empty, the tab is disabled.

    ", "

    How do I rename my CSS?

    ", "

    Pressing the svg.rename icon in your CSS's tab will change the tab to renaming mode. Type in the new name then press enter to save changes.

    ", "

    How do I remove my CSS?

    ", "

    Pressing the svg.close icon in your CSS's tab will remove your CSS.

    ", `

    For further help, search or post on the forum found by clicking here.

    `, ].join(""), })), u.add_preset("Default", { binds: { toggle: "KeyC", reset: null }, aim: { status: "off", offset: "random", target_sorting: "dist2d", smooth: 0.2, hitchance: 100, fov_box: !1, fov: 50, wallbangs: !1, auto_reload: !1, force_auto: !1, force_auto_rate: 0.2, spinbot: !1 }, colors: { rainbow: !1, risk: "#FF7700", hostile: "#FF0000", friendly: "#00FF00" }, esp: { rainbow: !1, wireframe: !1, status: "off", walls: 100, labels: !1, tracers: !1 }, game: { proxy: !1, auto_nuke: !1, auto_lobby: !1, auto_start: !1, inactivity: !1, error_tips: !0, custom_loading: !0 }, player: { bhop: "off", skins: !1 }, }), u.add_preset("Assist", { aim: { status: "assist", fov: 25, offset: "random", smooth: 0.5 }, player: { bhop: "keyslide" } }), u.add_preset("Rage", { esp: { status: "full", tracers: !0 }, aim: { status: "auto", fov: 110, smooth: 0, force_auto: !0, auto_reload: !0, wallbangs: !0, offset: "multi", spinbot: !0 }, player: { bhop: "autoslide" } }), (t.exports = u); }, 6454: (t) => { t.exports = "main{display:flex;align-items:center;justify-content:center;height:100%;background:#FFF;border-radius:3px;background:#4700c3;padding:0px 10px}main:hover{background:#006cbe}main:active{background:#1683d8}"; }, 8182: (t) => { t.exports = "main{display:flex;align-items:center;justify-content:center;width:13px;height:13px;background:#FFF;border-radius:3px}main[checked]{background-color:#262626}main[checked]:hover{background-color:#999999}main svg{width:70%;height:70%}"; }, 1192: (t) => { t.exports = "main{width:100%;height:100%;display:flex}input{width:100%;height:100%;outline:none;background:#FFF;border:none;border-radius:3px;padding:0px 8px;font:inherit}"; }, 1618: (t) => { t.exports = "main{background:#FFF;padding:0px 9px;color:#2B2B2B;display:flex;flex-direction:row;align-items:center;height:100%;border-radius:3px;position:relative}main:hover{border-color:#999}main svg{margin-left:auto}main slot{flex-direction:column;position:absolute;background:#FFF;width:100%;left:0px;display:none;z-index:1000;top:100%;margin-top:3px;margin-bottom:3px;border-radius:2px;padding:3px 0px;box-shadow:rgb(0 0 0) 0px 0px 7px}main.bottom slot{top:unset;bottom:100%}main.active slot{display:flex}::slotted(ez-option){border-radius:2px;margin:0px 3px;color:#2B2B2B;padding:3px 6px}::slotted(ez-option:hover){background:#E5E5E5}::slotted(ez-option:active){background:#E5E5E5;color:#262626}::slotted(ez-option[selected]){background:#006CBE;color:#FFF}"; }, 3273: (t) => { t.exports = "main{position:relative;height:100%}main::before{content:'';position:absolute;margin:auto;top:0px;bottom:0px;background:#666;width:100%;height:2px}.background{background:var(--blue);height:2px;position:absolute;margin:auto;top:0px;bottom:0px}.thumb::before{content:attr(data-label);position:relative;border:1px solid #1C1C1C;background:#2B2B2B;padding:5px 5px;bottom:40px;left:4px;transform:translateX(-50%);display:none}.thumb:hover::before,main:active .thumb::before{display:inline-block}main:hover:not(:active)::before{background-color:#999}.thumb{position:absolute;top:0px;width:8px;height:100%;margin:auto;top:0px;bottom:0px;background:var(--blue);border-radius:4px}main:hover .thumb{background:#F2F2F2}main:active>.thumb{background:#767676}"; }, 3497: (t) => { t.exports = "main{display:flex;align-items:center;background:#FFF;border:1px solid #666;border-radius:50px;width:40px;height:20px;position:relative}main::before{content:'';width:10px;height:10px;background:#000;border-radius:50%;margin:5px;left:0px;position:absolute}main[checked]{border:none;padding:1px;background:#262626}main[checked]:hover{background:#2578ba}main[checked]::before{background:#FFF;left:unset;right:0px}"; }, 9306: (t) => { t.exports = "main.prompt{width:475px;padding:10px;margin:auto;left:0;right:0;top:0;bottom:0;background:#4A4A4A;border-radius:3px;border:none;opacity:1;z-index:10000!important}main.prompt>.description{max-height:325px;overflow-y:auto;line-height:18px;margin-bottom:7px}main.prompt svg{width:1.5em;height:1.5em;vertical-align:bottom}main.prompt>form{display:flex;flex-direction:row;flex-wrap:wrap;margin:0px}main.prompt input{width:100%;background:transparent;padding:1px 8px;border:1px solid #6F6F6F;border-radius:2px;font:inherit;line-height:30px;color:#FFF;height:30px;text-align:left;margin-bottom:10px}main.prompt input:focus{padding:0px 7px;border:2px solid #909090}main.prompt button{width:68px;height:32px;border:none;border-radius:2x;background:#5C5C5C;font-family:SegoeUI;color:#FFF;font-weight:bold}main.prompt button:hover{background:#6E6E6E}main.prompt button:hover:active{background:#7D7D7D}main.prompt button.submit{background:#006CBE;margin-right:8px}main.prompt button.submit:hover{background:#1C7CC5}main.prompt>form>button.submit:hover:active{background:#3389CB}main.prompt>form>button:first-of-type{margin-left:auto}main.prompt>form>button:hover{background:#333}"; }, 7405: (t) => { t.exports = "main.editor{width:500px}main.editor .write{width:100%;height:300px}main.editor .bar{width:100%;height:36px;display:flex;background:#CCC}main.editor .actions{display:flex;flex-grow:1}main.editor .files{display:flex;margin:0px;margin-left:4px;margin-right:4px;margin-top:4px;flex-direction:row;overflow:hidden}main.editor>.bar>.scroll{--color: #747474;margin-top:4px;height:32px;width:32px;position:relative;display:none;align-items:center;justify-content:center;flex:none;padding:1px;border:none}main.editor>.bar>.scroll:hover:not(:active,[disabled]){border:1px solid #626262;padding:0px;background:#A3A3A3;color:#434343}main.editor>.bar>.scroll:active{color:#323232;background:#7A7A7A}main.editor>.bar.overflow .scroll{display:flex}main.editor>.bar.overflow .scroll[disabled]{background:#A3A3A3;color:#7D7D7D}main.editor>.bar.overflow .files{margin-left:0px;margin-right:0px}main.editor .actions button{height:36px;width:36px;text-align:center;position:relative;color:#0D0D0D;border:none;border-radius:0px;background:transparent;font-size:14px}main.editor .actions button svg{width:16px;height:16px}main.editor .actions button:hover{background:#A3A3A3}main.editor .actions button:hover:active{background:#7A7A7A}main.editor .actions .new{--color: #747474;margin-top:4px;height:32px;width:32px;position:relative;display:flex;align-items:center;justify-content:center;margin-right:25px;padding:0px;border:none}main.editor .actions .new:hover{--color: #3E3E3E;background:#E0E0E0}main.editor .actions .new:hover:active{--color: #414141;background:#EBEBEB}main.editor .actions .new::before,main.editor .actions .new::after{content:'';width:1px;height:12px;position:absolute;margin:auto;background:var(--color)}main.editor .actions .new::after{width:12px;height:1px}main.editor .save{margin-left:auto}main.editor .save.saved>*{opacity:0.3}main.editor .web svg{width:16px;height:16px}.tab{white-space:nowrap;display:flex;align-items:center;padding:0px 10px;color:#000;border-top-left-radius:4px;border-top-right-radius:4px}.tab:last-of-type{margin-right:0px}.tab:hover{background:#E0E0E0}.tab.active{background:#FFF}.tab>.name{overflow:hidden;text-overflow:ellipsis}.tab .close{margin-left:5px}.tab.active .close{color:#626262}.tab .close:hover{color:#474747;background:#CACACA}.tab.active .close:hover{background:#E6E6E6}.tab .close:hover:active{color:#5C5C5C;background:#B3B3B3}.tab.active .close:hover:active{background:#CCC}.tab>.active{margin-left:5px;box-sizing:border-box;border:2px solid #000;position:relative}.tab>.active.true::after{content:'';width:7px;height:7px;display:block;margin:auto;position:absolute;top:0px;bottom:0px;left:0px;right:0px;background:#000}.tab>.active,.tab>.close,.tab>.rename{width:15px;height:15px}main.editor footer{position:relative;display:flex;height:30px;align-items:center;padding:0px 15px}main.editor footer svg{width:1.5em;height:1.5em;vertical-align:middle;white-space}main.editor footer .text{display:flex;align-items:center;margin-right:auto;white-space:pre-wrap}main.editor footer .file-opt{display:flex;align-items:center;flex-direction:row;margin-right:10px}main.editor footer .file-opt ez-input{width:100px;height:23px}main.editor footer .file-opt ez-input,main.editor footer .file-opt ez-checkbox{margin-left:10px}"; }, 2617: (t) => { t.exports = ".loading{display:flex;flex-direction:column;align-items:center;justify-content:center;position:absolute;width:100%;height:100%;top:0px;background:#000;z-index:0!important;transition:0.75s ease;border:none;user-select:none}.loading img{width:178px;height:178px}.loading a{background-image:url('https://y9x.github.io/webpack/libs/ui/loading/discord-normal.png');width:50px;height:56px;background-size:contain;background-repeat:no-repeat;margin-left:4px;pointer-events:all;cursor:pointer;transition:all .2s;display:inline-block}.loading a:hover{background-image:url('https://y9x.github.io/webpack/libs/UI/Loading/discord-hover.png');transform:scale(.95)}.loading a:active{background-image:url('https://y9x.github.io/webpack/libs/UI/Loading/discord-pressed.png')}"; }, 5302: (t) => { t.exports = "*{outline:none}canvas{pointer-events:none;z-index:2}main{--primary: #eee;--secondary: #445;--background: #112;--background-split: 17, 17, 34;--blue: #262626;--blue-accent: #999999;--blue-dark: #143958;background:#112;border:1px solid #ffffff;color:var(--primary);font-family:SegoeUI;font-size:14px;height:min-content;position:absolute;opacity:0.75;user-select:none;z-index:2;opacity:0;pointer-events:none}main.visible{opacity:0.7;pointer-events:all}main.loading.visible,main.visible:hover,main.visible.focus{opacity:1}a{cursor:pointer;color:#168be8;text-decoration:none}a:hover{text-decoration:underline}.title{position:relative;display:flex;align-content:center;justify-content:center;text-align:center;height:30px;flex-wrap:wrap}.title>.right{position:absolute;right:10px;line-height:30px;margin:auto;text-align:center}.sections{margin:0px 2px;display:flex}.tabs{display:grid;grid-template-columns:1fr 1fr 1fr;height:60px;margin:10px;margin-top:5px;border-radius:3px;overflow:hidden;position:relative;background:#424242;box-shadow:0px 0px 4px #1A1A1A}.tabs:hover::after{opacity:0}.tabs>.open{display:flex;justify-content:center;align-items:center}.tabs>.open:hover{background-color:var(--blue-accent)}.tabs>.open.active{background:var(--blue)}section{vertical-align:top;width:275px;height:288px;margin:0px 10px 10px 10px;background:#424242;box-shadow:0px 0px 4px #1A1A1A;border-radius:3px;overflow-x:hidden;overflow-y:auto}section.hidden{display:none}.control{margin-left:11px;margin-right:11px;height:36px;align-items:center;display:flex;gap:4px}.control a{color:#D2D2D2}.control .text{padding:10px 10px;line-height:15px}.control>.keybind{font:14px inconsolata,monospace;text-align:center;color:black;width:100%;flex:1 1 0;height:30px;display:block;position:relative;margin:auto 6px;background:#FFF;border:1px solid #000}ez-select,ez-slider,ez-input{height:25px;width:120px}ez-slider{margin-right:14px}ez-checkbox,ez-select,ez-slider,ez-input{margin-left:auto}ez-button{width:100%;height:30px}input[type='color']{margin-left:auto;width:40px;height:25px;padding:0px;border:0px;background:transparent}"; }, 47: (t) => { t.exports = ".write{background:#FFF;font-size:13px;font-family:monospace;line-height:18px;contain:size;overflow:auto;display:grid;grid-template-columns:26px 1fr}.write>.linenums{padding-left:6px;width:20px;height:100%;background:#F7F7F7;color:#999;line-height:18px;text-align:right}.write>.text{min-width:calc(100% - 4px);padding-top:0px;border:none;line-height:18px;background:transparent;resize:none;padding-left:4px;white-space:nowrap;overflow:hidden}"; }, 1650: (t) => { t.exports = "*{outline:none}canvas{pointer-events:none;z-index:2}main{--primary: #eee;--secondary: #445;--background: #112;--background-split: 17, 17, 34;--blue: #262626;--blue-accent: #999999;--blue-dark: #143958;background:#112;border:1px solid #ffffff;color:var(--primary);font-family:SegoeUI;font-size:14px;height:min-content;position:absolute;opacity:0.75;user-select:none;z-index:2;opacity:0;pointer-events:none}main.visible{opacity:0.7;pointer-events:all}main.loading.visible,main.visible:hover,main.visible.focus{opacity:1}a{cursor:pointer;color:#168be8;text-decoration:none}a:hover{text-decoration:underline}.title{position:relative;display:flex;align-content:center;justify-content:center;text-align:center;height:30px;flex-wrap:wrap}.title>.right{position:absolute;right:10px;line-height:30px;margin:auto;text-align:center}.sections{margin:0px 2px;display:flex}.tabs{display:grid;grid-template-columns:1fr 1fr 1fr;height:60px;margin:10px;margin-top:5px;border-radius:3px;overflow:hidden;position:relative;background:#424242;box-shadow:0px 0px 4px #1A1A1A}.tabs:hover::after{opacity:0}.tabs>.open{display:flex;justify-content:center;align-items:center}.tabs>.open:hover{background-color:var(--blue-accent)}.tabs>.open.active{background:var(--blue)}section{vertical-align:top;width:275px;height:288px;margin:0px 10px 10px 10px;background:#424242;box-shadow:0px 0px 4px #1A1A1A;border-radius:3px;overflow-x:hidden;overflow-y:auto}section.hidden{display:none}.control{margin-left:11px;margin-right:11px;height:36px;align-items:center;display:flex;gap:4px}.control a{color:#D2D2D2}.control .text{padding:10px 10px;line-height:15px}.control>.keybind{font:14px inconsolata,monospace;text-align:center;color:black;width:100%;flex:1 1 0;height:30px;display:block;position:relative;margin:auto 6px;background:#FFF;border:1px solid #000}ez-select,ez-slider,ez-input{height:25px;width:120px}ez-slider{margin-right:14px}ez-checkbox,ez-select,ez-slider,ez-input{margin-left:auto}ez-button{width:100%;height:30px}input[type='color']{margin-left:auto;width:40px;height:25px;padding:0px;border:0px;background:transparent}"; }, 4309: (t) => { t.exports = "@font-face{font-family:'SegoeUI';font-weight:400;src:url('https://y9x.github.io/webpack/libs/Segoe/400.woff2?1') format('woff2')}@font-face{font-family:'SegoeUI';font-weight:100;src:url('https://y9x.github.io/webpack/libs/Segoe/100.woff2?1') format('woff2')}@font-face{font-family:'SegoeUI';font-weight:200;src:url('https://y9x.github.io/webpack/libs/Segoe/200.woff2?1') format('woff2')}@font-face{font-family:'SegoeUI';font-weight:600;src:url('https://y9x.github.io/webpack/libs/Segoe/600.woff2?a') format('woff2')}@font-face{font-family:'SegoeUI';font-weight:700;src:url('https://y9x.github.io/webpack/libs/Segoe/700.woff2?1') format('woff2')}"; }, 3571: (t) => { t.exports = { discord: "https://discord.gg/MyeKERgHTg", forum: "https://proshadow-op.web.app/" }; }, }, e = {}; function i(a) { var s = e[a]; if (void 0 !== s) return s.exports; var r = (e[a] = { exports: {} }); return t[a].call(r.exports, r, r.exports, i), r.exports; } (() => { "use strict"; var { krunker: t } = i(9606); t && i(2220); })(); })();