@niivue/niivue
Version:
minimal webgl2 nifti image viewer
910 lines (907 loc) • 3.12 MB
JavaScript
var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __typeError = (msg) => {
throw TypeError(msg);
};
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __esm = (fn, res) => function __init() {
return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
};
var __commonJS = (cb, mod) => function __require() {
return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
};
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
// If the importer is in node compatibility mode or this is not an ESM
// file that has been converted to a CommonJS file using a Babel-
// compatible transform (i.e. "__esModule" has not been set), then set
// "default" to the CommonJS "module.exports" for node compatibility.
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
mod
));
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
var __accessCheck = (obj, member, msg) => member.has(obj) || __typeError("Cannot " + msg);
var __privateGet = (obj, member, getter) => (__accessCheck(obj, member, "read from private field"), getter ? getter.call(obj) : member.get(obj));
var __privateAdd = (obj, member, value) => member.has(obj) ? __typeError("Cannot add the same private member more than once") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);
var __privateSet = (obj, member, value, setter2) => (__accessCheck(obj, member, "write to private field"), setter2 ? setter2.call(obj, value) : member.set(obj, value), value);
var __privateMethod = (obj, member, method) => (__accessCheck(obj, member, "access private method"), method);
// ../../node_modules/array-equal/index.js
var require_array_equal = __commonJS({
"../../node_modules/array-equal/index.js"(exports, module) {
module.exports = function equal(arr1, arr2) {
var length4 = arr1.length;
if (arr1 === arr2) return true;
if (length4 !== arr2.length) return false;
for (var i = 0; i < length4; i++)
if (arr1[i] !== arr2[i])
return false;
return true;
};
}
});
// ../../node_modules/numcodecs/dist/chunk-INHXZS53.js
var __toBinary;
var init_chunk_INHXZS53 = __esm({
"../../node_modules/numcodecs/dist/chunk-INHXZS53.js"() {
__toBinary = /* @__PURE__ */ (() => {
var table = new Uint8Array(128);
for (var i = 0; i < 64; i++)
table[i < 26 ? i + 65 : i < 52 ? i + 71 : i < 62 ? i - 4 : i * 4 - 205] = i;
return (base64) => {
var n = base64.length, bytes = new Uint8Array((n - (base64[n - 1] == "=") - (base64[n - 2] == "=")) * 3 / 4 | 0);
for (var i2 = 0, j = 0; i2 < n; ) {
var c0 = table[base64.charCodeAt(i2++)], c1 = table[base64.charCodeAt(i2++)];
var c2 = table[base64.charCodeAt(i2++)], c3 = table[base64.charCodeAt(i2++)];
bytes[j++] = c0 << 2 | c1 >> 4;
bytes[j++] = c1 << 4 | c2 >> 2;
bytes[j++] = c2 << 6 | c3;
}
return bytes;
};
})();
}
});
// ../../node_modules/numcodecs/dist/blosc.js
var blosc_exports = {};
__export(blosc_exports, {
default: () => blosc_default
});
var blosc_codec, blosc_codec_default, blosc_codec_default2, COMPRESSORS, emscriptenModule, init, _a2, Blosc, blosc_default;
var init_blosc = __esm({
"../../node_modules/numcodecs/dist/blosc.js"() {
init_chunk_INHXZS53();
blosc_codec = (() => {
var _scriptDir = typeof document !== "undefined" && document.currentScript ? document.currentScript.src : void 0;
return function(moduleArg = {}) {
var f = moduleArg, aa, q;
f.ready = new Promise((a, b) => {
aa = a;
q = b;
});
var ba = Object.assign({}, f), ca = "./this.program", ea = f.print || console.log.bind(console), t = f.printErr || console.error.bind(console);
Object.assign(f, ba);
ba = null;
f.thisProgram && (ca = f.thisProgram);
var u;
f.wasmBinary && (u = f.wasmBinary);
"object" != typeof WebAssembly && x("no native wasm support detected");
var y, fa = false, A, B, D, E, F, G, ha, ia;
function ja() {
var a = y.buffer;
f.HEAP8 = A = new Int8Array(a);
f.HEAP16 = D = new Int16Array(a);
f.HEAPU8 = B = new Uint8Array(a);
f.HEAPU16 = E = new Uint16Array(a);
f.HEAP32 = F = new Int32Array(a);
f.HEAPU32 = G = new Uint32Array(a);
f.HEAPF32 = ha = new Float32Array(a);
f.HEAPF64 = ia = new Float64Array(a);
}
var ka = [], la = [], ma = [];
function na() {
var a = f.preRun.shift();
ka.unshift(a);
}
var H = 0, I = null, J = null;
function x(a) {
f.onAbort?.(a);
a = "Aborted(" + a + ")";
t(a);
fa = true;
a = new WebAssembly.RuntimeError(a + ". Build with -sASSERTIONS for more info.");
q(a);
throw a;
}
var oa = (a) => a.startsWith("data:application/octet-stream;base64,"), pa = (a) => a.startsWith("file://"), L;
L = "blosc_codec.wasm";
if (!oa(L)) {
var qa = L;
L = f.locateFile ? f.locateFile(qa, "") : "" + qa;
}
function ra(a) {
return Promise.resolve().then(() => {
if (a == L && u)
var b = new Uint8Array(u);
else
throw "both async and sync fetching of the wasm failed";
return b;
});
}
function sa(a, b, c) {
return ra(a).then((d) => WebAssembly.instantiate(d, b)).then((d) => d).then(c, (d) => {
t(`failed to asynchronously prepare wasm: ${d}`);
x(d);
});
}
function ta(a, b) {
var c = L;
return u || "function" != typeof WebAssembly.instantiateStreaming || oa(c) || pa(c) || "function" != typeof fetch ? sa(c, a, b) : fetch(c, { credentials: "same-origin" }).then((d) => WebAssembly.instantiateStreaming(d, a).then(b, function(e) {
t(`wasm streaming compile failed: ${e}`);
t("falling back to ArrayBuffer instantiation");
return sa(c, a, b);
}));
}
var M = (a) => {
for (; 0 < a.length; )
a.shift()(f);
};
function ua(a) {
this.H = a - 24;
this.N = function(b) {
G[this.H + 4 >> 2] = b;
};
this.M = function(b) {
G[this.H + 8 >> 2] = b;
};
this.I = function(b, c) {
this.J();
this.N(b);
this.M(c);
};
this.J = function() {
G[this.H + 16 >> 2] = 0;
};
}
var va = 0, wa = 0, xa, N = (a) => {
for (var b = ""; B[a]; )
b += xa[B[a++]];
return b;
}, O = {}, P = {}, Q = {}, R, ya = (a) => {
throw new R(a);
}, S, za = (a, b) => {
function c(l) {
l = b(l);
if (l.length !== d.length)
throw new S("Mismatched type converter count");
for (var g = 0; g < d.length; ++g)
T(d[g], l[g]);
}
var d = [];
d.forEach(function(l) {
Q[l] = a;
});
var e = Array(a.length), h = [], k = 0;
a.forEach((l, g) => {
P.hasOwnProperty(l) ? e[g] = P[l] : (h.push(l), O.hasOwnProperty(l) || (O[l] = []), O[l].push(() => {
e[g] = P[l];
++k;
k === h.length && c(e);
}));
});
0 === h.length && c(e);
};
function Aa(a, b, c = {}) {
var d = b.name;
if (!a)
throw new R(`type "${d}" must have a positive integer typeid pointer`);
if (P.hasOwnProperty(a)) {
if (c.P)
return;
throw new R(`Cannot register type '${d}' twice`);
}
P[a] = b;
delete Q[a];
O.hasOwnProperty(a) && (b = O[a], delete O[a], b.forEach((e) => e()));
}
function T(a, b, c = {}) {
if (!("argPackAdvance" in b))
throw new TypeError("registerType registeredInstance requires argPackAdvance");
Aa(a, b, c);
}
function Ba() {
this.F = [void 0];
this.K = [];
}
var U = new Ba(), Ca = (a) => {
a >= U.H && 0 === --U.get(a).L && U.J(a);
}, Da = (a) => {
switch (a) {
case void 0:
return 1;
case null:
return 2;
case true:
return 3;
case false:
return 4;
default:
return U.I({ L: 1, value: a });
}
};
function Ea(a) {
return this.fromWireType(F[a >> 2]);
}
var Fa = (a, b) => {
switch (b) {
case 4:
return function(c) {
return this.fromWireType(ha[c >> 2]);
};
case 8:
return function(c) {
return this.fromWireType(ia[c >> 3]);
};
default:
throw new TypeError(`invalid float width (${b}): ${a}`);
}
}, V = (a, b) => Object.defineProperty(b, "name", { value: a }), Ga = (a) => {
for (; a.length; ) {
var b = a.pop();
a.pop()(b);
}
};
function Ha(a) {
for (var b = 1; b < a.length; ++b)
if (null !== a[b] && void 0 === a[b].G)
return true;
return false;
}
function La(a) {
var b = Function;
if (!(b instanceof Function))
throw new TypeError(`new_ called with constructor type ${typeof b} which is not a function`);
var c = V(b.name || "unknownFunctionName", function() {
});
c.prototype = b.prototype;
c = new c();
a = b.apply(c, a);
return a instanceof Object ? a : c;
}
var Ma = (a, b) => {
if (void 0 === f[a].C) {
var c = f[a];
f[a] = function() {
if (!f[a].C.hasOwnProperty(arguments.length))
throw new R(`Function '${b}' called with an invalid number of arguments (${arguments.length}) - expects one of (${f[a].C})!`);
return f[a].C[arguments.length].apply(this, arguments);
};
f[a].C = [];
f[a].C[c.O] = c;
}
}, Na = (a, b, c) => {
if (f.hasOwnProperty(a)) {
if (void 0 === c || void 0 !== f[a].C && void 0 !== f[a].C[c])
throw new R(`Cannot register public name '${a}' twice`);
Ma(a, a);
if (f.hasOwnProperty(c))
throw new R(`Cannot register multiple overloads of a function with the same number of arguments (${c})!`);
f[a].C[c] = b;
} else
f[a] = b, void 0 !== c && (f[a].S = c);
}, Oa = (a, b) => {
for (var c = [], d = 0; d < a; d++)
c.push(G[b + 4 * d >> 2]);
return c;
}, Pa, Qa = (a, b) => {
var c = [];
return function() {
c.length = 0;
Object.assign(c, arguments);
if (a.includes("j")) {
var d = f["dynCall_" + a];
d = c && c.length ? d.apply(null, [b].concat(c)) : d.call(null, b);
} else
d = Pa.get(b).apply(null, c);
return d;
};
}, Ra = (a, b) => {
a = N(a);
var c = a.includes("j") ? Qa(a, b) : Pa.get(b);
if ("function" != typeof c)
throw new R(`unknown function pointer with signature ${a}: ${b}`);
return c;
}, Sa, Ua = (a) => {
a = Ta(a);
var b = N(a);
W(a);
return b;
}, Va = (a, b) => {
function c(h) {
e[h] || P[h] || (Q[h] ? Q[h].forEach(c) : (d.push(h), e[h] = true));
}
var d = [], e = {};
b.forEach(c);
throw new Sa(`${a}: ` + d.map(Ua).join([", "]));
}, Wa = (a) => {
a = a.trim();
const b = a.indexOf("(");
return -1 !== b ? a.substr(0, b) : a;
}, Xa = (a, b, c) => {
switch (b) {
case 1:
return c ? (d) => A[d >> 0] : (d) => B[d >> 0];
case 2:
return c ? (d) => D[d >> 1] : (d) => E[d >> 1];
case 4:
return c ? (d) => F[d >> 2] : (d) => G[d >> 2];
default:
throw new TypeError(`invalid integer width (${b}): ${a}`);
}
};
function Ya(a) {
return this.fromWireType(G[a >> 2]);
}
for (var Za = "undefined" != typeof TextDecoder ? new TextDecoder("utf8") : void 0, $a = (a, b, c) => {
var d = b + c;
for (c = b; a[c] && !(c >= d); )
++c;
if (16 < c - b && a.buffer && Za)
return Za.decode(a.subarray(b, c));
for (d = ""; b < c; ) {
var e = a[b++];
if (e & 128) {
var h = a[b++] & 63;
if (192 == (e & 224))
d += String.fromCharCode((e & 31) << 6 | h);
else {
var k = a[b++] & 63;
e = 224 == (e & 240) ? (e & 15) << 12 | h << 6 | k : (e & 7) << 18 | h << 12 | k << 6 | a[b++] & 63;
65536 > e ? d += String.fromCharCode(e) : (e -= 65536, d += String.fromCharCode(55296 | e >> 10, 56320 | e & 1023));
}
} else
d += String.fromCharCode(e);
}
return d;
}, ab = "undefined" != typeof TextDecoder ? new TextDecoder("utf-16le") : void 0, bb = (a, b) => {
var c = a >> 1;
for (var d = c + b / 2; !(c >= d) && E[c]; )
++c;
c <<= 1;
if (32 < c - a && ab)
return ab.decode(B.subarray(a, c));
c = "";
for (d = 0; !(d >= b / 2); ++d) {
var e = D[a + 2 * d >> 1];
if (0 == e)
break;
c += String.fromCharCode(e);
}
return c;
}, cb = (a, b, c) => {
c ?? (c = 2147483647);
if (2 > c)
return 0;
c -= 2;
var d = b;
c = c < 2 * a.length ? c / 2 : a.length;
for (var e = 0; e < c; ++e)
D[b >> 1] = a.charCodeAt(e), b += 2;
D[b >> 1] = 0;
return b - d;
}, db = (a) => 2 * a.length, eb = (a, b) => {
for (var c = 0, d = ""; !(c >= b / 4); ) {
var e = F[a + 4 * c >> 2];
if (0 == e)
break;
++c;
65536 <= e ? (e -= 65536, d += String.fromCharCode(55296 | e >> 10, 56320 | e & 1023)) : d += String.fromCharCode(e);
}
return d;
}, fb = (a, b, c) => {
c ?? (c = 2147483647);
if (4 > c)
return 0;
var d = b;
c = d + c - 4;
for (var e = 0; e < a.length; ++e) {
var h = a.charCodeAt(e);
if (55296 <= h && 57343 >= h) {
var k = a.charCodeAt(++e);
h = 65536 + ((h & 1023) << 10) | k & 1023;
}
F[b >> 2] = h;
b += 4;
if (b + 4 > c)
break;
}
F[b >> 2] = 0;
return b - d;
}, gb = (a) => {
for (var b = 0, c = 0; c < a.length; ++c) {
var d = a.charCodeAt(c);
55296 <= d && 57343 >= d && ++c;
b += 4;
}
return b;
}, hb = {}, jb = () => {
if (!ib) {
var a = {
USER: "web_user",
LOGNAME: "web_user",
PATH: "/",
PWD: "/",
HOME: "/home/web_user",
LANG: ("object" == typeof navigator && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8",
_: ca || "./this.program"
}, b;
for (b in hb)
void 0 === hb[b] ? delete a[b] : a[b] = hb[b];
var c = [];
for (b in a)
c.push(`${b}=${a[b]}`);
ib = c;
}
return ib;
}, ib, kb = [null, [], []], lb = Array(256), X = 0; 256 > X; ++X)
lb[X] = String.fromCharCode(X);
xa = lb;
R = f.BindingError = class extends Error {
constructor(a) {
super(a);
this.name = "BindingError";
}
};
S = f.InternalError = class extends Error {
constructor(a) {
super(a);
this.name = "InternalError";
}
};
Object.assign(Ba.prototype, { get(a) {
return this.F[a];
}, has(a) {
return void 0 !== this.F[a];
}, I(a) {
var b = this.K.pop() || this.F.length;
this.F[b] = a;
return b;
}, J(a) {
this.F[a] = void 0;
this.K.push(a);
} });
U.F.push({ value: void 0 }, { value: null }, { value: true }, { value: false });
U.H = U.F.length;
f.count_emval_handles = () => {
for (var a = 0, b = U.H; b < U.F.length; ++b)
void 0 !== U.F[b] && ++a;
return a;
};
Sa = f.UnboundTypeError = ((a, b) => {
var c = V(b, function(d) {
this.name = b;
this.message = d;
d = Error(d).stack;
void 0 !== d && (this.stack = this.toString() + "\n" + d.replace(/^Error(:[^\n]*)?\n/, ""));
});
c.prototype = Object.create(a.prototype);
c.prototype.constructor = c;
c.prototype.toString = function() {
return void 0 === this.message ? this.name : `${this.name}: ${this.message}`;
};
return c;
})(Error, "UnboundTypeError");
var nb = {
p: (a, b, c) => {
new ua(a).I(b, c);
va = a;
wa++;
throw va;
},
o: () => {
},
l: (a, b, c, d) => {
b = N(b);
T(a, { name: b, fromWireType: function(e) {
return !!e;
}, toWireType: function(e, h) {
return h ? c : d;
}, argPackAdvance: 8, readValueFromPointer: function(e) {
return this.fromWireType(B[e]);
}, G: null });
},
k: (a, b) => {
b = N(b);
T(a, { name: b, fromWireType: (c) => {
if (!c)
throw new R("Cannot use deleted val. handle = " + c);
var d = U.get(c).value;
Ca(c);
return d;
}, toWireType: (c, d) => Da(d), argPackAdvance: 8, readValueFromPointer: Ea, G: null });
},
i: (a, b, c) => {
b = N(b);
T(a, { name: b, fromWireType: (d) => d, toWireType: (d, e) => e, argPackAdvance: 8, readValueFromPointer: Fa(b, c), G: null });
},
d: (a, b, c, d, e, h, k) => {
var l = Oa(b, c);
a = N(a);
a = Wa(a);
e = Ra(d, e);
Na(a, function() {
Va(`Cannot call ${a} due to unbound types`, l);
}, b - 1);
za(l, function(g) {
var m = a;
var p = a;
g = [g[0], null].concat(g.slice(1));
var r = e, n = g.length;
if (2 > n)
throw new R("argTypes array size mismatch! Must at least get return value and 'this' types!");
var v = null !== g[1] && false, C = Ha(g), Ia = "void" !== g[0].name;
r = [ya, r, h, Ga, g[0], g[1]];
for (var w = 0; w < n - 2; ++w)
r.push(g[w + 2]);
if (!C)
for (w = v ? 1 : 2; w < g.length; ++w)
null !== g[w].G && r.push(g[w].G);
C = Ha(g);
w = g.length;
var z = "", K = "";
for (n = 0; n < w - 2; ++n)
z += (0 !== n ? ", " : "") + "arg" + n, K += (0 !== n ? ", " : "") + "arg" + n + "Wired";
z = `
return function (${z}) {
if (arguments.length !== ${w - 2}) {
throwBindingError('function ${p} called with ' + arguments.length + ' arguments, expected ${w - 2}');
}`;
C && (z += "var destructors = [];\n");
var Ja = C ? "destructors" : "null", da = "throwBindingError invoker fn runDestructors retType classParam".split(" ");
v && (z += "var thisWired = classParam['toWireType'](" + Ja + ", this);\n");
for (n = 0; n < w - 2; ++n)
z += "var arg" + n + "Wired = argType" + n + "['toWireType'](" + Ja + ", arg" + n + "); // " + g[n + 2].name + "\n", da.push("argType" + n);
v && (K = "thisWired" + (0 < K.length ? ", " : "") + K);
z += (Ia || k ? "var rv = " : "") + "invoker(fn" + (0 < K.length ? ", " : "") + K + ");\n";
if (C)
z += "runDestructors(destructors);\n";
else
for (n = v ? 1 : 2; n < g.length; ++n)
v = 1 === n ? "thisWired" : "arg" + (n - 2) + "Wired", null !== g[n].G && (z += v + "_dtor(" + v + "); // " + g[n].name + "\n", da.push(v + "_dtor"));
Ia && (z += "var ret = retType['fromWireType'](rv);\nreturn ret;\n");
let [Ka, ob] = [da, z + "}\n"];
Ka.push(ob);
g = La(Ka).apply(null, r);
p = V(p, g);
g = b - 1;
if (!f.hasOwnProperty(m))
throw new S("Replacing nonexistant public symbol");
void 0 !== f[m].C && void 0 !== g ? f[m].C[g] = p : (f[m] = p, f[m].O = g);
return [];
});
},
b: (a, b, c, d, e) => {
b = N(b);
-1 === e && (e = 4294967295);
e = (l) => l;
if (0 === d) {
var h = 32 - 8 * c;
e = (l) => l << h >>> h;
}
var k = b.includes("unsigned") ? function(l, g) {
return g >>> 0;
} : function(l, g) {
return g;
};
T(a, {
name: b,
fromWireType: e,
toWireType: k,
argPackAdvance: 8,
readValueFromPointer: Xa(b, c, 0 !== d),
G: null
});
},
a: (a, b, c) => {
function d(h) {
return new e(A.buffer, G[h + 4 >> 2], G[h >> 2]);
}
var e = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array][b];
c = N(c);
T(a, { name: c, fromWireType: d, argPackAdvance: 8, readValueFromPointer: d }, { P: true });
},
e: (a, b) => {
b = N(b);
var c = "std::string" === b;
T(a, { name: b, fromWireType: function(d) {
var e = G[d >> 2], h = d + 4;
if (c)
for (var k = h, l = 0; l <= e; ++l) {
var g = h + l;
if (l == e || 0 == B[g]) {
k = k ? $a(B, k, g - k) : "";
if (void 0 === m)
var m = k;
else
m += String.fromCharCode(0), m += k;
k = g + 1;
}
}
else {
m = Array(e);
for (l = 0; l < e; ++l)
m[l] = String.fromCharCode(B[h + l]);
m = m.join("");
}
W(d);
return m;
}, toWireType: function(d, e) {
e instanceof ArrayBuffer && (e = new Uint8Array(e));
var h, k = "string" == typeof e;
if (!(k || e instanceof Uint8Array || e instanceof Uint8ClampedArray || e instanceof Int8Array))
throw new R("Cannot pass non-string to std::string");
var l;
if (c && k)
for (h = l = 0; h < e.length; ++h) {
var g = e.charCodeAt(h);
127 >= g ? l++ : 2047 >= g ? l += 2 : 55296 <= g && 57343 >= g ? (l += 4, ++h) : l += 3;
}
else
l = e.length;
h = l;
l = mb(4 + h + 1);
g = l + 4;
G[l >> 2] = h;
if (c && k) {
if (k = g, g = h + 1, h = B, 0 < g) {
g = k + g - 1;
for (var m = 0; m < e.length; ++m) {
var p = e.charCodeAt(m);
if (55296 <= p && 57343 >= p) {
var r = e.charCodeAt(++m);
p = 65536 + ((p & 1023) << 10) | r & 1023;
}
if (127 >= p) {
if (k >= g)
break;
h[k++] = p;
} else {
if (2047 >= p) {
if (k + 1 >= g)
break;
h[k++] = 192 | p >> 6;
} else {
if (65535 >= p) {
if (k + 2 >= g)
break;
h[k++] = 224 | p >> 12;
} else {
if (k + 3 >= g)
break;
h[k++] = 240 | p >> 18;
h[k++] = 128 | p >> 12 & 63;
}
h[k++] = 128 | p >> 6 & 63;
}
h[k++] = 128 | p & 63;
}
}
h[k] = 0;
}
} else if (k)
for (k = 0; k < h; ++k) {
m = e.charCodeAt(k);
if (255 < m)
throw W(g), new R("String has UTF-16 code units that do not fit in 8 bits");
B[g + k] = m;
}
else
for (k = 0; k < h; ++k)
B[g + k] = e[k];
null !== d && d.push(W, l);
return l;
}, argPackAdvance: 8, readValueFromPointer: Ya, G(d) {
W(d);
} });
},
c: (a, b, c) => {
c = N(c);
if (2 === b) {
var d = bb;
var e = cb;
var h = db;
var k = () => E;
var l = 1;
} else
4 === b && (d = eb, e = fb, h = gb, k = () => G, l = 2);
T(a, { name: c, fromWireType: (g) => {
for (var m = G[g >> 2], p = k(), r, n = g + 4, v = 0; v <= m; ++v) {
var C = g + 4 + v * b;
if (v == m || 0 == p[C >> l])
n = d(n, C - n), void 0 === r ? r = n : (r += String.fromCharCode(0), r += n), n = C + b;
}
W(g);
return r;
}, toWireType: (g, m) => {
if ("string" != typeof m)
throw new R(`Cannot pass non-string to C++ string type ${c}`);
var p = h(m), r = mb(4 + p + b);
G[r >> 2] = p >> l;
e(m, r + 4, p + b);
null !== g && g.push(W, r);
return r;
}, argPackAdvance: 8, readValueFromPointer: Ea, G(g) {
W(g);
} });
},
m: (a, b) => {
b = N(b);
T(a, { R: true, name: b, argPackAdvance: 0, fromWireType: () => {
}, toWireType: () => {
} });
},
g: Ca,
j: (a) => {
4 < a && (U.get(a).L += 1);
},
f: (a, b) => {
var c = P[a];
if (void 0 === c)
throw a = "_emval_take_value has unknown type " + Ua(a), new R(a);
a = c;
a = a.readValueFromPointer(b);
return Da(a);
},
h: () => {
x("");
},
v: (a, b, c) => B.copyWithin(a, b, b + c),
q: (a) => {
var b = B.length;
a >>>= 0;
if (2147483648 < a)
return false;
for (var c = 1; 4 >= c; c *= 2) {
var d = b * (1 + 0.2 / c);
d = Math.min(d, a + 100663296);
var e = Math;
d = Math.max(a, d);
a: {
e = (e.min.call(e, 2147483648, d + (65536 - d % 65536) % 65536) - y.buffer.byteLength + 65535) / 65536;
try {
y.grow(e);
ja();
var h = 1;
break a;
} catch (k) {
}
h = void 0;
}
if (h)
return true;
}
return false;
},
t: (a, b) => {
var c = 0;
jb().forEach((d, e) => {
var h = b + c;
e = G[a + 4 * e >> 2] = h;
for (h = 0; h < d.length; ++h)
A[e++ >> 0] = d.charCodeAt(h);
A[e >> 0] = 0;
c += d.length + 1;
});
return 0;
},
u: (a, b) => {
var c = jb();
G[a >> 2] = c.length;
var d = 0;
c.forEach((e) => d += e.length + 1);
G[b >> 2] = d;
return 0;
},
s: () => 52,
n: function() {
return 70;
},
r: (a, b, c, d) => {
for (var e = 0, h = 0; h < c; h++) {
var k = G[b >> 2], l = G[b + 4 >> 2];
b += 8;
for (var g = 0; g < l; g++) {
var m = B[k + g], p = kb[a];
0 === m || 10 === m ? ((1 === a ? ea : t)($a(p, 0)), p.length = 0) : p.push(m);
}
e += l;
}
G[d >> 2] = e;
return 0;
}
}, Y = (function() {
function a(c) {
Y = c.exports;
y = Y.w;
ja();
Pa = Y.A;
la.unshift(Y.x);
H--;
f.monitorRunDependencies?.(H);
0 == H && (null !== I && (clearInterval(I), I = null), J && (c = J, J = null, c()));
return Y;
}
var b = { a: nb };
H++;
f.monitorRunDependencies?.(H);
if (f.instantiateWasm)
try {
return f.instantiateWasm(
b,
a
);
} catch (c) {
t(`Module.instantiateWasm callback failed with error: ${c}`), q(c);
}
ta(b, function(c) {
a(c.instance);
}).catch(q);
return {};
})(), mb = (a) => (mb = Y.y)(a), W = (a) => (W = Y.z)(a), Ta = (a) => (Ta = Y.B)(a);
f.dynCall_jiji = (a, b, c, d, e) => (f.dynCall_jiji = Y.D)(a, b, c, d, e);
var Z;
J = function pb() {
Z || qb();
Z || (J = pb);
};
function qb() {
function a() {
if (!Z && (Z = true, f.calledRun = true, !fa)) {
M(la);
aa(f);
if (f.onRuntimeInitialized)
f.onRuntimeInitialized();
if (f.postRun)
for ("function" == typeof f.postRun && (f.postRun = [f.postRun]); f.postRun.length; ) {
var b = f.postRun.shift();
ma.unshift(b);
}
M(ma);
}
}
if (!(0 < H)) {
if (f.preRun)
for ("function" == typeof f.preRun && (f.preRun = [f.preRun]); f.preRun.length; )
na();
M(ka);
0 < H || (f.setStatus ? (f.setStatus("Running..."), setTimeout(function() {
setTimeout(function() {
f.setStatus("");
}, 1);
a();
}, 1)) : a());
}
}
if (f.preInit)
for ("function" == typeof f.preInit && (f.preInit = [f.preInit]); 0 < f.preInit.length; )
f.preInit.pop()();
qb();
return moduleArg.ready;
};
})();
blosc_codec_default = blosc_codec;
blosc_codec_default2 = __toBinary("AGFzbQEAAAABvwEWYAJ/fwBgBX9/f39/AX9gAn9/AX9gAX8Bf2ADf39/AX9gA39/fwBgBH9/f38Bf2AAAGABfwBgBH9/f38AYAZ/f39/f38AYAV/f39/fwBgBn9/f39/fwF/YAN/fn8BfmAHf39/f39/fwBgB39/f39/f38Bf2APf39/f39/f39/f39/f39/AX9gC39/f39/f39/f39/AX9gCH9/f39/f39/AX9gDX9/f39/f39/f39/f38Bf2ABfwF+YAR/f35+AAKFARYBYQFhAAUBYQFiAAsBYQFjAAUBYQFkAA4BYQFlAAABYQFmAAIBYQFnAAgBYQFoAAcBYQFpAAUBYQFqAAgBYQFrAAABYQFsAAkBYQFtAAABYQFuAAEBYQFvAA4BYQFwAAUBYQFxAAMBYQFyAAYBYQFzAAMBYQF0AAIBYQF1AAIBYQF2AAUDogGgAQEEBAgEAQkDBAQAAwYJAgsGBAgFAQgEAwAPBwMDBgwGAwEMAQEADAQIEBEBBQMEAgQHBBITBgcAAAwDAQYFBQIJCBQMBQcDBwIDFQgFBQkCAgUDAwEDAwgFBwQBAQEGAQEBAQEBAQEBAQEEAgICBgYFBgYGAAACBwgKDAADAgEDAwMKCwkJCwoEBAcHDQMNBAMDAQEBAQEBAQEBAQEBAQEEBQFwAVFRBQcBAYACgIACBg0CfwFBwPQFC38BQQALByQIAXcCAAF4AEwBeQAdAXoAGQFBAQABQgCnAQFDAJcBAUQAlAEJiAEBAEEBC1AyKJIBjAGLATIohgGAAV2TAZEBkAGPAY4BjQGJAYgBhwGFAYQBXFssigFvgwGCAYEBfH92d3h5rgGtAawBen2yAbEBsAGvAakBqAF7frMBtAG1AXWrAaoBpgGlAaQBowGiAaABMihtbZ8BYZUBYSieAZgBmQGaASidAZwBmwEyKJYBCvuTGaABggMBBH8gAyABAn8CQAJAIAAiBSAFIAMgASIGa2oiASACIAEgAkkbIgFBA2siCE8NACAFKAAAIAYoAABzIgcNAQNAIAZBBGohBiAFQQRqIgUgCE8NASAFKAAAIAYoAABzIgdFDQALIAUgB2hBA3ZqIABrDAILAkAgBSABQQFrTw0AIAYvAAAgBS8AAEcNACAGQQJqIQYgBUECaiEFCyABIAVLBH8gBSAGLQAAIAUtAABGagUgBQsgAGsMAQsgB2hBA3YLIgZqRgR/An8CQCACQQNrIgEgACAGaiIATQRAIAAhBQwBCyAAKAAAIAQoAABzIgNFBEAgACEFA0AgBEEEaiEEIAVBBGoiBSABTw0CIAUoAAAgBCgAAHMiA0UNAAsgBSADaEEDdmogAGsMAgsgA2hBA3YMAQsCQCAFIAJBAWtPDQAgBC8AACAFLwAARw0AIARBAmohBCAFQQJqIQULIAIgBUsEfyAFIAQtAAAgBS0AAEZqBSAFCyAAawsgBmoFIAYLC4AEAQN/IAJBgARPBEAgACABIAIQFSAADwsgACACaiEDAkAgACABc0EDcUUEQAJAIABBA3FFBEAgACECDAELIAJFBEAgACECDAELIAAhAgNAIAIgAS0AADoAACABQQFqIQEgAkEBaiICQQNxRQ0BIAIgA0kNAAsLAkAgA0F8cSIEQcAASQ0AIAIgBEFAaiIFSw0AA0AgAiABKAIANgIAIAIgASgCBDYCBCACIAEoAgg2AgggAiABKAIMNgIMIAIgASgCEDYCECACIAEoAhQ2AhQgAiABKAIYNgIYIAIgASgCHDYCHCACIAEoAiA2AiAgAiABKAIkNgIkIAIgASgCKDYCKCACIAEoAiw2AiwgAiABKAIwNgIwIAIgASgCNDYCNCACIAEoAjg2AjggAiABKAI8NgI8IAFBQGshASACQUBrIgIgBU0NAAsLIAIgBE8NAQNAIAIgASgCADYCACABQQRqIQEgAkEEaiICIARJDQALDAELIANBBEkEQCAAIQIMAQsgACADQQRrIgRLBEAgACECDAELIAAhAgNAIAIgAS0AADoAACACIAEtAAE6AAEgAiABLQACOgACIAIgAS0AAzoAAyABQQRqIQEgAkEEaiICIARNDQALCyACIANJBEADQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAiADRw0ACwsgAAvyAgICfwF+AkAgAkUNACAAIAE6AAAgACACaiIDQQFrIAE6AAAgAkEDSQ0AIAAgAToAAiAAIAE6AAEgA0EDayABOgAAIANBAmsgAToAACACQQdJDQAgACABOgADIANBBGsgAToAACACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiATYCACADIAIgBGtBfHEiBGoiAkEEayABNgIAIARBCUkNACADIAE2AgggAyAB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