UNPKG

@spz-loader/playcanvas

Version:

.spz GaussianSplatting loader for PlayCanvas Engine

745 lines 255 kB
import { GSplatData as TI, GSplatResource as pI, Application as ZI } from "playcanvas"; var VI = (() => { var a = import.meta.url; return async function(s = {}) { var y, E = s, J, M, t = new Promise((I, A) => { J = I, M = A; }), l = typeof window == "object", r = typeof WorkerGlobalScope < "u", Z = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer"; if (Z) { const { createRequire: I } = await Promise.resolve().then(() => uI); let A = import.meta.url; A.startsWith("data:") && (A = "/"); var AA = I(A); } var R = Object.assign({}, E), RA = "./this.program", f = "", IA; if (Z) { var iI = AA("fs"), KA = AA("path"); import.meta.url.startsWith("data:") || (f = KA.dirname(AA("url").fileURLToPath(import.meta.url)) + "/"), IA = (I) => (I = aI(I) ? new URL(I) : KA.normalize(I), iI.readFileSync(I)), !E.thisProgram && 1 < process.argv.length && (RA = process.argv[1].replace(/\\/g, "/")), process.argv.slice(2); } else (l || r) && (r ? f = self.location.href : typeof document < "u" && document.currentScript && (f = document.currentScript.src), a && (f = a), f.startsWith("blob:") ? f = "" : f = f.substr(0, f.replace(/[?#].*/, "").lastIndexOf("/") + 1), r && (IA = (I) => { var A = new XMLHttpRequest(); return A.open("GET", I, !1), A.responseType = "arraybuffer", A.send(null), new Uint8Array(A.response); })); var oI = E.print || console.log.bind(console), BA = E.printErr || console.error.bind(console); Object.assign(E, R), R = null, E.thisProgram && (RA = E.thisProgram); var nA = E.wasmBinary, gA, eA = !1, X, L, b, QA, V, N, fA, qA; function dA() { var I = gA.buffer; E.HEAP8 = X = new Int8Array(I), E.HEAP16 = b = new Int16Array(I), E.HEAPU8 = L = new Uint8Array(I), E.HEAPU16 = QA = new Uint16Array(I), E.HEAP32 = V = new Int32Array(I), E.HEAPU32 = N = new Uint32Array(I), E.HEAPF32 = fA = new Float32Array(I), E.HEAPF64 = qA = new Float64Array(I); } var lA = [], WA = [], xA = []; function wI() { var I = E.preRun.shift(); lA.unshift(I); } var x = 0, m = null; function TA(I) { var A; throw (A = E.onAbort) == null || A.call(E, I), I = "Aborted(" + I + ")", BA(I), eA = !0, I = new WebAssembly.RuntimeError(I + ". Build with -sASSERTIONS for more info."), M(I), I; } var FI = (I) => I.startsWith("data:application/octet-stream;base64,"), aI = (I) => I.startsWith("file://"), CA; function GI() { var I = CA; return Promise.resolve().then(() => { if (I == CA && nA) var A = new Uint8Array(nA); else { if (FI(I)) if (A = I.slice(37), typeof Z < "u" && Z) A = Buffer.from(A, "base64"), A = new Uint8Array(A.buffer, A.byteOffset, A.length); else { A = atob(A); for (var B = new Uint8Array(A.length), g = 0; g < A.length; ++g) B[g] = A.charCodeAt(g); A = B; } else A = void 0; if (!A) if (IA) A = IA(I); else throw "both async and sync fetching of the wasm failed"; } return A; }); } function sI(I, A) { return GI().then((B) => WebAssembly.instantiate(B, I)).then(A, (B) => { BA(`failed to asynchronously prepare wasm: ${B}`), TA(B); }); } function RI(I, A) { return sI(I, A); } var yA = (I) => { for (; 0 < I.length; ) I.shift()(E); }, EA = {}, pA = (I) => { for (; I.length; ) { var A = I.pop(); I.pop()(A); } }; function u(I) { return this.fromWireType(N[I >> 2]); } var j = {}, T = {}, DA = {}, P, p = (I, A, B) => { function g(D) { if (D = B(D), D.length !== I.length) throw new P("Mismatched type converter count"); for (var o = 0; o < I.length; ++o) e(I[o], D[o]); } I.forEach((D) => DA[D] = A); var Q = Array(A.length), C = [], i = 0; A.forEach((D, o) => { T.hasOwnProperty(D) ? Q[o] = T[D] : (C.push(D), j.hasOwnProperty(D) || (j[D] = []), j[D].push(() => { Q[o] = T[D], ++i, i === C.length && g(Q); })); }), C.length === 0 && g(Q); }, ZA, c = (I) => { for (var A = ""; L[I]; ) A += ZA[L[I++]]; return A; }, G, yI = (I) => { throw new G(I); }; function hI(I, A, B = {}) { var g = A.name; if (!I) throw new G(`type "${g}" must have a positive integer typeid pointer`); if (T.hasOwnProperty(I)) { if (B.sa) return; throw new G(`Cannot register type '${g}' twice`); } T[I] = A, delete DA[I], j.hasOwnProperty(I) && (A = j[I], delete j[I], A.forEach((Q) => Q())); } function e(I, A, B = {}) { return hI(I, A, B); } var hA = (I) => { throw new G(I.K.N.L.name + " instance already deleted"); }, NA = !1, VA = () => { }, jA = (I, A, B) => A === B ? I : B.R === void 0 ? null : (I = jA(I, A, B.R), I === null ? null : B.la(I)), OA = {}, NI = {}, MI = (I, A) => { if (A === void 0) throw new G("ptr should not be undefined"); for (; I.R; ) A = I.aa(A), I = I.R; return NI[A]; }, iA = (I, A) => { if (!A.N || !A.M) throw new P("makeClassHandle requires ptr and ptrType"); if (!!A.S != !!A.P) throw new P("Both smartPtrType and smartPtr must be specified"); return A.count = { value: 1 }, z(Object.create( I, { K: { value: A, writable: !0 } } )); }, z = (I) => typeof FinalizationRegistry > "u" ? (z = (A) => A, I) : (NA = new FinalizationRegistry((A) => { A = A.K, --A.count.value, A.count.value === 0 && (A.P ? A.S.U(A.P) : A.N.L.U(A.M)); }), z = (A) => { var B = A.K; return B.P && NA.register(A, { K: B }, A), A; }, VA = (A) => { NA.unregister(A); }, z(I)); function oA() { } var wA = (I, A) => Object.defineProperty(A, "name", { value: I }), XA = (I, A, B) => { if (I[A].O === void 0) { var g = I[A]; I[A] = function(...Q) { if (!I[A].O.hasOwnProperty(Q.length)) throw new G(`Function '${B}' called with an invalid number of arguments (${Q.length}) - expects one of (${I[A].O})!`); return I[A].O[Q.length].apply(this, Q); }, I[A].O = [], I[A].O[g.Y] = g; } }, bA = (I, A, B) => { if (E.hasOwnProperty(I)) { if (B === void 0 || E[I].O !== void 0 && E[I].O[B] !== void 0) throw new G(`Cannot register public name '${I}' twice`); if (XA(E, I, I), E[I].O.hasOwnProperty(B)) throw new G(`Cannot register multiple overloads of a function with the same number of arguments (${B})!`); E[I].O[B] = A; } else E[I] = A, E[I].Y = B; }, UI = (I) => { I = I.replace(/[^a-zA-Z0-9_]/g, "$"); var A = I.charCodeAt(0); return 48 <= A && 57 >= A ? `_${I}` : I; }; function SI(I, A, B, g, Q, C, i, D) { this.name = I, this.constructor = A, this.X = B, this.U = g, this.R = Q, this.na = C, this.aa = i, this.la = D, this.ua = []; } var MA = (I, A, B) => { for (; A !== B; ) { if (!A.aa) throw new G(`Expected null or instance of ${B.name}, got an instance of ${A.name}`); I = A.aa(I), A = A.R; } return I; }; function kI(I, A) { if (A === null) { if (this.ea) throw new G(`null is not a valid ${this.name}`); return 0; } if (!A.K) throw new G(`Cannot pass "${cA(A)}" as a ${this.name}`); if (!A.K.M) throw new G(`Cannot pass deleted object as a pointer of type ${this.name}`); return MA(A.K.M, A.K.N.L, this.L); } function JI(I, A) { if (A === null) { if (this.ea) throw new G(`null is not a valid ${this.name}`); if (this.da) { var B = this.fa(); return I !== null && I.push(this.U, B), B; } return 0; } if (!A || !A.K) throw new G(`Cannot pass "${cA(A)}" as a ${this.name}`); if (!A.K.M) throw new G(`Cannot pass deleted object as a pointer of type ${this.name}`); if (!this.ba && A.K.N.ba) throw new G(`Cannot convert argument of type ${A.K.S ? A.K.S.name : A.K.N.name} to parameter type ${this.name}`); if (B = MA(A.K.M, A.K.N.L, this.L), this.da) { if (A.K.P === void 0) throw new G("Passing raw pointer to smart pointer is illegal"); switch (this.za) { case 0: if (A.K.S === this) B = A.K.P; else throw new G(`Cannot convert argument of type ${A.K.S ? A.K.S.name : A.K.N.name} to parameter type ${this.name}`); break; case 1: B = A.K.P; break; case 2: if (A.K.S === this) B = A.K.P; else { var g = A.clone(); B = this.va(B, LA(() => g.delete())), I !== null && I.push(this.U, B); } break; default: throw new G("Unsupporting sharing policy"); } } return B; } function LI(I, A) { if (A === null) { if (this.ea) throw new G(`null is not a valid ${this.name}`); return 0; } if (!A.K) throw new G(`Cannot pass "${cA(A)}" as a ${this.name}`); if (!A.K.M) throw new G(`Cannot pass deleted object as a pointer of type ${this.name}`); if (A.K.N.ba) throw new G(`Cannot convert argument of type ${A.K.N.name} to parameter type ${this.name}`); return MA(A.K.M, A.K.N.L, this.L); } function FA(I, A, B, g, Q, C, i, D, o, w, F) { this.name = I, this.L = A, this.ea = B, this.ba = g, this.da = Q, this.ta = C, this.za = i, this.ja = D, this.fa = o, this.va = w, this.U = F, Q || A.R !== void 0 ? this.toWireType = JI : (this.toWireType = g ? kI : LI, this.T = null); } var mA = (I, A, B) => { if (!E.hasOwnProperty(I)) throw new P("Replacing nonexistent public symbol"); E[I].O !== void 0 && B !== void 0 ? E[I].O[B] = A : (E[I] = A, E[I].Y = B); }, UA, cI = (I, A, B = []) => (I.includes("j") ? (I = I.replace(/p/g, "i"), A = (0, E["dynCall_" + I])(A, ...B)) : A = UA.get(A)(...B), A), YI = (I, A) => (...B) => cI(I, A, B), n = (I, A) => { I = c(I); var B = I.includes("j") ? YI(I, A) : UA.get(A); if (typeof B != "function") throw new G(`unknown function pointer with signature ${I}: ${A}`); return B; }, uA, PA = (I) => { I = CI(I); var A = c(I); return q(I), A; }, aA = (I, A) => { function B(C) { Q[C] || T[C] || (DA[C] ? DA[C].forEach(B) : (g.push(C), Q[C] = !0)); } var g = [], Q = {}; throw A.forEach(B), new uA(`${I}: ` + g.map(PA).join([", "])); }, SA = (I, A) => { for (var B = [], g = 0; g < I; g++) B.push(N[A + 4 * g >> 2]); return B; }; function zA(I) { for (var A = 1; A < I.length; ++A) if (I[A] !== null && I[A].T === void 0) return !0; return !1; } function HI(I) { var A = Function; if (!(A instanceof Function)) throw new TypeError(`new_ called with constructor type ${typeof A} which is not a function`); var B = wA(A.name || "unknownFunctionName", function() { }); return B.prototype = A.prototype, B = new B(), I = A.apply(B, I), I instanceof Object ? I : B; } function kA(I, A, B, g, Q, C) { var i = A.length; if (2 > i) throw new G("argTypes array size mismatch! Must at least get return value and 'this' types!"); var D = A[1] !== null && B !== null, o = zA(A); for (B = A[0].name !== "void", g = [I, yI, g, Q, pA, A[0], A[1]], Q = 0; Q < i - 2; ++Q) g.push(A[Q + 2]); if (!o) for (Q = D ? 1 : 2; Q < A.length; ++Q) A[Q].T !== null && g.push(A[Q].T); o = zA(A), Q = A.length - 2; var w = [], F = ["fn"]; for (D && F.push("thisWired"), i = 0; i < Q; ++i) w.push(`arg${i}`), F.push(`arg${i}Wired`); w = w.join(","), F = F.join(","), w = `return function (${w}) { `, o && (w += `var destructors = []; `); var h = o ? "destructors" : "null", U = "humanName throwBindingError invoker fn runDestructors retType classParam".split(" "); for (D && (w += `var thisWired = classParam['toWireType'](${h}, this); `), i = 0; i < Q; ++i) w += `var arg${i}Wired = argType${i}['toWireType'](${h}, arg${i}); `, U.push(`argType${i}`); if (w += (B || C ? "var rv = " : "") + `invoker(${F}); `, o) w += `runDestructors(destructors); `; else for (i = D ? 1 : 2; i < A.length; ++i) C = i === 1 ? "thisWired" : "arg" + (i - 2) + "Wired", A[i].T !== null && (w += `${C}_dtor(${C}); `, U.push(`${C}_dtor`)); B && (w += `var ret = retType['fromWireType'](rv); return ret; `); let [k, S] = [U, w + `} `]; return k.push(S), A = HI(k)(...g), wA(I, A); } var vA = (I) => { I = I.trim(); const A = I.indexOf("("); return A !== -1 ? I.substr(0, A) : I; }, JA = [], W = [], _A = (I) => { 9 < I && --W[I + 1] === 0 && (W[I] = void 0, JA.push(I)); }, LA = (I) => { switch (I) { case void 0: return 2; case null: return 4; case !0: return 6; case !1: return 8; default: const A = JA.pop() || W.length; return W[A] = I, W[A + 1] = 1, A; } }, $A = { name: "emscripten::val", fromWireType: (I) => { if (!I) throw new G("Cannot use deleted val. handle = " + I); var A = W[I]; return _A(I), A; }, toWireType: (I, A) => LA(A), V: 8, readValueFromPointer: u, T: null }, cA = (I) => { if (I === null) return "null"; var A = typeof I; return A === "object" || A === "array" || A === "function" ? I.toString() : "" + I; }, tI = (I, A) => { switch (A) { case 4: return function(B) { return this.fromWireType(fA[B >> 2]); }; case 8: return function(B) { return this.fromWireType(qA[B >> 3]); }; default: throw new TypeError(`invalid float width (${A}): ${I}`); } }, rI = (I, A, B) => { switch (A) { case 1: return B ? (g) => X[g] : (g) => L[g]; case 2: return B ? (g) => b[g >> 1] : (g) => QA[g >> 1]; case 4: return B ? (g) => V[g >> 2] : (g) => N[g >> 2]; default: throw new TypeError(`invalid integer width (${A}): ${I}`); } }, KI = Object.assign( { optional: !0 }, $A ), v = (I, A, B) => { var g = L; if (0 < B) { B = A + B - 1; for (var Q = 0; Q < I.length; ++Q) { var C = I.charCodeAt(Q); if (55296 <= C && 57343 >= C) { var i = I.charCodeAt(++Q); C = 65536 + ((C & 1023) << 10) | i & 1023; } if (127 >= C) { if (A >= B) break; g[A++] = C; } else { if (2047 >= C) { if (A + 1 >= B) break; g[A++] = 192 | C >> 6; } else { if (65535 >= C) { if (A + 2 >= B) break; g[A++] = 224 | C >> 12; } else { if (A + 3 >= B) break; g[A++] = 240 | C >> 18, g[A++] = 128 | C >> 12 & 63; } g[A++] = 128 | C >> 6 & 63; } g[A++] = 128 | C & 63; } } g[A] = 0; } }, AI = typeof TextDecoder < "u" ? new TextDecoder() : void 0, II = (I, A = 0, B = NaN) => { var g = A + B; for (B = A; I[B] && !(B >= g); ) ++B; if (16 < B - A && I.buffer && AI) return AI.decode(I.subarray(A, B)); for (g = ""; A < B; ) { var Q = I[A++]; if (Q & 128) { var C = I[A++] & 63; if ((Q & 224) == 192) g += String.fromCharCode((Q & 31) << 6 | C); else { var i = I[A++] & 63; Q = (Q & 240) == 224 ? (Q & 15) << 12 | C << 6 | i : (Q & 7) << 18 | C << 12 | i << 6 | I[A++] & 63, 65536 > Q ? g += String.fromCharCode(Q) : (Q -= 65536, g += String.fromCharCode(55296 | Q >> 10, 56320 | Q & 1023)); } } else g += String.fromCharCode(Q); } return g; }, BI = typeof TextDecoder < "u" ? new TextDecoder("utf-16le") : void 0, nI = (I, A) => { for (var B = I >> 1, g = B + A / 2; !(B >= g) && QA[B]; ) ++B; if (B <<= 1, 32 < B - I && BI) return BI.decode(L.subarray(I, B)); for (B = "", g = 0; !(g >= A / 2); ++g) { var Q = b[I + 2 * g >> 1]; if (Q == 0) break; B += String.fromCharCode(Q); } return B; }, eI = (I, A, B) => { if (B ?? (B = 2147483647), 2 > B) return 0; B -= 2; var g = A; B = B < 2 * I.length ? B / 2 : I.length; for (var Q = 0; Q < B; ++Q) b[A >> 1] = I.charCodeAt(Q), A += 2; return b[A >> 1] = 0, A - g; }, fI = (I) => 2 * I.length, qI = (I, A) => { for (var B = 0, g = ""; !(B >= A / 4); ) { var Q = V[I + 4 * B >> 2]; if (Q == 0) break; ++B, 65536 <= Q ? (Q -= 65536, g += String.fromCharCode(55296 | Q >> 10, 56320 | Q & 1023)) : g += String.fromCharCode(Q); } return g; }, dI = (I, A, B) => { if (B ?? (B = 2147483647), 4 > B) return 0; var g = A; B = g + B - 4; for (var Q = 0; Q < I.length; ++Q) { var C = I.charCodeAt(Q); if (55296 <= C && 57343 >= C) { var i = I.charCodeAt(++Q); C = 65536 + ((C & 1023) << 10) | i & 1023; } if (V[A >> 2] = C, A += 4, A + 4 > B) break; } return V[A >> 2] = 0, A - g; }, lI = (I) => { for (var A = 0, B = 0; B < I.length; ++B) { var g = I.charCodeAt(B); 55296 <= g && 57343 >= g && ++B, A += 4; } return A; }, YA = {}, gI = () => { if (!HA) { var I = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8", _: RA || "./this.program" }, A; for (A in YA) YA[A] === void 0 ? delete I[A] : I[A] = YA[A]; var B = []; for (A in I) B.push(`${A}=${I[A]}`); HA = B; } return HA; }, HA, WI = [null, [], []]; P = E.InternalError = class extends Error { constructor(I) { super(I), this.name = "InternalError"; } }; for (var QI = Array(256), GA = 0; 256 > GA; ++GA) QI[GA] = String.fromCharCode(GA); ZA = QI, G = E.BindingError = class extends Error { constructor(I) { super(I), this.name = "BindingError"; } }, Object.assign(oA.prototype, { isAliasOf: function(I) { if (!(this instanceof oA && I instanceof oA)) return !1; var A = this.K.N.L, B = this.K.M; I.K = I.K; var g = I.K.N.L; for (I = I.K.M; A.R; ) B = A.aa(B), A = A.R; for (; g.R; ) I = g.aa(I), g = g.R; return A === g && B === I; }, clone: function() { if (this.K.M || hA(this), this.K.$) return this.K.count.value += 1, this; var I = z, A = Object, B = A.create, g = Object.getPrototypeOf(this), Q = this.K; return I = I(B.call(A, g, { K: { value: { count: Q.count, Z: Q.Z, $: Q.$, M: Q.M, N: Q.N, P: Q.P, S: Q.S } } })), I.K.count.value += 1, I.K.Z = !1, I; }, delete() { if (this.K.M || hA(this), this.K.Z && !this.K.$) throw new G("Object already scheduled for deletion"); VA(this); var I = this.K; --I.count.value, I.count.value === 0 && (I.P ? I.S.U(I.P) : I.N.L.U(I.M)), this.K.$ || (this.K.P = void 0, this.K.M = void 0); }, isDeleted: function() { return !this.K.M; }, deleteLater: function() { if (this.K.M || hA(this), this.K.Z && !this.K.$) throw new G("Object already scheduled for deletion"); return this.K.Z = !0, this; } }), Object.assign(FA.prototype, { oa(I) { return this.ja && (I = this.ja(I)), I; }, ha(I) { var A; (A = this.U) == null || A.call(this, I); }, V: 8, readValueFromPointer: u, fromWireType: function(I) { function A() { return this.da ? iA(this.L.X, { N: this.ta, M: B, S: this, P: I }) : iA(this.L.X, { N: this, M: I }); } var B = this.oa(I); if (!B) return this.ha(I), null; var g = MI(this.L, B); if (g !== void 0) return g.K.count.value === 0 ? (g.K.M = B, g.K.P = I, g.clone()) : (g = g.clone(), this.ha(I), g); if (g = this.L.na(B), g = OA[g], !g) return A.call(this); g = this.ba ? g.ka : g.pointerType; var Q = jA(B, this.L, g.L); return Q === null ? A.call(this) : this.da ? iA(g.L.X, { N: g, M: Q, S: this, P: I }) : iA(g.L.X, { N: g, M: Q }); } }), uA = E.UnboundTypeError = ((I, A) => { var B = wA(A, function(g) { this.name = A, this.message = g, g = Error(g).stack, g !== void 0 && (this.stack = this.toString() + ` ` + g.replace(/^Error(:[^\n]*)?\n/, "")); }); return B.prototype = Object.create(I.prototype), B.prototype.constructor = B, B.prototype.toString = function() { return this.message === void 0 ? this.name : `${this.name}: ${this.message}`; }, B; })(Error, "UnboundTypeError"), W.push(0, 1, void 0, 1, null, 1, !0, 1, !1, 1), E.count_emval_handles = () => W.length / 2 - 5 - JA.length; var xI = { u: () => { TA(""); }, y: (I) => { var A = EA[I]; delete EA[I]; var B = A.fa, g = A.U, Q = A.ia, C = Q.map((i) => i.ra).concat(Q.map((i) => i.xa)); p([I], C, (i) => { var D = {}; return Q.forEach((o, w) => { var F = i[w], h = o.pa, U = o.qa, k = i[w + Q.length], S = o.wa, K = o.ya; D[o.ma] = { read: (d) => F.fromWireType(h(U, d)), write: (d, _) => { var H = []; S(K, d, k.toWireType(H, _)), pA(H); } }; }), [{ name: A.name, fromWireType: (o) => { var w = {}, F; for (F in D) w[F] = D[F].read(o); return g(o), w; }, toWireType: (o, w) => { for (var F in D) if (!(F in w)) throw new TypeError(`Missing field: "${F}"`); var h = B(); for (F in D) D[F].write(h, w[F]); return o !== null && o.push(g, h), h; }, V: 8, readValueFromPointer: u, T: g }]; }); }, p: () => { }, w: (I, A, B, g) => { A = c(A), e(I, { name: A, fromWireType: function(Q) { return !!Q; }, toWireType: function(Q, C) { return C ? B : g; }, V: 8, readValueFromPointer: function(Q) { return this.fromWireType(L[Q]); }, T: null }); }, i: (I, A, B, g, Q, C, i, D, o, w, F, h, U) => { F = c(F), C = n(Q, C), D && (D = n(i, D)), w && (w = n(o, w)), U = n(h, U); var k = UI(F); bA(k, function() { aA(`Cannot construct ${F} due to unbound types`, [g]); }), p([I, A, B], g ? [g] : [], (S) => { if (S = S[0], g) var K = S.L, d = K.X; else d = oA.prototype; S = wA(F, function(...rA) { if (Object.getPrototypeOf(this) !== _) throw new G("Use 'new' to construct " + F); if (H.W === void 0) throw new G(F + " has no accessible constructor"); var DI = H.W[rA.length]; if (DI === void 0) throw new G(`Tried to invoke ctor of ${F} with invalid number of parameters (${rA.length}) - expected (${Object.keys(H.W).toString()}) parameters instead!`); return DI.apply(this, rA); }); var _ = Object.create(d, { constructor: { value: S } }); S.prototype = _; var H = new SI( F, S, _, U, K, C, D, w ); if (H.R) { var $; ($ = H.R).ga ?? ($.ga = []), H.R.ga.push(H); } return K = new FA(F, H, !0, !1, !1), $ = new FA(F + "*", H, !1, !1, !1), d = new FA(F + " const*", H, !1, !0, !1), OA[I] = { pointerType: $, ka: d }, mA(k, S), [K, $, d]; }); }, g: (I, A, B, g, Q, C) => { var i = SA(A, B); Q = n(g, Q), p([], [I], (D) => { D = D[0]; var o = `constructor ${D.name}`; if (D.L.W === void 0 && (D.L.W = []), D.L.W[A - 1] !== void 0) throw new G(`Cannot register multiple constructors with identical number of parameters (${A - 1}) for class '${D.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`); return D.L.W[A - 1] = () => { aA(`Cannot construct ${D.name} due to unbound types`, i); }, p([], i, (w) => (w.splice(1, 0, null), D.L.W[A - 1] = kA(o, w, null, Q, C), [])), []; }); }, b: (I, A, B, g, Q, C, i, D, o) => { var w = SA(B, g); A = c(A), A = vA(A), C = n(Q, C), p([], [I], (F) => { function h() { aA(`Cannot call ${U} due to unbound types`, w); } F = F[0]; var U = `${F.name}.${A}`; A.startsWith("@@") && (A = Symbol[A.substring(2)]), D && F.L.ua.push(A); var k = F.L.X, S = k[A]; return S === void 0 || S.O === void 0 && S.className !== F.name && S.Y === B - 2 ? (h.Y = B - 2, h.className = F.name, k[A] = h) : (XA( k, A, U ), k[A].O[B - 2] = h), p([], w, (K) => (K = kA(U, K, F, C, i, o), k[A].O === void 0 ? (K.Y = B - 2, k[A] = K) : k[A].O[B - 2] = K, [])), []; }); }, v: (I) => e(I, $A), l: (I, A, B) => { A = c(A), e(I, { name: A, fromWireType: (g) => g, toWireType: (g, Q) => Q, V: 8, readValueFromPointer: tI(A, B), T: null }); }, m: (I, A, B, g, Q, C, i) => { var D = SA(A, B); I = c(I), I = vA(I), Q = n(g, Q), bA(I, function() { aA(`Cannot call ${I} due to unbound types`, D); }, A - 1), p([], D, (o) => (o = [o[0], null].concat(o.slice(1)), mA(I, kA(I, o, null, Q, C, i), A - 1), [])); }, c: (I, A, B, g, Q) => { if (A = c(A), Q === -1 && (Q = 4294967295), Q = (D) => D, g === 0) { var C = 32 - 8 * B; Q = (D) => D << C >>> C; } var i = A.includes("unsigned") ? function(D, o) { return o >>> 0; } : function(D, o) { return o; }; e(I, { name: A, fromWireType: Q, toWireType: i, V: 8, readValueFromPointer: rI(A, B, g !== 0), T: null }); }, a: (I, A, B) => { function g(C) { return new Q(X.buffer, N[C + 4 >> 2], N[C >> 2]); } var Q = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array][A]; B = c(B), e(I, { name: B, fromWireType: g, V: 8, readValueFromPointer: g }, { sa: !0 }); }, h: (I) => { e(I, KI); }, k: (I, A) => { A = c(A); var B = A === "std::string"; e(I, { name: A, fromWireType: function(g) { var Q = N[g >> 2], C = g + 4; if (B) for (var i = C, D = 0; D <= Q; ++D) { var o = C + D; if (D == Q || L[o] == 0) { if (i = i ? II(L, i, o - i) : "", w === void 0) var w = i; else w += "\0", w += i; i = o + 1; } } else { for (w = Array(Q), D = 0; D < Q; ++D) w[D] = String.fromCharCode(L[C + D]); w = w.join(""); } return q(g), w; }, toWireType: function(g, Q) { Q instanceof ArrayBuffer && (Q = new Uint8Array(Q)); var C, i = typeof Q == "string"; if (!(i || Q instanceof Uint8Array || Q instanceof Uint8ClampedArray || Q instanceof Int8Array)) throw new G("Cannot pass non-string to std::string"); if (B && i) for (var D = C = 0; D < Q.length; ++D) { var o = Q.charCodeAt(D); 127 >= o ? C++ : 2047 >= o ? C += 2 : 55296 <= o && 57343 >= o ? (C += 4, ++D) : C += 3; } else C = Q.length; if (D = tA(4 + C + 1), o = D + 4, N[D >> 2] = C, B && i) v(Q, o, C + 1); else if (i) for (i = 0; i < C; ++i) { var w = Q.charCodeAt(i); if (255 < w) throw q(o), new G("String has UTF-16 code units that do not fit in 8 bits"); L[o + i] = w; } else for (i = 0; i < C; ++i) L[o + i] = Q[i]; return g !== null && g.push(q, D), D; }, V: 8, readValueFromPointer: u, T(g) { q(g); } }); }, e: (I, A, B) => { if (B = c(B), A === 2) var g = nI, Q = eI, C = fI, i = (D) => QA[D >> 1]; else A === 4 && (g = qI, Q = dI, C = lI, i = (D) => N[D >> 2]); e(I, { name: B, fromWireType: (D) => { for (var o = N[D >> 2], w, F = D + 4, h = 0; h <= o; ++h) { var U = D + 4 + h * A; (h == o || i(U) == 0) && (F = g(F, U - F), w === void 0 ? w = F : (w += "\0", w += F), F = U + A); } return q(D), w; }, toWireType: (D, o) => { if (typeof o != "string") throw new G(`Cannot pass non-string to C++ string type ${B}`); var w = C(o), F = tA(4 + w + A); return N[F >> 2] = w / A, Q(o, F + 4, w + A), D !== null && D.push(q, F), F; }, V: 8, readValueFromPointer: u, T(D) { q(D); } }); }, o: (I, A, B, g, Q, C) => { EA[I] = { name: c(A), fa: n(B, g), U: n(Q, C), ia: [] }; }, d: (I, A, B, g, Q, C, i, D, o, w) => { EA[I].ia.push({ ma: c(A), ra: B, pa: n(g, Q), qa: C, xa: i, wa: n(D, o), ya: w }); }, x: (I, A) => { A = c(A), e(I, { Aa: !0, name: A, V: 0, fromWireType: () => { }, toWireType: () => { } }); }, n: _A, f: (I, A) => { var B = T[I]; if (B === void 0) throw I = `_emval_take_value has unknown type ${PA(I)}`, new G(I); return I = B, I = I.readValueFromPointer(A), LA(I); }, q: (I, A, B, g) => { var Q = (/* @__PURE__ */ new Date()).getFullYear(), C = new Date(Q, 0, 1).getTimezoneOffset(); Q = new Date(Q, 6, 1).getTimezoneOffset(), N[I >> 2] = 60 * Math.max(C, Q), V[A >> 2] = +(C != Q), A = (i) => { var D = Math.abs(i); return `UTC${0 <= i ? "-" : "+"}${String(Math.floor(D / 60)).padStart(2, "0")}${String(D % 60).padStart(2, "0")}`; }, I = A(C), A = A(Q), Q < C ? (v(I, B, 17), v(A, g, 17)) : (v(I, g, 17), v(A, B, 17)); }, t: (I) => { var A = L.length; if (I >>>= 0, 2147483648 < I) return !1; for (var B = 1; 4 >= B; B *= 2) { var g = A * (1 + 0.2 / B); g = Math.min(g, I + 100663296); A: { g = (Math.min(2147483648, 65536 * Math.ceil(Math.max(I, g) / 65536)) - gA.buffer.byteLength + 65535) / 65536 | 0; try { gA.grow(g), dA(); var Q = 1; break A; } catch { } Q = void 0; } if (Q) return !0; } return !1; }, r: (I, A) => { var B = 0; return gI().forEach((g, Q) => { var C = A + B; for (Q = N[I + 4 * Q >> 2] = C, C = 0; C < g.length; ++C) X[Q++] = g.charCodeAt(C); X[Q] = 0, B += g.length + 1; }), 0; }, s: (I, A) => { var B = gI(); N[I >> 2] = B.length; var g = 0; return B.forEach((Q) => g += Q.length + 1), N[A >> 2] = g, 0; }, j: (I, A, B, g) => { for (var Q = 0, C = 0; C < B; C++) { var i = N[A >> 2], D = N[A + 4 >> 2]; A += 8; for (var o = 0; o < D; o++) { var w = L[i + o], F = WI[I]; w === 0 || w === 10 ? ((I === 1 ? oI : BA)(II(F)), F.length = 0) : F.push(w); } Q += D; } return N[g >> 2] = Q, 0; } }, Y = function() { var I; function A(g) { var Q; return Y = g.exports, gA = Y.z, dA(), UA = Y.B, WA.unshift(Y.A), x--, (Q = E.monitorRunDependencies) == null || Q.call(E, x), x == 0 && m && (g = m, m = null, g()), Y; } x++, (I = E.monitorRunDependencies) == null || I.call(E, x); var B = { a: xI }; if (E.instantiateWasm) try { return E.instantiateWasm(B, A); } catch (g) { BA(`Module.instantiateWasm callback failed with error: ${g}`), M(g); } return CA ?? (CA = "data:application/octet-stream;base64,AGFzbQEAAAAB1AM4YAF/AX9gAn9/AGABfwBgAn9/AX9gA39/fwF/YAN/f38AYAZ/f39/f38Bf2AEf39/fwBgBX9/f39/AX9gBH9/f38Bf2AGf39/f39/AGAFf39/f38AYAh/f39/f39/fwF/YAAAYAd/f39/f39/AX9gB39/f39/f38AYAV/fn5+fgBgBX9/f39+AX9gCn9/f39/f39/f38AYAABf2AFf39+f38AYAh/f39/f39/fwBgBH9+fn8AYAN/fn8BfmAKf39/f39/f39/fwF/YAd/f39/f35+AX9gBn9/f39+fgF/YAJ/fgBgA39/fwF+YAx/f39/f39/f39/f38Bf2AGf39/f35/AX9gD39/f39/f39/f39/f39/fwBgC39/f39/f39/f39/AX9gBH9/f38BfmAGf3x/f39/AX9gBX9/f398AX9gDX9/f39/f39/f39/f38AYAJ/fABgBH5+fn4Bf2ACfn8Bf2ABfwF8YAR/f39+AX5gAn5+AXxgBH9/fn4AYAN/f38BfGADf39/AX1gA39/fgBgAn5+AX1gAn9/AX5gBH9+fn4AYAN+fn4Bf2ACfH8BfGAEf39/fQF/YAl/f39/f39/f38Bf2AEf39/fQBgA39/fQAClwEZAWEBYQAFAWEBYgASAWEBYwALAWEBZAASAWEBZQAFAWEBZgADAWEBZwAKAWEBaAABAWEBaQAkAWEBagAJAWEBawABAWEBbAAFAWEBbQAVAWEBbgACAWEBbwAKAWEBcAAPAWEBcQAHAWEBcgADAWEBcwADAWEBdAAAAWEBdQANAWEBdgACAWEBdwAHAWEBeAABAWEBeQACA4wFigUAAAEDAAACAAABAQEDAxMCEAADBQIAAAIEAAACDQQBBAAAEAMFBwEWCwEABAEADQAAABADAQgAAQEBBQQDAQAAAQEBAQUABAQFAAIDGwAAAwEICAkEACUADAwHDQEAAAEBAQADAAcDAAAFAwYAAwMBAQYEJgMDAAUWAgQBAAEAAQAFAwMYBAAYAQAAAQEAAwcAAQAnAw0CCAUDBQEAAAQCCwEVAAMAAAIBAAAAAQQHAw4DAwIOCQkDCQMABQMFAQEAAAECAQMoAAQABgEKBQcDBQEcAAAABAMAAwsBAgACBB0LBB0LAQcAKQAAEAACAQIJAgUEAgAAAxsBACoDDQ0CAg0AHgYeBgEJCSsDAwcVBQUFHAIAAAIAAQABAgUAAAUEBQAAAgAACAwMCAwMAAgMAAMCAgICAQACAgEABAQfEgQfEgAAAAsDASABAAAFASABAQMBCgsKCgsKCgAEEw8PAg8PBgQEBywtIQkGCSEJAwUACQIDAAgDAAAAAAMELg0vMAcQEBYxMgAAAwMDAAEFBwUHAwAAAQUBAAABAQIDAAABAgIDAAIDAAcHAA4IMwEEAQQACQQABwU0BBg1Dg8ICgoKCws2CwQHBwcEBDcCAgACAAIAAgACAAIAAgACAAUCAAIAAgACAAIDAAIAAQEBAQEFAQAAAgIDAAgACAUMDAIICAQJBAMEAwIIBAkDBAMEAwkJCQQCAgITCgoGBBkGGQUOBQ4BDg4ADg4EDAYGBgYGBQwGBgYFBgYIGiMRCBEICAgaIxEIEQAIAwgGBgYEBgYGBgYGBgYGBgYGBgYGBAcIBAcIBAQABQICAAIABwIUAwMAAAEAAgIAAAIAAgAEAAAEBxQEAgEiFwQHAXAB+wL7AgUHAQGCAoCAAgYIAX8BQcD5BQsHNAsBegIAAUEAlgIBQgEAAUMAzAMBRAAvAUUAKAFGANgDAUcA1wMBSADWAwFJANUDAUoA1AMJtgUBAEEBC/oCmAOBBYAF6ATjBOEE+QL2Ao4F0ARwywTEBMEE+QL2Ar4EvATPA7oEtgSyBLAEpgSWBJEEiwSCBPgDrgLmA94DpALTA9IDrgLRA9ADpALOA80DmgLLA8oDQ8kDogWhBaAFkwKfBZICngWdBZwFQ0ObBZoFmQW9A5gFvQOPArwDlwWWBY4CtgOVBZQF2QGNApMFkQWSBZAFggKIBYkFhwWMBYsFigW1AYoChgWFBYQFgwWFAoIF/wT+BCiSAZIBkgGSAcwChASBBP8D/QP7A/kD9gP0A/ID8APuA+wD6gPoA9ACsQSvBMkCogShBKAEnwSeBMoCnQScBJsE1AKZBJgElwSVBJQEQ5MEkgS/ApAEjgSNBIwEiQSHBL4CjwSPBY0FigSIBIYEjwEtLa4ErQSsBKsEqgSpBKgEpwTKAqUEpASjBC3IAsgCsAHiAeIBmgTiAS3FAsQCsAFDQ8MCvwEtxQLEArABQ0PDAr8BLcICwQKwAUNDwAK/AS3CAsECsAFDQ8ACvwGPAS39BPwE+wSPAS36BPkE+AQt9wT2BPUE9ASEA4QD8wTyBPEE8ATvBC3uBO0E7ATrBPwC/ALqBOkE5wTmBOUELeQE4gTgBN8E3gTdBNwE2wQt2gTZBNgE1wTWBNUE1ATTBI8BLfQC0gTRBM8EzgTNBMwEhQSABPwD7wPrA/cD8wOPAS30AsoEyQTIBMcExgTFBIME/gP6A+0D6QP1A/ED7gG9AsME7gG9AsIELcQBxAFWVlbqAkN6ei3EAcQBVlZW6gJDenotwwHDAVZWVukCQ3p6LcMBwwFWVlbpAkN6ei3ABL8ELb0EuwQtuQS4BC23BLUELdUCtASSAi3VArMEkgKPAecDNY8BLZIBkgHlAy3kA9kD3APjAy3aA90D4gMt2wPfA+EDLeADCr+nCIoFEwAgABBIBEAgACgCBA8LIAAQXgsbAQF/IAAQSARAIAAoAgAgABCBARoQiAILIAALjwEBA38CQCAAEBkiAiABSQRAIwBBEGsiBCQAIAEgAmsiAgRAIAIgABAgIgMgABAZIgFrSwRAIAAgAyACIANrIAFqIAEgARDzAQsgASAAEB0iA2ogAkEAEKoCIAAgASACaiIAEIgBIARBADoADyAAIANqIARBD2oQUQsgBEEQaiQADAELIAAgABAdIAEQugILCwkAIAAQHSABagsRACAAEEgEQCAAKAIADwsgAAskAQF/IwBBEGsiASQAIABCADcCACAAQQA2AgggAUEQaiQAIAALFgAgACgCACIAQfjrAUcEQCAAEMABCwsaAQF/QQohASAAEEgEfyAAEIEBQQFrBUEKCwuLAgIDfwJ+AkAgACkDcCIEUEUgBCAAKQN4IAAoAgQiASAAKAIsIgJrrHwiBVdxRQRAIwBBEGsiAiQAQX8hAQJAIAAQvgMNACAAIAJBD2pBASAAKAIgEQQAQQFHDQAgAi0ADyEBCyACQRBqJAAgASIDQQBODQEgACgCBCEBIAAoAiwhAgsgAEJ/NwNwIAAgATYCaCAAIAUgAiABa6x8NwN4QX8PCyAFQgF8IQUgACgCBCEBIAAoAgghAgJAIAApA3AiBFANACAEIAV9IgQgAiABa6xZDQAgASAEp2ohAgsgACACNgJoIAAgBSAAKAIsIgAgAWusfDcDeCAAIAFPBEAgAUEBayADOgAACyADCwwAIAAgAUEcahDPAgt6AQN/AkAgARCtAiECIAAQ8QEhAyAAEBkhBCACIANNBEAgABAdIgMgASACEKgDIwBBEGsiASQAIAAQGRogACACEIgBIAFBADYCDCADIAJBAnRqIAFBDGoQTSABQRBqJAAMAQsgACADIAIgA2sgBEEAIAQgAiABEKcCCwsOACAAIAEgARC2ARCpAgsQACAAEKEDIAEQoQNzQQFzCxAAIAAQogMgARCiA3NBAXML7AIBBn9B9OsBLQAABEBB8OsBKAIADwsjAEEgayICJAACQAJAA0AgAkEIaiIEIABBAnQiA2oCf0EBIAB0Qf////8HcSIFQQFyRQRAIAMoAgAMAQsgAEG+FEH5HCAFGxCVAwsiAzYCACADQX9GDQEgAEEBaiIAQQZHDQALQQAQlANFBEBB+P8AIQEgBEH4/wBBGBCTAUUNAkGQgAEhASAEQZCAAUEYEJMBRQ0CQQAhAEGc6QEtAABFBEADQCAAQQJ0QezoAWogAEH5HBCVAzYCACAAQQFqIgBBBkcNAAtBnOkBQQE6AABBhOkBQezoASgCADYCAAtB7OgBIQEgAkEIaiIAQezoAUEYEJMBRQ0CQYTpASEBIABBhOkBQRgQkwFFDQJBGBAvIgFFDQELIAEgAikCCDcCACABIAIpAhg3AhAgASACKQIQNwIIDAELQQAhAQsgAkEgaiQAQfTrAUEBOgAAQfDrASABNgIAIAELgAwBB38CQCAARQ0AIABBCGsiAyAAQQRrKAIAIgJBeHEiAGohBQJAIAJBAXENACACQQJxRQ0BIAMgAygCACIEayIDQfzkASgCAEkNASAAIARqIQACQAJAAkBBgOUBKAIAIANHBEAgAygCDCEBIARB/wFNBEAgASADKAIIIgJHDQJB7OQBQezkASgCAEF+IARBA3Z3cTYCAAwFCyADKAIYIQYgASADRwRAIAMoAggiAiABNgIMIAEgAjYCCAwECyADKAIUIgIEfyADQRRqBSADKAIQIgJFDQMgA0EQagshBANAIAQhByACIgFBFGohBCABKAIUIgINACABQRBqIQQgASgCECICDQALIAdBADYCAAwDCyAFKAIEIgJBA3FBA0cNA0H05AEgADYCACAFIAJBfnE2AgQgAyAAQQFyNgIEIAUgADYCAA8LIAIgATYCDCABIAI2AggMAgtBACEBCyAGRQ0AAkAgAygCHCIEQQJ0QZznAWoiAigCACADRgRAIAIgATYCACABDQFB8OQBQfDkASgCAEF+IAR3cTYCAAwCCwJAIAMgBigCEEYEQCAGIAE2AhAMAQsgBiABNgIUCyABRQ0BCyABIAY2AhggAygCECICBEAgASACNgIQIAIgATYCGAsgAygCFCICRQ0AIAEgAjYCFCACIAE2AhgLIAMgBU8NACAFKAIEIgRBAXFFDQACQAJAAkACQCAEQQJxRQRAQYTlASgCACAFRgRAQYTlASADNgIAQfjkAUH45AEoAgAgAGoiADYCACADIABBAXI2AgQgA0GA5QEoAgBHDQZB9OQBQQA2AgBBgOUBQQA2AgAPC0GA5QEoAgAgBUYEQEGA5QEgAzYCAEH05AFB9OQBKAIAIABqIgA2AgAgAyAAQQFyNgIEIAAgA2ogADYCAA8LIARBeHEgAGohACAFKAIMIQEgBEH/AU0EQCAFKAIIIgIgAUYEQEHs5AFB7OQBKAIAQX4gBEEDdndxNgIADAULIAIgATYCDCABIAI2AggMBAsgBSgCGCEGIAEgBUcEQCAFKAIIIgIgATYCDCABIAI2AggMAwsgBSgCFCICBH8gBUEUagUgBSgCECICRQ0CIAVBEGoLIQQDQCAEIQcgAiIBQRRqIQQgASgCFCICDQAgAUEQaiEEIAEoAhAiAg0ACyAHQQA2AgAMAgsgBSAEQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgAMAwtBACEBCyAGRQ0AAkAgBSgCHCIEQQJ0QZznAWoiAigCACAFRgRAIAIgATYCACABDQFB8OQBQfDkASgCAEF+IAR3cTYCAAwCCwJAIAUgBigCEEYEQCAGIAE2AhAMAQsgBiABNgIUCyABRQ0BCyABIAY2AhggBSgCECICBEAgASACNgIQIAIgATYCGAsgBSgCFCICRQ0AIAEgAjYCFCACIAE2AhgLIAMgAEEBcjYCBCAAIANqIAA2AgAgA0GA5QEoAgBHDQBB9OQBIAA2AgAPCyAAQf8BTQRAIABBeHFBlOUBaiECAn9B7OQBKAIAIgRBASAAQQN2dCIAcUUEQEHs5AEgACAEcjYCACACDAELIAIoAggLIQAgAiADNgIIIAAgAzYCDCADIAI2AgwgAyAANgIIDwtBHyEBIABB////B00EQCAAQSYgAEEIdmciAmt2QQFxIAJBAXRrQT5qIQELIAMgATYCHCADQgA3AhAgAUECdEGc5wFqIQQCfwJAAn9B8OQBKAIAIgdBASABdCICcUUEQEHw5AEgAiAHcjYCACAEIAM2AgBBGCEBQQgMAQsgAEEZIAFBAXZrQQAgAUEfRxt0IQEgBCgCACEEA0AgBCICKAIEQXhxIABGDQIgAUEddiEEIAFBAXQhASACIARBBHFqIgcoAhAiBA0ACyAHIAM2AhBBGCEBIAIhBEEICyEAIAMiAgwBCyACKAIIIgQgAzYCDCACIAM2AghBGCEAQQghAUEACyEHIAEgA2ogBDYCACADIAI2AgwgACADaiAHNgIAQYzlAUGM5QEoAgBBAWsiAEF/IAAbNgIACwu7CgIFfw9+IwBB4ABrIgUkACAEQv///////z+DIQwgAiAEhUKAgICAgICAgIB/gyEKIAJC////////P4MiDUIgiCEOIARCMIinQf//AXEhBwJAAkAgAkIwiKdB//8BcSIJQf//AWtBgoB+TwRAIAdB//8Ba0GBgH5LDQELIAFQIAJC////////////AIMiC0KAgICAgIDA//8AVCALQoCAgICAgMD//wBRG0UEQCACQoCAgICAgCCEIQoMAgsgA1AgBEL///////////8AgyICQoCAgICAgMD//wBUIAJCgICAgICAwP//AFEbRQRAIARCgICAgICAIIQhCiADIQEMAgsgASALQoCAgICAgMD//wCFhFAEQCACIAOEUARAQoCAgICAgOD//wAhCkIAIQEMAwsgCkKAgICAgIDA//8AhCEKQgAhAQwCCyADIAJCgICAgICAwP//AIWEUARAIAEgC4RCACEBUARAQoCAgICAgOD//wAhCgwDCyAKQoCAgICAgMD//wCEIQoMAgsgASALhFAEQEIAIQEMAgsgAiADhFAEQEIAIQEMAgsgC0L///////8/WARAIAVB0ABqIAEgDSABIA0gDVAiBht5IAZBBnStfKciBkEPaxBAQRAgBmshBiAFKQNYIg1CIIghDiAFKQNQIQELIAJC////////P1YNACAFQUBrIAMgDCADIAwgDFAiCBt5IAhBBnStfKciCEEPaxBAIAYgCGtBEGohBiAFKQNIIQwgBSkDQCEDCyADQg+GIgtCgID+/w+DIgIgAUIgiCIEfiIQIAtCIIgiEyABQv////8PgyIBfnwiD0IghiIRIAEgAn58IgsgEVStIAIgDUL/////D4MiDX4iFSAEIBN+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IgMkACADIAE2AgwgACADQQxqEI0BIgBBBGogAhCNARogA0EQaiQAIAALCgAgACgCABCzAwsLACAAKAIAELgDwAs7AQJ/IwBBEGsiASQAIAEgADYCDCABKAIMIgAoAgAiAgRAIAAgAjYCBCAAKAIIGiACECgLIAFBEGokAAsGABCuAQALLQAgAkUEQCAAKAIEIAEoAgRGDwsgACABRgRAQQEPCyAAKAIEIAEoAgQQ0AFFCyQBAX8gACgCACECIAAgATYCACACBEAgAiAAEJkBKAIAEQIACwspAQF/IAIEQCAAIQMDQCADIAE6AAAgA0EBaiEDIAJBAWsiAg0ACwsgAAsNACAAKAIAELIDGiAACw0AIAAoAgAQmwIaIAALdQEBfiAAIAEgBH4gAiADfnwgA0IgiCICIAFCIIgiBH58IANC/////w+DIgMgAUL/////D4MiAX4iBUIgiCADIAR+fCIDQiCIfCABIAJ+IANC/////w+DfCIBQiCIfDcDCCAAIAVC/////w+DIAFCIIaENwMACxEAIAAgASAAKAIAKAIcEQMAC8EBAQN/IAAtAABBIHFFBEACQCAAKAIQIgMEfyADBSAAEOABDQEgACgCEAsgACgCFCIEayACSQRAIAAgASACIAAoAiQRBAAaDAELAkACQCACRSAAKAJQQQBIcg0AIAIhAwNAIAEgA2oiBUEBay0AAEEKRwRAIANBAWsiAw0BDAILCyAAIAEgAyAAKAIkEQQAIANJDQIgAiADayECIAAoAhQhBAwBCyABIQULIAQgBSACEEQaIAAgACgCFCACajYCFAsLC6EBAQJ/AkAgABAZRSACIAFrQQVIcg0AIAEgAhDFASACQQRrIQQgABAdIgIgABAZaiEFAkADQAJAIAIsAAAhACABIARPDQAgAEEATCAAQf8ATnJFBEAgASgCACACLAAARw0DCyABQQRqIQEgAiAFIAJrQQFKaiECDAELCyAAQQBMIABB/wBOcg0BIAIsAAAgBCgCAEEBa0sNAQsgA0EENgIACws8ACAALAALQQBIBEAgACgCCBogACgCABAoCyAAIAEpAgA3AgAgACABKAIINgIIIAFBADoACyABQQA6AAALUAEBfgJAIANBwABxBEAgASADQUBqrYYhAkIAIQEMAQsgA0UNACACIAOtIgSGIAFBwAAgA2utiIQhAiAB