var Z = Object.defineProperty;
var F = (e, t, r) => t in e ? Z(e, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : e[t] = r;
var G = (e, t, r) => (F(e, typeof t != "symbol" ? t + "" : t, r), r);
import "./modulepreload-polyfill-6303fcb0.js";
let loglevel = 0;
const LEVEL_FATAL = 0, LEVEL_ERROR = 1, LEVEL_WARN = 2, LEVEL_INFO = 3, LEVEL_DEBUG = 4;
let timestampStart, deltaTimestamp, logger$2, loggerSetup = !1;
function logSetup() {
loggerSetup || (loggerSetup = !0, timestampStart = Date.now(), deltaTimestamp = Date.now(), logger$2 = new Logger("Logger.ts"), consoleLogLevel(LEVEL_INFO), logger$2.info("Logger setup complete"));
}
function log(e, t, r) {
const a = {
level: e,
module: t,
message: r,
timestamp: Date.now(),
deltaStart: Date.now() - timestampStart,
deltaLast: Date.now() - deltaTimestamp
};
deltaTimestamp = Date.now(), consoleLogHandler(a);
}
function consoleLogHandler(e) {
if (e.level <= loglevel) {
let t = "";
switch (e.level) {
case 0:
t = "color:red;font-weight:bold;";
break;
case 1:
t = "color:red;";
break;
case 2:
t = "color:yellow;";
break;
case 3:
t = "";
break;
case 4:
t = "color:gray;";
break;
}
console.log(`%c${new Date(e.timestamp).toISOString()} ${(e.deltaStart / 1e3).toFixed(3)}Σ ${(e.deltaLast / 1e3).toFixed(3)}Δ
%c[${e.module}]%c ${e.message}`, "color:gray", "color:#8c188c", t);
}
}
function consoleLogLevel(e) {
loglevel = e;
}
class Logger {
constructor(t) {
G(this, "name");
this.name = t;
}
fatal(t) {
log(LEVEL_FATAL, this.name, t);
}
error(t) {
log(LEVEL_ERROR, this.name, t);
}
warn(t) {
log(LEVEL_WARN, this.name, t);
}
info(t) {
log(LEVEL_INFO, this.name, t);
}
debug(t) {
log(LEVEL_DEBUG, this.name, t);
}
}
var __getOwnPropNames = Object.getOwnPropertyNames, __commonJS = (e, t) => function() {
return t || (0, e[__getOwnPropNames(e)[0]])((t = { exports: {} }).exports, t), t.exports;
}, require_aspromise = __commonJS({
"node_modules/@protobufjs/aspromise/index.js"(e, t) {
t.exports = r;
function r(a, o) {
for (var n = new Array(arguments.length - 1), g = 0, s = 2, u = !0; s < arguments.length; )
n[g++] = arguments[s++];
return new Promise(function(f, d) {
n[g] = function(h) {
if (u)
if (u = !1, h)
d(h);
else {
for (var c = new Array(arguments.length - 1), p = 0; p < c.length; )
c[p++] = arguments[p];
f.apply(null, c);
}
};
try {
a.apply(o || null, n);
} catch (m) {
u && (u = !1, d(m));
}
});
}
}
}), require_base64 = __commonJS({
"node_modules/@protobufjs/base64/index.js"(e) {
var t = e;
t.length = function(s) {
var u = s.length;
if (!u)
return 0;
for (var l = 0; --u % 4 > 1 && s.charAt(u) === "="; )
++l;
return Math.ceil(s.length * 3) / 4 - l;
};
var r = new Array(64), a = new Array(123);
for (o = 0; o < 64; )
a[r[o] = o < 26 ? o + 65 : o < 52 ? o + 71 : o < 62 ? o - 4 : o - 59 | 43] = o++;
var o;
t.encode = function(s, u, l) {
for (var f = null, d = [], m = 0, h = 0, c; u < l; ) {
var p = s[u++];
switch (h) {
case 0:
d[m++] = r[p >> 2], c = (p & 3) << 4, h = 1;
break;
case 1:
d[m++] = r[c | p >> 4], c = (p & 15) << 2, h = 2;
break;
case 2:
d[m++] = r[c | p >> 6], d[m++] = r[p & 63], h = 0;
break;
}
m > 8191 && ((f || (f = [])).push(String.fromCharCode.apply(String, d)), m = 0);
}
return h && (d[m++] = r[c], d[m++] = 61, h === 1 && (d[m++] = 61)), f ? (m && f.push(String.fromCharCode.apply(String, d.slice(0, m))), f.join("")) : String.fromCharCode.apply(String, d.slice(0, m));
};
var n = "invalid encoding";
t.decode = function(s, u, l) {
for (var f = l, d = 0, m, h = 0; h < s.length; ) {
var c = s.charCodeAt(h++);
if (c === 61 && d > 1)
break;
if ((c = a[c]) === void 0)
throw Error(n);
switch (d) {
case 0:
m = c, d = 1;
break;
case 1:
u[l++] = m << 2 | (c & 48) >> 4, m = c, d = 2;
break;
case 2:
u[l++] = (m & 15) << 4 | (c & 60) >> 2, m = c, d = 3;
break;
case 3:
u[l++] = (m & 3) << 6 | c, d = 0;
break;
}
}
if (d === 1)
throw Error(n);
return l - f;
}, t.test = function(s) {
return /^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(s);
};
}
}), require_eventemitter = __commonJS({
"node_modules/@protobufjs/eventemitter/index.js"(e, t) {
t.exports = r;
function r() {
this._listeners = {};
}
r.prototype.on = function(o, n, g) {
return (this._listeners[o] || (this._listeners[o] = [])).push({
fn: n,
ctx: g || this
}), this;
}, r.prototype.off = function(o, n) {
if (o === void 0)
this._listeners = {};
else if (n === void 0)
this._listeners[o] = [];
else
for (var g = this._listeners[o], s = 0; s < g.length; )
g[s].fn === n ? g.splice(s, 1) : ++s;
return this;
}, r.prototype.emit = function(o) {
var n = this._listeners[o];
if (n) {
for (var g = [], s = 1; s < arguments.length; )
g.push(arguments[s++]);
for (s = 0; s < n.length; )
n[s].fn.apply(n[s++].ctx, g);
}
return this;
};
}
}), require_float = __commonJS({
"node_modules/@protobufjs/float/index.js"(e, t) {
t.exports = r(r);
function r(s) {
return typeof Float32Array < "u" ? function() {
var u = new Float32Array([-0]), l = new Uint8Array(u.buffer), f = l[3] === 128;
function d(p, w, k) {
u[0] = p, w[k] = l[0], w[k + 1] = l[1], w[k + 2] = l[2], w[k + 3] = l[3];
}
function m(p, w, k) {
u[0] = p, w[k] = l[3], w[k + 1] = l[2], w[k + 2] = l[1], w[k + 3] = l[0];
}
s.writeFloatLE = f ? d : m, s.writeFloatBE = f ? m : d;
function h(p, w) {
return l[0] = p[w], l[1] = p[w + 1], l[2] = p[w + 2], l[3] = p[w + 3], u[0];
}
function c(p, w) {
return l[3] = p[w], l[2] = p[w + 1], l[1] = p[w + 2], l[0] = p[w + 3], u[0];
}
s.readFloatLE = f ? h : c, s.readFloatBE = f ? c : h;
}() : function() {
function u(f, d, m, h) {
var c = d < 0 ? 1 : 0;
if (c && (d = -d), d === 0)
f(1 / d > 0 ? (
/* positive */
0
) : (
/* negative 0 */
2147483648
), m, h);
else if (isNaN(d))
f(2143289344, m, h);
else if (d > 34028234663852886e22)
f((c << 31 | 2139095040) >>> 0, m, h);
else if (d < 11754943508222875e-54)
f((c << 31 | Math.round(d / 1401298464324817e-60)) >>> 0, m, h);
else {
var p = Math.floor(Math.log(d) / Math.LN2), w = Math.round(d * Math.pow(2, -p) * 8388608) & 8388607;
f((c << 31 | p + 127 << 23 | w) >>> 0, m, h);
}
}
s.writeFloatLE = u.bind(null, a), s.writeFloatBE = u.bind(null, o);
function l(f, d, m) {
var h = f(d, m), c = (h >> 31) * 2 + 1, p = h >>> 23 & 255, w = h & 8388607;
return p === 255 ? w ? NaN : c * (1 / 0) : p === 0 ? c * 1401298464324817e-60 * w : c * Math.pow(2, p - 150) * (w + 8388608);
}
s.readFloatLE = l.bind(null, n), s.readFloatBE = l.bind(null, g);
}(), typeof Float64Array < "u" ? function() {
var u = new Float64Array([-0]), l = new Uint8Array(u.buffer), f = l[7] === 128;
function d(p, w, k) {
u[0] = p, w[k] = l[0], w[k + 1] = l[1], w[k + 2] = l[2], w[k + 3] = l[3], w[k + 4] = l[4], w[k + 5] = l[5], w[k + 6] = l[6], w[k + 7] = l[7];
}
function m(p, w, k) {
u[0] = p, w[k] = l[7], w[k + 1] = l[6], w[k + 2] = l[5], w[k + 3] = l[4], w[k + 4] = l[3], w[k + 5] = l[2], w[k + 6] = l[1], w[k + 7] = l[0];
}
s.writeDoubleLE = f ? d : m, s.writeDoubleBE = f ? m : d;
function h(p, w) {
return l[0] = p[w], l[1] = p[w + 1], l[2] = p[w + 2], l[3] = p[w + 3], l[4] = p[w + 4], l[5] = p[w + 5], l[6] = p[w + 6], l[7] = p[w + 7], u[0];
}
function c(p, w) {
return l[7] = p[w], l[6] = p[w + 1], l[5] = p[w + 2], l[4] = p[w + 3], l[3] = p[w + 4], l[2] = p[w + 5], l[1] = p[w + 6], l[0] = p[w + 7], u[0];
}
s.readDoubleLE = f ? h : c, s.readDoubleBE = f ? c : h;
}() : function() {
function u(f, d, m, h, c, p) {
var w = h < 0 ? 1 : 0;
if (w && (h = -h), h === 0)
f(0, c, p + d), f(1 / h > 0 ? (
/* positive */
0
) : (
/* negative 0 */
2147483648
), c, p + m);
else if (isNaN(h))
f(0, c, p + d), f(2146959360, c, p + m);
else if (h > 17976931348623157e292)
f(0, c, p + d), f((w << 31 | 2146435072) >>> 0, c, p + m);
else {
var k;
if (h < 22250738585072014e-324)
k = h / 5e-324, f(k >>> 0, c, p + d), f((w << 31 | k / 4294967296) >>> 0, c, p + m);
else {
var N = Math.floor(Math.log(h) / Math.LN2);
N === 1024 && (N = 1023), k = h * Math.pow(2, -N), f(k * 4503599627370496 >>> 0, c, p + d), f((w << 31 | N + 1023 << 20 | k * 1048576 & 1048575) >>> 0, c, p + m);
}
}
}
s.writeDoubleLE = u.bind(null, a, 0, 4), s.writeDoubleBE = u.bind(null, o, 4, 0);
function l(f, d, m, h, c) {
var p = f(h, c + d), w = f(h, c + m), k = (w >> 31) * 2 + 1, N = w >>> 20 & 2047, y = 4294967296 * (w & 1048575) + p;
return N === 2047 ? y ? NaN : k * (1 / 0) : N === 0 ? k * 5e-324 * y : k * Math.pow(2, N - 1075) * (y + 4503599627370496);
}
s.readDoubleLE = l.bind(null, n, 0, 4), s.readDoubleBE = l.bind(null, g, 4, 0);
}(), s;
}
function a(s, u, l) {
u[l] = s & 255, u[l + 1] = s >>> 8 & 255, u[l + 2] = s >>> 16 & 255, u[l + 3] = s >>> 24;
}
function o(s, u, l) {
u[l] = s >>> 24, u[l + 1] = s >>> 16 & 255, u[l + 2] = s >>> 8 & 255, u[l + 3] = s & 255;
}
function n(s, u) {
return (s[u] | s[u + 1] << 8 | s[u + 2] << 16 | s[u + 3] << 24) >>> 0;
}
function g(s, u) {
return (s[u] << 24 | s[u + 1] << 16 | s[u + 2] << 8 | s[u + 3]) >>> 0;
}
}
}), require_inquire = __commonJS({
"node_modules/@protobufjs/inquire/index.js"(exports, module) {
module.exports = inquire;
function inquire(moduleName) {
try {
var mod = eval("quire".replace(/^/, "re"))(moduleName);
if (mod && (mod.length || Object.keys(mod).length))
return mod;
} catch (e) {
}
return null;
}
}
}), require_utf8 = __commonJS({
"node_modules/@protobufjs/utf8/index.js"(e) {
var t = e;
t.length = function(a) {
for (var o = 0, n = 0, g = 0; g < a.length; ++g)
n = a.charCodeAt(g), n < 128 ? o += 1 : n < 2048 ? o += 2 : (n & 64512) === 55296 && (a.charCodeAt(g + 1) & 64512) === 56320 ? (++g, o += 4) : o += 3;
return o;
}, t.read = function(a, o, n) {
var g = n - o;
if (g < 1)
return "";
for (var s = null, u = [], l = 0, f; o < n; )
f = a[o++], f < 128 ? u[l++] = f : f > 191 && f < 224 ? u[l++] = (f & 31) << 6 | a[o++] & 63 : f > 239 && f < 365 ? (f = ((f & 7) << 18 | (a[o++] & 63) << 12 | (a[o++] & 63) << 6 | a[o++] & 63) - 65536, u[l++] = 55296 + (f >> 10), u[l++] = 56320 + (f & 1023)) : u[l++] = (f & 15) << 12 | (a[o++] & 63) << 6 | a[o++] & 63, l > 8191 && ((s || (s = [])).push(String.fromCharCode.apply(String, u)), l = 0);
return s ? (l && s.push(String.fromCharCode.apply(String, u.slice(0, l))), s.join("")) : String.fromCharCode.apply(String, u.slice(0, l));
}, t.write = function(a, o, n) {
for (var g = n, s, u, l = 0; l < a.length; ++l)
s = a.charCodeAt(l), s < 128 ? o[n++] = s : s < 2048 ? (o[n++] = s >> 6 | 192, o[n++] = s & 63 | 128) : (s & 64512) === 55296 && ((u = a.charCodeAt(l + 1)) & 64512) === 56320 ? (s = 65536 + ((s & 1023) << 10) + (u & 1023), ++l, o[n++] = s >> 18 | 240, o[n++] = s >> 12 & 63 | 128, o[n++] = s >> 6 & 63 | 128, o[n++] = s & 63 | 128) : (o[n++] = s >> 12 | 224, o[n++] = s >> 6 & 63 | 128, o[n++] = s & 63 | 128);
return n - g;
};
}
}), require_pool = __commonJS({
"node_modules/@protobufjs/pool/index.js"(e, t) {
t.exports = r;
function r(a, o, n) {
var g = n || 8192, s = g >>> 1, u = null, l = g;
return function(d) {
if (d < 1 || d > s)
return a(d);
l + d > g && (u = a(g), l = 0);
var m = o.call(u, l, l += d);
return l & 7 && (l = (l | 7) + 1), m;
};
}
}
}), require_longbits = __commonJS({
"node_modules/protobufjs/src/util/longbits.js"(e, t) {
t.exports = a;
var r = require_minimal();
function a(s, u) {
this.lo = s >>> 0, this.hi = u >>> 0;
}
var o = a.zero = new a(0, 0);
o.toNumber = function() {
return 0;
}, o.zzEncode = o.zzDecode = function() {
return this;
}, o.length = function() {
return 1;
};
var n = a.zeroHash = "\0\0\0\0\0\0\0\0";
a.fromNumber = function(u) {
if (u === 0)
return o;
var l = u < 0;
l && (u = -u);
var f = u >>> 0, d = (u - f) / 4294967296 >>> 0;
return l && (d = ~d >>> 0, f = ~f >>> 0, ++f > 4294967295 && (f = 0, ++d > 4294967295 && (d = 0))), new a(f, d);
}, a.from = function(u) {
if (typeof u == "number")
return a.fromNumber(u);
if (r.isString(u))
if (r.Long)
u = r.Long.fromString(u);
else
return a.fromNumber(parseInt(u, 10));
return u.low || u.high ? new a(u.low >>> 0, u.high >>> 0) : o;
}, a.prototype.toNumber = function(u) {
if (!u && this.hi >>> 31) {
var l = ~this.lo + 1 >>> 0, f = ~this.hi >>> 0;
return l || (f = f + 1 >>> 0), -(l + f * 4294967296);
}
return this.lo + this.hi * 4294967296;
}, a.prototype.toLong = function(u) {
return r.Long ? new r.Long(this.lo | 0, this.hi | 0, !!u) : { low: this.lo | 0, high: this.hi | 0, unsigned: !!u };
};
var g = String.prototype.charCodeAt;
a.fromHash = function(u) {
return u === n ? o : new a(
(g.call(u, 0) | g.call(u, 1) << 8 | g.call(u, 2) << 16 | g.call(u, 3) << 24) >>> 0,
(g.call(u, 4) | g.call(u, 5) << 8 | g.call(u, 6) << 16 | g.call(u, 7) << 24) >>> 0
);
}, a.prototype.toHash = function() {
return String.fromCharCode(
this.lo & 255,
this.lo >>> 8 & 255,
this.lo >>> 16 & 255,
this.lo >>> 24,
this.hi & 255,
this.hi >>> 8 & 255,
this.hi >>> 16 & 255,
this.hi >>> 24
);
}, a.prototype.zzEncode = function() {
var u = this.hi >> 31;
return this.hi = ((this.hi << 1 | this.lo >>> 31) ^ u) >>> 0, this.lo = (this.lo << 1 ^ u) >>> 0, this;
}, a.prototype.zzDecode = function() {
var u = -(this.lo & 1);
return this.lo = ((this.lo >>> 1 | this.hi << 31) ^ u) >>> 0, this.hi = (this.hi >>> 1 ^ u) >>> 0, this;
}, a.prototype.length = function() {
var u = this.lo, l = (this.lo >>> 28 | this.hi << 4) >>> 0, f = this.hi >>> 24;
return f === 0 ? l === 0 ? u < 16384 ? u < 128 ? 1 : 2 : u < 2097152 ? 3 : 4 : l < 16384 ? l < 128 ? 5 : 6 : l < 2097152 ? 7 : 8 : f < 128 ? 9 : 10;
};
}
}), require_minimal = __commonJS({
"node_modules/protobufjs/src/util/minimal.js"(e) {
var t = e;
t.asPromise = require_aspromise(), t.base64 = require_base64(), t.EventEmitter = require_eventemitter(), t.float = require_float(), t.inquire = require_inquire(), t.utf8 = require_utf8(), t.pool = require_pool(), t.LongBits = require_longbits(), t.isNode = !!(typeof global < "u" && global && global.process && global.process.versions && global.process.versions.node), t.global = t.isNode && global || typeof window < "u" && window || typeof self < "u" && self || e, t.emptyArray = Object.freeze ? Object.freeze([]) : (
/* istanbul ignore next */
[]
), t.emptyObject = Object.freeze ? Object.freeze({}) : (
/* istanbul ignore next */
{}
), t.isInteger = Number.isInteger || /* istanbul ignore next */
function(n) {
return typeof n == "number" && isFinite(n) && Math.floor(n) === n;
}, t.isString = function(n) {
return typeof n == "string" || n instanceof String;
}, t.isObject = function(n) {
return n && typeof n == "object";
}, t.isset = /**
* Checks if a property on a message is considered to be present.
* @param {Object} obj Plain object or message instance
* @param {string} prop Property name
* @returns {boolean} `true` if considered to be present, otherwise `false`
*/
t.isSet = function(n, g) {
var s = n[g];
return s != null && n.hasOwnProperty(g) ? typeof s != "object" || (Array.isArray(s) ? s.length : Object.keys(s).length) > 0 : !1;
}, t.Buffer = function() {
try {
var o = t.inquire("buffer").Buffer;
return o.prototype.utf8Write ? o : (
/* istanbul ignore next */
null
);
} catch {
return null;
}
}(), t._Buffer_from = null, t._Buffer_allocUnsafe = null, t.newBuffer = function(n) {
return typeof n == "number" ? t.Buffer ? t._Buffer_allocUnsafe(n) : new t.Array(n) : t.Buffer ? t._Buffer_from(n) : typeof Uint8Array > "u" ? n : new Uint8Array(n);
}, t.Array = typeof Uint8Array < "u" ? Uint8Array : Array, t.Long = /* istanbul ignore next */
t.global.dcodeIO && /* istanbul ignore next */
t.global.dcodeIO.Long || /* istanbul ignore next */
t.global.Long || t.inquire("long"), t.key2Re = /^true|false|0|1$/, t.key32Re = /^-?(?:0|[1-9][0-9]*)$/, t.key64Re = /^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/, t.longToHash = function(n) {
return n ? t.LongBits.from(n).toHash() : t.LongBits.zeroHash;
}, t.longFromHash = function(n, g) {
var s = t.LongBits.fromHash(n);
return t.Long ? t.Long.fromBits(s.lo, s.hi, g) : s.toNumber(!!g);
};
function r(o, n, g) {
for (var s = Object.keys(n), u = 0; u < s.length; ++u)
(o[s[u]] === void 0 || !g) && (o[s[u]] = n[s[u]]);
return o;
}
t.merge = r, t.lcFirst = function(n) {
return n.charAt(0).toLowerCase() + n.substring(1);
};
function a(o) {
function n(g, s) {
if (!(this instanceof n))
return new n(g, s);
Object.defineProperty(this, "message", { get: function() {
return g;
} }), Error.captureStackTrace ? Error.captureStackTrace(this, n) : Object.defineProperty(this, "stack", { value: new Error().stack || "" }), s && r(this, s);
}
return (n.prototype = Object.create(Error.prototype)).constructor = n, Object.defineProperty(n.prototype, "name", { get: function() {
return o;
} }), n.prototype.toString = function() {
return this.name + ": " + this.message;
}, n;
}
t.newError = a, t.ProtocolError = a("ProtocolError"), t.oneOfGetter = function(n) {
for (var g = {}, s = 0; s < n.length; ++s)
g[n[s]] = 1;
return function() {
for (var u = Object.keys(this), l = u.length - 1; l > -1; --l)
if (g[u[l]] === 1 && this[u[l]] !== void 0 && this[u[l]] !== null)
return u[l];
};
}, t.oneOfSetter = function(n) {
return function(g) {
for (var s = 0; s < n.length; ++s)
n[s] !== g && delete this[n[s]];
};
}, t.toJSONOptions = {
longs: String,
enums: String,
bytes: String,
json: !0
}, t._configure = function() {
var o = t.Buffer;
if (!o) {
t._Buffer_from = t._Buffer_allocUnsafe = null;
return;
}
t._Buffer_from = o.from !== Uint8Array.from && o.from || /* istanbul ignore next */
function(g, s) {
return new o(g, s);
}, t._Buffer_allocUnsafe = o.allocUnsafe || /* istanbul ignore next */
function(g) {
return new o(g);
};
};
}
}), require_writer = __commonJS({
"node_modules/protobufjs/src/writer.js"(e, t) {
t.exports = f;
var r = require_minimal(), a, o = r.LongBits, n = r.base64, g = r.utf8;
function s(N, y, S) {
this.fn = N, this.len = y, this.next = void 0, this.val = S;
}
function u() {
}
function l(N) {
this.head = N.head, this.tail = N.tail, this.len = N.len, this.next = N.states;
}
function f() {
this.len = 0, this.head = new s(u, 0, 0), this.tail = this.head, this.states = null;
}
var d = function() {
return r.Buffer ? function() {
return (f.create = function() {
return new a();
})();
} : function() {
return new f();
};
};
f.create = d(), f.alloc = function(y) {
return new r.Array(y);
}, r.Array !== Array && (f.alloc = r.pool(f.alloc, r.Array.prototype.subarray)), f.prototype._push = function(y, S, O) {
return this.tail = this.tail.next = new s(y, S, O), this.len += S, this;
};
function m(N, y, S) {
y[S] = N & 255;
}
function h(N, y, S) {
for (; N > 127; )
y[S++] = N & 127 | 128, N >>>= 7;
y[S] = N;
}
function c(N, y) {
this.len = N, this.next = void 0, this.val = y;
}
c.prototype = Object.create(s.prototype), c.prototype.fn = h, f.prototype.uint32 = function(y) {
return this.len += (this.tail = this.tail.next = new c(
(y = y >>> 0) < 128 ? 1 : y < 16384 ? 2 : y < 2097152 ? 3 : y < 268435456 ? 4 : 5,
y
)).len, this;
}, f.prototype.int32 = function(y) {
return y < 0 ? this._push(p, 10, o.fromNumber(y)) : this.uint32(y);
}, f.prototype.sint32 = function(y) {
return this.uint32((y << 1 ^ y >> 31) >>> 0);
};
function p(N, y, S) {
for (; N.hi; )
y[S++] = N.lo & 127 | 128, N.lo = (N.lo >>> 7 | N.hi << 25) >>> 0, N.hi >>>= 7;
for (; N.lo > 127; )
y[S++] = N.lo & 127 | 128, N.lo = N.lo >>> 7;
y[S++] = N.lo;
}
f.prototype.uint64 = function(y) {
var S = o.from(y);
return this._push(p, S.length(), S);
}, f.prototype.int64 = f.prototype.uint64, f.prototype.sint64 = function(y) {
var S = o.from(y).zzEncode();
return this._push(p, S.length(), S);
}, f.prototype.bool = function(y) {
return this._push(m, 1, y ? 1 : 0);
};
function w(N, y, S) {
y[S] = N & 255, y[S + 1] = N >>> 8 & 255, y[S + 2] = N >>> 16 & 255, y[S + 3] = N >>> 24;
}
f.prototype.fixed32 = function(y) {
return this._push(w, 4, y >>> 0);
}, f.prototype.sfixed32 = f.prototype.fixed32, f.prototype.fixed64 = function(y) {
var S = o.from(y);
return this._push(w, 4, S.lo)._push(w, 4, S.hi);
}, f.prototype.sfixed64 = f.prototype.fixed64, f.prototype.float = function(y) {
return this._push(r.float.writeFloatLE, 4, y);
}, f.prototype.double = function(y) {
return this._push(r.float.writeDoubleLE, 8, y);
};
var k = r.Array.prototype.set ? function(y, S, O) {
S.set(y, O);
} : function(y, S, O) {
for (var T = 0; T < y.length; ++T)
S[O + T] = y[T];
};
f.prototype.bytes = function(y) {
var S = y.length >>> 0;
if (!S)
return this._push(m, 1, 0);
if (r.isString(y)) {
var O = f.alloc(S = n.length(y));
n.decode(y, O, 0), y = O;
}
return this.uint32(S)._push(k, S, y);
}, f.prototype.string = function(y) {
var S = g.length(y);
return S ? this.uint32(S)._push(g.write, S, y) : this._push(m, 1, 0);
}, f.prototype.fork = function() {
return this.states = new l(this), this.head = this.tail = new s(u, 0, 0), this.len = 0, this;
}, f.prototype.reset = function() {
return this.states ? (this.head = this.states.head, this.tail = this.states.tail, this.len = this.states.len, this.states = this.states.next) : (this.head = this.tail = new s(u, 0, 0), this.len = 0), this;
}, f.prototype.ldelim = function() {
var y = this.head, S = this.tail, O = this.len;
return this.reset().uint32(O), O && (this.tail.next = y.next, this.tail = S, this.len += O), this;
}, f.prototype.finish = function() {
for (var y = this.head.next, S = this.constructor.alloc(this.len), O = 0; y; )
y.fn(y.val, S, O), O += y.len, y = y.next;
return S;
}, f._configure = function(N) {
a = N, f.create = d(), a._configure();
};
}
}), require_writer_buffer = __commonJS({
"node_modules/protobufjs/src/writer_buffer.js"(e, t) {
t.exports = o;
var r = require_writer();
(o.prototype = Object.create(r.prototype)).constructor = o;
var a = require_minimal();
function o() {
r.call(this);
}
o._configure = function() {
o.alloc = a._Buffer_allocUnsafe, o.writeBytesBuffer = a.Buffer && a.Buffer.prototype instanceof Uint8Array && a.Buffer.prototype.set.name === "set" ? function(s, u, l) {
u.set(s, l);
} : function(s, u, l) {
if (s.copy)
s.copy(u, l, 0, s.length);
else
for (var f = 0; f < s.length; )
u[l++] = s[f++];
};
}, o.prototype.bytes = function(s) {
a.isString(s) && (s = a._Buffer_from(s, "base64"));
var u = s.length >>> 0;
return this.uint32(u), u && this._push(o.writeBytesBuffer, u, s), this;
};
function n(g, s, u) {
g.length < 40 ? a.utf8.write(g, s, u) : s.utf8Write ? s.utf8Write(g, u) : s.write(g, u);
}
o.prototype.string = function(s) {
var u = a.Buffer.byteLength(s);
return this.uint32(u), u && this._push(n, u, s), this;
}, o._configure();
}
}), require_reader = __commonJS({
"node_modules/protobufjs/src/reader.js"(e, t) {
t.exports = s;
var r = require_minimal(), a, o = r.LongBits, n = r.utf8;
function g(h, c) {
return RangeError("index out of range: " + h.pos + " + " + (c || 1) + " > " + h.len);
}
function s(h) {
this.buf = h, this.pos = 0, this.len = h.length;
}
var u = typeof Uint8Array < "u" ? function(c) {
if (c instanceof Uint8Array || Array.isArray(c))
return new s(c);
throw Error("illegal buffer");
} : function(c) {
if (Array.isArray(c))
return new s(c);
throw Error("illegal buffer");
}, l = function() {
return r.Buffer ? function(p) {
return (s.create = function(k) {
return r.Buffer.isBuffer(k) ? new a(k) : u(k);
})(p);
} : u;
};
s.create = l(), s.prototype._slice = r.Array.prototype.subarray || /* istanbul ignore next */
r.Array.prototype.slice, s.prototype.uint32 = function() {
var c = 4294967295;
return function() {
if (c = (this.buf[this.pos] & 127) >>> 0, this.buf[this.pos++] < 128 || (c = (c | (this.buf[this.pos] & 127) << 7) >>> 0, this.buf[this.pos++] < 128) || (c = (c | (this.buf[this.pos] & 127) << 14) >>> 0, this.buf[this.pos++] < 128) || (c = (c | (this.buf[this.pos] & 127) << 21) >>> 0, this.buf[this.pos++] < 128) || (c = (c | (this.buf[this.pos] & 15) << 28) >>> 0, this.buf[this.pos++] < 128))
return c;
if ((this.pos += 5) > this.len)
throw this.pos = this.len, g(this, 10);
return c;
};
}(), s.prototype.int32 = function() {
return this.uint32() | 0;
}, s.prototype.sint32 = function() {
var c = this.uint32();
return c >>> 1 ^ -(c & 1) | 0;
};
function f() {
var h = new o(0, 0), c = 0;
if (this.len - this.pos > 4) {
for (; c < 4; ++c)
if (h.lo = (h.lo | (this.buf[this.pos] & 127) << c * 7) >>> 0, this.buf[this.pos++] < 128)
return h;
if (h.lo = (h.lo | (this.buf[this.pos] & 127) << 28) >>> 0, h.hi = (h.hi | (this.buf[this.pos] & 127) >> 4) >>> 0, this.buf[this.pos++] < 128)
return h;
c = 0;
} else {
for (; c < 3; ++c) {
if (this.pos >= this.len)
throw g(this);
if (h.lo = (h.lo | (this.buf[this.pos] & 127) << c * 7) >>> 0, this.buf[this.pos++] < 128)
return h;
}
return h.lo = (h.lo | (this.buf[this.pos++] & 127) << c * 7) >>> 0, h;
}
if (this.len - this.pos > 4) {
for (; c < 5; ++c)
if (h.hi = (h.hi | (this.buf[this.pos] & 127) << c * 7 + 3) >>> 0, this.buf[this.pos++] < 128)
return h;
} else
for (; c < 5; ++c) {
if (this.pos >= this.len)
throw g(this);
if (h.hi = (h.hi | (this.buf[this.pos] & 127) << c * 7 + 3) >>> 0, this.buf[this.pos++] < 128)
return h;
}
throw Error("invalid varint encoding");
}
s.prototype.bool = function() {
return this.uint32() !== 0;
};
function d(h, c) {
return (h[c - 4] | h[c - 3] << 8 | h[c - 2] << 16 | h[c - 1] << 24) >>> 0;
}
s.prototype.fixed32 = function() {
if (this.pos + 4 > this.len)
throw g(this, 4);
return d(this.buf, this.pos += 4);
}, s.prototype.sfixed32 = function() {
if (this.pos + 4 > this.len)
throw g(this, 4);
return d(this.buf, this.pos += 4) | 0;
};
function m() {
if (this.pos + 8 > this.len)
throw g(this, 8);
return new o(d(this.buf, this.pos += 4), d(this.buf, this.pos += 4));
}
s.prototype.float = function() {
if (this.pos + 4 > this.len)
throw g(this, 4);
var c = r.float.readFloatLE(this.buf, this.pos);
return this.pos += 4, c;
}, s.prototype.double = function() {
if (this.pos + 8 > this.len)
throw g(this, 4);
var c = r.float.readDoubleLE(this.buf, this.pos);
return this.pos += 8, c;
}, s.prototype.bytes = function() {
var c = this.uint32(), p = this.pos, w = this.pos + c;
if (w > this.len)
throw g(this, c);
return this.pos += c, Array.isArray(this.buf) ? this.buf.slice(p, w) : p === w ? new this.buf.constructor(0) : this._slice.call(this.buf, p, w);
}, s.prototype.string = function() {
var c = this.bytes();
return n.read(c, 0, c.length);
}, s.prototype.skip = function(c) {
if (typeof c == "number") {
if (this.pos + c > this.len)
throw g(this, c);
this.pos += c;
} else
do
if (this.pos >= this.len)
throw g(this);
while (this.buf[this.pos++] & 128);
return this;
}, s.prototype.skipType = function(h) {
switch (h) {
case 0:
this.skip();
break;
case 1:
this.skip(8);
break;
case 2:
this.skip(this.uint32());
break;
case 3:
for (; (h = this.uint32() & 7) !== 4; )
this.skipType(h);
break;
case 5:
this.skip(4);
break;
default:
throw Error("invalid wire type " + h + " at offset " + this.pos);
}
return this;
}, s._configure = function(h) {
a = h, s.create = l(), a._configure();
var c = r.Long ? "toLong" : (
/* istanbul ignore next */
"toNumber"
);
r.merge(s.prototype, {
int64: function() {
return f.call(this)[c](!1);
},
uint64: function() {
return f.call(this)[c](!0);
},
sint64: function() {
return f.call(this).zzDecode()[c](!1);
},
fixed64: function() {
return m.call(this)[c](!0);
},
sfixed64: function() {
return m.call(this)[c](!1);
}
});
};
}
}), require_reader_buffer = __commonJS({
"node_modules/protobufjs/src/reader_buffer.js"(e, t) {
t.exports = o;
var r = require_reader();
(o.prototype = Object.create(r.prototype)).constructor = o;
var a = require_minimal();
function o(n) {
r.call(this, n);
}
o._configure = function() {
a.Buffer && (o.prototype._slice = a.Buffer.prototype.slice);
}, o.prototype.string = function() {
var g = this.uint32();
return this.buf.utf8Slice ? this.buf.utf8Slice(this.pos, this.pos = Math.min(this.pos + g, this.len)) : this.buf.toString("utf-8", this.pos, this.pos = Math.min(this.pos + g, this.len));
}, o._configure();
}
}), require_service = __commonJS({
"node_modules/protobufjs/src/rpc/service.js"(e, t) {
t.exports = a;
var r = require_minimal();
(a.prototype = Object.create(r.EventEmitter.prototype)).constructor = a;
function a(o, n, g) {
if (typeof o != "function")
throw TypeError("rpcImpl must be a function");
r.EventEmitter.call(this), this.rpcImpl = o, this.requestDelimited = !!n, this.responseDelimited = !!g;
}
a.prototype.rpcCall = function o(n, g, s, u, l) {
if (!u)
throw TypeError("request must be specified");
var f = this;
if (!l)
return r.asPromise(o, f, n, g, s, u);
if (!f.rpcImpl) {
setTimeout(function() {
l(Error("already ended"));
}, 0);
return;
}
try {
return f.rpcImpl(
n,
g[f.requestDelimited ? "encodeDelimited" : "encode"](u).finish(),
function(m, h) {
if (m)
return f.emit("error", m, n), l(m);
if (h === null) {
f.end(
/* endedByRPC */
!0
);
return;
}
if (!(h instanceof s))
try {
h = s[f.responseDelimited ? "decodeDelimited" : "decode"](h);
} catch (c) {
return f.emit("error", c, n), l(c);
}
return f.emit("data", h, n), l(null, h);
}
);
} catch (d) {
f.emit("error", d, n), setTimeout(function() {
l(d);
}, 0);
return;
}
}, a.prototype.end = function(n) {
return this.rpcImpl && (n || this.rpcImpl(null, null, null), this.rpcImpl = null, this.emit("end").off()), this;
};
}
}), require_rpc = __commonJS({
"node_modules/protobufjs/src/rpc.js"(e) {
var t = e;
t.Service = require_service();
}
}), require_roots = __commonJS({
"node_modules/protobufjs/src/roots.js"(e, t) {
t.exports = {};
}
}), require_index_minimal = __commonJS({
"node_modules/protobufjs/src/index-minimal.js"(e) {
var t = e;
t.build = "minimal", t.Writer = require_writer(), t.BufferWriter = require_writer_buffer(), t.Reader = require_reader(), t.BufferReader = require_reader_buffer(), t.util = require_minimal(), t.rpc = require_rpc(), t.roots = require_roots(), t.configure = r;
function r() {
t.util._configure(), t.Writer._configure(t.BufferWriter), t.Reader._configure(t.BufferReader);
}
r();
}
}), require_minimal2 = __commonJS({
"node_modules/protobufjs/minimal.js"(e, t) {
t.exports = require_index_minimal();
}
});
const __vite__cjsImport0_protobufjs_minimal = require_minimal2();
var GoodbyeReason = /* @__PURE__ */ ((e) => (e[e.UNKNOWN = 0] = "UNKNOWN", e[e.UnsupportedProtocol = 1] = "UnsupportedProtocol", e[e.UnexpectedPacket = 2] = "UnexpectedPacket", e[e.UnexpectedNextState = 3] = "UnexpectedNextState", e[e.UsernameTaken = 4] = "UsernameTaken", e[e.PingPongTimeout = 5] = "PingPongTimeout", e[e.Done = 6] = "Done", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(GoodbyeReason || {});
function goodbyeReasonFromJSON(e) {
switch (e) {
case 0:
case "UNKNOWN":
return 0;
case 1:
case "UnsupportedProtocol":
return 1;
case 2:
case "UnexpectedPacket":
return 2;
case 3:
case "UnexpectedNextState":
return 3;
case 4:
case "UsernameTaken":
return 4;
case 5:
case "PingPongTimeout":
return 5;
case 6:
case "Done":
return 6;
case -1:
case "UNRECOGNIZED":
default:
return -1;
}
}
function goodbyeReasonToJSON(e) {
switch (e) {
case 0:
return "UNKNOWN";
case 1:
return "UnsupportedProtocol";
case 2:
return "UnexpectedPacket";
case 3:
return "UnexpectedNextState";
case 4:
return "UsernameTaken";
case 5:
return "PingPongTimeout";
case 6:
return "Done";
case -1:
default:
return "UNRECOGNIZED";
}
}
var InputType = /* @__PURE__ */ ((e) => (e[e.UNKNOWN = 0] = "UNKNOWN", e[e.Left = 1] = "Left", e[e.Middle = 2] = "Middle", e[e.Right = 3] = "Right", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(InputType || {});
function inputTypeFromJSON(e) {
switch (e) {
case 0:
case "UNKNOWN":
return 0;
case 1:
case "Left":
return 1;
case 2:
case "Middle":
return 2;
case 3:
case "Right":
return 3;
case -1:
case "UNRECOGNIZED":
default:
return -1;
}
}
function inputTypeToJSON(e) {
switch (e) {
case 0:
return "UNKNOWN";
case 1:
return "Left";
case 2:
return "Middle";
case 3:
return "Right";
case -1:
default:
return "UNRECOGNIZED";
}
}
var State = /* @__PURE__ */ ((e) => (e[e.UNKNOWN = 0] = "UNKNOWN", e[e.Handshake = 1] = "Handshake", e[e.Play = 2] = "Play", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(State || {});
function stateFromJSON(e) {
switch (e) {
case 0:
case "UNKNOWN":
return 0;
case 1:
case "Handshake":
return 1;
case 2:
case "Play":
return 2;
case -1:
case "UNRECOGNIZED":
default:
return -1;
}
}
function stateToJSON(e) {
switch (e) {
case 0:
return "UNKNOWN";
case 1:
return "Handshake";
case 2:
return "Play";
case -1:
default:
return "UNRECOGNIZED";
}
}
const _m0$5 = __vite__cjsImport0_protobufjs_minimal;
var MessageC2SHello_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 1] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageC2SHello_packetInfo || {}), MessageC2SGoodbye_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 2] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageC2SGoodbye_packetInfo || {}), MessageC2SPing_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 4] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageC2SPing_packetInfo || {}), MessageC2SInput_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 11] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageC2SInput_packetInfo || {}), MessageC2SAuthenticateAndBeamOut_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 12] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageC2SAuthenticateAndBeamOut_packetInfo || {}), MessageC2SMouseInput_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 13] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageC2SMouseInput_packetInfo || {}), MessageC2SModuleGrabBegin_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 14] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageC2SModuleGrabBegin_packetInfo || {}), MessageC2SModuleGrabEnd_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 15] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageC2SModuleGrabEnd_packetInfo || {}), MessageC2SModuleDetach_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 16] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageC2SModuleDetach_packetInfo || {});
function createBaseMessageC2SHello() {
return { version: 0, requestedUsername: "", nextState: 0, token: "", user: "" };
}
const MessageC2SHello = {
encode(e, t = _m0$5.Writer.create()) {
return e.version !== 0 && t.uint32(8).uint32(e.version), e.requestedUsername !== "" && t.uint32(18).string(e.requestedUsername), e.nextState !== 0 && t.uint32(24).int32(e.nextState), e.token !== "" && t.uint32(34).string(e.token), e.user !== "" && t.uint32(42).string(e.user), t;
},
decode(e, t) {
const r = e instanceof _m0$5.Reader ? e : _m0$5.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageC2SHello();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 8)
break;
o.version = r.uint32();
continue;
case 2:
if (n != 18)
break;
o.requestedUsername = r.string();
continue;
case 3:
if (n != 24)
break;
o.nextState = r.int32();
continue;
case 4:
if (n != 34)
break;
o.token = r.string();
continue;
case 5:
if (n != 42)
break;
o.user = r.string();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {
version: isSet$5(e.version) ? Number(e.version) : 0,
requestedUsername: isSet$5(e.requestedUsername) ? String(e.requestedUsername) : "",
nextState: isSet$5(e.nextState) ? stateFromJSON(e.nextState) : 0,
token: isSet$5(e.token) ? String(e.token) : "",
user: isSet$5(e.user) ? String(e.user) : ""
};
},
toJSON(e) {
const t = {};
return e.version !== void 0 && (t.version = Math.round(e.version)), e.requestedUsername !== void 0 && (t.requestedUsername = e.requestedUsername), e.nextState !== void 0 && (t.nextState = stateToJSON(e.nextState)), e.token !== void 0 && (t.token = e.token), e.user !== void 0 && (t.user = e.user), t;
},
create(e) {
return MessageC2SHello.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseMessageC2SHello();
return t.version = e.version ?? 0, t.requestedUsername = e.requestedUsername ?? "", t.nextState = e.nextState ?? 0, t.token = e.token ?? "", t.user = e.user ?? "", t;
}
};
function createBaseMessageC2SGoodbye() {
return { reason: 0 };
}
const MessageC2SGoodbye = {
encode(e, t = _m0$5.Writer.create()) {
return e.reason !== 0 && t.uint32(8).int32(e.reason), t;
},
decode(e, t) {
const r = e instanceof _m0$5.Reader ? e : _m0$5.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageC2SGoodbye();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 8)
break;
o.reason = r.int32();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return { reason: isSet$5(e.reason) ? goodbyeReasonFromJSON(e.reason) : 0 };
},
toJSON(e) {
const t = {};
return e.reason !== void 0 && (t.reason = goodbyeReasonToJSON(e.reason)), t;
},
create(e) {
return MessageC2SGoodbye.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseMessageC2SGoodbye();
return t.reason = e.reason ?? 0, t;
}
};
function createBaseMessageC2SPing() {
return {};
}
const MessageC2SPing = {
encode(e, t = _m0$5.Writer.create()) {
return t;
},
decode(e, t) {
const r = e instanceof _m0$5.Reader ? e : _m0$5.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageC2SPing();
for (; r.pos < a; ) {
const n = r.uint32();
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {};
},
toJSON(e) {
return {};
},
create(e) {
return MessageC2SPing.fromPartial(e ?? {});
},
fromPartial(e) {
return createBaseMessageC2SPing();
}
};
function createBaseMessageC2SInput() {
return { upPressed: !1, downPressed: !1, leftPressed: !1, rightPressed: !1 };
}
const MessageC2SInput = {
encode(e, t = _m0$5.Writer.create()) {
return e.upPressed === !0 && t.uint32(8).bool(e.upPressed), e.downPressed === !0 && t.uint32(16).bool(e.downPressed), e.leftPressed === !0 && t.uint32(24).bool(e.leftPressed), e.rightPressed === !0 && t.uint32(32).bool(e.rightPressed), t;
},
decode(e, t) {
const r = e instanceof _m0$5.Reader ? e : _m0$5.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageC2SInput();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 8)
break;
o.upPressed = r.bool();
continue;
case 2:
if (n != 16)
break;
o.downPressed = r.bool();
continue;
case 3:
if (n != 24)
break;
o.leftPressed = r.bool();
continue;
case 4:
if (n != 32)
break;
o.rightPressed = r.bool();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {
upPressed: isSet$5(e.upPressed) ? !!e.upPressed : !1,
downPressed: isSet$5(e.downPressed) ? !!e.downPressed : !1,
leftPressed: isSet$5(e.leftPressed) ? !!e.leftPressed : !1,
rightPressed: isSet$5(e.rightPressed) ? !!e.rightPressed : !1
};
},
toJSON(e) {
const t = {};
return e.upPressed !== void 0 && (t.upPressed = e.upPressed), e.downPressed !== void 0 && (t.downPressed = e.downPressed), e.leftPressed !== void 0 && (t.leftPressed = e.leftPressed), e.rightPressed !== void 0 && (t.rightPressed = e.rightPressed), t;
},
create(e) {
return MessageC2SInput.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseMessageC2SInput();
return t.upPressed = e.upPressed ?? !1, t.downPressed = e.downPressed ?? !1, t.leftPressed = e.leftPressed ?? !1, t.rightPressed = e.rightPressed ?? !1, t;
}
};
function createBaseMessageC2SAuthenticateAndBeamOut() {
return { userId: "", token: "" };
}
const MessageC2SAuthenticateAndBeamOut = {
encode(e, t = _m0$5.Writer.create()) {
return e.userId !== "" && t.uint32(10).string(e.userId), e.token !== "" && t.uint32(18).string(e.token), t;
},
decode(e, t) {
const r = e instanceof _m0$5.Reader ? e : _m0$5.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageC2SAuthenticateAndBeamOut();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 10)
break;
o.userId = r.string();
continue;
case 2:
if (n != 18)
break;
o.token = r.string();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {
userId: isSet$5(e.userId) ? String(e.userId) : "",
token: isSet$5(e.token) ? String(e.token) : ""
};
},
toJSON(e) {
const t = {};
return e.userId !== void 0 && (t.userId = e.userId), e.token !== void 0 && (t.token = e.token), t;
},
create(e) {
return MessageC2SAuthenticateAndBeamOut.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseMessageC2SAuthenticateAndBeamOut();
return t.userId = e.userId ?? "", t.token = e.token ?? "", t;
}
};
function createBaseMessageC2SMouseInput() {
return { worldposX: 0, worldposY: 0, button: 0, released: !1 };
}
const MessageC2SMouseInput = {
encode(e, t = _m0$5.Writer.create()) {
return e.worldposX !== 0 && t.uint32(9).double(e.worldposX), e.worldposY !== 0 && t.uint32(17).double(e.worldposY), e.button !== 0 && t.uint32(24).int32(e.button), e.released === !0 && t.uint32(32).bool(e.released), t;
},
decode(e, t) {
const r = e instanceof _m0$5.Reader ? e : _m0$5.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageC2SMouseInput();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 9)
break;
o.worldposX = r.double();
continue;
case 2:
if (n != 17)
break;
o.worldposY = r.double();
continue;
case 3:
if (n != 24)
break;
o.button = r.int32();
continue;
case 4:
if (n != 32)
break;
o.released = r.bool();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {
worldposX: isSet$5(e.worldposX) ? Number(e.worldposX) : 0,
worldposY: isSet$5(e.worldposY) ? Number(e.worldposY) : 0,
button: isSet$5(e.button) ? inputTypeFromJSON(e.button) : 0,
released: isSet$5(e.released) ? !!e.released : !1
};
},
toJSON(e) {
const t = {};
return e.worldposX !== void 0 && (t.worldposX = e.worldposX), e.worldposY !== void 0 && (t.worldposY = e.worldposY), e.button !== void 0 && (t.button = inputTypeToJSON(e.button)), e.released !== void 0 && (t.released = e.released), t;
},
create(e) {
return MessageC2SMouseInput.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseMessageC2SMouseInput();
return t.worldposX = e.worldposX ?? 0, t.worldposY = e.worldposY ?? 0, t.button = e.button ?? 0, t.released = e.released ?? !1, t;
}
};
function createBaseMessageC2SModuleGrabBegin() {
return { moduleId: 0, worldposX: 0, worldposY: 0 };
}
const MessageC2SModuleGrabBegin = {
encode(e, t = _m0$5.Writer.create()) {
return e.moduleId !== 0 && t.uint32(8).uint32(e.moduleId), e.worldposX !== 0 && t.uint32(17).double(e.worldposX), e.worldposY !== 0 && t.uint32(25).double(e.worldposY), t;
},
decode(e, t) {
const r = e instanceof _m0$5.Reader ? e : _m0$5.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageC2SModuleGrabBegin();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 8)
break;
o.moduleId = r.uint32();
continue;
case 2:
if (n != 17)
break;
o.worldposX = r.double();
continue;
case 3:
if (n != 25)
break;
o.worldposY = r.double();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {
moduleId: isSet$5(e.moduleId) ? Number(e.moduleId) : 0,
worldposX: isSet$5(e.worldposX) ? Number(e.worldposX) : 0,
worldposY: isSet$5(e.worldposY) ? Number(e.worldposY) : 0
};
},
toJSON(e) {
const t = {};
return e.moduleId !== void 0 && (t.moduleId = Math.round(e.moduleId)), e.worldposX !== void 0 && (t.worldposX = e.worldposX), e.worldposY !== void 0 && (t.worldposY = e.worldposY), t;
},
create(e) {
return MessageC2SModuleGrabBegin.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseMessageC2SModuleGrabBegin();
return t.moduleId = e.moduleId ?? 0, t.worldposX = e.worldposX ?? 0, t.worldposY = e.worldposY ?? 0, t;
}
};
function createBaseMessageC2SModuleGrabEnd() {
return { moduleId: 0, worldposX: 0, worldposY: 0 };
}
const MessageC2SModuleGrabEnd = {
encode(e, t = _m0$5.Writer.create()) {
return e.moduleId !== 0 && t.uint32(8).uint32(e.moduleId), e.worldposX !== 0 && t.uint32(17).double(e.worldposX), e.worldposY !== 0 && t.uint32(25).double(e.worldposY), t;
},
decode(e, t) {
const r = e instanceof _m0$5.Reader ? e : _m0$5.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageC2SModuleGrabEnd();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 8)
break;
o.moduleId = r.uint32();
continue;
case 2:
if (n != 17)
break;
o.worldposX = r.double();
continue;
case 3:
if (n != 25)
break;
o.worldposY = r.double();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {
moduleId: isSet$5(e.moduleId) ? Number(e.moduleId) : 0,
worldposX: isSet$5(e.worldposX) ? Number(e.worldposX) : 0,
worldposY: isSet$5(e.worldposY) ? Number(e.worldposY) : 0
};
},
toJSON(e) {
const t = {};
return e.moduleId !== void 0 && (t.moduleId = Math.round(e.moduleId)), e.worldposX !== void 0 && (t.worldposX = e.worldposX), e.worldposY !== void 0 && (t.worldposY = e.worldposY), t;
},
create(e) {
return MessageC2SModuleGrabEnd.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseMessageC2SModuleGrabEnd();
return t.moduleId = e.moduleId ?? 0, t.worldposX = e.worldposX ?? 0, t.worldposY = e.worldposY ?? 0, t;
}
};
function createBaseMessageC2SModuleDetach() {
return { moduleId: 0 };
}
const MessageC2SModuleDetach = {
encode(e, t = _m0$5.Writer.create()) {
return e.moduleId !== 0 && t.uint32(8).uint32(e.moduleId), t;
},
decode(e, t) {
const r = e instanceof _m0$5.Reader ? e : _m0$5.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageC2SModuleDetach();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 8)
break;
o.moduleId = r.uint32();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return { moduleId: isSet$5(e.moduleId) ? Number(e.moduleId) : 0 };
},
toJSON(e) {
const t = {};
return e.moduleId !== void 0 && (t.moduleId = Math.round(e.moduleId)), t;
},
create(e) {
return MessageC2SModuleDetach.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseMessageC2SModuleDetach();
return t.moduleId = e.moduleId ?? 0, t;
}
};
function isSet$5(e) {
return e != null;
}
var require_long = __commonJS({
"node_modules/long/src/long.js"(e, t) {
t.exports = a;
var r = null;
try {
r = new WebAssembly.Instance(new WebAssembly.Module(new Uint8Array([
0,
97,
115,
109,
1,
0,
0,
0,
1,
13,
2,
96,
0,
1,
127,
96,
4,
127,
127,
127,
127,
1,
127,
3,
7,
6,
0,
1,
1,
1,
1,
1,
6,
6,
1,
127,
1,
65,
0,
11,
7,
50,
6,
3,
109,
117,
108,
0,
1,
5,
100,
105,
118,
95,
115,
0,
2,
5,
100,
105,
118,
95,
117,
0,
3,
5,
114,
101,
109,
95,
115,
0,
4,
5,
114,
101,
109,
95,
117,
0,
5,
8,
103,
101,
116,
95,
104,
105,
103,
104,
0,
0,
10,
191,
1,
6,
4,
0,
35,
0,
11,
36,
1,
1,
126,
32,
0,
173,
32,
1,
173,
66,
32,
134,
132,
32,
2,
173,
32,
3,
173,
66,
32,
134,
132,
126,
34,
4,
66,
32,
135,
167,
36,
0,
32,
4,
167,
11,
36,
1,
1,
126,
32,
0,
173,
32,
1,
173,
66,
32,
134,
132,
32,
2,
173,
32,
3,
173,
66,
32,
134,
132,
127,
34,
4,
66,
32,
135,
167,
36,
0,
32,
4,
167,
11,
36,
1,
1,
126,
32,
0,
173,
32,
1,
173,
66,
32,
134,
132,
32,
2,
173,
32,
3,
173,
66,
32,
134,
132,
128,
34,
4,
66,
32,
135,
167,
36,
0,
32,
4,
167,
11,
36,
1,
1,
126,
32,
0,
173,
32,
1,
173,
66,
32,
134,
132,
32,
2,
173,
32,
3,
173,
66,
32,
134,
132,
129,
34,
4,
66,
32,
135,
167,
36,
0,
32,
4,
167,
11,
36,
1,
1,
126,
32,
0,
173,
32,
1,
173,
66,
32,
134,
132,
32,
2,
173,
32,
3,
173,
66,
32,
134,
132,
130,
34,
4,
66,
32,
135,
167,
36,
0,
32,
4,
167,
11
])), {}).exports;
} catch {
}
function a(_, i, v) {
this.low = _ | 0, this.high = i | 0, this.unsigned = !!v;
}
a.prototype.__isLong__, Object.defineProperty(a.prototype, "__isLong__", { value: !0 });
function o(_) {
return (_ && _.__isLong__) === !0;
}
a.isLong = o;
var n = {}, g = {};
function s(_, i) {
var v, E, $;
return i ? (_ >>>= 0, ($ = 0 <= _ && _ < 256) && (E = g[_], E) ? E : (v = l(_, (_ | 0) < 0 ? -1 : 0, !0), $ && (g[_] = v), v)) : (_ |= 0, ($ = -128 <= _ && _ < 128) && (E = n[_], E) ? E : (v = l(_, _ < 0 ? -1 : 0, !1), $ && (n[_] = v), v));
}
a.fromInt = s;
function u(_, i) {
if (isNaN(_))
return i ? S : y;
if (i) {
if (_ < 0)
return S;
if (_ >= w)
return q;
} else {
if (_ <= -k)
return P;
if (_ + 1 >= k)
return A;
}
return _ < 0 ? u(-_, i).neg() : l(_ % p | 0, _ / p | 0, i);
}
a.fromNumber = u;
function l(_, i, v) {
return new a(_, i, v);
}
a.fromBits = l;
var f = Math.pow;
function d(_, i, v) {
if (_.length === 0)
throw Error("empty string");
if (_ === "NaN" || _ === "Infinity" || _ === "+Infinity" || _ === "-Infinity")
return y;
if (typeof i == "number" ? (v = i, i = !1) : i = !!i, v = v || 10, v < 2 || 36 < v)
throw RangeError("radix");
var E;
if ((E = _.indexOf("-")) > 0)
throw Error("interior hyphen");
if (E === 0)
return d(_.substring(1), i, v).neg();
for (var $ = u(f(v, 8)), x = y, M = 0; M < _.length; M += 8) {
var C = Math.min(8, _.length - M), L = parseInt(_.substring(M, M + C), v);
if (C < 8) {
var R = u(f(v, C));
x = x.mul(R).add(u(L));
} else
x = x.mul($), x = x.add(u(L));
}
return x.unsigned = i, x;
}
a.fromString = d;
function m(_, i) {
return typeof _ == "number" ? u(_, i) : typeof _ == "string" ? d(_, i) : l(_.low, _.high, typeof i == "boolean" ? i : _.unsigned);
}
a.fromValue = m;
var h = 1 << 16, c = 1 << 24, p = h * h, w = p * p, k = w / 2, N = s(c), y = s(0);
a.ZERO = y;
var S = s(0, !0);
a.UZERO = S;
var O = s(1);
a.ONE = O;
var T = s(1, !0);
a.UONE = T;
var I = s(-1);
a.NEG_ONE = I;
var A = l(-1, 2147483647, !1);
a.MAX_VALUE = A;
var q = l(-1, -1, !0);
a.MAX_UNSIGNED_VALUE = q;
var P = l(0, -2147483648, !1);
a.MIN_VALUE = P;
var b = a.prototype;
b.toInt = function() {
return this.unsigned ? this.low >>> 0 : this.low;
}, b.toNumber = function() {
return this.unsigned ? (this.high >>> 0) * p + (this.low >>> 0) : this.high * p + (this.low >>> 0);
}, b.toString = function(i) {
if (i = i || 10, i < 2 || 36 < i)
throw RangeError("radix");
if (this.isZero())
return "0";
if (this.isNegative())
if (this.eq(P)) {
var v = u(i), E = this.div(v), $ = E.mul(v).sub(this);
return E.toString(i) + $.toInt().toString(i);
} else
return "-" + this.neg().toString(i);
for (var x = u(f(i, 6), this.unsigned), M = this, C = ""; ; ) {
var L = M.div(x), R = M.sub(L.mul(x)).toInt() >>> 0, B = R.toString(i);
if (M = L, M.isZero())
return B + C;
for (; B.length < 6; )
B = "0" + B;
C = "" + B + C;
}
}, b.getHighBits = function() {
return this.high;
}, b.getHighBitsUnsigned = function() {
return this.high >>> 0;
}, b.getLowBits = function() {
return this.low;
}, b.getLowBitsUnsigned = function() {
return this.low >>> 0;
}, b.getNumBitsAbs = function() {
if (this.isNegative())
return this.eq(P) ? 64 : this.neg().getNumBitsAbs();
for (var i = this.high != 0 ? this.high : this.low, v = 31; v > 0 && !(i & 1 << v); v--)
;
return this.high != 0 ? v + 33 : v + 1;
}, b.isZero = function() {
return this.high === 0 && this.low === 0;
}, b.eqz = b.isZero, b.isNegative = function() {
return !this.unsigned && this.high < 0;
}, b.isPositive = function() {
return this.unsigned || this.high >= 0;
}, b.isOdd = function() {
return (this.low & 1) === 1;
}, b.isEven = function() {
return (this.low & 1) === 0;
}, b.equals = function(i) {
return o(i) || (i = m(i)), this.unsigned !== i.unsigned && this.high >>> 31 === 1 && i.high >>> 31 === 1 ? !1 : this.high === i.high && this.low === i.low;
}, b.eq = b.equals, b.notEquals = function(i) {
return !this.eq(
/* validates */
i
);
}, b.neq = b.notEquals, b.ne = b.notEquals, b.lessThan = function(i) {
return this.comp(
/* validates */
i
) < 0;
}, b.lt = b.lessThan, b.lessThanOrEqual = function(i) {
return this.comp(
/* validates */
i
) <= 0;
}, b.lte = b.lessThanOrEqual, b.le = b.lessThanOrEqual, b.greaterThan = function(i) {
return this.comp(
/* validates */
i
) > 0;
}, b.gt = b.greaterThan, b.greaterThanOrEqual = function(i) {
return this.comp(
/* validates */
i
) >= 0;
}, b.gte = b.greaterThanOrEqual, b.ge = b.greaterThanOrEqual, b.compare = function(i) {
if (o(i) || (i = m(i)), this.eq(i))
return 0;
var v = this.isNegative(), E = i.isNegative();
return v && !E ? -1 : !v && E ? 1 : this.unsigned ? i.high >>> 0 > this.high >>> 0 || i.high === this.high && i.low >>> 0 > this.low >>> 0 ? -1 : 1 : this.sub(i).isNegative() ? -1 : 1;
}, b.comp = b.compare, b.negate = function() {
return !this.unsigned && this.eq(P) ? P : this.not().add(O);
}, b.neg = b.negate, b.add = function(i) {
o(i) || (i = m(i));
var v = this.high >>> 16, E = this.high & 65535, $ = this.low >>> 16, x = this.low & 65535, M = i.high >>> 16, C = i.high & 65535, L = i.low >>> 16, R = i.low & 65535, B = 0, J = 0, U = 0, D = 0;
return D += x + R, U += D >>> 16, D &= 65535, U += $ + L, J += U >>> 16, U &= 65535, J += E + C, B += J >>> 16, J &= 65535, B += v + M, B &= 65535, l(U << 16 | D, B << 16 | J, this.unsigned);
}, b.subtract = function(i) {
return o(i) || (i = m(i)), this.add(i.neg());
}, b.sub = b.subtract, b.multiply = function(i) {
if (this.isZero())
return y;
if (o(i) || (i = m(i)), r) {
var v = r.mul(
this.low,
this.high,
i.low,
i.high
);
return l(v, r.get_high(), this.unsigned);
}
if (i.isZero())
return y;
if (this.eq(P))
return i.isOdd() ? P : y;
if (i.eq(P))
return this.isOdd() ? P : y;
if (this.isNegative())
return i.isNegative() ? this.neg().mul(i.neg()) : this.neg().mul(i).neg();
if (i.isNegative())
return this.mul(i.neg()).neg();
if (this.lt(N) && i.lt(N))
return u(this.toNumber() * i.toNumber(), this.unsigned);
var E = this.high >>> 16, $ = this.high & 65535, x = this.low >>> 16, M = this.low & 65535, C = i.high >>> 16, L = i.high & 65535, R = i.low >>> 16, B = i.low & 65535, J = 0, U = 0, D = 0, W = 0;
return W += M * B, D += W >>> 16, W &= 65535, D += x * B, U += D >>> 16, D &= 65535, D += M * R, U += D >>> 16, D &= 65535, U += $ * B, J += U >>> 16, U &= 65535, U += x * R, J += U >>> 16, U &= 65535, U += M * L, J += U >>> 16, U &= 65535, J += E * B + $ * R + x * L + M * C, J &= 65535, l(D << 16 | W, J << 16 | U, this.unsigned);
}, b.mul = b.multiply, b.divide = function(i) {
if (o(i) || (i = m(i)), i.isZero())
throw Error("division by zero");
if (r) {
if (!this.unsigned && this.high === -2147483648 && i.low === -1 && i.high === -1)
return this;
var v = (this.unsigned ? r.div_u : r.div_s)(
this.low,
this.high,
i.low,
i.high
);
return l(v, r.get_high(), this.unsigned);
}
if (this.isZero())
return this.unsigned ? S : y;
var E, $, x;
if (this.unsigned) {
if (i.unsigned || (i = i.toUnsigned()), i.gt(this))
return S;
if (i.gt(this.shru(1)))
return T;
x = S;
} else {
if (this.eq(P)) {
if (i.eq(O) || i.eq(I))
return P;
if (i.eq(P))
return O;
var M = this.shr(1);
return E = M.div(i).shl(1), E.eq(y) ? i.isNegative() ? O : I : ($ = this.sub(i.mul(E)), x = E.add($.div(i)), x);
} else if (i.eq(P))
return this.unsigned ? S : y;
if (this.isNegative())
return i.isNegative() ? this.neg().div(i.neg()) : this.neg().div(i).neg();
if (i.isNegative())
return this.div(i.neg()).neg();
x = y;
}
for ($ = this; $.gte(i); ) {
E = Math.max(1, Math.floor($.toNumber() / i.toNumber()));
for (var C = Math.ceil(Math.log(E) / Math.LN2), L = C <= 48 ? 1 : f(2, C - 48), R = u(E), B = R.mul(i); B.isNegative() || B.gt($); )
E -= L, R = u(E, this.unsigned), B = R.mul(i);
R.isZero() && (R = O), x = x.add(R), $ = $.sub(B);
}
return x;
}, b.div = b.divide, b.modulo = function(i) {
if (o(i) || (i = m(i)), r) {
var v = (this.unsigned ? r.rem_u : r.rem_s)(
this.low,
this.high,
i.low,
i.high
);
return l(v, r.get_high(), this.unsigned);
}
return this.sub(this.div(i).mul(i));
}, b.mod = b.modulo, b.rem = b.modulo, b.not = function() {
return l(~this.low, ~this.high, this.unsigned);
}, b.and = function(i) {
return o(i) || (i = m(i)), l(this.low & i.low, this.high & i.high, this.unsigned);
}, b.or = function(i) {
return o(i) || (i = m(i)), l(this.low | i.low, this.high | i.high, this.unsigned);
}, b.xor = function(i) {
return o(i) || (i = m(i)), l(this.low ^ i.low, this.high ^ i.high, this.unsigned);
}, b.shiftLeft = function(i) {
return o(i) && (i = i.toInt()), (i &= 63) === 0 ? this : i < 32 ? l(this.low << i, this.high << i | this.low >>> 32 - i, this.unsigned) : l(0, this.low << i - 32, this.unsigned);
}, b.shl = b.shiftLeft, b.shiftRight = function(i) {
return o(i) && (i = i.toInt()), (i &= 63) === 0 ? this : i < 32 ? l(this.low >>> i | this.high << 32 - i, this.high >> i, this.unsigned) : l(this.high >> i - 32, this.high >= 0 ? 0 : -1, this.unsigned);
}, b.shr = b.shiftRight, b.shiftRightUnsigned = function(i) {
if (o(i) && (i = i.toInt()), i &= 63, i === 0)
return this;
var v = this.high;
if (i < 32) {
var E = this.low;
return l(E >>> i | v << 32 - i, v >>> i, this.unsigned);
} else
return i === 32 ? l(v, 0, this.unsigned) : l(v >>> i - 32, 0, this.unsigned);
}, b.shru = b.shiftRightUnsigned, b.shr_u = b.shiftRightUnsigned, b.toSigned = function() {
return this.unsigned ? l(this.low, this.high, !1) : this;
}, b.toUnsigned = function() {
return this.unsigned ? this : l(this.low, this.high, !0);
}, b.toBytes = function(i) {
return i ? this.toBytesLE() : this.toBytesBE();
}, b.toBytesLE = function() {
var i = this.high, v = this.low;
return [
v & 255,
v >>> 8 & 255,
v >>> 16 & 255,
v >>> 24,
i & 255,
i >>> 8 & 255,
i >>> 16 & 255,
i >>> 24
];
}, b.toBytesBE = function() {
var i = this.high, v = this.low;
return [
i >>> 24,
i >>> 16 & 255,
i >>> 8 & 255,
i & 255,
v >>> 24,
v >>> 16 & 255,
v >>> 8 & 255,
v & 255
];
}, a.fromBytes = function(i, v, E) {
return E ? a.fromBytesLE(i, v) : a.fromBytesBE(i, v);
}, a.fromBytesLE = function(i, v) {
return new a(
i[0] | i[1] << 8 | i[2] << 16 | i[3] << 24,
i[4] | i[5] << 8 | i[6] << 16 | i[7] << 24,
v
);
}, a.fromBytesBE = function(i, v) {
return new a(
i[4] << 24 | i[5] << 16 | i[6] << 8 | i[7],
i[0] << 24 | i[1] << 16 | i[2] << 8 | i[3],
v
);
};
}
});
const __vite__cjsImport0_long = require_long(), Long = __vite__cjsImport0_long, _m0$4 = __vite__cjsImport0_protobufjs_minimal;
function createBasePacketWrapper() {
return { packetId: 0, packetData: new Uint8Array() };
}
const PacketWrapper = {
encode(e, t = _m0$4.Writer.create()) {
return e.packetId !== 0 && t.uint32(8).int64(e.packetId), e.packetData.length !== 0 && t.uint32(18).bytes(e.packetData), t;
},
decode(e, t) {
const r = e instanceof _m0$4.Reader ? e : _m0$4.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBasePacketWrapper();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 8)
break;
o.packetId = longToNumber(r.int64());
continue;
case 2:
if (n != 18)
break;
o.packetData = r.bytes();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {
packetId: isSet$4(e.packetId) ? Number(e.packetId) : 0,
packetData: isSet$4(e.packetData) ? bytesFromBase64(e.packetData) : new Uint8Array()
};
},
toJSON(e) {
const t = {};
return e.packetId !== void 0 && (t.packetId = Math.round(e.packetId)), e.packetData !== void 0 && (t.packetData = base64FromBytes(e.packetData !== void 0 ? e.packetData : new Uint8Array())), t;
},
create(e) {
return PacketWrapper.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBasePacketWrapper();
return t.packetId = e.packetId ?? 0, t.packetData = e.packetData ?? new Uint8Array(), t;
}
};
var tsProtoGlobalThis = (() => {
if (typeof globalThis < "u")
return globalThis;
if (typeof self < "u")
return self;
if (typeof window < "u")
return window;
if (typeof global < "u")
return global;
throw "Unable to locate global object";
})();
function bytesFromBase64(e) {
if (tsProtoGlobalThis.Buffer)
return Uint8Array.from(tsProtoGlobalThis.Buffer.from(e, "base64"));
{
const t = tsProtoGlobalThis.atob(e), r = new Uint8Array(t.length);
for (let a = 0; a < t.length; ++a)
r[a] = t.charCodeAt(a);
return r;
}
}
function base64FromBytes(e) {
if (tsProtoGlobalThis.Buffer)
return tsProtoGlobalThis.Buffer.from(e).toString("base64");
{
const t = [];
return e.forEach((r) => {
t.push(String.fromCharCode(r));
}), tsProtoGlobalThis.btoa(t.join(""));
}
}
function longToNumber(e) {
if (e.gt(Number.MAX_SAFE_INTEGER))
throw new tsProtoGlobalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER");
return e.toNumber();
}
_m0$4.util.Long !== Long && (_m0$4.util.Long = Long, _m0$4.configure());
function isSet$4(e) {
return e != null;
}
function encode(e, t) {
return PacketWrapper.encode({
packetId: e,
packetData: t
}).finish();
}
function decode(e) {
let t = PacketWrapper.decode(e);
return [t.packetId, t.packetData];
}
const _m0$3 = __vite__cjsImport0_protobufjs_minimal;
var ModuleType = /* @__PURE__ */ ((e) => (e[e.UNKNOWN = 0] = "UNKNOWN", e[e.Cargo = 1] = "Cargo", e[e.LandingThruster = 2] = "LandingThruster", e[e.LandingThrusterSuspension = 3] = "LandingThrusterSuspension", e[e.Hub = 4] = "Hub", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(ModuleType || {});
function moduleTypeFromJSON(e) {
switch (e) {
case 0:
case "UNKNOWN":
return 0;
case 1:
case "Cargo":
return 1;
case 2:
case "LandingThruster":
return 2;
case 3:
case "LandingThrusterSuspension":
return 3;
case 4:
case "Hub":
return 4;
case -1:
case "UNRECOGNIZED":
default:
return -1;
}
}
function moduleTypeToJSON(e) {
switch (e) {
case 0:
return "UNKNOWN";
case 1:
return "Cargo";
case 2:
return "LandingThruster";
case 3:
return "LandingThrusterSuspension";
case 4:
return "Hub";
case -1:
default:
return "UNRECOGNIZED";
}
}
function createBaseModule() {
return { moduleType: 0, rotation: 0, x: 0, y: 0, id: 0, flags: 0, children: [] };
}
const Module = {
encode(e, t = _m0$3.Writer.create()) {
e.moduleType !== 0 && t.uint32(8).int32(e.moduleType), e.rotation !== 0 && t.uint32(17).double(e.rotation), e.x !== 0 && t.uint32(25).double(e.x), e.y !== 0 && t.uint32(33).double(e.y), e.id !== 0 && t.uint32(40).uint32(e.id), e.flags !== 0 && t.uint32(48).uint32(e.flags);
for (const r of e.children)
Attachment.encode(r, t.uint32(58).fork()).ldelim();
return t;
},
decode(e, t) {
const r = e instanceof _m0$3.Reader ? e : _m0$3.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseModule();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 8)
break;
o.moduleType = r.int32();
continue;
case 2:
if (n != 17)
break;
o.rotation = r.double();
continue;
case 3:
if (n != 25)
break;
o.x = r.double();
continue;
case 4:
if (n != 33)
break;
o.y = r.double();
continue;
case 5:
if (n != 40)
break;
o.id = r.uint32();
continue;
case 6:
if (n != 48)
break;
o.flags = r.uint32();
continue;
case 7:
if (n != 58)
break;
o.children.push(Attachment.decode(r, r.uint32()));
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {
moduleType: isSet$3(e.moduleType) ? moduleTypeFromJSON(e.moduleType) : 0,
rotation: isSet$3(e.rotation) ? Number(e.rotation) : 0,
x: isSet$3(e.x) ? Number(e.x) : 0,
y: isSet$3(e.y) ? Number(e.y) : 0,
id: isSet$3(e.id) ? Number(e.id) : 0,
flags: isSet$3(e.flags) ? Number(e.flags) : 0,
children: Array.isArray(e == null ? void 0 : e.children) ? e.children.map((t) => Attachment.fromJSON(t)) : []
};
},
toJSON(e) {
const t = {};
return e.moduleType !== void 0 && (t.moduleType = moduleTypeToJSON(e.moduleType)), e.rotation !== void 0 && (t.rotation = e.rotation), e.x !== void 0 && (t.x = e.x), e.y !== void 0 && (t.y = e.y), e.id !== void 0 && (t.id = Math.round(e.id)), e.flags !== void 0 && (t.flags = Math.round(e.flags)), e.children ? t.children = e.children.map((r) => r ? Attachment.toJSON(r) : void 0) : t.children = [], t;
},
create(e) {
return Module.fromPartial(e ?? {});
},
fromPartial(e) {
var r;
const t = createBaseModule();
return t.moduleType = e.moduleType ?? 0, t.rotation = e.rotation ?? 0, t.x = e.x ?? 0, t.y = e.y ?? 0, t.id = e.id ?? 0, t.flags = e.flags ?? 0, t.children = ((r = e.children) == null ? void 0 : r.map((a) => Attachment.fromPartial(a))) || [], t;
}
};
function createBaseAttachedModule() {
return { moduleType: 0, rotation: 0, x: 0, y: 0, id: 0, children: [] };
}
const AttachedModule = {
encode(e, t = _m0$3.Writer.create()) {
e.moduleType !== 0 && t.uint32(8).int32(e.moduleType), e.rotation !== 0 && t.uint32(17).double(e.rotation), e.x !== 0 && t.uint32(25).double(e.x), e.y !== 0 && t.uint32(33).double(e.y), e.id !== 0 && t.uint32(40).uint32(e.id);
for (const r of e.children)
Attachment.encode(r, t.uint32(50).fork()).ldelim();
return t;
},
decode(e, t) {
const r = e instanceof _m0$3.Reader ? e : _m0$3.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseAttachedModule();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 8)
break;
o.moduleType = r.int32();
continue;
case 2:
if (n != 17)
break;
o.rotation = r.double();
continue;
case 3:
if (n != 25)
break;
o.x = r.double();
continue;
case 4:
if (n != 33)
break;
o.y = r.double();
continue;
case 5:
if (n != 40)
break;
o.id = r.uint32();
continue;
case 6:
if (n != 50)
break;
o.children.push(Attachment.decode(r, r.uint32()));
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {
moduleType: isSet$3(e.moduleType) ? moduleTypeFromJSON(e.moduleType) : 0,
rotation: isSet$3(e.rotation) ? Number(e.rotation) : 0,
x: isSet$3(e.x) ? Number(e.x) : 0,
y: isSet$3(e.y) ? Number(e.y) : 0,
id: isSet$3(e.id) ? Number(e.id) : 0,
children: Array.isArray(e == null ? void 0 : e.children) ? e.children.map((t) => Attachment.fromJSON(t)) : []
};
},
toJSON(e) {
const t = {};
return e.moduleType !== void 0 && (t.moduleType = moduleTypeToJSON(e.moduleType)), e.rotation !== void 0 && (t.rotation = e.rotation), e.x !== void 0 && (t.x = e.x), e.y !== void 0 && (t.y = e.y), e.id !== void 0 && (t.id = Math.round(e.id)), e.children ? t.children = e.children.map((r) => r ? Attachment.toJSON(r) : void 0) : t.children = [], t;
},
create(e) {
return AttachedModule.fromPartial(e ?? {});
},
fromPartial(e) {
var r;
const t = createBaseAttachedModule();
return t.moduleType = e.moduleType ?? 0, t.rotation = e.rotation ?? 0, t.x = e.x ?? 0, t.y = e.y ?? 0, t.id = e.id ?? 0, t.children = ((r = e.children) == null ? void 0 : r.map((a) => Attachment.fromPartial(a))) || [], t;
}
};
function createBaseAttachment() {
return { id: 0, slot: 0 };
}
const Attachment = {
encode(e, t = _m0$3.Writer.create()) {
return e.id !== 0 && t.uint32(8).uint32(e.id), e.slot !== 0 && t.uint32(16).uint32(e.slot), t;
},
decode(e, t) {
const r = e instanceof _m0$3.Reader ? e : _m0$3.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseAttachment();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 8)
break;
o.id = r.uint32();
continue;
case 2:
if (n != 16)
break;
o.slot = r.uint32();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return { id: isSet$3(e.id) ? Number(e.id) : 0, slot: isSet$3(e.slot) ? Number(e.slot) : 0 };
},
toJSON(e) {
const t = {};
return e.id !== void 0 && (t.id = Math.round(e.id)), e.slot !== void 0 && (t.slot = Math.round(e.slot)), t;
},
create(e) {
return Attachment.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseAttachment();
return t.id = e.id ?? 0, t.slot = e.slot ?? 0, t;
}
};
function isSet$3(e) {
return e != null;
}
const _m0$2 = __vite__cjsImport0_protobufjs_minimal;
var PlanetType = /* @__PURE__ */ ((e) => (e[e.UNKNOWN = 0] = "UNKNOWN", e[e.Earth = 1] = "Earth", e[e.Moon = 2] = "Moon", e[e.Mars = 3] = "Mars", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(PlanetType || {});
function planetTypeFromJSON(e) {
switch (e) {
case 0:
case "UNKNOWN":
return 0;
case 1:
case "Earth":
return 1;
case 2:
case "Moon":
return 2;
case 3:
case "Mars":
return 3;
case -1:
case "UNRECOGNIZED":
default:
return -1;
}
}
function planetTypeToJSON(e) {
switch (e) {
case 0:
return "UNKNOWN";
case 1:
return "Earth";
case 2:
return "Moon";
case 3:
return "Mars";
case -1:
default:
return "UNRECOGNIZED";
}
}
function createBasePlanet() {
return { planetType: 0, x: 0, y: 0, radius: 0 };
}
const Planet = {
encode(e, t = _m0$2.Writer.create()) {
return e.planetType !== 0 && t.uint32(8).int32(e.planetType), e.x !== 0 && t.uint32(17).double(e.x), e.y !== 0 && t.uint32(25).double(e.y), e.radius !== 0 && t.uint32(33).double(e.radius), t;
},
decode(e, t) {
const r = e instanceof _m0$2.Reader ? e : _m0$2.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBasePlanet();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 8)
break;
o.planetType = r.int32();
continue;
case 2:
if (n != 17)
break;
o.x = r.double();
continue;
case 3:
if (n != 25)
break;
o.y = r.double();
continue;
case 4:
if (n != 33)
break;
o.radius = r.double();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {
planetType: isSet$2(e.planetType) ? planetTypeFromJSON(e.planetType) : 0,
x: isSet$2(e.x) ? Number(e.x) : 0,
y: isSet$2(e.y) ? Number(e.y) : 0,
radius: isSet$2(e.radius) ? Number(e.radius) : 0
};
},
toJSON(e) {
const t = {};
return e.planetType !== void 0 && (t.planetType = planetTypeToJSON(e.planetType)), e.x !== void 0 && (t.x = e.x), e.y !== void 0 && (t.y = e.y), e.radius !== void 0 && (t.radius = e.radius), t;
},
create(e) {
return Planet.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBasePlanet();
return t.planetType = e.planetType ?? 0, t.x = e.x ?? 0, t.y = e.y ?? 0, t.radius = e.radius ?? 0, t;
}
};
function isSet$2(e) {
return e != null;
}
const _m0$1 = __vite__cjsImport0_protobufjs_minimal;
function createBasePlayer() {
return { rotation: 0, x: 0, y: 0, username: "" };
}
const Player = {
encode(e, t = _m0$1.Writer.create()) {
return e.rotation !== 0 && t.uint32(9).double(e.rotation), e.x !== 0 && t.uint32(17).double(e.x), e.y !== 0 && t.uint32(25).double(e.y), e.username !== "" && t.uint32(34).string(e.username), t;
},
decode(e, t) {
const r = e instanceof _m0$1.Reader ? e : _m0$1.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBasePlayer();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 9)
break;
o.rotation = r.double();
continue;
case 2:
if (n != 17)
break;
o.x = r.double();
continue;
case 3:
if (n != 25)
break;
o.y = r.double();
continue;
case 4:
if (n != 34)
break;
o.username = r.string();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {
rotation: isSet$1(e.rotation) ? Number(e.rotation) : 0,
x: isSet$1(e.x) ? Number(e.x) : 0,
y: isSet$1(e.y) ? Number(e.y) : 0,
username: isSet$1(e.username) ? String(e.username) : ""
};
},
toJSON(e) {
const t = {};
return e.rotation !== void 0 && (t.rotation = e.rotation), e.x !== void 0 && (t.x = e.x), e.y !== void 0 && (t.y = e.y), e.username !== void 0 && (t.username = e.username), t;
},
create(e) {
return Player.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBasePlayer();
return t.rotation = e.rotation ?? 0, t.x = e.x ?? 0, t.y = e.y ?? 0, t.username = e.username ?? "", t;
}
};
function isSet$1(e) {
return e != null;
}
const _m0 = __vite__cjsImport0_protobufjs_minimal;
var MessageS2CHello_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 5] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageS2CHello_packetInfo || {}), MessageS2CGoodbye_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 6] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageS2CGoodbye_packetInfo || {}), MessageS2CChat_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 7] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageS2CChat_packetInfo || {}), MessageS2CPong_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 8] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageS2CPong_packetInfo || {}), MessageS2CPlayersUpdate_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 9] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageS2CPlayersUpdate_packetInfo || {}), MessageS2CPlanetData_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 10] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageS2CPlanetData_packetInfo || {}), MessageS2CModulesUpdate_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 11] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageS2CModulesUpdate_packetInfo || {}), MessageS2CModuleTreeUpdate_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 12] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageS2CModuleTreeUpdate_packetInfo || {}), MessageS2CModuleAdd_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 13] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageS2CModuleAdd_packetInfo || {}), MessageS2CModuleRemove_packetInfo = /* @__PURE__ */ ((e) => (e[e.unknown = 0] = "unknown", e[e.type = 14] = "type", e[e.UNRECOGNIZED = -1] = "UNRECOGNIZED", e))(MessageS2CModuleRemove_packetInfo || {});
function createBaseMessageS2CHello() {
return { version: 0, givenUsername: "", nextState: 0 };
}
const MessageS2CHello = {
encode(e, t = _m0.Writer.create()) {
return e.version !== 0 && t.uint32(8).uint32(e.version), e.givenUsername !== "" && t.uint32(18).string(e.givenUsername), e.nextState !== 0 && t.uint32(24).int32(e.nextState), t;
},
decode(e, t) {
const r = e instanceof _m0.Reader ? e : _m0.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageS2CHello();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 8)
break;
o.version = r.uint32();
continue;
case 2:
if (n != 18)
break;
o.givenUsername = r.string();
continue;
case 3:
if (n != 24)
break;
o.nextState = r.int32();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {
version: isSet(e.version) ? Number(e.version) : 0,
givenUsername: isSet(e.givenUsername) ? String(e.givenUsername) : "",
nextState: isSet(e.nextState) ? stateFromJSON(e.nextState) : 0
};
},
toJSON(e) {
const t = {};
return e.version !== void 0 && (t.version = Math.round(e.version)), e.givenUsername !== void 0 && (t.givenUsername = e.givenUsername), e.nextState !== void 0 && (t.nextState = stateToJSON(e.nextState)), t;
},
create(e) {
return MessageS2CHello.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseMessageS2CHello();
return t.version = e.version ?? 0, t.givenUsername = e.givenUsername ?? "", t.nextState = e.nextState ?? 0, t;
}
};
function createBaseMessageS2CGoodbye() {
return { reason: 0 };
}
const MessageS2CGoodbye = {
encode(e, t = _m0.Writer.create()) {
return e.reason !== 0 && t.uint32(8).int32(e.reason), t;
},
decode(e, t) {
const r = e instanceof _m0.Reader ? e : _m0.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageS2CGoodbye();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 8)
break;
o.reason = r.int32();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return { reason: isSet(e.reason) ? goodbyeReasonFromJSON(e.reason) : 0 };
},
toJSON(e) {
const t = {};
return e.reason !== void 0 && (t.reason = goodbyeReasonToJSON(e.reason)), t;
},
create(e) {
return MessageS2CGoodbye.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseMessageS2CGoodbye();
return t.reason = e.reason ?? 0, t;
}
};
function createBaseMessageS2CChat() {
return { from: "", message: "" };
}
const MessageS2CChat = {
encode(e, t = _m0.Writer.create()) {
return e.from !== "" && t.uint32(10).string(e.from), e.message !== "" && t.uint32(18).string(e.message), t;
},
decode(e, t) {
const r = e instanceof _m0.Reader ? e : _m0.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageS2CChat();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 10)
break;
o.from = r.string();
continue;
case 2:
if (n != 18)
break;
o.message = r.string();
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return {
from: isSet(e.from) ? String(e.from) : "",
message: isSet(e.message) ? String(e.message) : ""
};
},
toJSON(e) {
const t = {};
return e.from !== void 0 && (t.from = e.from), e.message !== void 0 && (t.message = e.message), t;
},
create(e) {
return MessageS2CChat.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseMessageS2CChat();
return t.from = e.from ?? "", t.message = e.message ?? "", t;
}
};
function createBaseMessageS2CPlayersUpdate() {
return { players: [] };
}
const MessageS2CPlayersUpdate = {
encode(e, t = _m0.Writer.create()) {
for (const r of e.players)
Player.encode(r, t.uint32(10).fork()).ldelim();
return t;
},
decode(e, t) {
const r = e instanceof _m0.Reader ? e : _m0.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageS2CPlayersUpdate();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 10)
break;
o.players.push(Player.decode(r, r.uint32()));
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return { players: Array.isArray(e == null ? void 0 : e.players) ? e.players.map((t) => Player.fromJSON(t)) : [] };
},
toJSON(e) {
const t = {};
return e.players ? t.players = e.players.map((r) => r ? Player.toJSON(r) : void 0) : t.players = [], t;
},
create(e) {
return MessageS2CPlayersUpdate.fromPartial(e ?? {});
},
fromPartial(e) {
var r;
const t = createBaseMessageS2CPlayersUpdate();
return t.players = ((r = e.players) == null ? void 0 : r.map((a) => Player.fromPartial(a))) || [], t;
}
};
function createBaseMessageS2CPlanetData() {
return { planets: [] };
}
const MessageS2CPlanetData = {
encode(e, t = _m0.Writer.create()) {
for (const r of e.planets)
Planet.encode(r, t.uint32(10).fork()).ldelim();
return t;
},
decode(e, t) {
const r = e instanceof _m0.Reader ? e : _m0.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageS2CPlanetData();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 10)
break;
o.planets.push(Planet.decode(r, r.uint32()));
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return { planets: Array.isArray(e == null ? void 0 : e.planets) ? e.planets.map((t) => Planet.fromJSON(t)) : [] };
},
toJSON(e) {
const t = {};
return e.planets ? t.planets = e.planets.map((r) => r ? Planet.toJSON(r) : void 0) : t.planets = [], t;
},
create(e) {
return MessageS2CPlanetData.fromPartial(e ?? {});
},
fromPartial(e) {
var r;
const t = createBaseMessageS2CPlanetData();
return t.planets = ((r = e.planets) == null ? void 0 : r.map((a) => Planet.fromPartial(a))) || [], t;
}
};
function createBaseMessageS2CModulesUpdate() {
return { modules: [] };
}
const MessageS2CModulesUpdate = {
encode(e, t = _m0.Writer.create()) {
for (const r of e.modules)
Module.encode(r, t.uint32(10).fork()).ldelim();
return t;
},
decode(e, t) {
const r = e instanceof _m0.Reader ? e : _m0.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageS2CModulesUpdate();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 10)
break;
o.modules.push(Module.decode(r, r.uint32()));
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return { modules: Array.isArray(e == null ? void 0 : e.modules) ? e.modules.map((t) => Module.fromJSON(t)) : [] };
},
toJSON(e) {
const t = {};
return e.modules ? t.modules = e.modules.map((r) => r ? Module.toJSON(r) : void 0) : t.modules = [], t;
},
create(e) {
return MessageS2CModulesUpdate.fromPartial(e ?? {});
},
fromPartial(e) {
var r;
const t = createBaseMessageS2CModulesUpdate();
return t.modules = ((r = e.modules) == null ? void 0 : r.map((a) => Module.fromPartial(a))) || [], t;
}
};
function createBaseMessageS2CModuleTreeUpdate() {
return { tree: [] };
}
const MessageS2CModuleTreeUpdate = {
encode(e, t = _m0.Writer.create()) {
for (const r of e.tree)
AttachedModule.encode(r, t.uint32(10).fork()).ldelim();
return t;
},
decode(e, t) {
const r = e instanceof _m0.Reader ? e : _m0.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageS2CModuleTreeUpdate();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 10)
break;
o.tree.push(AttachedModule.decode(r, r.uint32()));
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return { tree: Array.isArray(e == null ? void 0 : e.tree) ? e.tree.map((t) => AttachedModule.fromJSON(t)) : [] };
},
toJSON(e) {
const t = {};
return e.tree ? t.tree = e.tree.map((r) => r ? AttachedModule.toJSON(r) : void 0) : t.tree = [], t;
},
create(e) {
return MessageS2CModuleTreeUpdate.fromPartial(e ?? {});
},
fromPartial(e) {
var r;
const t = createBaseMessageS2CModuleTreeUpdate();
return t.tree = ((r = e.tree) == null ? void 0 : r.map((a) => AttachedModule.fromPartial(a))) || [], t;
}
};
function createBaseMessageS2CModuleAdd() {
return { module: void 0 };
}
const MessageS2CModuleAdd = {
encode(e, t = _m0.Writer.create()) {
return e.module !== void 0 && AttachedModule.encode(e.module, t.uint32(10).fork()).ldelim(), t;
},
decode(e, t) {
const r = e instanceof _m0.Reader ? e : _m0.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageS2CModuleAdd();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 10)
break;
o.module = AttachedModule.decode(r, r.uint32());
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return { module: isSet(e.module) ? AttachedModule.fromJSON(e.module) : void 0 };
},
toJSON(e) {
const t = {};
return e.module !== void 0 && (t.module = e.module ? AttachedModule.toJSON(e.module) : void 0), t;
},
create(e) {
return MessageS2CModuleAdd.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseMessageS2CModuleAdd();
return t.module = e.module !== void 0 && e.module !== null ? AttachedModule.fromPartial(e.module) : void 0, t;
}
};
function createBaseMessageS2CModuleRemove() {
return { module: void 0 };
}
const MessageS2CModuleRemove = {
encode(e, t = _m0.Writer.create()) {
return e.module !== void 0 && Module.encode(e.module, t.uint32(10).fork()).ldelim(), t;
},
decode(e, t) {
const r = e instanceof _m0.Reader ? e : _m0.Reader.create(e);
let a = t === void 0 ? r.len : r.pos + t;
const o = createBaseMessageS2CModuleRemove();
for (; r.pos < a; ) {
const n = r.uint32();
switch (n >>> 3) {
case 1:
if (n != 10)
break;
o.module = Module.decode(r, r.uint32());
continue;
}
if ((n & 7) == 4 || n == 0)
break;
r.skipType(n & 7);
}
return o;
},
fromJSON(e) {
return { module: isSet(e.module) ? Module.fromJSON(e.module) : void 0 };
},
toJSON(e) {
const t = {};
return e.module !== void 0 && (t.module = e.module ? Module.toJSON(e.module) : void 0), t;
},
create(e) {
return MessageS2CModuleRemove.fromPartial(e ?? {});
},
fromPartial(e) {
const t = createBaseMessageS2CModuleRemove();
return t.module = e.module !== void 0 && e.module !== null ? Module.fromPartial(e.module) : void 0, t;
}
};
function isSet(e) {
return e != null;
}
const logger$1 = new Logger("Gateway");
async function gateway_connect(e, t) {
logger$1.info("FAST CONNECT - Connecting to gateway socket at " + e);
let r = await _websocket_connect(e);
logger$1.debug("[fastconnect] connected to gateway, performing handshake with server");
let a = {
state: State.Handshake,
socket: r,
username: null,
version: null,
ping_timeout: null,
ping_timeout_left: null
}, o = () => {
logger$1.error("Server didn't send back pong in time.");
let s = MessageC2SGoodbye.encode({ reason: GoodbyeReason.PingPongTimeout }).finish();
a.socket.send(encode(MessageC2SGoodbye_packetInfo.type, s)), a.state = State.Handshake, a.username = null, a.version = null, a.socket.close();
};
a.ping_timeout_left = setTimeout(o, 10 * 1e3);
let n = () => {
let s = MessageC2SPing.encode({}).finish();
a.socket.send(encode(MessageC2SPing_packetInfo.type, s)), setTimeout(n, 5 * 1e3);
};
a.ping_timeout = setTimeout(n, 5 * 1e3);
let g;
return global$1.can_beam_out ? g = MessageC2SHello.encode({
version: 6,
requestedUsername: t,
nextState: State.Play,
user: window.localStorage.getItem("user"),
token: window.localStorage.getItem("token")
}).finish() : g = MessageC2SHello.encode({
version: 6,
requestedUsername: t,
nextState: State.Play,
// @ts-ignore
user: "",
//null,
// @ts-ignore
token: ""
//null
}).finish(), a.socket.send(encode(MessageC2SHello_packetInfo.type, g)), a.socket.addEventListener("message", async (s) => {
let u = decode(new Uint8Array(await s.data.arrayBuffer())), l = u[0], f = u[1];
if (l != 0) {
if (a.state == State.Handshake)
if (l == MessageS2CHello_packetInfo.type) {
let d = MessageS2CHello.decode(f);
logger$1.info(`FAST CONNECT - Handshake finished with server with protocol v${d.version}, assigned username ${d.givenUsername}, switching to state ${d.nextState}`), a.state = d.nextState, a.username = d.givenUsername, a.version = d.version;
} else if (l == MessageS2CGoodbye_packetInfo.type) {
let d = MessageS2CGoodbye.decode(f);
throw logger$1.error(`Disconnected by server. Reason: ${d.reason}`), a.state = State.Handshake, a.username = null, a.version = null, "Disconnected by server";
} else
logger$1.warn(`server sent unexpected packet ${l} for state Handshake`);
else if (a.state == State.Play)
if (l == MessageS2CGoodbye_packetInfo.type) {
let d = MessageS2CGoodbye.decode(f);
throw logger$1.error(`Disconnected by server. Reason: ${d.reason}`), a.state = State.Handshake, a.username = null, a.version = null, "Disconnected by server";
} else if (l == MessageS2CChat_packetInfo.type) {
let d = MessageS2CChat.decode(f);
logger$1.info(`CHAT: [${d.from}] ${d.message}`);
} else if (l == MessageS2CPong_packetInfo.type)
clearTimeout(a.ping_timeout_left), a.ping_timeout_left = setTimeout(o, 10 * 1e3);
else if (l == MessageS2CPlayersUpdate_packetInfo.type) {
let d = MessageS2CPlayersUpdate.decode(f);
global$1.players = d.players;
for (let m = 0; m < d.players.length; m++)
if (d.players[m].username == a.username) {
if (global$1.me !== null) {
let h = (global$1.me.x - d.players[m].x) / 0.05, c = (global$1.me.y - d.players[m].y) / (1 / 20), p = Math.sqrt(h * h + c * c);
global$1.x_vel = h, global$1.y_vel = c, global$1.velocity = p, global$1.direction_radians = Math.atan2(global$1.y_vel, global$1.x_vel);
}
global$1.me = d.players[m];
}
} else if (l == MessageS2CPlanetData_packetInfo.type) {
let d = MessageS2CPlanetData.decode(f);
global$1.planets = d.planets;
} else if (l == MessageS2CModulesUpdate_packetInfo.type) {
let d = MessageS2CModulesUpdate.decode(f);
global$1.modules = d.modules;
} else if (l == MessageS2CModuleAdd_packetInfo.type) {
let d = MessageS2CModuleAdd.decode(f), m = {
module_type: d.module.moduleType,
rotation: d.module.rotation,
x: d.module.x,
y: d.module.y,
children: d.module.children
};
global$1.tree.set(d.module.id, m), global$1.clicked = null;
} else if (l == MessageS2CModuleRemove_packetInfo.type) {
let d = MessageS2CModuleRemove.decode(f);
global$1.clicked = d.module.id;
} else if (l == MessageS2CModuleTreeUpdate_packetInfo.type) {
let d = MessageS2CModuleTreeUpdate.decode(f), m = /* @__PURE__ */ new Map();
d.tree.forEach((h) => {
m.set(h.id, {
module_type: h.moduleType,
rotation: h.rotation,
x: h.x,
y: h.y,
children: h.children
});
}), global$1.tree = m;
} else
logger$1.warn(`server sent unexpected packet ${l} for state Play`);
}
}), a;
}
let socket;
function _websocket_connect(e) {
return socket && socket.readyState < 2 ? Promise.resolve(socket) : new Promise((t, r) => {
socket = new WebSocket(e), socket.onopen = () => {
t(socket);
}, socket.onerror = (a) => {
r(a);
};
});
}
let particles = [];
function createParticle(e) {
particles.push(e);
}
function lerp(e, t, r) {
return e + r * (t - e);
}
function drawParticle(e) {
let t = e.timer / e.lifetime, r = lerp(e.startSize, e.finalSize, t), a = lerp(e.startRotation, e.finalRotation, t);
global$1.context.save(), global$1.context.translate(e.x - global$1.me.x, e.y - global$1.me.y), global$1.context.rotate(a);
let o = Math.trunc(lerp(e.startOpacity, e.endOpacity, t)), n = Math.trunc(lerp(e.startR, e.endR, t)), g = Math.trunc(lerp(e.startG, e.endG, t)), s = Math.trunc(lerp(e.startB, e.endB, t));
global$1.context.fillStyle = `rgb(${n} ${g} ${s} / ${o}%)`, global$1.context.fillRect(-r / 2, -r / 2, r, r), global$1.context.restore();
}
function drawParticles() {
for (let e = 0; e < particles.length; e++)
drawParticle(particles[e]);
}
function tickParticles(e) {
let t = [];
for (let r = 0; r < particles.length; r++)
particles[r].timer += e, particles[r].x += particles[r].velocity_x * e, particles[r].y += particles[r].velocity_y * e, particles[r].timer > particles[r].lifetime ? console.log("dropping particle") : t.push(particles[r]);
particles = t;
}
function tickAndDrawParticles(e) {
tickParticles(e), drawParticles();
}
logSetup();
const logger = new Logger("client"), global$1 = {
client: null,
players: [],
planets: [],
modules: [],
me: null,
canvas: document.getElementById("canvas"),
spritesheet_img: null,
spritesheet: null,
context: document.getElementById("canvas").getContext("2d"),
keys: {
up: !1,
down: !1,
left: !1,
right: !1
},
velocity: 0,
x_vel: 0,
y_vel: 0,
can_beam_out: !1,
direction_radians: 0,
mouse_x: 0,
mouse_y: 0,
tree: /* @__PURE__ */ new Map(),
clicked: null
};
async function client_main(e, t, r) {
logger.info("StarKingdoms client - starting"), window.localStorage.getItem("token") !== null && window.localStorage.getItem("user") !== null && (global$1.can_beam_out = !0, document.getElementById("beamout").style.setProperty("display", "block"), document.getElementById("beamout").addEventListener("click", () => {
var m;
let d = MessageC2SAuthenticateAndBeamOut.encode({
userId: window.localStorage.getItem("user"),
token: window.localStorage.getItem("token")
}).finish();
(m = global$1.client) == null || m.socket.send(encode(MessageC2SAuthenticateAndBeamOut_packetInfo.type, d));
})), logger.info("Loading textures");
let a = `/assets/dist/spritesheet-${r}.png`, o = `/assets/dist/spritesheet-${r}.json`;
await new Promise(async (d) => {
const m = new Promise((w, k) => {
const N = document.createElement("img");
N.src = a, N.onload = () => {
w(N);
}, N.onerror = (y) => k(y);
}), h = fetch(o).then((w) => w.json());
let c = await m, p = await h;
global$1.spritesheet_img = c, global$1.spritesheet = p, d();
}), logger.info("Starting the renderer"), global$1.client = await gateway_connect(e, t), global$1.canvas.width = window.innerWidth, global$1.canvas.height = window.innerHeight, window.onresize = () => {
global$1.canvas.width = window.innerWidth, global$1.canvas.height = window.innerHeight;
}, global$1.canvas.style.setProperty("background-image", `url("/assets/final/${r}/starfield.png")`);
let g = document.getElementById("canvas"), s = 0;
document.onmousedown = (d) => {
var m, h, c, p;
if (global$1.me !== null) {
let w = d.clientX - window.innerWidth / 2 + ((m = global$1.me) == null ? void 0 : m.x), k = d.clientY - window.innerHeight / 2 + ((h = global$1.me) == null ? void 0 : h.y), N;
d.button == 0 ? N = InputType.Left : d.button == 1 ? N = InputType.Middle : d.button == 2 && (N = InputType.Right);
for (let S = 0; S < global$1.modules.length; S++) {
let O = global$1.modules[S].x - w, T = global$1.modules[S].y - k, I = -global$1.modules[S].rotation;
O = O * Math.cos(I) - T * Math.sin(I), T = O * Math.sin(I) + T * Math.cos(I);
let A = [-25, 25, -25, 25];
if (global$1.modules[S].moduleType == ModuleType.Cargo && (A = [-18.75, 18.75, -25, 21.875]), A[0] < O && O < A[1] && A[2] < T && T < A[3]) {
let q = MessageC2SModuleGrabBegin.encode({
moduleId: global$1.modules[S].id,
worldposX: w,
worldposY: k
}).finish();
global$1.clicked = global$1.modules[S].id, (c = global$1.client) == null || c.socket.send(encode(MessageC2SModuleGrabBegin_packetInfo.type, q));
}
}
global$1.tree.forEach((S, O) => {
var _;
if (S.module_type == ModuleType.LandingThrusterSuspension)
return;
let T = S.x - w, I = S.y - k, A = -S.rotation, q = T * Math.cos(A) - I * Math.sin(A), P = T * Math.sin(A) + I * Math.cos(A), b = [-25, 25, -25, 25];
if (S.module_type == ModuleType.Cargo && (b = [-18.75, 18.75, -25, 21.875]), b[0] < q && q < b[1] && b[2] < P && P < b[3]) {
console.log("relative: " + T + ", " + I), console.log("adjusted: " + q + ", " + P);
let i = MessageC2SModuleDetach.encode({
moduleId: O
}).finish();
(_ = global$1.client) == null || _.socket.send(encode(MessageC2SModuleDetach_packetInfo.type, i));
}
});
let y = MessageC2SMouseInput.encode({
worldposX: w,
worldposY: k,
released: !1,
button: N
}).finish();
(p = global$1.client) == null || p.socket.send(encode(MessageC2SMouseInput_packetInfo.type, y));
}
}, document.onmouseup = (d) => {
var m, h, c, p;
if (global$1.me !== null) {
let w = d.clientX - window.innerWidth / 2 + ((m = global$1.me) == null ? void 0 : m.x), k = d.clientY - window.innerHeight / 2 + ((h = global$1.me) == null ? void 0 : h.y), N;
d.button == 0 ? N = InputType.Left : d.button == 1 ? N = InputType.Middle : d.button == 2 && (N = InputType.Right);
let y = MessageC2SMouseInput.encode({
worldposX: w,
worldposY: k,
released: !0,
button: N
}).finish();
for (let S = 0; S < global$1.modules.length; S++)
if (global$1.clicked === global$1.modules[S].id) {
let O = MessageC2SModuleGrabEnd.encode({
moduleId: global$1.modules[S].id,
worldposX: w,
worldposY: k
}).finish();
(c = global$1.client) == null || c.socket.send(encode(MessageC2SModuleGrabEnd_packetInfo.type, O));
}
global$1.clicked = null, (p = global$1.client) == null || p.socket.send(encode(MessageC2SMouseInput_packetInfo.type, y));
}
}, document.onmousemove = (d) => {
let m = g.offsetLeft + g.clientLeft, h = g.offsetTop + g.clientTop;
global$1.mouse_x = d.pageX - m, global$1.mouse_y = d.pageY - h;
}, document.onkeydown = (d) => {
var h;
d.code == "ArrowLeft" || d.code == "KeyA" ? global$1.keys.left = !0 : d.code == "ArrowRight" || d.code == "KeyD" ? global$1.keys.right = !0 : d.code == "ArrowUp" || d.code == "KeyW" ? global$1.keys.up = !0 : (d.code == "ArrowDown" || d.code == "KeyS") && (global$1.keys.down = !0);
let m = MessageC2SInput.encode({
upPressed: global$1.keys.up,
downPressed: global$1.keys.down,
leftPressed: global$1.keys.left,
rightPressed: global$1.keys.right
}).finish();
(h = global$1.client) == null || h.socket.send(encode(MessageC2SInput_packetInfo.type, m));
}, document.onkeyup = (d) => {
var h;
d.code == "ArrowLeft" || d.code == "KeyA" ? global$1.keys.left = !1 : d.code == "ArrowRight" || d.code == "KeyD" ? global$1.keys.right = !1 : d.code == "ArrowUp" || d.code == "KeyW" ? global$1.keys.up = !1 : (d.code == "ArrowDown" || d.code == "KeyS") && (global$1.keys.down = !1);
let m = MessageC2SInput.encode({
upPressed: global$1.keys.up,
downPressed: global$1.keys.down,
leftPressed: global$1.keys.left,
rightPressed: global$1.keys.right
}).finish();
(h = global$1.client) == null || h.socket.send(encode(MessageC2SInput_packetInfo.type, m));
};
let u = performance.now(), l = 0, f = (d) => {
var b, _, i, v;
l = d - u, u = d;
let m = global$1.canvas.width, h = global$1.canvas.height;
global$1.canvas.style.setProperty("background-position", `${-((b = global$1.me) == null ? void 0 : b.x) / 5}px ${-((_ = global$1.me) == null ? void 0 : _.y) / 5}px`), global$1.context.setTransform(1, 0, 0, 1, 0, 0), global$1.context.clearRect(0, 0, m, h), global$1.context.translate(m / 2, h / 2), global$1.context.save(), global$1.context.rotate(global$1.direction_radians + Math.PI);
let c = global$1.spritesheet.frames["trackindicator.png"];
global$1.context.drawImage(
global$1.spritesheet_img,
c.frame.x,
c.frame.y,
c.frame.w,
c.frame.h,
-c.frame.w / 2,
-c.frame.h / 2,
c.frame.w,
c.frame.h
), global$1.context.restore(), global$1.me !== null && (document.getElementById("pos").innerText = `Position: ${Math.trunc(global$1.me.x)}, ${Math.trunc(global$1.me.y)}`), document.getElementById("vel").innerText = `Velocity: ${Math.trunc(global$1.velocity)}`, document.getElementById("vel-dir").innerText = `Track Angle: ${global$1.direction_radians}`;
for (let E = 0; E < global$1.planets.length; E++) {
let $ = global$1.planets[E], x = global$1.spritesheet.frames[planet_type_to_tex_id($.planetType)];
global$1.context.drawImage(
global$1.spritesheet_img,
x.frame.x,
// sx
x.frame.y,
// sy
x.frame.w,
// sw
x.frame.h,
// sh
$.x - $.radius - ((i = global$1.me) == null ? void 0 : i.x),
// dx
$.y - $.radius - ((v = global$1.me) == null ? void 0 : v.y),
// dy
$.radius * 2,
// dw
$.radius * 2
), $.planetType == PlanetType.Moon ? global$1.me !== null && (global$1.context.beginPath(), global$1.context.strokeStyle = "gray", global$1.context.lineWidth = 5, global$1.context.moveTo(global$1.me.x - global$1.me.x, global$1.me.y - global$1.me.y), global$1.context.lineTo($.x - global$1.me.x, $.y - global$1.me.y), global$1.context.stroke(), console.log("moon: " + $.x + ", " + $.y), document.getElementById("pos-moon").innerText = `Relative to Moon: ${Math.trunc(global$1.me.x - $.x)}, ${Math.trunc(global$1.me.y - $.y)}`) : $.planetType == PlanetType.Earth ? global$1.me !== null && (global$1.context.beginPath(), global$1.context.strokeStyle = "limegreen", global$1.context.lineWidth = 5, global$1.context.moveTo(global$1.me.x - global$1.me.x, global$1.me.y - global$1.me.y), global$1.context.lineTo($.x - global$1.me.x, $.y - global$1.me.y), global$1.context.stroke()) : $.planetType == PlanetType.Mars && global$1.me !== null && (global$1.context.beginPath(), global$1.context.strokeStyle = "orange", global$1.context.lineWidth = 5, global$1.context.moveTo(global$1.me.x - global$1.me.x, global$1.me.y - global$1.me.y), global$1.context.lineTo($.x - global$1.me.x, $.y - global$1.me.y), global$1.context.stroke());
}
for (let E = 0; E < global$1.modules.length; E++)
if (global$1.me !== null) {
let $ = global$1.modules[E], x = global$1.spritesheet.frames[module_type_to_tex_id($.moduleType, ($.flags & 1) != 0)];
global$1.context.save(), global$1.context.translate($.x - global$1.me.x, $.y - global$1.me.y), global$1.context.rotate($.rotation), global$1.context.drawImage(
global$1.spritesheet_img,
x.frame.x,
x.frame.y,
x.frame.w,
x.frame.h,
-25,
-25,
50,
50
), global$1.context.restore(), global$1.clicked == $.id && (global$1.context.save(), global$1.context.translate(
global$1.mouse_x - window.innerWidth / 2,
global$1.mouse_y - window.innerHeight / 2
), global$1.context.rotate($.rotation), global$1.context.globalAlpha = 0.6, global$1.context.drawImage(
global$1.spritesheet_img,
x.frame.x,
x.frame.y,
x.frame.w,
x.frame.h,
-25,
-25,
50,
50
), global$1.context.globalAlpha = 1, global$1.context.restore());
}
global$1.tree.forEach((E, $) => {
if (global$1.me !== null) {
let x = global$1.spritesheet.frames[module_type_to_tex_id(E.module_type, !0)];
global$1.context.save(), global$1.context.translate(E.x - global$1.me.x, E.y - global$1.me.y), global$1.context.rotate(E.rotation), global$1.context.drawImage(
global$1.spritesheet_img,
x.frame.x,
x.frame.y,
x.frame.w,
x.frame.h,
-25,
-25,
50,
50
), global$1.context.restore();
}
});
function p() {
let E = /* @__PURE__ */ new Date("3/20/2022"), $ = /* @__PURE__ */ new Date();
return E.getMonth() == $.getMonth() && E.getDate() == $.getDate();
}
function w() {
let E = /* @__PURE__ */ new Date("5/15/2015"), $ = /* @__PURE__ */ new Date();
return E.getMonth() == $.getMonth() && E.getDate() == $.getDate();
}
for (let E = 0; E < global$1.players.length; E++)
if (global$1.me !== null) {
let $ = global$1.players[E], x;
p() ? x = global$1.spritesheet.frames["hearty_party.png"] : w() ? x = global$1.spritesheet.frames["hearty_ferris.png"] : x = global$1.spritesheet.frames["hearty.png"], global$1.context.save(), global$1.context.translate($.x - global$1.me.x, $.y - global$1.me.y), global$1.context.textAlign = "center", global$1.context.font = "30px Segoe UI", global$1.context.fillStyle = "white", global$1.context.fillText($.username, 0, -35), global$1.context.rotate($.rotation), global$1.context.drawImage(
global$1.spritesheet_img,
x.frame.x,
// sx
x.frame.y,
// sy
x.frame.w,
// sw
x.frame.h,
// sh
-25,
-25,
50,
50
), global$1.context.restore();
}
function k(E, $, x) {
let M = E * Math.cos(x) - $ * Math.sin(x), C = E * Math.sin(x) + $ * Math.cos(x);
return [M, C];
}
const N = 52, y = 189, S = 235, O = 80, T = 0, I = 4, A = 50, q = 90;
function P(E, $, x, M) {
createParticle({
x: global$1.me.x + k(E, $, global$1.me.rotation)[0],
y: global$1.me.y + k(E, $, global$1.me.rotation)[1],
lifetime: 500,
timer: 0,
startSize: I,
finalSize: A,
startRotation: 0,
finalRotation: q,
startOpacity: O,
endOpacity: T,
startR: N,
startG: y,
startB: S,
endR: N,
endG: y,
endB: S,
velocity_x: k(x, M, global$1.me.rotation)[0],
velocity_y: k(x, M, global$1.me.rotation)[1]
});
}
global$1.me !== null && (console.log(s), s += 1, s > 3 ? (console.log("resetting counter"), s = 0) : s == 1 && (console.log("drawing particle"), global$1.keys.up && (P(-25, 25, 0, 0.5), P(25, 25, 0, 0.5)), global$1.keys.down && (P(25, -25, 0, -0.5), P(-25, -25, 0, -0.5)), global$1.keys.left && (P(25, 25, 0, 0.5), P(-25, -25, 0, -0.5)), global$1.keys.right && (P(-25, 25, 0, 0.5), P(25, -25, 0, -0.5))), tickAndDrawParticles(l)), requestAnimationFrame(f);
};
requestAnimationFrame(f);
}
let query = new URLSearchParams(window.location.search);
query.has("server") || query.has("username") || query.has("textures") || (window.location.href = "/index.html");
client_main(query.get("server"), query.get("username"), query.get("textures")).then(() => {
});
function planet_type_to_tex_id(e) {
return e == PlanetType.Earth ? "earth.png" : e == PlanetType.Moon ? "moon.png" : e == PlanetType.Mars ? "mars.png" : "unknown.png";
}
function module_type_to_tex_id(e, t) {
if (t) {
if (e == ModuleType.Cargo)
return "cargo_on.png";
if (e == ModuleType.LandingThruster)
return "landingthruster_on.png";
if (e == ModuleType.LandingThrusterSuspension)
return "landingleg.png";
if (e == ModuleType.Hub)
return "hub_on.png";
} else {
if (e == ModuleType.Cargo)
return "cargo_off.png";
if (e == ModuleType.LandingThruster)
return "landingthruster_off.png";
if (e == ModuleType.LandingThrusterSuspension)
return "landingleg.png";
if (e == ModuleType.Hub)
return "hub_off.png";
}
return "unknown.png";
}