PageSourceSearch

https://jvansoest.github.io/static/media/sqlite.worker.b326ede19773c1e83c1b.js

js jvansoest.github.io collected 2026-10-03 09:26:12 UTC 240,097 bytes, 5,503 lines download raw bytes

1!(function (e, t) {
2  if ("object" == typeof exports && "object" == typeof module)
3    module.exports = t();
4  else if ("function" == typeof define && define.amd) define([], t);
5  else {
6    var r = t();
7    for (var n in r) ("object" == typeof exports ? exports : e)[n] = r[n];
8  }
9})(this, function () {
10  return (() => {
11    var __webpack_modules__ = {
12        870: (e, t, r) => {
13          "use strict";
14          r.r(t),
15            r.d(t, {
16              createEndpoint: () => o,
17              expose: () => l,
18              proxy: () => g,
19              proxyMarker: () => n,
20              releaseProxy: () => i,
21              transfer: () => _,
22              transferHandlers: () => u,
23              windowEndpoint: () => v,
24              wrap: () => f,
25            });
26          const n = Symbol("Comlink.proxy"),
27            o = Symbol("Comlink.endpoint"),
28            i = Symbol("Comlink.releaseProxy"),
29            s = Symbol("Comlink.thrown"),
30            a = (e) =>
31              ("object" == typeof e && null !== e) || "function" == typeof e,
32            u = new Map([
33              [
34                "proxy",
35                {
36                  canHandle: (e) => a(e) && e[n],
37                  serialize(e) {
38                    const { port1: t, port2: r } = new MessageChannel();
39                    return l(e, t), [r, [r]];
40                  },
41                  deserialize: (e) => (e.start(), f(e)),
42                },
43              ],
44              [
45                "throw",
46                {
47                  canHandle: (e) => a(e) && s in e,
48                  serialize({ value: e }) {
49                    let t;
50                    return (
51                      (t =
52                        e instanceof Error
53                          ? {
54                              isError: !0,
55                              value: {
56                                message: e.message,
57                                name: e.name,
58                                stack: e.stack,
59                              },
60                            }
61                          : { isError: !1, value: e }),
62                      [t, []]
63                    );
64                  },
65                  deserialize(e) {
66                    if (e.isError)
67                      throw Object.assign(new Error(e.value.message), e.value);
68                    throw e.value;
69                  },
70                },
71              ],
72            ]);
73          function l(e, t = self) {
74            t.addEventListener("message", function r(n) {
75              if (!n || !n.data) return;
76              const {
77                  id: o,
78                  type: i,
79                  path: a,
80                } = Object.assign({ path: [] }, n.data),
81                u = (n.data.argumentList || []).map(b);
82              let f;
83              try {
84                const t = a.slice(0, -1).reduce((e, t) => e[t], e),
85                  r = a.reduce((e, t) => e[t], e);
86                switch (i) {
87                  case 0:
88                    f = r;
89                    break;
90                  case 1:
91                    (t[a.slice(-1)[0]] = b(n.data.value)), (f = !0);
92                    break;
93                  case 2:
94                    f = r.apply(t, u);
95                    break;
96                  case 3:
97                    f = g(new r(...u));
98                    break;
99                  case 4:
100                    {
101                      const { port1: t, port2: r } = new MessageChannel();
102                      l(e, r), (f = _(t, [t]));
103                    }
104                    break;
105                  case 5:
106                    f = void 0;
107                }
108              } catch (e) {
109                f = { value: e, [s]: 0 };
110              }
111              Promise.resolve(f)
112                .catch((e) => ({ value: e, [s]: 0 }))
113                .then((e) => {
114                  const [n, s] = y(e);
115                  t.postMessage(
116                    Object.assign(Object.assign({}, n), { id: o }),
117                    s
118                  ),
119                    5 === i && (t.removeEventListener("message", r), c(t));
120                });
121            }),
122              t.start && t.start();
123          }
124          function c(e) {
125            (function (e) {
126              return "MessagePort" === e.constructor.name;
127            })(e) && e.close();
128          }
129          function f(e, t) {
130            return h(e, [], t);
131          }
132          function d(e) {
133            if (e)
134              throw new Error("Proxy has been released and is not useable");
135          }
136          function h(e, t = [], r = function () {}) {
137            let n = !1;
138            const s = new Proxy(r, {
139              get(r, o) {
140                if ((d(n), o === i))
141                  return () =>
142                    w(e, { type: 5, path: t.map((e) => e.toString()) }).then(
143                      () => {
144                        c(e), (n = !0);
145                      }
146                    );
147                if ("then" === o) {
148                  if (0 === t.length) return { then: () => s };
149                  const r = w(e, {
150                    type: 0,
151                    path: t.map((e) => e.toString()),
152                  }).then(b);
153                  return r.then.bind(r);
154                }
155                return h(e, [...t, o]);
156              },
157              set(r, o, i) {
158                d(n);
159                const [s, a] = y(i);
160                return w(
161                  e,
162                  {
163                    type: 1,
164                    path: [...t, o].map((e) => e.toString()),
165                    value: s,
166                  },
167                  a
168                ).then(b);
169              },
170              apply(r, i, s) {
171                d(n);
172                const a = t[t.length - 1];
173                if (a === o) return w(e, { type: 4 }).then(b);
174                if ("bind" === a) return h(e, t.slice(0, -1));
175                const [u, l] = p(s);
176                return w(
177                  e,
178                  {
179                    type: 2,
180                    path: t.map((e) => e.toString()),
181                    argumentList: u,
182                  },
183                  l
184                ).then(b);
185              },
186              construct(r, o) {
187                d(n);
188                const [i, s] = p(o);
189                return w(
190                  e,
191                  {
192                    type: 3,
193                    path: t.map((e) => e.toString()),
194                    argumentList: i,
195                  },
196                  s
197                ).then(b);
198              },
199            });
200            return s;
201          }
202          function p(e) {
203            const t = e.map(y);
204            return [
205              t.map((e) => e[0]),
206              ((r = t.map((e) => e[1])), Array.prototype.concat.apply([], r)),
207            ];
208            var r;
209          }
210          const m = new WeakMap();
211          function _(e, t) {
212            return m.set(e, t), e;
213          }
214          function g(e) {
215            return Object.assign(e, { [n]: !0 });
216          }
217          function v(e, t = self, r = "*") {
218            return {
219              postMessage: (t, n) => e.postMessage(t, r, n),
220              addEventListener: t.addEventListener.bind(t),
221              removeEventListener: t.removeEventListener.bind(t),
222            };
223          }
224          function y(e) {
225            for (const [t, r] of u)
226              if (r.canHandle(e)) {
227                const [n, o] = r.serialize(e);
228                return [{ type: 3, name: t, value: n }, o];
229              }
230            return [{ type: 0, value: e }, m.get(e) || []];
231          }
232          function b(e) {
233            switch (e.type) {
234              case 3:
235                return u.get(e.name).deserialize(e.value);
236              case 0:
237                return e.value;
238            }
239          }
240          function w(e, t, r) {
241            return new Promise((n) => {
242              const o = new Array(4)
243                .fill(0)
244                .map(() =>
245                  Math.floor(Math.random() * Number.MAX_SAFE_INTEGER).toString(
246                    16
247                  )
248                )
249                .join("-");
250              e.addEventListener("message", function t(r) {
251                r.data &&
252                  r.data.id &&
253                  r.data.id === o &&
254                  (e.removeEventListener("message", t), n(r.data));
255              }),
256                e.start && e.start(),
257                e.postMessage(Object.assign({ id: o }, t), r);
258            });
259          }
260        },
261        794: (e, t) => {
262          "use strict";
263          Object.defineProperty(t, "__esModule", { value: !0 }),
264            (t.createLazyFile = t.LazyUint8Array = void 0);
265          class r {
266            constructor(e) {
267              (this.serverChecked = !1),
268                (this.chunks = []),
269                (this.totalFetchedBytes = 0),
270                (this.totalRequests = 0),
271                (this.readPages = []),
272                (this.readHeads = []),
273                (this.lastGet = -1),
274                (this._chunkSize = e.requestChunkSize),
275                (this.maxSpeed = Math.round(
276                  (e.maxReadSpeed || 5242880) / this._chunkSize
277                )),
278                (this.maxReadHeads = e.maxReadHeads ?? 3),
279                (this.rangeMapper = e.rangeMapper),
280                (this.logPageReads = e.logPageReads ?? !1),
281                e.fileLength && (this._length = e.fileLength);
282            }
283            copyInto(e, t, r, n) {
284              if (n >= this.length) return 0;
285              const o = n + (r = Math.min(this.length - n, r));
286              let i = 0;
287              for (; i < r; ) {
288                const r = n + i,
289                  s = r % this.chunkSize,
290                  a = (r / this.chunkSize) | 0,
291                  u = Math.min(this.chunkSize, o - r);
292                let l = this.getChunk(a);
293                (0 === s && u === this.chunkSize) || (l = l.subarray(s, s + u)),
294                  e.set(l, t + i),
295                  (i += l.length);
296              }
297              return r;
298            }
299            moveReadHead(e) {
300              for (const [t, r] of this.readHeads.entries()) {
301                const n = r.startChunk + r.speed,
302                  o = Math.min(this.maxSpeed, 2 * r.speed);
303                if (e >= n && e < n + o)
304                  return (
305                    (r.speed = o),
306                    (r.startChunk = n),
307                    0 !== t &&
308                      (this.readHeads.splice(t, 1), this.readHeads.unshift(r)),
309                    r
310                  );
311              }
312              const t = { startChunk: e, speed: 1 };
313              for (
314                this.readHeads.unshift(t);
315                this.readHeads.length > this.maxReadHeads;
316
317              )
318                this.readHeads.pop();
319              return t;
320            }
321            getChunk(e) {
322              let t = !0;
323              if (void 0 === this.chunks[e]) {
324                t = !1;
325                const r = this.moveReadHead(e),
326                  n = r.speed,
327                  o = r.startChunk * this.chunkSize;
328                let i = (r.startChunk + n) * this.chunkSize - 1;
329                i = Math.min(i, this.length - 1);
330                const s = this.doXHR(o, i);
331                for (let e = 0; e < n; e++) {
332                  const t = r.startChunk + e;
333                  if (e * this.chunkSize >= s.byteLength) break;
334                  const n =
335                    (e + 1) * this.chunkSize > s.byteLength
336                      ? s.byteLength - e * this.chunkSize
337                      : this.chunkSize;
338                  this.chunks[t] = new Uint8Array(s, e * this.chunkSize, n);
339                }
340              }
341              if (void 0 === this.chunks[e])
342                throw new Error("doXHR failed (bug)!");
343              return (
344                !this.logPageReads ||
345                  this.lastGet == e ||
346                  ((this.lastGet = e),
347                  this.readPages.push({
348                    pageno: e,
349                    wasCached: t,
350                    prefetch: t ? 0 : this.readHeads[0].speed - 1,
351                  })),
352                this.chunks[e]
353              );
354            }
355            checkServer() {
356              var e = new XMLHttpRequest();
357              const t = this.rangeMapper(0, 0).url;
358              if (
359                (e.open("HEAD", t, !1),
360                e.send(null),
361                !((e.status >= 200 && e.status < 300) || 304 === e.status))
362              )
363                throw new Error("Couldn't load " + t + ". Status: " + e.status);
364              var r = Number(e.getResponseHeader("Content-length")),
365                n = "bytes" === e.getResponseHeader("Accept-Ranges");
366              const o = e.getResponseHeader("Content-Encoding");
367              var i = o && "identity" !== o;
368              if (!n) {
369                const t =
370                  "Warning: The server did not respond with Accept-Ranges=bytes. It either does not support byte serving or does not advertise it (`Accept-Ranges: bytes` header missing), or your database is hosted on CORS and the server doesn't mark the accept-ranges header as exposed. This may lead to incorrect results.";
371                console.warn(
372                  t,
373                  "(seen response headers:",
374                  e.getAllResponseHeaders(),
375                  ")"
376                );
377              }
378              if (
379                (i &&
380                  console.warn(
381                    `Warning: The server responded with ${o} encoding to a HEAD request. Ignoring since it may not do so for Range HTTP requests, but this will lead to incorrect results otherwise since the ranges will be based on the compressed data instead of the uncompressed data.`
382                  ),
383                i && (r = null),
384                !this._length)
385              ) {
386                if (!r)
387                  throw (
388                    (console.error(
389                      "response headers",
390                      e.getAllResponseHeaders()
391                    ),
392                    Error(
393                      "Length of the file not known. It must either be supplied in the config or given by the HTTP server."
394                    ))
395                  );
396                this._length = r;
397              }
398              this.serverChecked = !0;
399            }
400            get length() {
401              return this.serverChecked || this.checkServer(), this._length;
402            }
403            get chunkSize() {
404              return this.serverChecked || this.checkServer(), this._chunkSize;
405            }
406            doXHR(e, t) {
407              if (
408                (console.log(
409                  `[xhr of size ${(t + 1 - e) / 1024} KiB @ ${e / 1024} KiB]`
410                ),
411                (this.totalFetchedBytes += t - e),
412                this.totalRequests++,
413                e > t)
414              )
415                throw new Error(
416                  "invalid range (" + e + ", " + t + ") or no bytes requested!"
417                );
418              if (t > this.length - 1)
419                throw new Error(
420                  "only " + this.length + " bytes available! programmer error!"
421                );
422              const { fromByte: r, toByte: n, url: o } = this.rangeMapper(e, t);
423              var i = new XMLHttpRequest();
424              if (
425                (i.open("GET", o, !1),
426                this.length !== this.chunkSize &&
427                  i.setRequestHeader("Range", "bytes=" + r + "-" + n),
428                (i.responseType = "arraybuffer"),
429                i.overrideMimeType &&
430                  i.overrideMimeType("text/plain; charset=x-user-defined"),
431                i.send(null),
432                !((i.status >= 200 && i.status < 300) || 304 === i.status))
433              )
434                throw new Error("Couldn't load " + o + ". Status: " + i.status);
435              if (void 0 !== i.response) return i.response;
436              throw Error("xhr did not return uint8array");
437            }
438          }
439          (t.LazyUint8Array = r),
440            (t.createLazyFile = function (e, t, n, o, i, s) {
441              var a = new r(s),
442                u = { isDevice: !1, contents: a },
443                l = e.createFile(t, n, u, o, i);
444              (l.contents = a),
445                Object.defineProperties(l, {
446                  usedBytes: {
447                    get: function () {
448                      return this.contents.length;
449                    },
450                  },
451                });
452              var c = {};
453              return (
454                Object.keys(l.stream_ops).forEach(function (t) {
455                  var r = l.stream_ops[t];
456                  c[t] = function () {
457                    return e.forceLoadFile(l), r.apply(null, arguments);
458                  };
459                }),
460                (c.read = function (t, r, n, o, i) {
461                  return (
462                    e.forceLoadFile(l), t.node.contents.copyInto(r, n, o, i)
463                  );
464                }),
465                (l.stream_ops = c),
466                l
467              );
468            });
469        },
470        630: function (__unused_webpack_module, exports, __webpack_require__) {
471          "use strict";
472          var __createBinding =
473              (this && this.__createBinding) ||
474              (Object.create
475                ? function (e, t, r, n) {
476                    void 0 === n && (n = r),
477                      Object.defineProperty(e, n, {
478                        enumerable: !0,
479                        get: function () {
480                          return t[r];
481                        },
482                      });
483                  }
484                : function (e, t, r, n) {
485                    void 0 === n && (n = r), (e[n] = t[r]);
486                  }),
487            __setModuleDefault =
488              (this && this.__setModuleDefault) ||
489              (Object.create
490                ? function (e, t) {
491                    Object.defineProperty(e, "default", {
492                      enumerable: !0,
493                      value: t,
494                    });
495                  }
496                : function (e, t) {
497                    e.default = t;
498                  }),
499            __importStar =
500              (this && this.__importStar) ||
501              function (e) {
502                if (e && e.__esModule) return e;
503                var t = {};
504                if (null != e)
505                  for (var r in e)
506                    "default" !== r &&
507                      Object.prototype.hasOwnProperty.call(e, r) &&
508                      __createBinding(t, e, r);
509                return __setModuleDefault(t, e), t;
510              },
511            __importDefault =
512              (this && this.__importDefault) ||
513              function (e) {
514                return e && e.__esModule ? e : { default: e };
515              };
516          Object.defineProperty(exports, "__esModule", { value: !0 }),
517            (exports.toObjects = void 0);
518          const Comlink = __importStar(__webpack_require__(870)),
519            sql_wasm_js_1 = __importDefault(__webpack_require__(365)),
520            sql_wasm_wasm_1 = __importDefault(__webpack_require__(720)),
521            lazyFile_1 = __webpack_require__(794),
522            vtab_1 = __webpack_require__(457);
523          function initTransferHandlers(e) {
524            Comlink.transferHandlers.set("WORKERSQLPROXIES", {
525              canHandle: (t) => {
526                let r = t instanceof e.Database,
527                  n = t && t.db && t.db instanceof e.Database;
528                return r || n;
529              },
530              serialize(e) {
531                const { port1: t, port2: r } = new MessageChannel();
532                return Comlink.expose(e, t), [r, [r]];
533              },
534              deserialize: (e) => {},
535            });
536          }
537          async function init(e) {
538            const t = await sql_wasm_js_1.default({ locateFile: (t) => e });
539            return initTransferHandlers(t), t;
540          }
541          function toObjects(e) {
542            return e.flatMap((e) =>
543              e.values.map((t) => {
544                const r = {};
545                for (let n = 0; n < e.columns.length; n++)
546                  r[e.columns[n]] = t[n];
547                return r;
548              })
549            );
550          }
551          async function fetchConfigs(e) {
552            const t = e.map(async (e) => {
553              if ("jsonconfig" === e.from) {
554                const t = new URL(e.configUrl, location.href),
555                  r = await fetch(t.toString());
556                if (!r.ok)
557                  throw (
558                    (console.error("httpvfs config error", await r.text()),
559                    Error(
560                      `Could not load httpvfs config: ${r.status}: ${r.statusText}`
561                    ))
562                  );
563                const n = await r.json();
564                return {
565                  from: "inline",
566                  config:
567                    "chunked" === n.serverMode
568                      ? { ...n, urlPrefix: new URL(n.urlPrefix, t).toString() }
569                      : { ...n, url: new URL(n.url, t).toString() },
570                  virtualFilename: e.virtualFilename,
571                };
572              }
573              return e;
574            });
575            return Promise.all(t);
576          }
577          sql_wasm_wasm_1.default, (exports.toObjects = toObjects);
578          const mod = {
579            db: null,
580            inited: !1,
581            sqljs: null,
582            async SplitFileHttpDatabase(e, t, r) {
583              if (this.inited)
584                throw Error("sorry, only one db is supported right now");
585              (this.inited = !0), this.sqljs || (this.sqljs = init(e));
586              const n = await this.sqljs,
587                o = new Map(),
588                i = await fetchConfigs(t);
589              let s;
590              for (const { config: e, virtualFilename: t } of i) {
591                const i = "chunked" === e.serverMode ? e.urlPrefix : e.url;
592                let a;
593                console.log("constructing url database", i),
594                  (a =
595                    "chunked" == e.serverMode
596                      ? (t, r) => {
597                          const n = (t / e.serverChunkSize) | 0,
598                            o = t % e.serverChunkSize,
599                            i = o + (r - t);
600                          return {
601                            url: e.urlPrefix + String(n).padStart(3, "0"),
602                            fromByte: o,
603                            toByte: i,
604                          };
605                        }
606                      : (t, r) => ({ url: e.url, fromByte: t, toByte: r }));
607                const u = t || i.replace(/\//g, "_");
608                r || ((r = u), (s = e)),
609                  console.log("filename", u),
610                  console.log("constructing url database", i, "filename", u);
611                const l = lazyFile_1.createLazyFile(n.FS, "/", u, !0, !0, {
612                  rangeMapper: a,
613                  requestChunkSize: e.requestChunkSize,
614                  fileLength:
615                    "chunked" === e.serverMode ? e.databaseLengthBytes : void 0,
616                  logPageReads: !0,
617                  maxReadHeads: 3,
618                });
619                o.set(u, l);
620              }
621              if (((this.db = new n.CustomDatabase(r)), s)) {
622                const e = (
623                  await this.db.exec("pragma page_size; pragma cache_size=0")
624                )[0].values[0][0];
625                e !== s.requestChunkSize &&
626                  console.warn(
627                    `Chunk size does not match page size: pragma page_size = ${e} but chunkSize = ${s.requestChunkSize}`
628                  );
629              }
630              return (
631                (this.db.lazyFiles = o),
632                this.db.create_vtab(vtab_1.SeriesVtab),
633                (this.db.query = (...e) => toObjects(this.db.exec(...e))),
634                this.db
635              );
636            },
637            getResetAccessedPages(e) {
638              if (!this.db) return [];
639              const t = this.db.lazyFiles.get(e || this.db.filename);
640              if (!t) throw Error("unknown lazy file");
641              const r = [...t.contents.readPages];
642              return (t.contents.readPages = []), r;
643            },
644            getStats(e) {
645              const t = this.db;
646              if (!t) return null;
647              const r = t.lazyFiles.get(e || t.filename);
648              if (!r) throw Error("unknown lazy file");
649              return {
650                filename: t.filename,
651                totalBytes: r.contents.length,
652                totalFetchedBytes: r.contents.totalFetchedBytes,
653                totalRequests: r.contents.totalRequests,
654              };
655            },
656            async evalCode(code) {
657              return await eval(
658                `(async function (db) {\n      ${code}\n    })`
659              )(this.db);
660            },
661          };
662          Comlink.expose(mod);
663        },
664        457: (e, t) => {
665          "use strict";
666          var r;
667          Object.defineProperty(t, "__esModule", { value: !0 }),
668            (t.SeriesVtab = void 0),
669            (function (e) {
670              (e[(e.idx = 0)] = "idx"),
671                (e[(e.id = 1)] = "id"),
672                (e[(e.tagName = 2)] = "tagName"),
673                (e[(e.textContent = 3)] = "textContent"),
674                (e[(e.innerHTML = 4)] = "innerHTML"),
675                (e[(e.outerHTML = 5)] = "outerHTML"),
676                (e[(e.className = 6)] = "className"),
677                (e[(e.parent = 7)] = "parent"),
678                (e[(e.selector = 8)] = "selector"),
679                (e[(e.querySelector = 9)] = "querySelector");
680            })(r || (r = {}));
681          const n = Object.keys(r)
682            .map((e) => r[e])
683            .filter((e) => "string" == typeof e);
684          function o(e) {
685            const t = {};
686            for (let n = 0; n < e.length; n++) t[r[n]] = e[n];
687            return t;
688          }
689          function i(e) {
690            const t = new SharedArrayBuffer(1048576),
691              r = new Int32Array(t, 0, 2);
692            (r[0] = 1),
693              self.postMessage({ action: "eval", notify: t, request: e }),
694              Atomics.wait(r, 0, 1);
695            const n = r[1],
696              o = new Uint8Array(t, 8, n).slice(),
697              i = new TextDecoder().decode(o),
698              s = JSON.parse(i);
699            if ("err" in s) throw new Error(s.err);
700            return s.ok;
701          }
702          t.SeriesVtab = class {
703            constructor(e, t) {
704              (this.module = e),
705                (this.db = t),
706                (this.name = "dom"),
707                (this.iVersion = 2),
708                (this.cursors = new Map()),
709                console.log("constructed vfs");
710            }
711            getCursor(e) {
712              const t = this.cursors.get(e);
713              if (!t) throw Error("impl error");
714              return t;
715            }
716            xConnect(e, t, r, o, i, s) {
717              console.log("xconnect!!"),
718                this.db.handleError(
719                  this.module.ccall(
720                    "sqlite3_declare_vtab",
721                    "number",
722                    ["number", "string"],
723                    [
724                      e,
725                      `create table x(\n              ${n
726                        .slice(0, -1)
727                        .join(", ")} PRIMARY KEY\n          ) WITHOUT ROWID`,
728                    ]
729                  )
730                );
731              const a = this.module._malloc(12);
732              return this.module.setValue(i, a, "*"), 0;
733            }
734            xDisconnect(e) {
735              return this.module._free(e), 0;
736            }
737            xOpen(e, t) {
738              const r = this.module._malloc(4);
739              return (
740                this.cursors.set(r, {
741                  elements: [],
742                  index: 0,
743                  querySelector: "",
744                }),
745                this.module.setValue(t, r, "*"),
746                0
747              );
748            }
749            xClose(e) {
750              return this.module._free(e), 0;
751            }
752            xBestIndex(e, t) {
753              try {
754                const e = this.module.getValue(t + 0, "i32"),
755                  n = this.module.getValue(t + 4, "i32"),
756                  o = 64;
757                let i = !1;
758                for (let s = 0; s < e; s++) {
759                  const e = n + 12 * s,
760                    a = this.module.getValue(e, "i32"),
761                    u = this.module.getValue(e + 4, "i8");
762                  if (this.module.getValue(e + 5, "i8")) {
763                    if (u === o) {
764                      if (a !== r.selector)
765                        throw Error(
766                          "The match operator can only be applied to the selector column!"
767                        );
768                      {
769                        i = !0;
770                        const e = this.module.getValue(t + 16, "i32"),
771                          r = 8;
772                        this.module.setValue(e + s * r, 1, "i32");
773                      }
774                    }
775                    console.log(`constraint ${s}: ${r[a]} (op=${u})`);
776                  }
777                }
778                if (!i)
779                  throw Error(
780                    "You must query the dom using `select ... from dom where selector MATCH <css-selector>`"
781                  );
782                const s = this.module.getValue(t + 64, "i32");
783                return this.module.setValue(t + 20, s, "i32"), 0;
784              } catch (t) {
785                return (
786                  console.error("xbestindex", t),
787                  this.setVtabError(e, String(t)),
788                  21
789                );
790              }
791            }
792            xFilter(e, t, o, s, a) {
793              if ((console.log("xfilter", s), 1 !== s))
794                return (
795                  console.error("did not get a single argument to xFilter"), 21
796                );
797              const u = this.module.extract_value(a + 0),
798                l = this.getCursor(e);
799              l.querySelector = u;
800              const c = t,
801                f = n.filter((e) => c & (1 << r[e]));
802              return (
803                console.log("used columns", f),
804                (l.elements = i({ type: "select", selector: u, columns: f })),
805                0
806              );
807            }
808            xNext(e) {
809              return this.getCursor(e).index++, 0;
810            }
811            xEof(e) {
812              const t = this.getCursor(e);
813              return +(t.index >= t.elements.length);
814            }
815            xColumn(e, t, n) {
816              const o = this.getCursor(e),
817                i = o.elements[o.index];
818              if (r[n] in i) this.module.set_return_value(t, i[r[n]]);
819              else
820                switch (n) {
821                  case r.idx:
822                    this.module.set_return_value(t, o.index);
823                    break;
824                  case r.querySelector:
825                    this.module.set_return_value(t, o.querySelector);
826                    break;
827                  default:
828                    throw Error(`unknown column ${r[n]}`);
829                }
830              return 0;
831            }
832            setVtabError(e, t) {
833              const r = this.module.lengthBytesUTF8(t) + 1,
834                n = this.module.sqlite3_malloc(r);
835              console.log("writing error", t, r),
836                this.module.stringToUTF8(t, n, r),
837                this.module.setValue(e + 8, n, "i32");
838            }
839            xUpdate(e, t, r, n) {
840              try {
841                const [e, n, ...s] = Array.from({ length: t }, (e, t) =>
842                  this.module.extract_value(r + 4 * t)
843                );
844                if (e)
845                  if (e && !n)
846                    console.log("DELETE", e),
847                      i({ type: "delete", selector: e });
848                  else {
849                    if (e !== n) throw "The selector row can't be set";
850                    i({ type: "update", value: o(s) });
851                  }
852                else
853                  console.assert(null === n),
854                    i({ type: "insert", value: o(s) });
855                return 0;
856              } catch (t) {
857                return this.setVtabError(e, String(t)), 21;
858              }
859            }
860            xRowid(e, t) {
861              throw Error("xRowid not implemented");
862            }
863            xFindFunction(e, t, r, n, o) {
864              return "match" !== this.module.UTF8ToString(r)
865                ? 0
866                : (this.module.setValue(
867                    n,
868                    this.module.addFunction((e, t, r) => {
869                      this.module.set_return_value(e, !0);
870                    }, "viii"),
871                    "i32"
872                  ),
873                  150);
874            }
875          };
876        },
877        365: (e, t, r) => {
878          e = r.nmd(e);
879          var n = void 0,
880            o = function (t) {
881              return (
882                n ||
883                (n = new Promise(function (n, o) {
884                  var i,
885                    s = (i = void 0 !== t ? t : {}).onAbort;
886                  (i.onAbort = function (e) {
887                    o(new Error(e)), s && s(e);
888                  }),
889                    (i.postRun = i.postRun || []),
890                    i.postRun.push(function () {
891                      n(i);
892                    }),
893                    (e = void 0),
894                    ((i = void 0 !== i ? i : {}).onRuntimeInitialized =
895                      function () {
896                        var e = Ne(4),
897                          t = i.cwrap,
898                          r = t("sqlite3_open", "number", ["string", "number"]),
899                          n =
900                            (t("sqlite3_open_v2", "number", [
901                              "string",
902                              "number",
903                              "number",
904                              "string",
905                            ]),
906                            t("sqlite3_close_v2", "number", ["number"])),
907                          o = t("sqlite3_exec", "number", [
908                            "number",
909                            "string",
910                            "number",
911                            "number",
912                            "number",
913                          ]),
914                          s = t("sqlite3_changes", "number", ["number"]),
915                          a = t("sqlite3_prepare_v2", "number", [
916                            "number",
917                            "string",
918                            "number",
919                            "number",
920                            "number",
921                          ]),
922                          u = t("sqlite3_sql", "string", ["number"]),
923                          l = t("sqlite3_normalized_sql", "string", ["number"]),
924                          c = t("sqlite3_prepare_v2", "number", [
925                            "number",
926                            "number",
927                            "number",
928                            "number",
929                            "number",
930                          ]),
931                          f = t("sqlite3_bind_text", "number", [
932                            "number",
933                            "number",
934                            "number",
935                            "number",
936                            "number",
937                          ]),
938                          d = t("sqlite3_bind_blob", "number", [
939                            "number",
940                            "number",
941                            "number",
942                            "number",
943                            "number",
944                          ]),
945                          h = t("sqlite3_bind_double", "number", [
946                            "number",
947                            "number",
948                            "number",
949                          ]),
950                          p = t("sqlite3_bind_int", "number", [
951                            "number",
952                            "number",
953                            "number",
954                          ]),
955                          m = t("sqlite3_bind_parameter_index", "number", [
956                            "number",
957                            "string",
958                          ]),
959                          _ = t("sqlite3_step", "number", ["number"]),
960                          g = t("sqlite3_errmsg", "string", ["number"]),
961                          v = t("sqlite3_column_count", "number", ["number"]),
962                          y = t("sqlite3_data_count", "number", ["number"]),
963                          b = t("sqlite3_column_double", "number", [
964                            "number",
965                            "number",
966                          ]),
967                          w = t("sqlite3_column_text", "string", [
968                            "number",
969                            "number",
970                          ]),
971                          E = t("sqlite3_column_blob", "number", [
972                            "number",
973                            "number",
974                          ]),
975                          k = t("sqlite3_column_bytes", "number", [
976                            "number",
977                            "number",
978                          ]),
979                          S = t("sqlite3_column_type", "number", [
980                            "number",
981                            "number",
982                          ]),
983                          D = t("sqlite3_column_name", "string", [
984                            "number",
985                            "number",
986                          ]),
987                          M = t("sqlite3_reset", "number", ["number"]),
988                          A = t("sqlite3_clear_bindings", "number", ["number"]),
989                          R = t("sqlite3_finalize", "number", ["number"]),
990                          z = t("sqlite3_create_module_v2", "number", [
991                            "number",
992                            "string",
993                            "number",
994                            "number",
995                            "number",
996                          ]),
997                          j = t("sqlite3_create_function_v2", "number", [
998                            "number",
999                            "string",
1000                            "number",
1001                            "number",
1002                            "number",
1003                            "number",
1004                            "number",
1005                            "number",
1006                            "number",
1007                          ]),
1008                          B = t("sqlite3_value_type", "number", ["number"]),
1009                          L = t("sqlite3_value_bytes", "number", ["number"]),
1010                          N = t("sqlite3_value_text", "string", ["number"]),
1011                          H = t("sqlite3_value_blob", "number", ["number"]),
1012                          I = t("sqlite3_value_double", "number", ["number"]),
1013                          U = t("sqlite3_result_double", "", [
1014                            "number",
1015                            "number",
1016                          ]),
1017                          W = t("sqlite3_result_null", "", ["number"]),
1018                          K = t("sqlite3_result_text", "", [
1019                            "number",
1020                            "string",
1021                            "number",
1022                            "number",
1023                          ]),
1024                          Y = t("sqlite3_result_blob", "", [
1025                            "number",
1026                            "number",
1027                            "number",
1028                            "number",
1029                          ]),
1030                          Q = t("sqlite3_result_int", "", ["number", "number"]),
1031                          J = t("sqlite3_result_error", "", [
1032                            "number",
1033                            "string",
1034                            "number",
1035                          ]),
1036                          Z = t("sqlite3_malloc", "number", ["number"]);
1037                        i.sqlite3_malloc = Z;
1038                        var ee = t("RegisterExtensionFunctions", "number", [
1039                          "number",
1040                        ]);
1041                        function te(e, t) {
1042                          (this.stmt = e),
1043                            (this.db = t),
1044                            (this.pos = 1),
1045                            (this.allocatedmem = []);
1046                        }
1047                        function re(e, t) {
1048                          this.db = t;
1049                          var r = $(e) + 1;
1050                          if (((this.sqlPtr = ze(r)), null === this.sqlPtr))
1051                            throw new Error(
1052                              "Unable to allocate memory for the SQL string"
1053                            );
1054                          G(e, this.sqlPtr, r),
1055                            (this.nextSqlPtr = this.sqlPtr),
1056                            (this.nextSqlString = null),
1057                            (this.activeStatement = null);
1058                        }
1059                        function ne(t) {
1060                          (this.filename =
1061                            "dbfile_" + ((4294967295 * Math.random()) >>> 0)),
1062                            null != t &&
1063                              Ee.createDataFile("/", this.filename, t, !0, !0);
1064                          const n = r(this.filename, e);
1065                          (this.db = P(e, "i32")),
1066                            this.handleError(n),
1067                            ee(this.db),
1068                            (this.statements = {}),
1069                            (this.functions = {});
1070                        }
1071                        function oe(t) {
1072                          this.filename = t;
1073                          const n = r(this.filename, e);
1074                          (this.db = P(e, "i32")),
1075                            this.handleError(n),
1076                            ee(this.db),
1077                            (this.statements = {}),
1078                            (this.functions = {});
1079                        }
1080                        (te.prototype.bind = function (e) {
1081                          if (!this.stmt) throw "Statement closed";
1082                          return (
1083                            this.reset(),
1084                            Array.isArray(e)
1085                              ? this.bindFromArray(e)
1086                              : null == e ||
1087                                "object" != typeof e ||
1088                                this.bindFromObject(e)
1089                          );
1090                        }),
1091                          (te.prototype.bind_ = te.prototype.bind),
1092                          (te.prototype.step = function () {
1093                            if (!this.stmt) throw "Statement closed";
1094                            this.pos = 1;
1095                            var e = _(this.stmt);
1096                            switch (e) {
1097                              case 100:
1098                                return !0;
1099                              case 101:
1100                                return !1;
1101                              default:
1102                                throw this.db.handleError(e);
1103                            }
1104                          }),
1105                          (te.prototype.getNumber = function (e) {
1106                            return (
1107                              null == e && ((e = this.pos), (this.pos += 1)),
1108                              b(this.stmt, e)
1109                            );
1110                          }),
1111                          (te.prototype.getString = function (e) {
1112                            return (
1113                              null == e && ((e = this.pos), (this.pos += 1)),
1114                              w(this.stmt, e)
1115                            );
1116                          }),
1117                          (te.prototype.getBlob = function (e) {
1118                            null == e && ((e = this.pos), (this.pos += 1));
1119                            for (
1120                              var t = k(this.stmt, e),
1121                                r = E(this.stmt, e),
1122                                n = new Uint8Array(t),
1123                                o = 0;
1124                              o < t;
1125                              o += 1
1126                            )
1127                              n[o] = O[r + o];
1128                            return n;
1129                          }),
1130                          (te.prototype.get = function (e) {
1131                            null != e && this.bind(e) && this.step();
1132                            for (
1133                              var t = [], r = y(this.stmt), n = 0;
1134                              n < r;
1135                              n += 1
1136                            )
1137                              switch (S(this.stmt, n)) {
1138                                case 1:
1139                                case 2:
1140                                  t.push(this.getNumber(n));
1141                                  break;
1142                                case 3:
1143                                  t.push(this.getString(n));
1144                                  break;
1145                                case 4:
1146                                  t.push(this.getBlob(n));
1147                                  break;
1148                                default:
1149                                  t.push(null);
1150                              }
1151                            return t;
1152                          }),
1153                          (te.prototype.getColumnNames = function () {
1154                            for (
1155                              var e = [], t = v(this.stmt), r = 0;
1156                              r < t;
1157                              r += 1
1158                            )
1159                              e.push(D(this.stmt, r));
1160                            return e;
1161                          }),
1162                          (te.prototype.getAsObject = function (e) {
1163                            for (
1164                              var t = this.get(e),
1165                                r = this.getColumnNames(),
1166                                n = {},
1167                                o = 0;
1168                              o < r.length;
1169                              o += 1
1170                            )
1171                              n[r[o]] = t[o];
1172                            return n;
1173                          }),
1174                          (te.prototype.getSQL = function () {
1175                            return u(this.stmt);
1176                          }),
1177                          (te.prototype.getNormalizedSQL = function () {
1178                            return l(this.stmt);
1179                          }),
1180                          (te.prototype.run = function (e) {
1181                            return (
1182                              null != e && this.bind(e),
1183                              this.step(),
1184                              this.reset()
1185                            );
1186                          }),
1187                          (te.prototype.bindString = function (e, t) {
1188                            null == t && ((t = this.pos), (this.pos += 1)
1188);
1189                            var r = Pe(e),
1190                              n = C(r, T);
1191                            return (
1192                              this.allocatedmem.push(n),
1193                              this.db.handleError(
1194                                f(this.stmt, t, n, r.length - 1, 0)
1195                              ),
1196                              !0
1197                            );
1198                          }),
1199                          (te.prototype.bindBlob = function (e, t) {
1200                            null == t && ((t = this.pos), (this.pos += 1));
1201                            var r = C(e, T);
1202                            return (
1203                              this.allocatedmem.push(r),
1204                              this.db.handleError(
1205                                d(this.stmt, t, r, e.length, 0)
1206                              ),
1207                              !0
1208                            );
1209                          }),
1210                          (te.prototype.bindNumber = function (e, t) {
1211                            null == t && ((t = this.pos), (this.pos += 1));
1212                            var r = e === (0 | e) ? p : h;
1213                            return this.db.handleError(r(this.stmt, t, e)), !0;
1214                          }),
1215                          (te.prototype.bindNull = function (e) {
1216                            return (
1217                              null == e && ((e = this.pos), (this.pos += 1)),
1218                              0 === d(this.stmt, e, 0, 0, 0)
1219                            );
1220                          }),
1221                          (te.prototype.bindValue = function (e, t) {
1222                            switch (
1223                              (null == t && ((t = this.pos), (this.pos += 1)),
1224                              typeof e)
1225                            ) {
1226                              case "string":
1227                                return this.bindString(e, t);
1228                              case "number":
1229                              case "boolean":
1230                                return this.bindNumber(e + 0, t);
1231                              case "object":
1232                                if (null === e) return this.bindNull(t);
1233                                if (null != e.length)
1234                                  return this.bindBlob(e, t);
1235                            }
1236                            throw (
1237                              "Wrong API use : tried to bind a value of an unknown type (" +
1238                              e +
1239                              ")."
1240                            );
1241                          }),
1242                          (te.prototype.bindFromObject = function (e) {
1243                            var t = this;
1244                            return (
1245                              Object.keys(e).forEach(function (r) {
1246                                var n = m(t.stmt, r);
1247                                0 !== n && t.bindValue(e[r], n);
1248                              }),
1249                              !0
1250                            );
1251                          }),
1252                          (te.prototype.bindFromArray = function (e) {
1253                            for (var t = 0; t < e.length; t += 1)
1254                              this.bindValue(e[t], t + 1);
1255                            return !0;
1256                          }),
1257                          (te.prototype.reset = function () {
1258                            return (
1259                              this.freemem(),
1260                              0 === A(this.stmt) && 0 === M(this.stmt)
1261                            );
1262                          }),
1263                          (te.prototype.freemem = function () {
1264                            for (
1265                              var e;
1266                              void 0 !== (e = this.allocatedmem.pop());
1267
1268                            )
1269                              Te(e);
1270                          }),
1271                          (te.prototype.free = function () {
1272                            var e;
1273                            return (
1274                              this.freemem(),
1275                              (e = 0 === R(this.stmt)),
1276                              delete this.db.statements[this.stmt],
1277                              (this.stmt = 0),
1278                              e
1279                            );
1280                          }),
1281                          (re.prototype.next = function () {
1282                            if (null === this.sqlPtr) return { done: !0 };
1283                            if (
1284                              (null !== this.activeStatement &&
1285                                (this.activeStatement.free(),
1286                                (this.activeStatement = null)),
1287                              !this.db.db)
1288                            )
1289                              throw (
1290                                (this.finalize(), new Error("Database closed"))
1291                              );
1292                            var t = Be(),
1293                              r = Ne(4);
1294                            F(e, 0, "i32"), F(r, 0, "i32");
1295                            try {
1296                              this.db.handleError(
1297                                c(this.db.db, this.nextSqlPtr, -1, e, r)
1298                              ),
1299                                (this.nextSqlPtr = P(r, "i32"));
1300                              var n = P(e, "i32");
1301                              return 0 === n
1302                                ? (this.finalize(), { done: !0 })
1303                                : ((this.activeStatement = new te(n, this.db)),
1304                                  (this.db.statements[n] =
1305                                    this.activeStatement),
1306                                  { value: this.activeStatement, done: !1 });
1307                            } catch (e) {
1308                              throw (
1309                                ((this.nextSqlString = V(this.nextSqlPtr)),
1310                                this.finalize(),
1311                                e)
1312                              );
1313                            } finally {
1314                              Le(t);
1315                            }
1316                          }),
1317                          (re.prototype.finalize = function () {
1318                            Te(this.sqlPtr), (this.sqlPtr = null);
1319                          }),
1320                          (re.prototype.getRemainingSQL = function () {
1321                            return null !== this.nextSqlString
1322                              ? this.nextSqlString
1323                              : V(this.nextSqlPtr);
1324                          }),
1325                          "function" == typeof Symbol &&
1326                            "symbol" == typeof Symbol.iterator &&
1327                            (re.prototype[Symbol.iterator] = function () {
1328                              return this;
1329                            }),
1330                          (ne.prototype.run = function (t, r) {
1331                            if (!this.db) throw "Database closed";
1332                            if (r) {
1333                              var n = this.prepare(t, r);
1334                              try {
1335                                n.step();
1336                              } finally {
1337                                n.free();
1338                              }
1339                            } else this.handleError(o(this.db, t, 0, 0, e));
1340                            return this;
1341                          }),
1342                          (ne.prototype.exec = function (t, r) {
1343                            if (!this.db) throw "Database closed";
1344                            var n,
1345                              o,
1346                              i,
1347                              s = Be(),
1348                              a = null;
1349                            try {
1350                              for (
1351                                var u =
1352                                    ((o = $((n = t)) + 1),
1353                                    (i = Ne(o)),
1354                                    X(n, O, i, o),
1355                                    i),
1356                                  l = Ne(4),
1357                                  f = [];
1358                                0 !== P(u, "i8");
1359
1360                              ) {
1361                                F(e, 0, "i32"),
1362                                  F(l, 0, "i32"),
1363                                  this.handleError(c(this.db, u, -1, e, l));
1364                                var d = P(e, "i32");
1365                                if (((u = P(l, "i32")), 0 !== d)) {
1366                                  var h = null;
1367                                  for (
1368                                    a = new te(d, this), null != r && a.bind(r);
1369                                    a.step();
1370
1371                                  )
1372                                    null === h &&
1373                                      ((h = {
1374                                        columns: a.getColumnNames(),
1375                                        values: [],
1376                                      }),
1377                                      f.push(h)),
1378                                      h.values.push(a.get());
1379                                  a.free();
1380                                }
1381                              }
1382                              return f;
1383                            } catch (e) {
1384                              throw (a && a.free(), e);
1385                            } finally {
1386                              Le(s);
1387                            }
1388                          }),
1389                          (ne.prototype.each = function (e, t, r, n) {
1390                            var o;
1391                            "function" == typeof t &&
1392                              ((n = r), (r = t), (t = void 0)),
1393                              (o = this.prepare(e, t));
1394                            try {
1395                              for (; o.step(); ) r(o.getAsObject());
1396                            } finally {
1397                              o.free();
1398                            }
1399                            if ("function" == typeof n) return n();
1400                          }),
1401                          (ne.prototype.prepare = function (t, r) {
1402                            F(e, 0, "i32"),
1403                              this.handleError(a(this.db, t, -1, e, 0));
1404                            var n = P(e, "i32");
1405                            if (0 === n) throw "Nothing to prepare";
1406                            var o = new te(n, this);
1407                            return (
1408                              null != r && o.bind(r),
1409                              (this.statements[n] = o),
1410                              o
1411                            );
1412                          }),
1413                          (ne.prototype.iterateStatements = function (e) {
1414                            return new re(e, this);
1415                          }),
1416                          (ne.prototype.export = function () {
1417                            Object.values(this.statements).forEach(function (
1418                              e
1419                            ) {
1420                              e.free();
1421                            }),
1422                              Object.values(this.functions).forEach(q),
1423                              (this.functions = {}),
1424                              this.handleError(n(this.db));
1425                            var t = Ee.readFile(this.filename, {
1426                              encoding: "binary",
1427                            });
1428                            return (
1429                              this.handleError(r(this.filename, e)),
1430                              (this.db = P(e, "i32")),
1431                              t
1432                            );
1433                          }),
1434                          (ne.prototype.close = function () {
1435                            null !== this.db &&
1436                              (Object.values(this.statements).forEac
1436h(function (
1437                                e
1438                              ) {
1439                                e.free();
1440                              }),
1441                              Object.values(this.functions).forEach(q),
1442                              (this.functions = {}),
1443                              this.handleError(n(this.db)),
1444                              Ee.unlink("/" + this.filename),
1445                              (this.db = null));
1446                          }),
1447                          (ne.prototype.handleError = function (e) {
1448                            var t;
1449                            if (0 === e) return null;
1450                            throw (
1451                              ((t = g(this.db)),
1452                              new Error("SQLite: " + (t || "Code " + e)))
1453                            );
1454                          }),
1455                          (ne.prototype.getRowsModified = function () {
1456                            return s(this.db);
1457                          }),
1458                          (ne.prototype.create_function = function (e, t) {
1459                            Object.prototype.hasOwnProperty.call(
1460                              this.functions,
1461                              e
1462                            ) &&
1463                              (q(this.functions[e]), delete this.functions[e]);
1464                            var r = x(function (e, r, n) {
1465                              for (var o, s = [], a = 0; a < r; a += 1)
1466                                s.push(i.extract_value(n + 4 * a));
1467                              try {
1468                                o = t.apply(null, s);
1469                              } catch (t) {
1470                                return void J(e, "JS threw: " + t, -1);
1471                              }
1472                              i.set_return_value(e, o);
1473                            }, "viii");
1474                            return (
1475                              (this.functions[e] = r),
1476                              this.handleError(
1477                                j(this.db, e, t.length, 1, 0, r, 0, 0, 0)
1478                              ),
1479                              this
1480                            );
1481                          }),
1482                          (i.extract_value = function (e) {
1483                            var t = P(e, "i32"),
1484                              r = B(t);
1485                            return 1 === r || 2 === r
1486                              ? I(t)
1487                              : 3 === r
1488                              ? N(t)
1489                              : 4 === r
1490                              ? (function (e) {
1491                                  for (
1492                                    var t = L(e),
1493                                      r = H(e),
1494                                      n = new Uint8Array(t),
1495                                      o = 0;
1496                                    o < t;
1497                                    o += 1
1498                                  )
1499                                    n[o] = O[r + o];
1500                                  return n;
1501                                })(t)
1502                              : null;
1503                          }),
1504                          (i.set_return_value = function (e, t) {
1505                            switch (typeof t) {
1506                              case "boolean":
1507                                Q(e, t ? 1 : 0);
1508                                break;
1509                              case "number":
1510                                U(e, t);
1511                                break;
1512                              case "string":
1513                                K(e, t, -1, -1);
1514                                break;
1515                              case "object":
1516                                if (null === t) W(e);
1517                                else if (null != t.length) {
1518                                  var r = C(t, T);
1519                                  Y(e, r, t.length, -1), Te(r);
1520                                } else
1521                                  J(
1522                                    e,
1523                                    "Wrong API use : tried to return a value of an unknown type (" +
1524                                      t +
1525                                      ").",
1526                                    -1
1527                                  );
1528                                break;
1529                              default:
1530                                console.warn(
1531                                  "unknown sqlite result type: ",
1532                                  typeof t,
1533                                  t
1534                                ),
1535                                  W(e);
1536                            }
1537                          }),
1538                          (ne.prototype.create_vtab = function (e) {
1539                            const t = new e(i, this),
1540                              r = {
1541                                iVersion: null,
1542                                xCreate: "ptr",
1543                                xConnect: "ptr",
1544                                xBestIndex: "ptr",
1545                                xDisconnect: "ptr",
1546                                xDestroy: "ptr",
1547                                xOpen: "ptr",
1548                                xClose: "ptr",
1549                                xFilter: "ptr",
1550                                xNext: "ptr",
1551                                xEof: "ptr",
1552                                xColumn: "ptr",
1553                                xRowid: "ptr",
1554                                xUpdate: "ptr",
1555                                xBegin: "ptr",
1556                                xSync: "ptr",
1557                                xCommit: "ptr",
1558                                xRollback: "ptr",
1559                                xFindFunction: "ptr",
1560                                xRename: "ptr",
1561                                xSavepoint: "ptr",
1562                                xRelease: "ptr",
1563                                xRollbackTo: "ptr",
1564                                xShadowName: "ptr",
1565                              },
1566                              n = ze(4 * Object.keys(r).length);
1567                            let o = 0;
1568                            for (const e in r) {
1569                              let i = t[e] || 0,
1570                                s = "i32";
1571                              if (r[e] && t[e]) {
1572                                const r = t[e].bind(t);
1573                                (i = x(
1574                                  r,
1575                                  Array(1 + r.length)
1576                                    .fill("i")
1577                                    .join("")
1578                                )),
1579                                  (s = "*");
1580                              }
1581                              F(n + 4 * o, i, s), o++;
1582                            }
1583                            this.handleError(z(this.db, t.name, n, 0, 0));
1584                          }),
1585                          (i.Database = ne),
1586                          (i.CustomDatabase = oe),
1587                          (i.FS = Ee),
1588                          (oe.prototype = Object.create(ne.prototype));
1589                      });
1590                  var a,
1591                    u = {};
1592                  for (a in i) i.hasOwnProperty(a) && (u[a] = i[a]);
1593                  var l,
1594                    c,
1595                    f,
1596                    d,
1597                    h,
1598                    p = [],
1599                    m = "./this.program",
1600                    _ = "object" == typeof window,
1601                    g = "function" == typeof importScripts,
1602                    v =
1603                      "object" == typeof process &&
1604                      "object" == typeof process.versions &&
1605                      "string" == typeof process.versions.node,
1606                    y = "";
1607                  v
1608                    ? ((y = g ? r(101).dirname(y) + "/" : "//"),
1609                      (l = function (e, t) {
1610                        return (
1611                          d || (d = r(905)),
1612                          h || (h = r(101)),
1613                          (e = h.normalize(e)),
1614                          d.readFileSync(e, t ? null : "utf8")
1615                        );
1616                      }),
1617                      (f = function (e) {
1618                        var t = l(e, !0);
1619                        return (
1620                          t.buffer || (t = new Uint8Array(t)), A(t.buffer), t
1621                        );
1622                      }),
1623                      (c = function (e, t, n) {
1624                        d || (d = r(905)),
1625                          h || (h = r(101)),
1626                          (e = h.normalize(e)),
1627                          d.readFile(e, function (e, r) {
1628                            e ? n(e) : t(r.buffer);
1629                          });
1630                      }),
1631                      process.argv.length > 1 &&
1632                        (m = process.argv[1].replace(/\\/g, "/")),
1633                      (p = process.argv.slice(2)),
1634                      (e.exports = i),
1635                      (i.inspect = function () {
1636                        return "[Emscripten Module object]";
1637                      }))
1638                    : (_ || g) &&
1639                      (g
1640                        ? (y = self.location.href)
1641                        : "undefined" != typeof document &&
1642                          document.currentScript &&
1643                          (y = document.currentScript.src),
1644                      (y =
1645                        0 !== y.indexOf("blob:")
1646                          ? y.substr(0, y.lastIndexOf("/") + 1)
1647                          : ""),
1648                      (l = function (e) {
1649                        var t = new XMLHttpRequest();
1650                        return (
1651                          t.open("GET", e, !1), t.send(null), t.responseText
1652                        );
1653                      }),
1654                      g &&
1655                        (f = function (e) {
1656                          var t = new XMLHttpRequest();
1657                          return (
1658                            t.open("GET", e, !1),
1659                            (t.responseType = "arraybuffer"),
1660                            t.send(null),
1661                            new Uint8Array(t.response)
1662                          );
1663                        }),
1664                      (c = function (e, t, r) {
1665                        var n = new XMLHttpRequest();
1666                        n.open("GET", e, !0),
1667                          (n.responseType = "arraybuffer"),
1668                          (n.onload = function () {
1669                            200 == n.status || (0 == n.status && n.response)
1670                              ? t(n.response)
1671                              : r();
1672                          }),
1673                          (n.onerror = r),
1674                          n.send(null);
1675                      }));
1676                  var b = i.print || console.log.bind(console),
1677                    w = i.printErr || console.warn.bind(console);
1678                  for (a in u) u.hasOwnProperty(a) && (i[a] = u[a]);
1679                  (u = null),
1680                    i.arguments && (p = i.arguments),
1681                    i.thisProgram && (m = i.thisProgram),
1682                    i.quit && i.quit;
1683                  var E,
1684                    k,
1685                    S = [];
1686                  function q(e) {
1687                    E.delete(Q.get(e)), S.push(e);
1688                  }
1689                  function x(e, t) {
1690                    return (function (e, t) {
1691                      if (!E) {
1692                        E = new WeakMap();
1693                        for (var r = 0; r < Q.length; r++) {
1694                          var n = Q.get(r);
1695                          n && E.set(n, r);
1696                        }
1697                      }
1698                      if (E.has(e)) return E.get(e);
1699                      var o = (function () {
1700                        if (S.length) return S.pop();
1701                        try {
1702                          Q.grow(1);
1703                        } catch (e) {
1704                          if (!(e instanceof RangeError)) throw e;
1705                          throw "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.";
1706                        }
1707                        return Q.length - 1;
1708                      })();
1709                      try {
1710                        Q.set(o, e);
1711                      } catch (r) {
1712                        if (!(r instanceof TypeError)) throw r;
1713                        var i = (function (e, t) {
1714                          if ("function" == typeof WebAssembly.Function) {
1715                            for (
1716                              var r = {
1717                                  i: "i32",
1718                                  j: "i64",
1719                                  f: "f32",
1720                                  d: "f64",
1721                                },
1722                                n = {
1723                                  parameters: [],
1724                                  results: "v" == t[0] ? [] : [r[t[0]]],
1725                                },
1726                                o = 1;
1727                              o < t.length;
1728                              ++o
1729                            )
1730                              n.parameters.push(r[t[o]]);
1731                            return new WebAssembly.Function(n, e);
1732                          }
1733                          var i = [1, 0, 1, 96],
1734                            s = t.slice(0, 1),
1735                            a = t.slice(1),
1736                            u = { i: 127, j: 126, f: 125, d: 124 };
1737                          for (i.push(a.length), o = 0; o < a.length; ++o)
1738                            i.push(u[a[o]]);
1739                          "v" == s ? i.push(0) : (i = i.concat([1, u[s]])),
1740                            (i[1] = i.length - 2);
1741                          var l = new Uint8Array(
1742                              [0, 97, 115, 109, 1, 0, 0, 0].concat(
1743                                i,
1744                                [
1745                                  2, 7, 1, 1, 101, 1, 102, 0, 0, 7, 5, 1, 1,
1746                                  102, 0, 0,
1747                                ]
1748                              )
1749                            ),
1750                            c = new WebAssembly.Module(l);
1751                          return new WebAssembly.Instance(c, { e: { f: e } })
1752                            .exports.f;
1753                        })(e, t);
1754                        Q.set(o, i);
1755                      }
1756                      return E.set(e, o), o;
1757                    })(e, t);
1758                  }
1759                  i.wasmBinary && (k = i.wasmBinary);
1760                  var D;
1761                  i.noExitRuntime;
1762                  function F(e, t, r, n) {
1763                    switch (
1764                      ("*" === (r = r || "i8").charAt(r.length - 1) &&
1765                        (r = "i32"),
1766                      r)
1767                    ) {
1768                      case "i1":
1769                      case "i8":
1770                        O[e >> 0] = t;
1771                        break;
1772                      case "i16":
1773                        L[e >> 1] = t;
1774                        break;
1775                      case "i32":
1776                        N[e >> 2] = t;
1777                        break;
1778                      case "i64":
1779                        (te = [
1780                          t >>> 0,
1781                          ((ee = t),
1782                          +Math.abs(ee) >= 1
1783                            ? ee > 0
1784                              ? (0 |
1785                                  Math.min(
1786                                    +Math.floor(ee / 4294967296),
1787                                    4294967295
1788                                  )) >>>
1789                                0
1790                              : ~~+Math.ceil(
1791                                  (ee - +(~~ee >>> 0)) / 4294967296
1792                                ) >>> 0
1793                            : 0),
1794                        ]),
1795                          (N[e >> 2] = te[0]),
1796                          (N[(e + 4) >> 2] = te[1]);
1797                        break;
1798                      case "float":
1799                        H[e >> 2] = t;
1800                        break;
1801                      case "double":
1802                        I[e >> 3] = t;
1803                        break;
1804                      default:
1805                        ce("invalid type for setValue: " + r);
1806                    }
1807                  }
1808                  function P(e, t, r) {
1809                    switch (
1810                      ("*" === (t = t || "i8").charAt(t.length - 1) &&
1811                        (t = "i32"),
1812                      t)
1813                    ) {
1814                      case "i1":
1815                      case "i8":
1816                        return O[e >> 0];
1817                      case "i16":
1818                        return L[e >> 1];
1819                      case "i32":
1820                      case "i64":
1821                        return N[e >> 2];
1822                      case "float":
1823                        return H[e >> 2];
1824                      case "double":
1825                        return I[e >> 3];
1826                      default:
1827                        ce("invalid type for getValue: " + t);
1828                    }
1829                    return null;
1830                  }
1831                  "object" != typeof WebAssembly &&
1832                    ce("no native wasm support detected");
1833                  var M = !1;
1834                  function A(e, t) {
1835                    e || ce("Assertion failed: " + t);
1836                  }
1837                  function R(e) {
1838                    var t = i["_" + e];
1839                    return (
1840                      A(
1841                        t,
1842                        "Cannot call unknown function " +
1843                          e +
1844                          ", make sure it is exported"
1845                      ),
1846                      t
1847                    );
1848                  }
1849                  function z(e, t, r, n, o) {
1850                    var i = {
1851                        string: function (e) {
1852                          var t = 0;
1853                          if (null != e && 0 !== e) {
1854                            var r = 1 + (e.length << 2);
1855                            G(e, (t = Ne(r)), r);
1856                          }
1857                          return t;
1858                        },
1859                        array: function (e) {
1860                          var t = Ne(e.length);
1861                          return (
1862                            (function (e, t) {
1863                              O.set(e, t);
1864                            })(e, t),
1865                            t
1866                          );
1867                        },
1868                      },
1869                      s = R(e),
1870                      a = [],
1871                      u = 0;
1872                    if (n)
1873                      for (var l = 0; l < n.length; l++) {
1874                        var c = i[r[l]];
1875                        c
1876                          ? (0 === u && (u = Be()), (a[l] = c(n[l])))
1877                          : (a[l] = n[l]);
1878                      }
1879                    var f = s.apply(null, a);
1880                    return (function (e) {
1881                      return (
1882                        0 !== u && Le(u),
1883                        (function (e) {
1884                          return "string" === t
1885                            ? V(e)
1886                            : "boolean" === t
1887                            ? Boolean(e)
1888                            : e;
1889                        })(e)
1890                      );
1891                    })(f);
1892                  }
1893                  var T = 0;
1894                  function C(e, t) {
1895                    var r;
1896                    return (
1897                      (r = 1 == t ? Ne(e.length) : ze(e.length)),
1898                      e.subarray || e.slice
1899                        ? B.set(e, r)
1900                        : B.set(new Uint8Array(e), r),
1901                      r
1902                    );
1903                  }
1904                  var j,
1905                    O,
1906                    B,
1907                    L,
1908                    N,
1909                    H,
1910                    I,
1911                    U =
1912                      "undefined" != typeof TextDecoder
1913                        ? new TextDecoder("utf8")
1914                        : void 0;
1915                  function W(e, t, r) {
1916                    for (var n = t + r, o = t; e[o] && !(o >= n); ) ++o;
1917                    if (o - t > 16 && e.subarray && U)
1918                      return U.decode(e.subarray(t, o));
1919                    for (var i = ""; t < o; ) {
1920                      var s = e[t++];
1921                      if (128 & s) {
1922                        var a = 63 & e[t++];
1923                        if (192 != (224 & s)) {
1924                          var u = 63 & e[t++];
1925                          if (
1926                            (s =
1927                              224 == (240 & s)
1928                                ? ((15 & s) << 12) | (a << 6) | u
1929                                : ((7 & s) << 18) |
1930                                  (a << 12) |
1931                                  (u << 6) |
1932                                  (63 & e[t++])) < 65536
1933                          )
1934                            i += String.fromCharCode(s);
1935                          else {
1936                            var l = s - 65536;
1937                            i += String.fromCharCode(
1938                              55296 | (l >> 10),
1939                              56320 | (1023 & l)
1940                            );
1941                          }
1942                        } else i += String.fromCharCode(((31 & s) << 6) | a);
1943                      } else i += String.fromCharCode(s);
1944                    }
1945                    return i;
1946                  }
1947                  function V(e, t) {
1948                    return e ? W(B, e, t) : "";
1949                  }
1950                  function X(e, t, r, n) {
1951                    if (!(n > 0)) return 0;
1952                    for (var o = r, i = r + n - 1, s = 0; s < e.length; ++s) {
1953                      var a = e.charCodeAt(s);
1954                      if (
1955                        (a >= 55296 &&
1956                          a <= 57343 &&
1957                          (a =
1958                            (65536 + ((1023 & a) << 10)) |
1959                            (1023 & e.charCodeAt(++s))),
1960                        a <= 127)
1961                      ) {
1962                        if (r >= i) break;
1963                        t[r++] = a;
1964                      } else if (a <= 2047) {
1965                        if (r + 1 >= i) break;
1966                        (t[r++] = 192 | (a >> 6)), (t[r++] = 128 | (63 & a));
1967                      } else if (a <= 65535) {
1968                        if (r + 2 >= i) break;
1969                        (t[r++] = 224 | (a >> 12)),
1970                          (t[r++] = 128 | ((a >> 6) & 63)),
1971                          (t[r++] = 128 | (63 & a));
1972                      } else {
1973                        if (r + 3 >= i) break;
1974                        (t[r++] = 240 | (a >> 18)),
1975                          (t[r++] = 128 | ((a >> 12) & 63)),
1976                          (t[r++] = 128 | ((a >> 6) & 63)),
1977                          (t[r++] = 128 | (63 & a));
1978                      }
1979                    }
1980                    return (t[r] = 0), r - o;
1981                  }
1982                  function G(e, t, r) {
1983                    return X(e, B, t, r);
1984                  }
1985                  function $(e) {
1986                    for (var t = 0, r = 0; r < e.length; ++r) {
1987                      var n = e.charCodeAt(r);
1988                      n >= 55296 &&
1989                        n <= 57343 &&
1990                        (n =
1991                          (65536 + ((1023 & n) << 10)) |
1992                          (1023 & e.charCodeAt(++r))),
1993                        n <= 127
1994                          ? ++t
1995                          : (t += n <= 2047 ? 2 : n <= 65535 ? 3 : 4);
1996                    }
1997                    return t;
1998                  }
1999                  function K(e) {
2000                    var t = $(e) + 1,
2001                      r = ze(t);
2002                    return r && X(e, O, r, t), r;
2003                  }
2004                  function Y(e) {
2005                    (j = e),
2006                      (i.HEAP8 = O = new Int8Array(e)),
2007                      (i.HEAP16 = L = new Int16Array(e)),
2008                      (i.HEAP32 = N = new Int32Array(e)),
2009                      (i.HEAPU8 = B = new Uint8Array(e)),
2010                      (i.HEAPU16 = new Uint16Array(e)),
2011                      (i.HEAPU32 = new Uint32Array(e)),
2012                      (i.HEAPF32 = H = new Float32Array(e)),
2013                      (i.HEAPF64 = I = new Float64Array(e));
2014                  }
2015                  i.INITIAL_MEMORY;
2016                  var Q,
2017                    J,
2018                    Z,
2019                    ee,
2020                    te,
2021                    re = [],
2022                    ne = [],
2023                    oe = [],
2024                    ie = 0,
2025                    se = null,
2026                    ae = null;
2027                  function ue(e) {
2028                    ie++,
2029                      i.monitorRunDependencies && i.monitorRunDependencies(ie);
2030                  }
2031                  function le(e) {
2032                    if (
2033                      (ie--,
2034                      i.monitorRunDependencies && i.monitorRunDependencies(ie),
2035                      0 == ie &&
2036                        (null !== se && (clearInterval(se), (se = null)), ae))
2037                    ) {
2038                      var t = ae;
2039                      (ae = null), t();
2040                    }
2041                  }
2042                  function ce(e) {
2043                    throw (
2044                      (i.onAbort && i.onAbort(e),
2045                      w((e += "")),
2046                      (M = !0),
2047                      (e =
2048                        "abort(" +
2049                        e +
2050                        "). Build with -s ASSERTIONS=1 for more info."),
2051                      new WebAssembly.RuntimeError(e))
2052                    );
2053                  }
2054                  function fe(e) {
2055                    return e.startsWith(
2056                      "data:application/octet-stream;base64,"
2057                    );
2058                  }
2059                  function de(e) {
2060                    return e.startsWith("file://");
2061                  }
2062                  function he(e) {
2063                    try {
2064                      if (e == J && k) return new Uint8Array(k);
2065                      if (f) return f(e);
2066                      throw "both async and sync fetching of the wasm failed";
2067                    } catch (e) {
2068                      ce(e);
2069                    }
2070                  }
2071                  function pe(e) {
2072                    for (; e.length > 0; ) {
2073                      var t = e.shift();
2074                      if ("function" != typeof t) {
2075                        var r = t.func;
2076                        "number" == typeof r
2077                          ? void 0 === t.arg
2078                            ? Q.get(r)()
2079                            : Q.get(r)(t.arg)
2080                          : r(void 0 === t.arg ? null : t.arg);
2081                      } else t(i);
2082                    }
2083                  }
2084                  function me() {
2085                    me.called ||
2086                      ((me.called = !0),
2087                      (function () {
2088                        var e = new Date().getFullYear(),
2089                          t = new Date(e, 0, 1),
2090                          r = new Date(e, 6, 1),
2091                          n = t.getTimezoneOffset(),
2092                          o = r.getTimezoneOffset(),
2093                          i = Math.max(n, o);
2094                        function s(e) {
2095                          var t = e.toTimeString().match(/\(([A-Za-z ]+)\)$/);
2096                          return t ? t[1] : "GMT";
2097                        }
2098                        (N[Oe() >> 2] = 60 * i),
2099                          (N[je() >> 2] = Number(n != o));
2100                        var a = s(t),
2101                          u = s(r),
2102                          l = K(a),
2103                          c = K(u);
2104                        o < n
2105                          ? ((N[Ce() >> 2] = l), (N[(Ce() + 4) >> 2] = c))
2106                          : ((N[Ce() >> 2] = c), (N[(Ce() + 4) >> 2] = l));
2107                      })());
2108                  }
2109                  (i.preloadedImages = {}),
2110                    (i.preloadedAudios = {}),
2111                    fe((J = "sql-wasm.wasm")) ||
2112                      ((Z = J),
2113                      (J = i.locateFile ? i.locateFile(Z, y) : y + Z));
2114                  var _e = {
2115                      splitPath: function (e) {
2116                        return /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/
2117                          .exec(e)
2118                          .slice(1);
2119                      },
2120                      normalizeArray: function (e, t) {
2121                        for (var r = 0, n = e.length - 1; n >= 0; n--) {
2122                          var o = e[n];
2123                          "." === o
2124                            ? e.splice(n, 1)
2125                            : ".." === o
2126                            ? (e.splice(n, 1), r++)
2127                            : r && (e.splice(n, 1), r--);
2128                        }
2129                        if (t) for (; r; r--) e.unshift("..");
2130                        return e;
2131                      },
2132                      normalize: function (e) {
2133                        var t = "/" === e.charAt(0),
2134                          r = "/" === e.substr(-1);
2135                        return (
2136                          (e = _e
2137                            .normalizeArray(
2138                              e.split("/").filter(function (e) {
2139                                return !!e;
2140                              }),
2141                              !t
2142                            )
2143                            .join("/")) ||
2144                            t ||
2145                            (e = "."),
2146                          e && r && (e += "/"),
2147                          (t ? "/" : "") + e
2148                        );
2149                      },
2150                      dirname: function (e) {
2151                        var t = _e.splitPath(e),
2152                          r = t[0],
2153                          n = t[1];
2154                        return r || n
2155                          ? (n && (n = n.substr(0, n.length - 1)), r + n)
2156                          : ".";
2157                      },
2158                      basename: function (e) {
2159                        if ("/" === e) return "/";
2160                        var t = (e = (e = _e.normalize(e)).replace(
2161                          /\/$/,
2162                          ""
2163                        )).lastIndexOf("/");
2164                        return -1 === t ? e : e.substr(t + 1);
2165                      },
2166                      extname: function (e) {
2167                        return _e.splitPath(e)[3];
2168                      },
2169                      join: function () {
2170                        var e = Array.prototype.slice.call(arguments, 0);
2171                        return _e.normalize(e.join("/"));
2172                      },
2173                      join2: function (e, t) {
2174                        return _e.normalize(e + "/" + t);
2175                      },
2176                    },
2177                    ge = {
2178                      resolve: function () {
2179                        for (
2180                          var e = "", t = !1, r = arguments.length - 1;
2181                          r >= -1 && !t;
2182                          r--
2183                        ) {
2184                          var n = r >= 0 ? arguments[r] : Ee.cwd();
2185                          if ("string" != typeof n)
2186                            throw new TypeError(
2187                              "Arguments to path.resolve must be strings"
2188                            );
2189                          if (!n) return "";
2190                          (e = n + "/" + e), (t = "/" === n.charAt(0));
2191                        }
2192                        return (
2193                          (t ? "/" : "") +
2194                            (e = _e
2195                              .normalizeArray(
2196                                e.split("/").filter(function (e) {
2197                                  return !!e;
2198                                }),
2199                                !t
2200                              )
2201                              .join("/")) || "."
2202                        );
2203                      },
2204                      relative: function (e, t) {
2205                        function r(e) {
2206                          for (var t = 0; t < e.length && "" === e[t]; t++);
2207                          for (
2208                            var r = e.length - 1;
2209                            r >= 0 && "" === e[r];
2210                            r--
2211                          );
2212                          return t > r ? [] : e.slice(t, r - t + 1);
2213                        }
2214                        (e = ge.resolve(e).substr(1)),
2215                          (t = ge.resolve(t).substr(1));
2216                        for (
2217                          var n = r(e.split("/")),
2218                            o = r(t.split("/")),
2219                            i = Math.min(n.length, o.length),
2220                            s = i,
2221                            a = 0;
2222                          a < i;
2223                          a++
2224                        )
2225                          if (n[a] !== o[a]) {
2226                            s = a;
2227                            break;
2228                          }
2229                        var u = [];
2230                        for (a = s; a < n.length; a++) u.push("..");
2231                        return (u = u.concat(o.slice(s))).join("/");
2232                      },
2233                    },
2234                    ve = {
2235                      ttys: [],
2236                      init: function () {},
2237                      shutdown: function () {},
2238                      register: function (e, t) {
2239                        (ve.ttys[e] = { input: [], output: [], ops: t }),
2240                          Ee.registerDevice(e, ve.stream_ops);
2241                      },
2242                      stream_ops: {
2243                        open: function (e) {
2244                          var t = ve.ttys[e.node.rdev];
2245                          if (!t) throw new Ee.ErrnoError(43);
2246                          (e.tty = t), (e.seekable = !1);
2247                        },
2248                        close: function (e) {
2249                          e.tty.ops.flush(e.tty);
2250                        },
2251                        flush: function (e) {
2252                          e.tty.ops.flush(e.tty);
2253                        },
2254                        read: function (e, t, r, n, o) {
2255                          if (!e.tty || !e.tty.ops.get_char)
2256                            throw new Ee.ErrnoError(60);
2257                          for (var i = 0, s = 0; s < n; s++) {
2258                            var a;
2259                            try {
2260                              a = e.tty.ops.get_char(e.tty);
2261                            } catch (e) {
2262                              throw new Ee.ErrnoError(29);
2263                            }
2264                            if (void 0 === a && 0 === i)
2265                              throw new Ee.ErrnoError(6);
2266                            if (null == a) break;
2267                            i++, (t[r + s] = a);
2268                          }
2269                          return i && (e.node.timestamp = Date.now()), i;
2270                        },
2271                        write: function (e, t, r, n, o) {
2272                          if (!e.tty || !e.tty.ops.put_char)
2273                            throw new Ee.ErrnoError(60);
2274                          try {
2275                            for (var i = 0; i < n; i++)
2276                              e.tty.ops.put_char(e.tty, t[r + i]);
2277                          } catch (e) {
2278                            throw new Ee.ErrnoError(29);
2279                          }
2280                          return n && (e.node.timestamp = Date.now()), i;
2281                        },
2282                      },
2283                      default_tty_ops: {
2284                        get_char: function (e) {
2285                          if (!e.input.length) {
2286                            var t = null;
2287                            if (v) {
2288                              var r = Buffer.alloc(256),
2289                                n = 0;
2290                              try {
2291                                n = d.readSync(
2292                                  process.stdin.fd,
2293                                  r,
2294                                  0,
2295                                  256,
2296                                  null
2297                                );
2298                              } catch (e) {
2299                                if (!e.toString().includes("EOF")) throw e;
2300                                n = 0;
2301                              }
2302                              t =
2303                                n > 0 ? r.slice(0, n).toString("utf-8") : null;
2304                            } else
2305                              "undefined" != typeof window &&
2306                              "function" == typeof window.prompt
2307                                ? null !== (t = window.prompt("Input: ")) &&
2308                                  (t += "\n")
2309                                : "function" == typeof readline &&
2310                                  null !== (t = readline()) &&
2311                                  (t += "\n");
2312                            if (!t) return null;
2313                            e.input = Pe(t, !0);
2314                          }
2315                          return e.input.shift();
2316                        },
2317                        put_char: function (e, t) {
2318                          null === t || 10 === t
2319                            ? (b(W(e.output, 0)), (e.output = []))
2320                            : 0 != t && e.output.push(t);
2321                        },
2322                        flush: function (e) {
2323                          e.output &&
2324                            e.output.length > 0 &&
2325                            (b(W(e.output, 0)), (e.output = []));
2326                        },
2327                      },
2328                      default_tty1_ops: {
2329                        put_char: function (e, t) {
2330                          null === t || 10 === t
2331                            ? (w(W(e.output, 0)), (e.output = []))
2332                            : 0 != t && e.output.push(t);
2333                        },
2334                        flush: function (e) {
2335                          e.output &&
2336                            e.output.length > 0 &&
2337                            (w(W(e.output, 0)), (e.output = []));
2338                        },
2339                      },
2340                    };
2341                  function ye(e) {
2342                    e = (function (e, t) {
2343                      return 65536 * Math.ceil(e / 65536);
2344                    })(e);
2345                    var t = He(65536, e);
2346                    return t
2347                      ? ((function (e, t) {
2348                          B.fill(0, e, e + t);
2349                        })(t, e),
2350                        t)
2351                      : 0;
2352                  }
2353                  var be,
2354                    we = {
2355                      ops_table: null,
2356                      mount: function (e) {
2357                        return we.createNode(null, "/", 16895, 0);
2358                      },
2359                      createNode: function (e, t, r, n) {
2360                        if (Ee.isBlkdev(r) || Ee.isFIFO(r))
2361                          throw new Ee.ErrnoError(63);
2362                        we.ops_table ||
2363                          (we.ops_table = {
2364                            dir: {
2365                              node: {
2366                                getattr: we.node_ops.getattr,
2367                                setattr: we.node_ops.setattr,
2368                                lookup: we.node_ops.lookup,
2369                                mknod: we.node_ops.mknod,
2370                                rename: we.node_ops.rename,
2371                                unlink: we.node_ops.unlink,
2372                                rmdir: we.node_ops.rmdir,
2373                                readdir: we.node_ops.readdir,
2374                                symlink: we.node_ops.symlink,
2375                              },
2376                              stream: { llseek: we.stream_ops.llseek },
2377                            },
2378                            file: {
2379                              node: {
2380                                getattr: we.node_ops.getattr,
2381                                setattr: we.node_ops.setattr,
2382                              },
2383                              stream: {
2384                                llseek: we.stream_ops.llseek,
2385                                read: we.stream_ops.read,
2386                                write: we.stream_ops.write,
2387                                allocate: we.stream_ops.allocate,
2388                                mmap: we.stream_ops.mmap,
2389                                msync: we.stream_ops.msync,
2390                              },
2391                            },
2392                            link: {
2393                              node: {
2394                                getattr: we.node_ops.getattr,
2395                                setattr: we.node_ops.setattr,
2396                                readlink: we.node_ops.readlink,
2397                              },
2398                              stream: {},
2399                            },
2400                            chrdev: {
2401                              node: {
2402                                getattr: we.node_ops.getattr,
2403                                setattr: we.node_ops.setattr,
2404                              },
2405                              stream: Ee.chrdev_stream_ops,
2406                            },
2407                          });
2408                        var o = Ee.createNode(e, t, r, n);
2409                        return (
2410                          Ee.isDir(o.mode)
2411                            ? ((o.node_ops = we.ops_table.dir.node),
2412                              (o.stream_ops = we.ops_table.dir.stream),
2413                              (o.contents = {}))
2414                            : Ee.isFile(o.mode)
2415                            ? ((o.node_ops = we.ops_table.file.no
2415de),
2416                              (o.stream_ops = we.ops_table.file.stream),
2417                              (o.usedBytes = 0),
2418                              (o.contents = null))
2419                            : Ee.isLink(o.mode)
2420                            ? ((o.node_ops = we.ops_table.link.node),
2421                              (o.stream_ops = we.ops_table.link.stream))
2422                            : Ee.isChrdev(o.mode) &&
2423                              ((o.node_ops = we.ops_table.chrdev.node),
2424                              (o.stream_ops = we.ops_table.chrdev.stream)),
2425                          (o.timestamp = Date.now()),
2426                          e &&
2427                            ((e.contents[t] = o), (e.timestamp = o.timestamp)),
2428                          o
2429                        );
2430                      },
2431                      getFileDataAsTypedArray: function (e) {
2432                        return e.contents
2433                          ? e.contents.subarray
2434                            ? e.contents.subarray(0, e.usedBytes)
2435                            : new Uint8Array(e.contents)
2436                          : new Uint8Array(0);
2437                      },
2438                      expandFileStorage: function (e, t) {
2439                        var r = e.contents ? e.contents.length : 0;
2440                        if (!(r >= t)) {
2441                          (t = Math.max(
2442                            t,
2443                            (r * (r < 1048576 ? 2 : 1.125)) >>> 0
2444                          )),
2445                            0 != r && (t = Math.max(t, 256));
2446                          var n = e.contents;
2447                          (e.contents = new Uint8Array(t)),
2448                            e.usedBytes > 0 &&
2449                              e.contents.set(n.subarray(0, e.usedBytes), 0);
2450                        }
2451                      },
2452                      resizeFileStorage: function (e, t) {
2453                        if (e.usedBytes != t)
2454                          if (0 == t) (e.contents = null), (e.usedBytes = 0);
2455                          else {
2456                            var r = e.contents;
2457                            (e.contents = new Uint8Array(t)),
2458                              r &&
2459                                e.contents.set(
2460                                  r.subarray(0, Math.min(t, e.usedBytes))
2461                                ),
2462                              (e.usedBytes = t);
2463                          }
2464                      },
2465                      node_ops: {
2466                        getattr: function (e) {
2467                          var t = {};
2468                          return (
2469                            (t.dev = Ee.isChrdev(e.mode) ? e.id : 1),
2470                            (t.ino = e.id),
2471                            (t.mode = e.mode),
2472                            (t.nlink = 1),
2473                            (t.uid = 0),
2474                            (t.gid = 0),
2475                            (t.rdev = e.rdev),
2476                            Ee.isDir(e.mode)
2477                              ? (t.size = 4096)
2478                              : Ee.isFile(e.mode)
2479                              ? (t.size = e.usedBytes)
2480                              : Ee.isLink(e.mode)
2481                              ? (t.size = e.link.length)
2482                              : (t.size = 0),
2483                            (t.atime = new Date(e.timestamp)),
2484                            (t.mtime = new Date(e.timestamp)),
2485                            (t.ctime = new Date(e.timestamp)),
2486                            (t.blksize = 4096),
2487                            (t.blocks = Math.ceil(t.size / t.blksize)),
2488                            t
2489                          );
2490                        },
2491                        setattr: function (e, t) {
2492                          void 0 !== t.mode && (e.mode = t.mode),
2493                            void 0 !== t.timestamp &&
2494                              (e.timestamp = t.timestamp),
2495                            void 0 !== t.size &&
2496                              we.resizeFileStorage(e, t.size);
2497                        },
2498                        lookup: function (e, t) {
2499                          throw Ee.genericErrors[44];
2500                        },
2501                        mknod: function (e, t, r, n) {
2502                          return we.createNode(e, t, r, n);
2503                        },
2504                        rename: function (e, t, r) {
2505                          if (Ee.isDir(e.mode)) {
2506                            var n;
2507                            try {
2508                              n = Ee.lookupNode(t, r);
2509                            } catch (e) {}
2510                            if (n)
2511                              for (var o in n.contents)
2512                                throw new Ee.ErrnoError(55);
2513                          }
2514                          delete e.parent.contents[e.name],
2515                            (e.parent.timestamp = Date.now()),
2516                            (e.name = r),
2517                            (t.contents[r] = e),
2518                            (t.timestamp = e.parent.timestamp),
2519                            (e.parent = t);
2520                        },
2521                        unlink: function (e, t) {
2522                          delete e.contents[t], (e.timestamp = Date.now());
2523                        },
2524                        rmdir: function (e, t) {
2525                          var r = Ee.lookupNode(e, t);
2526                          for (var n in r.contents) throw new Ee.ErrnoError(55);
2527                          delete e.contents[t], (e.timestamp = Date.now());
2528                        },
2529                        readdir: function (e) {
2530                          var t = [".", ".."];
2531                          for (var r in e.contents)
2532                            e.contents.hasOwnProperty(r) && t.push(r);
2533                          return t;
2534                        },
2535                        symlink: function (e, t, r) {
2536                          var n = we.createNode(e, t, 41471, 0);
2537                          return (n.link = r), n;
2538                        },
2539                        readlink: function (e) {
2540                          if (!Ee.isLink(e.mode)) throw new Ee.ErrnoError(28);
2541                          return e.link;
2542                        },
2543                      },
2544                      stream_ops: {
2545                        read: function (e, t, r, n, o) {
2546                          var i = e.node.contents;
2547                          if (o >= e.node.usedBytes) return 0;
2548                          var s = Math.min(e.node.usedBytes - o, n);
2549                          if (s > 8 && i.subarray)
2550                            t.set(i.subarray(o, o + s), r);
2551                          else for (var a = 0; a < s; a++) t[r + a] = i[o + a];
2552                          return s;
2553                        },
2554                        write: function (e, t, r, n, o, i) {
2555                          if ((t.buffer === O.buffer && (i = !1), !n)) return 0;
2556                          var s = e.node;
2557                          if (
2558                            ((s.timestamp = Date.now()),
2559                            t.subarray && (!s.contents || s.contents.subarray))
2560                          ) {
2561                            if (i)
2562                              return (
2563                                (s.contents = t.subarray(r, r + n)),
2564                                (s.usedBytes = n),
2565                                n
2566                              );
2567                            if (0 === s.usedBytes && 0 === o)
2568                              return (
2569                                (s.contents = t.slice(r, r + n)),
2570                                (s.usedBytes = n),
2571                                n
2572                              );
2573                            if (o + n <= s.usedBytes)
2574                              return s.contents.set(t.subarray(r, r + n), o), n;
2575                          }
2576                          if (
2577                            (we.expandFileStorage(s, o + n),
2578                            s.contents.subarray && t.subarray)
2579                          )
2580                            s.contents.set(t.subarray(r, r + n), o);
2581                          else
2582                            for (var a = 0; a < n; a++)
2583                              s.contents[o + a] = t[r + a];
2584                          return (
2585                            (s.usedBytes = Math.max(s.usedBytes, o + n)), n
2586                          );
2587                        },
2588                        llseek: function (e, t, r) {
2589                          var n = t;
2590                          if (
2591                            (1 === r
2592                              ? (n += e.position)
2593                              : 2 === r &&
2594                                Ee.isFile(e.node.mode) &&
2595                                (n += e.node.usedBytes),
2596                            n < 0)
2597                          )
2598                            throw new Ee.ErrnoError(28);
2599                          return n;
2600                        },
2601                        allocate: function (e, t, r) {
2602                          we.expandFileStorage(e.node, t + r),
2603                            (e.node.usedBytes = Math.max(
2604                              e.node.usedBytes,
2605                              t + r
2606                            ));
2607                        },
2608                        mmap: function (e, t, r, n, o, i) {
2609                          if (0 !== t) throw new Ee.ErrnoError(28);
2610                          if (!Ee.isFile(e.node.mode))
2611                            throw new Ee.ErrnoError(43);
2612                          var s,
2613                            a,
2614                            u = e.node.contents;
2615                          if (2 & i || u.buffer !== j) {
2616                            if (
2617                              ((n > 0 || n + r < u.length) &&
2618                                (u = u.subarray
2619                                  ? u.subarray(n, n + r)
2620                                  : Array.prototype.slice.call(u, n, n + r)),
2621                              (a = !0),
2622                              !(s = ye(r)))
2623                            )
2624                              throw new Ee.ErrnoError(48);
2625                            O.set(u, s);
2626                          } else (a = !1), (s = u.byteOffset);
2627                          return { ptr: s, allocated: a };
2628                        },
2629                        msync: function (e, t, r, n, o) {
2630                          if (!Ee.isFile(e.node.mode))
2631                            throw new Ee.ErrnoError(43);
2632                          return (
2633                            2 & o || we.stream_ops.write(e, t, 0, n, r, !1), 0
2634                          );
2635                        },
2636                      },
2637                    },
2638                    Ee = {
2639                      root: null,
2640                      mounts: [],
2641                      devices: {},
2642                      streams: [],
2643                      nextInode: 1,
2644                      nameTable: null,
2645                      currentPath: "/",
2646                      initialized: !1,
2647                      ignorePermissions: !0,
2648                      trackingDelegate: {},
2649                      tracking: { openFlags: { READ: 1, WRITE: 2 } },
2650                      ErrnoError: null,
2651                      genericErrors: {},
2652                      filesystems: null,
2653                      syncFSRequests: 0,
2654                      lookupPath: function (e, t) {
2655                        if (((t = t || {}), !(e = ge.resolve(Ee.cwd(), e))))
2656                          return { path: "", node: null };
2657                        var r = { follow_mount: !0, recurse_count: 0 };
2658                        for (var n in r) void 0 === t[n] && (t[n] = r[n]);
2659                        if (t.recurse_count > 8) throw new Ee.ErrnoError(32);
2660                        for (
2661                          var o = _e.normalizeArray(
2662                              e.split("/").filter(function (e) {
2663                                return !!e;
2664                              }),
2665                              !1
2666                            ),
2667                            i = Ee.root,
2668                            s = "/",
2669                            a = 0;
2670                          a < o.length;
2671                          a++
2672                        ) {
2673                          var u = a === o.length - 1;
2674                          if (u && t.parent) break;
2675                          if (
2676                            ((i = Ee.lookupNode(i, o[a])),
2677                            (s = _e.join2(s, o[a])),
2678                            Ee.isMountpoint(i) &&
2679                              (!u || (u && t.follow_mount)) &&
2680                              (i = i.mounted.root),
2681                            !u || t.follow)
2682                          )
2683                            for (var l = 0; Ee.isLink(i.mode); ) {
2684                              var c = Ee.readlink(s);
2685                              if (
2686                                ((s = ge.resolve(_e.dirname(s), c)),
2687                                (i = Ee.lookupPath(s, {
2688                                  recurse_count: t.recurse_count,
2689                                }).node),
2690                                l++ > 40)
2691                              )
2692                                throw new Ee.ErrnoError(32);
2693                            }
2694                        }
2695                        return { path: s, node: i };
2696                      },
2697                      getPath: function (e) {
2698                        for (var t; ; ) {
2699                          if (Ee.isRoot(e)) {
2700                            var r = e.mount.mountpoint;
2701                            return t
2702                              ? "/" !== r[r.length - 1]
2703                                ? r + "/" + t
2704                                : r + t
2705                              : r;
2706                          }
2707                          (t = t ? e.name + "/" + t : e.name), (e = e.parent);
2708                        }
2709                      },
2710                      hashName: function (e, t) {
2711                        for (var r = 0, n = 0; n < t.length; n++)
2712                          r = ((r << 5) - r + t.charCodeAt(n)) | 0;
2713                        return ((e + r) >>> 0) % Ee.nameTable.length;
2714                      },
2715                      hashAddNode: function (e) {
2716                        var t = Ee.hashName(e.parent.id, e.name);
2717                        (e.name_next = Ee.nameTable[t]), (Ee.nameTable[t] = e);
2718                      },
2719                      hashRemoveNode: function (e) {
2720                        var t = Ee.hashName(e.parent.id, e.name);
2721                        if (Ee.nameTable[t] === e)
2722                          Ee.nameTable[t] = e.name_next;
2723                        else
2724                          for (var r = Ee.nameTable[t]; r; ) {
2725                            if (r.name_next === e) {
2726                              r.name_next = e.name_next;
2727                              break;
2728                            }
2729                            r = r.name_next;
2730                          }
2731                      },
2732                      lookupNode: function (e, t) {
2733                        var r = Ee.mayLookup(e);
2734                        if (r) throw new Ee.ErrnoError(r, e);
2735                        for (
2736                          var n = Ee.hashName(e.id, t), o = Ee.nameTable[n];
2737                          o;
2738                          o = o.name_next
2739                        ) {
2740                          var i = o.name;
2741                          if (o.parent.id === e.id && i === t) return o;
2742                        }
2743                        return Ee.lookup(e, t);
2744                      },
2745                      createNode: function (e, t, r, n) {
2746                        var o = new Ee.FSNode(e, t, r, n);
2747                        return Ee.hashAddNode(o), o;
2748                      },
2749                      destroyNode: function (e) {
2750                        Ee.hashRemoveNode(e);
2751                      },
2752                      isRoot: function (e) {
2753                        return e === e.parent;
2754                      },
2755                      isMountpoint: function (e) {
2756                        return !!e.mounted;
2757                      },
2758                      isFile: function (e) {
2759                        return 32768 == (61440 & e);
2760                      },
2761                      isDir: function (e) {
2762                        return 16384 == (61440 & e);
2763                      },
2764                      isLink: function (e) {
2765                        return 40960 == (61440 & e);
2766                      },
2767                      isChrdev: function (e) {
2768                        return 8192 == (61440 & e);
2769                      },
2770                      isBlkdev: function (e) {
2771                        return 24576 == (61440 & e);
2772                      },
2773                      isFIFO: function (e) {
2774                        return 4096 == (61440 & e);
2775                      },
2776                      isSocket: function (e) {
2777                        return 49152 == (49152 & e);
2778                      },
2779                      flagModes: {
2780                        r: 0,
2781                        "r+": 2,
2782                        w: 577,
2783                        "w+": 578,
2784                        a: 1089,
2785                        "a+": 1090,
2786                      },
2787                      modeStringToFlags: function (e) {
2788                        var t = Ee.flagModes[e];
2789                        if (void 0 === t)
2790                          throw new Error("Unknown file open mode: " + e);
2791                        return t;
2792                      },
2793                      flagsToPermissionString: function (e) {
2794                        var t = ["r", "w", "rw"][3 & e];
2795                        return 512 & e && (t += "w"), t;
2796                      },
2797                      nodePermissions: function (e, t) {
2798                        return Ee.ignorePermissions ||
2799                          ((!t.includes("r") || 292 & e.mode) &&
2800                            (!t.includes("w") || 146 & e.mode) &&
2801                            (!t.includes("x") || 73 & e.mode))
2802                          ? 0
2803                          : 2;
2804                      },
2805                      mayLookup: function (e) {
2806                        return (
2807                          Ee.nodePermissions(e, "x") ||
2808                          (e.node_ops.lookup ? 0 : 2)
2809                        );
2810                      },
2811                      mayCreate: function (e, t) {
2812                        try {
2813                          return Ee.lookupNode(e, t), 20;
2814                        } catch (e) {}
2815                        return Ee.nodePermissions(e, "wx");
2816                      },
2817                      mayDelete: function (e, t, r) {
2818                        var n;
2819                        try {
2820                          n = Ee.lookupNode(e, t);
2821                        } catch (e) {
2822                          return e.errno;
2823                        }
2824                        var o = Ee.nodePermissions(e, "wx");
2825                        if (o) return o;
2826                        if (r) {
2827                          if (!Ee.isDir(n.mode)) return 54;
2828                          if (Ee.isRoot(n) || Ee.getPath(n) === Ee.cwd())
2829                            return 10;
2830                        }
2830 else if (Ee.isDir(n.mode)) return 31;
2831                        return 0;
2832                      },
2833                      mayOpen: function (e, t) {
2834                        return e
2835                          ? Ee.isLink(e.mode)
2836                            ? 32
2837                            : Ee.isDir(e.mode) &&
2838                              ("r" !== Ee.flagsToPermissionString(t) || 512 & t)
2839                            ? 31
2840                            : Ee.nodePermissions(
2841                                e,
2842                                Ee.flagsToPermissionString(t)
2843                              )
2844                          : 44;
2845                      },
2846                      MAX_OPEN_FDS: 4096,
2847                      nextfd: function (e, t) {
2848                        (e = e || 0), (t = t || Ee.MAX_OPEN_FDS);
2849                        for (var r = e; r <= t; r++)
2850                          if (!Ee.streams[r]) return r;
2851                        throw new Ee.ErrnoError(33);
2852                      },
2853                      getStream: function (e) {
2854                        return Ee.streams[e];
2855                      },
2856                      createStream: function (e, t, r) {
2857                        Ee.FSStream ||
2858                          ((Ee.FSStream = function () {}),
2859                          (Ee.FSStream.prototype = {
2860                            object: {
2861                              get: function () {
2862                                return this.node;
2863                              },
2864                              set: function (e) {
2865                                this.node = e;
2866                              },
2867                            },
2868                            isRead: {
2869                              get: function () {
2870                                return 1 != (2097155 & this.flags);
2871                              },
2872                            },
2873                            isWrite: {
2874                              get: function () {
2875                                return 0 != (2097155 & this.flags);
2876                              },
2877                            },
2878                            isAppend: {
2879                              get: function () {
2880                                return 1024 & this.flags;
2881                              },
2882                            },
2883                          }));
2884                        var n = new Ee.FSStream();
2885                        for (var o in e) n[o] = e[o];
2886                        e = n;
2887                        var i = Ee.nextfd(t, r);
2888                        return (e.fd = i), (Ee.streams[i] = e), e;
2889                      },
2890                      closeStream: function (e) {
2891                        Ee.streams[e] = null;
2892                      },
2893                      chrdev_stream_ops: {
2894                        open: function (e) {
2895                          var t = Ee.getDevice(e.node.rdev);
2896                          (e.stream_ops = t.stream_ops),
2897                            e.stream_ops.open && e.stream_ops.open(e);
2898                        },
2899                        llseek: function () {
2900                          throw new Ee.ErrnoError(70);
2901                        },
2902                      },
2903                      major: function (e) {
2904                        return e >> 8;
2905                      },
2906                      minor: function (e) {
2907                        return 255 & e;
2908                      },
2909                      makedev: function (e, t) {
2910                        return (e << 8) | t;
2911                      },
2912                      registerDevice: function (e, t) {
2913                        Ee.devices[e] = { stream_ops: t };
2914                      },
2915                      getDevice: function (e) {
2916                        return Ee.devices[e];
2917                      },
2918                      getMounts: function (e) {
2919                        for (var t = [], r = [e]; r.length; ) {
2920                          var n = r.pop();
2921                          t.push(n), r.push.apply(r, n.mounts);
2922                        }
2923                        return t;
2924                      },
2925                      syncfs: function (e, t) {
2926                        "function" == typeof e && ((t = e), (e = !1)),
2927                          Ee.syncFSRequests++,
2928                          Ee.syncFSRequests > 1 &&
2929                            w(
2930                              "warning: " +
2931                                Ee.syncFSRequests +
2932                                " FS.syncfs operations in flight at once, probably just doing extra work"
2933                            );
2934                        var r = Ee.getMounts(Ee.root.mount),
2935                          n = 0;
2936                        function o(e) {
2937                          return Ee.syncFSRequests--, t(e);
2938                        }
2939                        function i(e) {
2940                          if (e)
2941                            return i.errored
2942                              ? void 0
2943                              : ((i.errored = !0), o(e));
2944                          ++n >= r.length && o(null);
2945                        }
2946                        r.forEach(function (t) {
2947                          if (!t.type.syncfs) return i(null);
2948                          t.type.syncfs(t, e, i);
2949                        });
2950                      },
2951                      mount: function (e, t, r) {
2952                        var n,
2953                          o = "/" === r,
2954                          i = !r;
2955                        if (o && Ee.root) throw new Ee.ErrnoError(10);
2956                        if (!o && !i) {
2957                          var s = Ee.lookupPath(r, { follow_mount: !1 });
2958                          if (((r = s.path), (n = s.node), Ee.isMountpoint(n)))
2959                            throw new Ee.ErrnoError(10);
2960                          if (!Ee.isDir(n.mode)) throw new Ee.ErrnoError(54);
2961                        }
2962                        var a = { type: e, opts: t, mountpoint: r, mounts: [] },
2963                          u = e.mount(a);
2964                        return (
2965                          (u.mount = a),
2966                          (a.root = u),
2967                          o
2968                            ? (Ee.root = u)
2969                            : n &&
2970                              ((n.mounted = a),
2971                              n.mount && n.mount.mounts.push(a)),
2972                          u
2973                        );
2974                      },
2975                      unmount: function (e) {
2976                        var t = Ee.lookupPath(e, { follow_mount: !1 });
2977                        if (!Ee.isMountpoint(t.node))
2978                          throw new Ee.ErrnoError(28);
2979                        var r = t.node,
2980                          n = r.mounted,
2981                          o = Ee.getMounts(n);
2982                        Object.keys(Ee.nameTable).forEach(function (e) {
2983                          for (var t = Ee.nameTable[e]; t; ) {
2984                            var r = t.name_next;
2985                            o.includes(t.mount) && Ee.destroyNode(t), (t = r);
2986                          }
2987                        }),
2988                          (r.mounted = null);
2989                        var i = r.mount.mounts.indexOf(n);
2990                        r.mount.mounts.splice(i, 1);
2991                      },
2992                      lookup: function (e, t) {
2993                        return e.node_ops.lookup(e, t);
2994                      },
2995                      mknod: function (e, t, r) {
2996                        var n = Ee.lookupPath(e, { parent: !0 }).node,
2997                          o = _e.basename(e);
2998                        if (!o || "." === o || ".." === o)
2999                          throw new Ee.ErrnoError(28);
3000                        var i = Ee.mayCreate(n, o);
3001                        if (i) throw new Ee.ErrnoError(i);
3002                        if (!n.node_ops.mknod) throw new Ee.ErrnoError(63);
3003                        return n.node_ops.mknod(n, o, t, r);
3004                      },
3005                      create: function (e, t) {
3006                        return (
3007                          (t = void 0 !== t ? t : 438),
3008                          (t &= 4095),
3009                          (t |= 32768),
3010                          Ee.mknod(e, t, 0)
3011                        );
3012                      },
3013                      mkdir: function (e, t) {
3014                        return (
3015                          (t = void 0 !== t ? t : 511),
3016                          (t &= 1023),
3017                          (t |= 16384),
3018                          Ee.mknod(e, t, 0)
3019                        );
3020                      },
3021                      mkdirTree: function (e, t) {
3022                        for (
3023                          var r = e.split("/"), n = "", o = 0;
3024                          o < r.length;
3025                          ++o
3026                        )
3027                          if (r[o]) {
3028                            n += "/" + r[o];
3029                            try {
3030                              Ee.mkdir(n, t);
3031                            } catch (e) {
3032                              if (20 != e.errno) throw e;
3033                            }
3034                          }
3035                      },
3036                      mkdev: function (e, t, r) {
3037                        return (
3038                          void 0 === r && ((r = t), (t = 438)),
3039                          (t |= 8192),
3040                          Ee.mknod(e, t, r)
3041                        );
3042                      },
3043                      symlink: function (e, t) {
3044                        if (!ge.resolve(e)) throw new Ee.ErrnoError(44);
3045                        var r = Ee.lookupPath(t, { parent: !0 }).node;
3046                        if (!r) throw new Ee.ErrnoError(44);
3047                        var n = _e.basename(t),
3048                          o = Ee.mayCreate(r, n);
3049                        if (o) throw new Ee.ErrnoError(o);
3050                        if (!r.node_ops.symlink) throw new Ee.ErrnoError(63);
3051                        return r.node_ops.symlink(r, n, e);
3052                      },
3053                      rename: function (e, t) {
3054                        var r,
3055                          n,
3056                          o = _e.dirname(e),
3057                          i = _e.dirname(t),
3058                          s = _e.basename(e),
3059                          a = _e.basename(t);
3060                        if (
3061                          ((r = Ee.lookupPath(e, { parent: !0 }).node),
3062                          (n = Ee.lookupPath(t, { parent: !0 }).node),
3063                          !r || !n)
3064                        )
3065                          throw new Ee.ErrnoError(44);
3066                        if (r.mount !== n.mount) throw new Ee.ErrnoError(75);
3067                        var u,
3068                          l = Ee.lookupNode(r, s),
3069                          c = ge.relative(e, i);
3070                        if ("." !== c.charAt(0)) throw new Ee.ErrnoError(28);
3071                        if ("." !== (c = ge.relative(t, o)).charAt(0))
3072                          throw new Ee.ErrnoError(55);
3073                        try {
3074                          u = Ee.lookupNode(n, a);
3075                        } catch (e) {}
3076                        if (l !== u) {
3077                          var f = Ee.isDir(l.mode),
3078                            d = Ee.mayDelete(r, s, f);
3079                          if (d) throw new Ee.ErrnoError(d);
3080                          if (
3081                            (d = u ? Ee.mayDelete(n, a, f) : Ee.mayCreate(n, a))
3082                          )
3083                            throw new Ee.ErrnoError(d);
3084                          if (!r.node_ops.rename) throw new Ee.ErrnoError(63);
3085                          if (Ee.isMountpoint(l) || (u && Ee.isMountpoint(u)))
3086                            throw new Ee.ErrnoError(10);
3087                          if (n !== r && (d = Ee.nodePermissions(r, "w")))
3088                            throw new Ee.ErrnoError(d);
3089                          try {
3090                            Ee.trackingDelegate.willMovePath &&
3091                              Ee.trackingDelegate.willMovePath(e, t);
3092                          } catch (r) {
3093                            w(
3094                              "FS.trackingDelegate['willMovePath']('" +
3095                                e +
3096                                "', '" +
3097                                t +
3098                                "') threw an exception: " +
3099                                r.message
3100                            );
3101                          }
3102                          Ee.hashRemoveNode(l);
3103                          try {
3104                            r.node_ops.rename(l, n, a);
3105                          } catch (e) {
3106                            throw e;
3107                          } finally {
3108                            Ee.hashAddNode(l);
3109                          }
3110                          try {
3111                            Ee.trackingDelegate.onMovePath &&
3112                              Ee.trackingDelegate.onMovePath(e, t);
3113                          } catch (r) {
3114                            w(
3115                              "FS.trackingDelegate['onMovePath']('" +
3116                                e +
3117                                "', '" +
3118                                t +
3119                                "') threw an exception: " +
3120                                r.message
3121                            );
3122                          }
3123                        }
3124                      },
3125                      rmdir: function (e) {
3126                        var t = Ee.lookupPath(e, { parent: !0 }).node,
3127                          r = _e.basename(e),
3128                          n = Ee.lookupNode(t, r),
3129                          o = Ee.mayDelete(t, r, !0);
3130                        if (o) throw new Ee.ErrnoError(o);
3131                        if (!t.node_ops.rmdir) throw new Ee.ErrnoError(63);
3132                        if (Ee.isMountpoint(n)) throw new Ee.ErrnoError(10);
3133                        try {
3134                          Ee.trackingDelegate.willDeletePath &&
3135                            Ee.trackingDelegate.willDeletePath(e);
3136                        } catch (t) {
3137                          w(
3138                            "FS.trackingDelegate['willDeletePath']('" +
3139                              e +
3140                              "') threw an exception: " +
3141                              t.message
3142                          );
3143                        }
3144                        t.node_ops.rmdir(t, r), Ee.destroyNode(n);
3145                        try {
3146                          Ee.trackingDelegate.onDeletePath &&
3147                            Ee.trackingDelegate.onDeletePath(e);
3148                        } catch (t) {
3149                          w(
3150                            "FS.trackingDelegate['onDeletePath']('" +
3151                              e +
3152                              "') threw an exception: " +
3153                              t.message
3154                          );
3155                        }
3156                      },
3157                      readdir: function (e) {
3158                        var t = Ee.lookupPath(e, { follow: !0 }).node;
3159                        if (!t.node_ops.readdir) throw new Ee.ErrnoError(54);
3160                        return t.node_ops.readdir(t);
3161                      },
3162                      unlink: function (e) {
3163                        var t = Ee.lookupPath(e, { parent: !0 }).node,
3164                          r = _e.basename(e),
3165                          n = Ee.lookupNode(t, r),
3166                          o = Ee.mayDelete(t, r, !1);
3167                        if (o) throw new Ee.ErrnoError(o);
3168                        if (!t.node_ops.unlink) throw new Ee.ErrnoError(63);
3169                        if (Ee.isMountpoint(n)) throw new Ee.ErrnoError(10);
3170                        try {
3171                          Ee.trackingDelegate.willDeletePath &&
3172                            Ee.trackingDelegate.willDeletePath(e);
3173                        } catch (t) {
3174                          w(
3175                            "FS.trackingDelegate['willDeletePath']('" +
3176                              e +
3177                              "') threw an exception: " +
3178                              t.message
3179                          );
3180                        }
3181                        t.node_ops.unlink(t, r), Ee.destroyNode(n);
3182                        try {
3183                          Ee.trackingDelegate.onDeletePath &&
3184                            Ee.trackingDelegate.onDeletePath(e);
3185                        } catch (t) {
3186                          w(
3187                            "FS.trackingDelegate['onDeletePath']('" +
3188                              e +
3189                              "') threw an exception: " +
3190                              t.message
3191                          );
3192                        }
3193                      },
3194                      readlink: function (e) {
3195                        var t = Ee.lookupPath(e).node;
3196                        if (!t) throw new Ee.ErrnoError(44);
3197                        if (!t.node_ops.readlink) throw new Ee.ErrnoError(28);
3198                        return ge.resolve(
3199                          Ee.getPath(t.parent),
3200                          t.node_ops.readlink(t)
3201                        );
3202                      },
3203                      stat: function (e, t) {
3204                        var r = Ee.lookupPath(e, { follow: !t }).node;
3205                        if (!r) throw new Ee.ErrnoError(44);
3206                        if (!r.node_ops.getattr) throw new Ee.ErrnoError(63);
3207                        return r.node_ops.getattr(r);
3208                      },
3209                      lstat: function (e) {
3210                        return Ee.stat(e, !0);
3211                      },
3212                      chmod: function (e, t, r) {
3213                        var n;
3214                        if (
3215                          !(n =
3216                            "string" == typeof e
3217                              ? Ee.lookupPath(e, { follow: !r }).node
3218                              : e).node_ops.setattr
3219                        )
3220                          throw new Ee.ErrnoError(63);
3221                        n.node_ops.setattr(n, {
3222                          mode: (4095 & t) | (-4096 & n.mode),
3223                          timestamp: Date.now(),
3224                        });
3225                      },
3226                      lchmod: function (e, t) {
3227                        Ee.chmod(e, t, !0);
3228                      },
3229                      fchmod: function (e, t) {
3230                        var r = Ee.getStream(e);
3231                        if (!r) throw new Ee.ErrnoError(8);
3232                        Ee.chmod(r.node, t);
3233                      },
3234                      chown: function (e, t, r, n) {
3235                        var o;
3236                        if (
3237                          !(o =
3238                            "string" == typeof e
3239                              ? Ee.lookupPath(e, { follow: !n }).node
3240                              : e).node_ops.setattr
3241                        )
3242                          throw new Ee.ErrnoError(63);
3243                        o.node_ops.setattr(o, { timestamp: Date.now() });
3244                      },
3245                      lchown: function (e, t, r) {
3246                        Ee.chown(e, t, r, !0);
3247                      },
3248                      fchown: function (e, t, r) {
3249                        var n = Ee.getStream(e);
3250                        if (!n) throw new Ee.ErrnoError(8);
3251                        Ee.chown(n.node, t, r);
3252                      },
3253                      truncate: function (e, t) {
3254                        if (t < 0) throw new Ee.ErrnoError(28);
3255                        var r;
3256                        if (
3257                          !(r =
3258                            "string" == typeof e
3259                              ? Ee.lookupPath(e, { follow: !0 }).node
3260                              : e).node_ops.setattr
3261                        )
3262                          throw new Ee.ErrnoError(63);
3263                        if (Ee.isDir(r.mode)) throw new Ee.ErrnoError(31);
3264                        if (!Ee.isFile(r.mode)) throw new Ee.ErrnoError(28);
3265                        var n = Ee.nodePermissions(r, "w");
3266                        if (n) throw new Ee.ErrnoError(n);
3267                        r.node_ops.setattr(r, {
3268                          size: t,
3269                          timestamp: Date.now(),
3270                        });
3271                      },
3272                      ftruncate: function (e, t) {
3273                        var r = Ee.getStream(e);
3274                        if (!r) throw new Ee.ErrnoError(8);
3275                        if (0 == (2097155 & r.flags))
3276                          throw new Ee.ErrnoError(28);
3277                        Ee.truncate(r.node, t);
3278                      },
3279                      utime: function (e, t, r) {
3280                        var n = Ee.lookupPath(e, { follow: !0 }).node;
3281                        n.node_ops.setattr(n, { timestamp: Math.max(t, r) });
3282                      },
3283                      open: function (e, t, r, n, o) {
3284                        if ("" === e) throw new Ee.ErrnoError(44);
3285                        var s;
3286                        if (
3287                          ((r = void 0 === r ? 438 : r),
3288                          (r =
3289                            64 &
3290                            (t =
3291                              "string" == typeof t
3292                                ? Ee.modeStringToFlags(t)
3293                                : t)
3294                              ? (4095 & r) | 32768
3295                              : 0),
3296                          "object" == typeof e)
3297                        )
3298                          s = e;
3299                        else {
3300                          e = _e.normalize(e);
3301                          try {
3302                            s = Ee.lookupPath(e, {
3303                              follow: !(131072 & t),
3304                            }).node;
3305                          } catch (e) {}
3306                        }
3307                        var a = !1;
3308                        if (64 & t)
3309                          if (s) {
3310                            if (128 & t) throw new Ee.ErrnoError(20);
3311                          } else (s = Ee.mknod(e, r, 0)), (a = !0);
3312                        if (!s) throw new Ee.ErrnoError(44);
3313                        if (
3314                          (Ee.isChrdev(s.mode) && (t &= -513),
3315                          65536 & t && !Ee.isDir(s.mode))
3316                        )
3317                          throw new Ee.ErrnoError(54);
3318                        if (!a) {
3319                          var u = Ee.mayOpen(s, t);
3320                          if (u) throw new Ee.ErrnoError(u);
3321                        }
3322                        512 & t && Ee.truncate(s, 0), (t &= -131713);
3323                        var l = Ee.createStream(
3324                          {
3325                            node: s,
3326                            path: Ee.getPath(s),
3327                            flags: t,
3328                            seekable: !0,
3329                            position: 0,
3330                            stream_ops: s.stream_ops,
3331                            ungotten: [],
3332                            error: !1,
3333                          },
3334                          n,
3335                          o
3336                        );
3337                        l.stream_ops.open && l.stream_ops.open(l),
3338                          !i.logReadFiles ||
3339                            1 & t ||
3340                            (Ee.readFiles || (Ee.readFiles = {}),
3341                            e in Ee.readFiles ||
3342                              ((Ee.readFiles[e] = 1),
3343                              w(
3344                                "FS.trackingDelegate error on read file: " + e
3345                              )));
3346                        try {
3347                          if (Ee.trackingDelegate.onOpenFile) {
3348                            var c = 0;
3349                            1 != (2097155 & t) &&
3350                              (c |= Ee.tracking.openFlags.READ),
3351                              0 != (2097155 & t) &&
3352                                (c |= Ee.tracking.openFlags.WRITE),
3353                              Ee.trackingDelegate.onOpenFile(e, c);
3354                          }
3355                        } catch (t) {
3356                          w(
3357                            "FS.trackingDelegate['onOpenFile']('" +
3358                              e +
3359                              "', flags) threw an exception: " +
3360                              t.message
3361                          );
3362                        }
3363                        return l;
3364                      },
3365                      close: function (e) {
3366                        if (Ee.isClosed(e)) throw new Ee.ErrnoError(8);
3367                        e.getdents && (e.getdents = null);
3368                        try {
3369                          e.stream_ops.close && e.stream_ops.close(e);
3370                        } catch (e) {
3371                          throw e;
3372                        } finally {
3373                          Ee.closeStream(e.fd);
3374                        }
3375                        e.fd = null;
3376                      },
3377                      isClosed: function (e) {
3378                        return null === e.fd;
3379                      },
3380                      llseek: function (e, t, r) {
3381                        if (Ee.isClosed(e)) throw new Ee.ErrnoError(8);
3382                        if (!e.seekable || !e.stream_ops.llseek)
3383                          throw new Ee.ErrnoError(70);
3384                        if (0 != r && 1 != r && 2 != r)
3385                          throw new Ee.ErrnoError(28);
3386                        return (
3387                          (e.position = e.stream_ops.llseek(e, t, r)),
3388                          (e.ungotten = []),
3389                          e.position
3390                        );
3391                      },
3392                      read: function (e, t, r, n, o) {
3393                        if (n < 0 || o < 0) throw new Ee.ErrnoError(28);
3394                        if (Ee.isClosed(e)) throw new Ee.ErrnoError(8);
3395                        if (1 == (2097155 & e.flags))
3396                          throw new Ee.ErrnoError(8);
3397                        if (Ee.isDir(e.node.mode)) throw new Ee.ErrnoError(31);
3398                        if (!e.stream_ops.read) throw new Ee.ErrnoError(28);
3399                        var i = void 0 !== o;
3400                        if (i) {
3401                          if (!e.seekable) throw new Ee.ErrnoError(70);
3402                        } else o = e.position;
3403                        var s = e.stream_ops.read(e, t, r, n, o);
3404                        return i || (e.position += s), s;
3405                      },
3406                      write: function (e, t, r, n, o, i) {
3407                        if (n < 0 || o < 0) throw new Ee.ErrnoError(28);
3408                        if (Ee.isClosed(e)) throw new Ee.ErrnoError(8);
3409                        if (0 == (2097155 & e.flags))
3410                          throw new Ee.ErrnoError(8);
3411                        if (Ee.isDir(e.node.mode)) throw new Ee.ErrnoError(31);
3412                        if (!e.stream_ops.write) throw new Ee.ErrnoError(28);
3413                        e.seekable && 1024 & e.flags && Ee.llseek(e, 0, 2);
3414                        var s = void 0 !== o;
3415                        if (s) {
3416                          if (!e.seekable) throw new Ee.ErrnoError(70);
3417                        } else o = e.position;
3418                        var a = e.stream_ops.write(e, t, r, n, o, i);
3419                        s || (e.position += a);
3420                        try {
3421                          e.path &&
3422                            Ee.trackingDelegate.onWriteToFile &&
3423                            Ee.trackingDelegate.onWriteToFile(e.path);
3424                        } catch (t) {
3425                          w(
3426                            "FS.trackingDelegate['onWriteToFile']('" +
3427                              e.path +
3428                              "') threw an exception: " +
3429                              t.message
3430                          );
3431                        }
3432                        return a;
3433                      },
3434                      allocate: function (e, t, r) {
3435                        if (Ee.isClosed(e)) throw new Ee.ErrnoError(8);
3436                        if (t < 0 || r <= 0) throw new Ee.ErrnoError(28);
3437                        if (0 == (2097155 & e.flags))
3438                          throw new Ee.ErrnoError(8);
3439                        if (!Ee.isFile(e.node.mode) && !Ee.isDir(e.node.mode))
3440                          throw new Ee.ErrnoError(43);
3441                        if (!e.stream_ops.allocate)
3442                          throw new Ee.ErrnoError(138);
3443                        e.stream_ops.allocate(e, t, r);
3444                      },
3445                      mmap: function (e, t, r, n, o, i) {
3446                        if (
3447                          0 != (2 & o) &&
3448                          0 == (2 & i) &&
3449                          2 != (2097155 & e.flags)
3450                        )
3451                          throw new Ee.ErrnoError(2);
3452                        if (1 == (2097155 & e.flags))
3453                          throw new Ee.ErrnoError(2);
3454                        if (!e.stream_ops.mmap) throw new Ee.ErrnoError(43);
3455                        return e.stream_ops.mmap(e, t, r, n, o, i);
3456                      },
3457                      msync: function (e, t, r, n, o) {
3458                        return e && e.stream_ops.msync
3459                          ? e.stream_ops.msync(e, t, r, n, o)
3460                          : 0;
3461                      },
3462                      munmap: function (e) {
3463                        return 0;
3464                      },
3465                      ioctl: function (e, t, r) {
3466                        if (!e.stream_ops.ioctl) throw new Ee.ErrnoError(59);
3467                        return e.stream_ops.ioctl(e, t, r);
3468                      },
3469                      readFile: function (e, t) {
3470                        if (
3471                          (((t = t || {}).flags = t.flags || 0),
3472                          (t.encoding = t.encoding || "binary"),
3473                          "utf8" !== t.encoding && "binary" !== t.encoding)
3474                        )
3475                          throw new Error(
3476                            'Invalid encoding type "' + t.encoding + '"'
3477                          );
3478                        var r,
3479                          n = Ee.open(e, t.flags),
3480                          o = Ee.stat(e).size,
3481                          i = new Uint8Array(o);
3482                        return (
3483                          Ee.read(n, i, 0, o, 0),
3484                          "utf8" === t.encoding
3485                            ? (r = W(i, 0))
3486                            : "binary" === t.encoding && (r = i),
3487                          Ee.close(n),
3488                          r
3489                        );
3490                      },
3491                      writeFile: function (e, t, r) {
3492                        (r = r || {}).flags = r.flags || 577;
3493                        var n = Ee.open(e, r.flags, r.mode);
3494                        if ("string" == typeof t) {
3495                          var o = new Uint8Array($(t) + 1),
3496                            i = X(t, o, 0, o.length);
3497                          Ee.write(n, o, 0, i, void 0, r.canOwn);
3498                        } else {
3499                          if (!ArrayBuffer.isView(t))
3500                            throw new Error("Unsupported data type");
3501                          Ee.write(n, t, 0, t.byteLength, void 0, r.canOwn);
3502                        }
3503                        Ee.close(n);
3504                      },
3505                      cwd: function () {
3506                        return Ee.currentPath;
3507                      },
3508                      chdir: function (e) {
3509                        var t = Ee.lookupPath(e, { follow: !0 });
3510                        if (null === t.node) throw new Ee.ErrnoError(44);
3511                        if (!Ee.isDir(t.node.mode)) throw new Ee.ErrnoError(54);
3512                        var r = Ee.nodePermissions(t.node, "x");
3513                        if (r) throw new Ee.ErrnoError(r);
3514                        Ee.currentPath = t.path;
3515                      },
3516                      createDefaultDirectories: function () {
3517                        Ee.mkdir("/tmp"),
3518                          Ee.mkdir("/home"),
3519                          Ee.mkdir("/home/web_user");
3520                      },
3521                      createDefaultDevices: function () {
3522                        Ee.mkdir("/dev"),
3523                          Ee.registerDevice(Ee.makedev(1, 3), {
3524                            read: function () {
3525                              return 0;
3526                            },
3527                            write: function (e, t, r, n, o) {
3528                              return n;
3529                            },
3530                          }),
3531                          Ee.mkdev("/dev/null", Ee.makedev(1, 3)),
3532                          ve.register(Ee.makedev(5, 0), ve.default_tty_ops),
3533                          ve.register(Ee.makedev(6, 0), ve.default_tty1_ops),
3534                          Ee.mkdev("/dev/tty", Ee.makedev(5, 0)),
3535                          Ee.mkdev("/dev/tty1", Ee.makedev(6, 0));
3536                        var e = (function () {
3537                          if (
3538                            "object" == typeof crypto &&
3539                            "function" == typeof crypto.getRandomValues
3540                          ) {
3541                            var e = new Uint8Array(1);
3542                            return function () {
3543                              return crypto.getRandomValues(e), e[0];
3544                            };
3545                          }
3546                          if (v)
3547                            try {
3548                              var t = r(821);
3549                              return function () {
3550                                return t.randomBytes(1)[0];
3551                              };
3552                            } catch (e) {}
3553                          return function () {
3554                            ce("randomDevice");
3555                          };
3556                        })();
3557                        Ee.createDevice("/dev", "random", e),
3558                          Ee.createDevice("/dev", "urandom", e),
3559                          Ee.mkdir("/dev/shm"),
3560                          Ee.mkdir("/dev/shm/tmp");
3561                      },
3562                      createSpecialDirectories: function () {
3563                        Ee.mkdir("/proc");
3564                        var e = Ee.mkdir("/proc/self");
3565                        Ee.mkdir("/proc/self/fd"),
3566                          Ee.mount(
3567                            {
3568                              mount: function () {
3569                                var t = Ee.createNode(e, "fd", 16895, 73);
3570                                return (
3571                                  (t.node_ops = {
3572                                    lookup: function (e, t) {
3573                                      var r = +t,
3574                                        n = Ee.getStream(r);
3575                                      if (!n) throw new Ee.ErrnoError(8);
3576                                      var o = {
3577                                        parent: null,
3578                                        mount: { mountpoint: "fake" },
3579                                        node_ops: {
3580                                          readlink: function () {
3581                                            return n.path;
3582                                          },
3583                                        },
3584                                      };
3585                                      return (o.parent = o), o;
3586                                    },
3587                                  }),
3588                                  t
3589                                );
3590                              },
3591                            },
3592                            {},
3593                            "/proc/self/fd"
3594                          );
3595                      },
3596                      createStandardStreams: function () {
3597                        i.stdin
3598                          ? Ee.createDevice("/dev", "stdin", i.stdin)
3599                          : Ee.symlink("/dev/tty", "/dev/stdin"),
3600                          i.stdout
3601                            ? Ee.createDevice("/dev", "stdout", null, i.stdout)
3602                            : Ee.symlink("/dev/tty", "/dev/stdout"),
3603                          i.stderr
3604                            ? Ee.createDevice("/dev", "stderr", null, i.stderr)
3605                            : Ee.symlink("/dev/tty1", "/dev/stderr"),
3606                          Ee.open("/dev/stdin", 0),
3607                          Ee.open("/dev/stdout", 1),
3608                          Ee.open("/dev/stderr", 1);
3609                      },
3610                      ensureErrnoError: function () {
3611                        Ee.ErrnoError ||
3612                          ((Ee.ErrnoError = function (e, t) {
3613                            (this.node = t),
3614                              (this.setErrno = function (e) {
3615                                this.errno = e;
3616                              }),
3617                              this.setErrno(e),
3618                              (this.message = "FS error");
3619                          }),
3620                          (Ee.ErrnoError.prototype = new Error()),
3621                          (Ee.ErrnoError.prototype.constructor = Ee.ErrnoError),
3622                          [44].forEach(function (e) {
3623                            (Ee.genericErrors[e] = new Ee.ErrnoError(e)),
3624                              (Ee.genericErrors[e].stack =
3625                                "<generic error, no stack>");
3626                          }));
3627                      },
3628                      staticInit: function () {
3629                        Ee.ensureErrnoError(),
3630                          (Ee.nameTable = new Array(4096)),
3631                          Ee.mount(we, {}, "/"),
3632                          Ee.createDefaultDirectories(),
3633                          Ee.createDefaultDevices(),
3634                          Ee.createSpecialDirectories(),
3635                          (Ee.filesystems = { MEMFS: we });
3636                      },
3637                      init: function (e, t, r) {
3638                        (Ee.init.initialized = !0),
3639                          Ee.ensureErrnoError(),
3640                          (i.stdin = e || i.stdin),
3641                          (i.stdout = t || i.stdout),
3642                          (i.stderr = r || i.stderr),
3643                          Ee.createStandardStreams();
3644                      },
3645                      quit: function () {
3646                        Ee.init.initialized = !1;
3647                        var e = i._fflush;
3648                        e && e(0);
3649                        for (var t = 0; t < Ee.streams.length; t++) {
3650                          var r = Ee.streams[t];
3651                          r && Ee.close(r);
3652                        }
3653                      },
3654                      getMode: function (e, t) {
3655                        var r = 0;
3656                        return e && (r |= 365), t && (r |= 146), r;
3657                      },
3658                      findObject: function (e, t) {
3659                        var r = Ee.analyzePath(e, t);
3660                        return r.exists ? r.object : null;
3661                      },
3662                      analyzePath: function (e, t) {
3663                        try {
3664                          e = (n = Ee.lookupPath(e, { follow: !t })).path;
3665                        } catch (e) {}
3666                        var r = {
3667                          isRoot: !1,
3668                          exists: !1,
3669                          error: 0,
3670                          name: null,
3671                          path: null,
3672                          object: null,
3673                          parentExists: !1,
3674                          parentPath: null,
3675                          parentObject: null,
3676                        };
3677                        try {
3678                          var n = Ee.lookupPath(e, { parent: !0 });
3679                          (r.parentExists = !0),
3680                            (r.parentPath = n.path),
3681                            (r.parentObject = n.node),
3682                            (r.name = _e.basename(e)),
3683                            (n = Ee.lookupPath(e, { follow: !t })),
3684                            (r.exists = !0),
3685                            (r.path = n.path),
3686                            (r.object = n.node),
3687                            (r.name = n.node.name),
3688                            (r.isRoot = "/" === n.path);
3689                        } catch (e) {
3690                          r.error = e.errno;
3691                        }
3692                        return r;
3693                      },
3694                      createPath: function (e, t, r, n) {
3695                        e = "string" == typeof e ? e : Ee.getPath(e);
3696                        for (var o = t.split("/").reverse(); o.length; ) {
3697                          var i = o.pop();
3698                          if (i) {
3699                            var s = _e.join2(e, i);
3700                            try {
3701                              Ee.mkdir(s);
3702                            } catch (e) {}
3703                            e = s;
3704                          }
3705                        }
3706                        return s;
3707                      },
3708                      createFile: function (e, t, r, n, o) {
3709                        var i = _e.join2(
3710                            "string" == typeof e ? e : Ee.getPath(e),
3711                            t
3712                          ),
3713                          s = Ee.getMode(n, o);
3714                        return Ee.create(i, s);
3715                      },
3716                      createDataFile: function (e, t, r, n, o, i) {
3717                        var s = t
3718                            ? _e.join2(
3719                                "string" == typeof e ? e : Ee.getPath(e),
3720                                t
3721                              )
3722                            : e,
3723                          a = Ee.getMode(n, o),
3724                          u = Ee.create(s, a);
3725                        if (r) {
3726                          if ("string" == typeof r) {
3727                            for (
3728                              var l = new Array(r.length), c = 0, f = r.length;
3729                              c < f;
3730                              ++c
3731                            )
3732                              l[c] = r.charCodeAt(c);
3733                            r = l;
3734                          }
3735                          Ee.chmod(u, 146 | a);
3736                          var d = Ee.open(u, 577);
3737                          Ee.write(d, r, 0, r.length, 0, i),
3738                            Ee.close(d),
3739                            Ee.chmod(u, a);
3740                        }
3741                        return u;
3742                      },
3743                      createDevice: function (e, t, r, n) {
3744                        var o = _e.join2(
3745                            "string" == typeof e ? e : Ee.getPath(e),
3746                            t
3747                          ),
3748                          i = Ee.getMode(!!r, !!n);
3749                        Ee.createDevice.major || (Ee.createDevice.major = 64);
3750                        var s = Ee.makedev(Ee.createDevice.major++, 0);
3751                        return (
3752                          Ee.registerDevice(s, {
3753                            open: function (e) {
3754                              e.seekable = !1;
3755                            },
3756                            close: function (e) {
3757                              n && n.buffer && n.buffer.length && n(10);
3758                            },
3759                            read: function (e, t, n, o, i) {
3760                              for (var s = 0, a = 0; a < o; a++) {
3761                                var u;
3762                                try {
3763                                  u = r();
3764                                } catch (e) {
3765                                  throw new Ee.ErrnoError(29);
3766                                }
3767                                if (void 0 === u && 0 === s)
3768                                  throw new Ee.ErrnoError(6);
3769                                if (null == u) break;
3770                                s++, (t[n + a] = u);
3771                              }
3772                              return s && (e.node.timestamp = Date.now()), s;
3773                            },
3774                            write: function (e, t, r, o, i) {
3775                              for (var s = 0; s < o; s++)
3776                                try {
3777                                  n(t[r + s]);
3778                                } catch (e) {
3779                                  throw new Ee.ErrnoError(29);
3780                                }
3781                              return o && (e.node.timestamp = Date.now()), s;
3782                            },
3783                          }),
3784                          Ee.mkdev(o, i, s)
3785                        );
3786                      },
3787                      forceLoadFile: function (e) {
3788                        if (e.isDevice || e.isFolder || e.link || e.contents)
3789                          return !0;
3790                        if ("undefined" != typeof XMLHttpRequest)
3791                          throw new Error(
3792                            "Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."
3793                          );
3794                        if (!l)
3795                          throw new Error(
3796                            "Cannot load without read() or XMLHttpRequest."
3797                          );
3798                        try {
3799                          (e.contents = Pe(l(e.url), !0)),
3800                            (e.usedBytes = e.contents.length);
3801                        } catch (e) {
3802                          throw new Ee.ErrnoError(29);
3803                        }
3804                      },
3805                      createLazyFile: function (e, t, r, n, o) {
3806                        function i() {
3807                          (this.lengthKnown = !1), (this.chunks = []);
3808                        }
3809                        if (
3810                          ((i.prototype.get = function (e) {
3811                            if (!(e > this.length - 1 || e < 0)) {
3812                              var t = e % this.chunkSize,
3813                                r = (e / this.chunkSize) | 0;
3814                              return this.getter(r)[t];
3815                            }
3816                          }),
3817                          (i.prototype.setDataGetter = function (e) {
3818                            this.getter = e;
3819                          }),
3820                          (i.prototype.cacheLength = function () {
3821                            var e = new XMLHttpRequest();
3822                            if (
3823                              (e.open("HEAD", r, !1),
3824                              e.send(null),
3825                              !(
3826                                (e.status >= 200 && e.status < 300) ||
3827                                304 === e.status
3828                              ))
3829                            )
3830                              throw new Error(
3831                                "Couldn't load " + r + ". Status: " + e.status
3832                              );
3833                            var t,
3834                              n = Number(e.getResponseHeader("Content-length")),
3835                              o =
3836                                (t = e.getResponseHeader("Accept-Ranges")) &&
3837                                "bytes" === t,
3838                              i =
3839                                (t = e.getResponseHeader("Content-Encoding")) &&
3840                                "gzip" === t,
3841                              s = 1048576;
3842                            o || (s = n);
3843                            var a = this;
3844                            a.setDataGetter(function (e) {
3845                              var t = e * s,
3846                                o = (e + 1) * s - 1;
3847                              if (
3848                                ((o = Math.min(o, n - 1)),
3849                                void 0 === a.chunks[e] &&
3850                                  (a.chunks[e] = (function (e, t) {
3851                                    if (e > t)
3852                                      throw new Error(
3853                                        "invalid range (" +
3854                                          e +
3855                                          ", " +
3856                                          t +
3857                                          ") or no bytes requested!"
3858                                      );
3859                                    if (t > n - 1)
3860                                      throw new Error(
3861                                        "only " +
3862                                          n +
3863                                          " bytes available! programmer error!"
3864                                      );
3865                                    var o = new XMLHttpRequest();
3866                                    if (
3867                                      (o.open("GET", r, !1),
3868                                      n !== s &&
3869                                        o.setRequestHeader(
3870                                          "Range",
3871                                          "bytes=" + e + "-" + t
3872                                        ),
3873                                      "undefined" != typeof Uint8Array &&
3874                                        (o.responseType = "arraybuffer"),
3875                                      o.overrideMimeType &&
3876                                        o.overrideMimeType(
3877                                          "text/plain;
3877 charset=x-user-defined"
3878                                        ),
3879                                      o.send(null),
3880                                      !(
3881                                        (o.status >= 200 && o.status < 300) ||
3882                                        304 === o.status
3883                                      ))
3884                                    )
3885                                      throw new Error(
3886                                        "Couldn't load " +
3887                                          r +
3888                                          ". Status: " +
3889                                          o.status
3890                                      );
3891                                    return void 0 !== o.response
3892                                      ? new Uint8Array(o.response || [])
3893                                      : Pe(o.responseText || "", !0);
3894                                  })(t, o)),
3895                                void 0 === a.chunks[e])
3896                              )
3897                                throw new Error("doXHR failed!");
3898                              return a.chunks[e];
3899                            }),
3900                              (!i && n) ||
3901                                ((s = n = 1),
3902                                (n = this.getter(0).length),
3903                                (s = n),
3904                                b(
3905                                  "LazyFiles on gzip forces download of the whole file when length is accessed"
3906                                )),
3907                              (this._length = n),
3908                              (this._chunkSize = s),
3909                              (this.lengthKnown = !0);
3910                          }),
3911                          "undefined" != typeof XMLHttpRequest)
3912                        ) {
3913                          if (!g)
3914                            throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
3915                          var s = new i();
3916                          Object.defineProperties(s, {
3917                            length: {
3918                              get: function () {
3919                                return (
3920                                  this.lengthKnown || this.cacheLength(),
3921                                  this._length
3922                                );
3923                              },
3924                            },
3925                            chunkSize: {
3926                              get: function () {
3927                                return (
3928                                  this.lengthKnown || this.cacheLength(),
3929                                  this._chunkSize
3930                                );
3931                              },
3932                            },
3933                          });
3934                          var a = { isDevice: !1, contents: s };
3935                        } else a = { isDevice: !1, url: r };
3936                        var u = Ee.createFile(e, t, a, n, o);
3937                        a.contents
3938                          ? (u.contents = a.contents)
3939                          : a.url && ((u.contents = null), (u.url = a.url)),
3940                          Object.defineProperties(u, {
3941                            usedBytes: {
3942                              get: function () {
3943                                return this.contents.length;
3944                              },
3945                            },
3946                          });
3947                        var l = {};
3948                        return (
3949                          Object.keys(u.stream_ops).forEach(function (e) {
3950                            var t = u.stream_ops[e];
3951                            l[e] = function () {
3952                              return (
3953                                Ee.forceLoadFile(u), t.apply(null, arguments)
3954                              );
3955                            };
3956                          }),
3957                          (l.read = function (e, t, r, n, o) {
3958                            Ee.forceLoadFile(u);
3959                            var i = e.node.contents;
3960                            if (o >= i.length) return 0;
3961                            var s = Math.min(i.length - o, n);
3962                            if (i.slice)
3963                              for (var a = 0; a < s; a++) t[r + a] = i[o + a];
3964                            else
3965                              for (a = 0; a < s; a++) t[r + a] = i.get(o + a);
3966                            return s;
3967                          }),
3968                          (u.stream_ops = l),
3969                          u
3970                        );
3971                      },
3972                      createPreloadedFile: function (
3973                        e,
3974                        t,
3975                        r,
3976                        n,
3977                        o,
3978                        s,
3979                        a,
3980                        u,
3981                        l,
3982                        f
3983                      ) {
3984                        Browser.init();
3985                        var d = t ? ge.resolve(_e.join2(e, t)) : e;
3986                        function h(r) {
3987                          function c(r) {
3988                            f && f(),
3989                              u || Ee.createDataFile(e, t, r, n, o, l),
3990                              s && s(),
3991                              le();
3992                          }
3993                          var h = !1;
3994                          i.preloadPlugins.forEach(function (e) {
3995                            h ||
3996                              (e.canHandle(d) &&
3997                                (e.handle(r, d, c, function () {
3998                                  a && a(), le();
3999                                }),
4000                                (h = !0)));
4001                          }),
4002                            h || c(r);
4003                        }
4004                        ue(),
4005                          "string" == typeof r
4006                            ? (function (e, t, r, n) {
4007                                var o = "al " + e;
4008                                c(
4009                                  e,
4010                                  function (t) {
4011                                    A(
4012                                      t,
4013                                      'Loading data file "' +
4014                                        e +
4015                                        '" failed (no arrayBuffer).'
4016                                    ),
4017                                      h(new Uint8Array(t)),
4018                                      o && le();
4019                                  },
4020                                  function (t) {
4021                                    if (!r)
4022                                      throw (
4023                                        'Loading data file "' + e + '" failed.'
4024                                      );
4025                                    r();
4026                                  }
4027                                ),
4028                                  o && ue();
4029                              })(r, 0, a)
4030                            : h(r);
4031                      },
4032                      indexedDB: function () {
4033                        return (
4034                          window.indexedDB ||
4035                          window.mozIndexedDB ||
4036                          window.webkitIndexedDB ||
4037                          window.msIndexedDB
4038                        );
4039                      },
4040                      DB_NAME: function () {
4041                        return "EM_FS_" + window.location.pathname;
4042                      },
4043                      DB_VERSION: 20,
4044                      DB_STORE_NAME: "FILE_DATA",
4045                      saveFilesToDB: function (e, t, r) {
4046                        (t = t || function () {}), (r = r || function () {});
4047                        var n = Ee.indexedDB();
4048                        try {
4049                          var o = n.open(Ee.DB_NAME(), Ee.DB_VERSION);
4050                        } catch (e) {
4051                          return r(e);
4052                        }
4053                        (o.onupgradeneeded = function () {
4054                          b("creating db"),
4055                            o.result.createObjectStore(Ee.DB_STORE_NAME);
4056                        }),
4057                          (o.onsuccess = function () {
4058                            var n = o.result.transaction(
4059                                [Ee.DB_STORE_NAME],
4060                                "readwrite"
4061                              ),
4062                              i = n.objectStore(Ee.DB_STORE_NAME),
4063                              s = 0,
4064                              a = 0,
4065                              u = e.length;
4066                            function l() {
4067                              0 == a ? t() : r();
4068                            }
4069                            e.forEach(function (e) {
4070                              var t = i.put(
4071                                Ee.analyzePath(e).object.contents,
4072                                e
4073                              );
4074                              (t.onsuccess = function () {
4075                                ++s + a == u && l();
4076                              }),
4077                                (t.onerror = function () {
4078                                  a++, s + a == u && l();
4079                                });
4080                            }),
4081                              (n.onerror = r);
4082                          }),
4083                          (o.onerror = r);
4084                      },
4085                      loadFilesFromDB: function (e, t, r) {
4086                        (t = t || function () {}), (r = r || function () {});
4087                        var n = Ee.indexedDB();
4088                        try {
4089                          var o = n.open(Ee.DB_NAME(), Ee.DB_VERSION);
4090                        } catch (e) {
4091                          return r(e);
4092                        }
4093                        (o.onupgradeneeded = r),
4094                          (o.onsuccess = function () {
4095                            var n = o.result;
4096                            try {
4097                              var i = n.transaction(
4098                                [Ee.DB_STORE_NAME],
4099                                "readonly"
4100                              );
4101                            } catch (e) {
4102                              return void r(e);
4103                            }
4104                            var s = i.objectStore(Ee.DB_STORE_NAME),
4105                              a = 0,
4106                              u = 0,
4107                              l = e.length;
4108                            function c() {
4109                              0 == u ? t() : r();
4110                            }
4111                            e.forEach(function (e) {
4112                              var t = s.get(e);
4113                              (t.onsuccess = function () {
4114                                Ee.analyzePath(e).exists && Ee.unlink(e),
4115                                  Ee.createDataFile(
4116                                    _e.dirname(e),
4117                                    _e.basename(e),
4118                                    t.result,
4119                                    !0,
4120                                    !0,
4121                                    !0
4122                                  ),
4123                                  ++a + u == l && c();
4124                              }),
4125                                (t.onerror = function () {
4126                                  u++, a + u == l && c();
4127                                });
4128                            }),
4129                              (i.onerror = r);
4130                          }),
4131                          (o.onerror = r);
4132                      },
4133                    },
4134                    ke = {
4135                      mappings: {},
4136                      DEFAULT_POLLMASK: 5,
4137                      umask: 511,
4138                      calculateAt: function (e, t, r) {
4139                        if ("/" === t[0]) return t;
4140                        var n;
4141                        if (-100 === e) n = Ee.cwd();
4142                        else {
4143                          var o = Ee.getStream(e);
4144                          if (!o) throw new Ee.ErrnoError(8);
4145                          n = o.path;
4146                        }
4147                        if (0 == t.length) {
4148                          if (!r) throw new Ee.ErrnoError(44);
4149                          return n;
4150                        }
4151                        return _e.join2(n, t);
4152                      },
4153                      doStat: function (e, t, r) {
4154                        try {
4155                          var n = e(t);
4156                        } catch (e) {
4157                          if (
4158                            e &&
4159                            e.node &&
4160                            _e.normalize(t) !== _e.normalize(Ee.getPath(e.node))
4161                          )
4162                            return -54;
4163                          throw e;
4164                        }
4165                        return (
4166                          (N[r >> 2] = n.dev),
4167                          (N[(r + 4) >> 2] = 0),
4168                          (N[(r + 8) >> 2] = n.ino),
4169                          (N[(r + 12) >> 2] = n.mode),
4170                          (N[(r + 16) >> 2] = n.nlink),
4171                          (N[(r + 20) >> 2] = n.uid),
4172                          (N[(r + 24) >> 2] = n.gid),
4173                          (N[(r + 28) >> 2] = n.rdev),
4174                          (N[(r + 32) >> 2] = 0),
4175                          (te = [
4176                            n.size >>> 0,
4177                            ((ee = n.size),
4178                            +Math.abs(ee) >= 1
4179                              ? ee > 0
4180                                ? (0 |
4181                                    Math.min(
4182                                      +Math.floor(ee / 4294967296),
4183                                      4294967295
4184                                    )) >>>
4185                                  0
4186                                : ~~+Math.ceil(
4187                                    (ee - +(~~ee >>> 0)) / 4294967296
4188                                  ) >>> 0
4189                              : 0),
4190                          ]),
4191                          (N[(r + 40) >> 2] = te[0]),
4192                          (N[(r + 44) >> 2] = te[1]),
4193                          (N[(r + 48) >> 2] = 4096),
4194                          (N[(r + 52) >> 2] = n.blocks),
4195                          (N[(r + 56) >> 2] = (n.atime.getTime() / 1e3) | 0),
4196                          (N[(r + 60) >> 2] = 0),
4197                          (N[(r + 64) >> 2] = (n.mtime.getTime() / 1e3) | 0),
4198                          (N[(r + 68) >> 2] = 0),
4199                          (N[(r + 72) >> 2] = (n.ctime.getTime() / 1e3) | 0),
4200                          (N[(r + 76) >> 2] = 0),
4201                          (te = [
4202                            n.ino >>> 0,
4203                            ((ee = n.ino),
4204                            +Math.abs(ee) >= 1
4205                              ? ee > 0
4206                                ? (0 |
4207                                    Math.min(
4208                                      +Math.floor(ee / 4294967296),
4209                                      4294967295
4210                                    )) >>>
4211                                  0
4212                                : ~~+Math.ceil(
4213                                    (ee - +(~~ee >>> 0)) / 4294967296
4214                                  ) >>> 0
4215                              : 0),
4216                          ]),
4217                          (N[(r + 80) >> 2] = te[0]),
4218                          (N[(r + 84) >> 2] = te[1]),
4219                          0
4220                        );
4221                      },
4222                      doMsync: function (e, t, r, n, o) {
4223                        var i = B.slice(e, e + r);
4224                        Ee.msync(t, i, o, r, n);
4225                      },
4226                      doMkdir: function (e, t) {
4227                        return (
4228                          "/" === (e = _e.normalize(e))[e.length - 1] &&
4229                            (e = e.substr(0, e.length - 1)),
4230                          Ee.mkdir(e, t, 0),
4231                          0
4232                        );
4233                      },
4234                      doMknod: function (e, t, r) {
4235                        switch (61440 & t) {
4236                          case 32768:
4237                          case 8192:
4238                          case 24576:
4239                          case 4096:
4240                          case 49152:
4241                            break;
4242                          default:
4243                            return -28;
4244                        }
4245                        return Ee.mknod(e, t, r), 0;
4246                      },
4247                      doReadlink: function (e, t, r) {
4248                        if (r <= 0) return -28;
4249                        var n = Ee.readlink(e),
4250                          o = Math.min(r, $(n)),
4251                          i = O[t + o];
4252                        return G(n, t, r + 1), (O[t + o] = i), o;
4253                      },
4254                      doAccess: function (e, t) {
4255                        if (-8 & t) return -28;
4256                        var r;
4257                        if (!(r = Ee.lookupPath(e, { follow: !0 }).node))
4258                          return -44;
4259                        var n = "";
4260                        return (
4261                          4 & t && (n += "r"),
4262                          2 & t && (n += "w"),
4263                          1 & t && (n += "x"),
4264                          n && Ee.nodePermissions(r, n) ? -2 : 0
4265                        );
4266                      },
4267                      doDup: function (e, t, r) {
4268                        var n = Ee.getStream(r);
4269                        return n && Ee.close(n), Ee.open(e, t, 0, r, r).fd;
4270                      },
4271                      doReadv: function (e, t, r, n) {
4272                        for (var o = 0, i = 0; i < r; i++) {
4273                          var s = N[(t + 8 * i) >> 2],
4274                            a = N[(t + (8 * i + 4)) >> 2],
4275                            u = Ee.read(e, O, s, a, n);
4276                          if (u < 0) return -1;
4277                          if (((o += u), u < a)) break;
4278                        }
4279                        return o;
4280                      },
4281                      doWritev: function (e, t, r, n) {
4282                        for (var o = 0, i = 0; i < r; i++) {
4283                          var s = N[(t + 8 * i) >> 2],
4284                            a = N[(t + (8 * i + 4)) >> 2],
4285                            u = Ee.write(e, O, s, a, n);
4286                          if (u < 0) return -1;
4287                          o += u;
4288                        }
4289                        return o;
4290                      },
4291                      varargs: void 0,
4292                      get: function () {
4293                        return (ke.varargs += 4), N[(ke.varargs - 4) >> 2];
4294                      },
4295                      getStr: function (e) {
4296                        return V(e);
4297                      },
4298                      getStreamFromFD: function (e) {
4299                        var t = Ee.getStream(e);
4300                        if (!t) throw new Ee.ErrnoError(8);
4301                        return t;
4302                      },
4303                      get64: function (e, t) {
4304                        return e;
4305                      },
4306                    };
4307                  function Se(e) {
4308                    return (N[Re() >> 2] = e), e;
4309                  }
4310                  function qe(e) {
4311                    try {
4312                      return (
4313                        D.grow((e - j.byteLength + 65535) >>> 16),
4314                        Y(D.buffer),
4315                        1
4316                      );
4317                    } catch (e) {}
4318                  }
4319                  be = v
4320                    ? function () {
4321                        var e = process.hrtime();
4322                        return 1e3 * e[0] + e[1] / 1e6;
4323                      }
4324                    : function () {
4325                        return performance.now();
4326                      };
4327                  var xe = {};
4328                  function De() {
4329                    if (!De.strings) {
4330                      var e = {
4331                        USER: "web_user",
4332                        LOGNAME: "web_user",
4333                        PATH: "/",
4334                        PWD: "/",
4335                        HOME: "/home/web_user",
4336                        LANG:
4337                          (
4338                            ("object" == typeof navigator &&
4339                              navigator.languages &&
4340                              navigator.languages[0]) ||
4341                            "C"
4342                          ).replace("-", "_") + ".UTF-8",
4343                        _: m || "./this.program",
4344                      };
4345                      for (var t in xe)
4346                        void 0 === xe[t] ? delete e[t] : (e[t] = xe[t]);
4347                      var r = [];
4348                      for (var t in e) r.push(t + "=" + e[t]);
4349                      De.strings = r;
4350                    }
4351                    return De.strings;
4352                  }
4353                  var Fe = function (e, t, r, n) {
4354                    e || (e = this),
4355                      (this.parent = e),
4356                      (this.mount = e.mount),
4357                      (this.mounted = null),
4358                      (this.id = Ee.nextInode++),
4359                      (this.name = t),
4360                      (this.mode = r),
4361                      (this.node_ops = {}),
4362                      (this.stream_ops = {}),
4363                      (this.rdev = n);
4364                  };
4365                  function Pe(e, t, r) {
4366                    var n = r > 0 ? r : $(e) + 1,
4367                      o = new Array(n),
4368                      i = X(e, o, 0, o.length);
4369                    return t && (o.length = i), o;
4370                  }
4371                  Object.defineProperties(Fe.prototype, {
4372                    read: {
4373                      get: function () {
4374                        return 365 == (365 & this.mode);
4375                      },
4376                      set: function (e) {
4377                        e ? (this.mode |= 365) : (this.mode &= -366);
4378                      },
4379                    },
4380                    write: {
4381                      get: function () {
4382                        return 146 == (146 & this.mode);
4383                      },
4384                      set: function (e) {
4385                        e ? (this.mode |= 146) : (this.mode &= -147);
4386                      },
4387                    },
4388                    isFolder: {
4389                      get: function () {
4390                        return Ee.isDir(this.mode);
4391                      },
4392                    },
4393                    isDevice: {
4394                      get: function () {
4395                        return Ee.isChrdev(this.mode);
4396                      },
4397                    },
4398                  }),
4399                    (Ee.FSNode = Fe),
4400                    Ee.staticInit();
4401                  var Me,
4402                    Ae = {
4403                      a: function (e, t, r, n) {
4404                        ce(
4405                          "Assertion failed: " +
4406                            V(e) +
4407                            ", at: " +
4408                            [
4409                              t ? V(t) : "unknown filename",
4410                              r,
4411                              n ? V(n) : "unknown function",
4412                            ]
4413                        );
4414                      },
4415                      t: function (e, t) {
4416                        return (function (e, t) {
4417                          me();
4418                          var r = new Date(1e3 * N[e >> 2]);
4419                          (N[t >> 2] = r.getSeconds()),
4420                            (N[(t + 4) >> 2] = r.getMinutes()),
4421                            (N[(t + 8) >> 2] = r.getHours()),
4422                            (N[(t + 12) >> 2] = r.getDate()),
4423                            (N[(t + 16) >> 2] = r.getMonth()),
4424                            (N[(t + 20) >> 2] = r.getFullYear() - 1900),
4425                            (N[(t + 24) >> 2] = r.getDay());
4426                          var n = new Date(r.getFullYear(), 0, 1),
4427                            o = ((r.getTime() - n.getTime()) / 864e5) | 0;
4428                          (N[(t + 28) >> 2] = o),
4429                            (N[(t + 36) >> 2] = -60 * r.getTimezoneOffset());
4430                          var i = new Date(
4431                              r.getFullYear(),
4432                              6,
4433                              1
4434                            ).getTimezoneOffset(),
4435                            s = n.getTimezoneOffset(),
4436                            a =
4437                              0 |
4438                              (i != s &&
4439                                r.getTimezoneOffset() == Math.min(s, i)
4439);
4440                          N[(t + 32) >> 2] = a;
4441                          var u = N[(Ce() + (a ? 4 : 0)) >> 2];
4442                          return (N[(t + 40) >> 2] = u), t;
4443                        })(e, t);
4444                      },
4445                      G: function (e, t) {
4446                        try {
4447                          return (e = ke.getStr(e)), ke.doAccess(e, t);
4448                        } catch (e) {
4449                          return (
4450                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4451                              ce(e),
4452                            -e.errno
4453                          );
4454                        }
4455                      },
4456                      v: function (e, t) {
4457                        try {
4458                          return (e = ke.getStr(e)), Ee.chmod(e, t), 0;
4459                        } catch (e) {
4460                          return (
4461                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4462                              ce(e),
4463                            -e.errno
4464                          );
4465                        }
4466                      },
4467                      h: function (e, t, r) {
4468                        try {
4469                          return (e = ke.getStr(e)), Ee.chown(e, t, r), 0;
4470                        } catch (e) {
4471                          return (
4472                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4473                              ce(e),
4474                            -e.errno
4475                          );
4476                        }
4477                      },
4478                      w: function (e, t) {
4479                        try {
4480                          return Ee.fchmod(e, t), 0;
4481                        } catch (e) {
4482                          return (
4483                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4484                              ce(e),
4485                            -e.errno
4486                          );
4487                        }
4488                      },
4489                      i: function (e, t, r) {
4490                        try {
4491                          return Ee.fchown(e, t, r), 0;
4492                        } catch (e) {
4493                          return (
4494                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4495                              ce(e),
4496                            -e.errno
4497                          );
4498                        }
4499                      },
4500                      b: function (e, t, r) {
4501                        ke.varargs = r;
4502                        try {
4503                          var n = ke.getStreamFromFD(e);
4504                          switch (t) {
4505                            case 0:
4506                              return (o = ke.get()) < 0
4507                                ? -28
4508                                : Ee.open(n.path, n.flags, 0, o).fd;
4509                            case 1:
4510                            case 2:
4511                              return 0;
4512                            case 3:
4513                              return n.flags;
4514                            case 4:
4515                              var o = ke.get();
4516                              return (n.flags |= o), 0;
4517                            case 12:
4518                              return (o = ke.get()), (L[(o + 0) >> 1] = 2), 0;
4519                            case 13:
4520                            case 14:
4521                              return 0;
4522                            case 16:
4523                            case 8:
4524                              return -28;
4525                            case 9:
4526                              return Se(28), -1;
4527                            default:
4528                              return -28;
4529                          }
4530                        } catch (e) {
4531                          return (
4532                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4533                              ce(e),
4534                            -e.errno
4535                          );
4536                        }
4537                      },
4538                      y: function (e, t) {
4539                        try {
4540                          var r = ke.getStreamFromFD(e);
4541                          return ke.doStat(Ee.stat, r.path, t);
4542                        } catch (e) {
4543                          return (
4544                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4545                              ce(e),
4546                            -e.errno
4547                          );
4548                        }
4549                      },
4550                      J: function (e, t, r, n) {
4551                        try {
4552                          var o = ke.get64(r, n);
4553                          return Ee.ftruncate(e, o), 0;
4554                        } catch (e) {
4555                          return (
4556                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4557                              ce(e),
4558                            -e.errno
4559                          );
4560                        }
4561                      },
4562                      j: function (e, t) {
4563                        try {
4564                          if (0 === t) return -28;
4565                          var r = Ee.cwd();
4566                          return t < $(r) + 1 ? -68 : (G(r, e, t), e);
4567                        } catch (e) {
4568                          return (
4569                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4570                              ce(e),
4571                            -e.errno
4572                          );
4573                        }
4574                      },
4575                      H: function () {
4576                        return 0;
4577                      },
4578                      d: function () {
4579                        return 42;
4580                      },
4581                      x: function (e, t) {
4582                        try {
4583                          return (e = ke.getStr(e)), ke.doStat(Ee.lstat, e, t);
4584                        } catch (e) {
4585                          return (
4586                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4587                              ce(e),
4588                            -e.errno
4589                          );
4590                        }
4591                      },
4592                      z: function (e, t) {
4593                        try {
4594                          return (e = ke.getStr(e)), ke.doMkdir(e, t);
4595                        } catch (e) {
4596                          return (
4597                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4598                              ce(e),
4599                            -e.errno
4600                          );
4601                        }
4602                      },
4603                      A: function (e, t, r, n, o, i) {
4604                        try {
4605                          return (function (e, t, r, n, o, i) {
4606                            var s;
4607                            i <<= 12;
4608                            var a = !1;
4609                            if (0 != (16 & n) && e % 65536 != 0) return -28;
4610                            if (0 != (32 & n)) {
4611                              if (!(s = ye(t))) return -48;
4612                              a = !0;
4613                            } else {
4614                              var u = Ee.getStream(o);
4615                              if (!u) return -8;
4616                              var l = Ee.mmap(u, e, t, i, r, n);
4617                              (s = l.ptr), (a = l.allocated);
4618                            }
4619                            return (
4620                              (ke.mappings[s] = {
4621                                malloc: s,
4622                                len: t,
4623                                allocated: a,
4624                                fd: o,
4625                                prot: r,
4626                                flags: n,
4627                                offset: i,
4628                              }),
4629                              s
4630                            );
4631                          })(e, t, r, n, o, i);
4632                        } catch (e) {
4633                          return (
4634                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4635                              ce(e),
4636                            -e.errno
4637                          );
4638                        }
4639                      },
4640                      B: function (e, t) {
4641                        try {
4642                          return (function (e, t) {
4643                            var r = ke.mappings[e];
4644                            if (0 === t || !r) return -28;
4645                            if (t === r.len) {
4646                              var n = Ee.getStream(r.fd);
4647                              n &&
4648                                (2 & r.prot &&
4649                                  ke.doMsync(e, n, t, r.flags, r.offset),
4650                                Ee.munmap(n)),
4651                                (ke.mappings[e] = null),
4652                                r.allocated && Te(r.malloc);
4653                            }
4654                            return 0;
4655                          })(e, t);
4656                        } catch (e) {
4657                          return (
4658                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4659                              ce(e),
4660                            -e.errno
4661                          );
4662                        }
4663                      },
4664                      D: function (e, t, r) {
4665                        ke.varargs = r;
4666                        try {
4667                          var n = ke.getStr(e),
4668                            o = r ? ke.get() : 0;
4669                          return Ee.open(n, t, o).fd;
4670                        } catch (e) {
4671                          return (
4672                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4673                              ce(e),
4674                            -e.errno
4675                          );
4676                        }
4677                      },
4678                      I: function (e, t, r) {
4679                        try {
4680                          return (e = ke.getStr(e)), ke.doReadlink(e, t, r);
4681                        } catch (e) {
4682                          return (
4683                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4684                              ce(e),
4685                            -e.errno
4686                          );
4687                        }
4688                      },
4689                      F: function (e) {
4690                        try {
4691                          return (e = ke.getStr(e)), Ee.rmdir(e), 0;
4692                        } catch (e) {
4693                          return (
4694                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4695                              ce(e),
4696                            -e.errno
4697                          );
4698                        }
4699                      },
4700                      e: function (e, t) {
4701                        try {
4702                          return (e = ke.getStr(e)), ke.doStat(Ee.stat, e, t);
4703                        } catch (e) {
4704                          return (
4705                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4706                              ce(e),
4707                            -e.errno
4708                          );
4709                        }
4710                      },
4711                      k: function (e) {
4712                        try {
4713                          return (e = ke.getStr(e)), Ee.unlink(e), 0;
4714                        } catch (e) {
4715                          return (
4716                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4717                              ce(e),
4718                            -e.errno
4719                          );
4720                        }
4721                      },
4722                      u: function () {
4723                        return 2147483648;
4724                      },
4725                      o: function (e, t, r) {
4726                        B.copyWithin(e, t, t + r);
4727                      },
4728                      c: function (e) {
4729                        var t,
4730                          r = B.length,
4731                          n = 2147483648;
4732                        if ((e >>>= 0) > n) return !1;
4733                        for (var o = 1; o <= 4; o *= 2) {
4734                          var i = r * (1 + 0.2 / o);
4735                          if (
4736                            ((i = Math.min(i, e + 100663296)),
4737                            qe(
4738                              Math.min(
4739                                n,
4740                                ((t = Math.max(e, i)) % 65536 > 0 &&
4741                                  (t += 65536 - (t % 65536)),
4742                                t)
4743                              )
4744                            ))
4745                          )
4746                            return !0;
4747                        }
4748                        return !1;
4749                      },
4750                      s: function (e) {
4751                        for (var t = be(); be() - t < e; );
4752                      },
4753                      q: function (e, t) {
4754                        var r = 0;
4755                        return (
4756                          De().forEach(function (n, o) {
4757                            var i = t + r;
4758                            (N[(e + 4 * o) >> 2] = i),
4759                              (function (e, t, r) {
4760                                for (var n = 0; n < e.length; ++n)
4761                                  O[t++ >> 0] = e.charCodeAt(n);
4762                                O[t >> 0] = 0;
4763                              })(n, i),
4764                              (r += n.length + 1);
4765                          }),
4766                          0
4767                        );
4768                      },
4769                      r: function (e, t) {
4770                        var r = De();
4771                        N[e >> 2] = r.length;
4772                        var n = 0;
4773                        return (
4774                          r.forEach(function (e) {
4775                            n += e.length + 1;
4776                          }),
4777                          (N[t >> 2] = n),
4778                          0
4779                        );
4780                      },
4781                      f: function (e) {
4782                        try {
4783                          var t = ke.getStreamFromFD(e);
4784                          return Ee.close(t), 0;
4785                        } catch (e) {
4786                          return (
4787                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4788                              ce(e),
4789                            e.errno
4790                          );
4791                        }
4792                      },
4793                      p: function (e, t) {
4794                        try {
4795                          var r = ke.getStreamFromFD(e),
4796                            n = r.tty
4797                              ? 2
4798                              : Ee.isDir(r.mode)
4799                              ? 3
4800                              : Ee.isLink(r.mode)
4801                              ? 7
4802                              : 4;
4803                          return (O[t >> 0] = n), 0;
4804                        } catch (e) {
4805                          return (
4806                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4807                              ce(e),
4808                            e.errno
4809                          );
4810                        }
4811                      },
4812                      l: function (e, t, r, n) {
4813                        try {
4814                          var o = ke.getStreamFromFD(e),
4815                            i = ke.doReadv(o, t, r);
4816                          return (N[n >> 2] = i), 0;
4817                        } catch (e) {
4818                          return (
4819                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4820                              ce(e),
4821                            e.errno
4822                          );
4823                        }
4824                      },
4825                      n: function (e, t, r, n, o) {
4826                        try {
4827                          var i = ke.getStreamFromFD(e),
4828                            s = 4294967296 * r + (t >>> 0),
4829                            a = 9007199254740992;
4830                          return s <= -a || s >= a
4831                            ? -61
4832                            : (Ee.llseek(i, s, n),
4833                              (te = [
4834                                i.position >>> 0,
4835                                ((ee = i.position),
4836                                +Math.abs(ee) >= 1
4837                                  ? ee > 0
4838                                    ? (0 |
4839                                        Math.min(
4840                                          +Math.floor(ee / 4294967296),
4841                                          4294967295
4842                                        )) >>>
4843                                      0
4844                                    : ~~+Math.ceil(
4845                                        (ee - +(~~ee >>> 0)) / 4294967296
4846                                      ) >>> 0
4847                                  : 0),
4848                              ]),
4849                              (N[o >> 2] = te[0]),
4850                              (N[(o + 4) >> 2] = te[1]),
4851                              i.getdents &&
4852                                0 === s &&
4853                                0 === n &&
4854                                (i.getdents = null),
4855                              0);
4856                        } catch (e) {
4857                          return (
4858                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4859                              ce(e),
4860                            e.errno
4861                          );
4862                        }
4863                      },
4864                      m: function (e) {
4865                        try {
4866                          var t = ke.getStreamFromFD(e);
4867                          return t.stream_ops && t.stream_ops.fsync
4868                            ? -t.stream_ops.fsync(t)
4869                            : 0;
4870                        } catch (e) {
4871                          return (
4872                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4873                              ce(e),
4874                            e.errno
4875                          );
4876                        }
4877                      },
4878                      E: function (e, t, r, n) {
4879                        try {
4880                          var o = ke.getStreamFromFD(e),
4881                            i = ke.doWritev(o, t, r);
4882                          return (N[n >> 2] = i), 0;
4883                        } catch (e) {
4884                          return (
4885                            (void 0 !== Ee && e instanceof Ee.ErrnoError) ||
4886                              ce(e),
4887                            e.errno
4888                          );
4889                        }
4890                      },
4891                      g: function (e) {
4892                        var t = Date.now();
4893                        return (
4894                          (N[e >> 2] = (t / 1e3) | 0),
4895                          (N[(e + 4) >> 2] = ((t % 1e3) * 1e3) | 0),
4896                          0
4897                        );
4898                      },
4899                      K: function (e) {
4900                        var t = (Date.now() / 1e3) | 0;
4901                        return e && (N[e >> 2] = t), t;
4902                      },
4903                      C: function (e, t) {
4904                        var r;
4905                        if (t) {
4906                          var n = t + 8;
4907                          (r = 1e3 * N[n >> 2]), (r += N[(n + 4) >> 2] / 1e3);
4908                        } else r = Date.now();
4909                        return (function (e, t) {
4910                          e = V(e);
4911                          try {
4912                            return Ee.utime(e, t, t), 0;
4913                          } catch (e) {
4914                            if (!(e instanceof Ee.ErrnoError))
4915                              throw (
4916                                e +
4917                                " : " +
4918                                ((r = (function () {
4919                                  var e = new Error();
4920                                  if (!e.stack) {
4921                                    try {
4922                                      throw new Error();
4923                                    } catch (t) {
4924                                      e = t;
4925                                    }
4926                                    if (!e.stack)
4927                                      return "(no stack trace available)";
4928                                  }
4929                                  return e.stack.toString();
4930                                })()),
4931                                i.extraStackTrace &&
4932                                  (r += "\n" + i.extraStackTrace()),
4933                                r.replace(/\b_Z[\w\d_]+/g, function (e) {
4934                                  return e == e ? e : e + " [" + e + "]";
4935                                }))
4936                              );
4937                            return Se(e.errno), -1;
4938                          }
4939                          var r;
4940                        })(e, r);
4941                      },
4942                    },
4943                    Re =
4944                      ((function () {
4945                        var e = { a: Ae };
4946                        function t(e, t) {
4947                          var r,
4948                            n = e.exports;
4949                          (i.asm = n),
4950                            Y((D = i.asm.L).buffer),
4951                            (Q = i.asm.Fa),
4952                            (r = i.asm.M),
4953                            ne.unshift(r),
4954                            le();
4955                        }
4956                        function r(e) {
4957                          t(e.instance);
4958                        }
4959                        function n(t) {
4960                          return (function () {
4961                            if (!k && (_ || g)) {
4962                              if ("function" == typeof fetch && !de(J))
4963                                return fetch(J, { credentials: "same-origin" })
4964                                  .then(function (e) {
4965                                    if (!e.ok)
4966                                      throw (
4967                                        "failed to load wasm binary file at '" +
4968                                        J +
4969                                        "'"
4970                                      );
4971                                    return e.arrayBuffer();
4972                                  })
4973                                  .catch(function () {
4974                                    return he(J);
4975                                  });
4976                              if (c)
4977                                return new Promise(function (e, t) {
4978                                  c(
4979                                    J,
4980                                    function (t) {
4981                                      e(new Uint8Array(t));
4982                                    },
4983                                    t
4984                                  );
4985                                });
4986                            }
4987                            return Promise.resolve().then(function () {
4988                              return he(J);
4989                            });
4990                          })()
4991                            .then(function (t) {
4992                              return WebAssembly.instantiate(t, e);
4993                            })
4994                            .then(function (e) {
4995                              return e;
4996                            })
4997                            .then(t, function (e) {
4998                              w("failed to asynchronously prepare wasm: " + e),
4999                                ce(e);
5000                            });
5001                        }
5002                        if ((ue(), i.instantiateWasm))
5003                          try {
5004                            return i.instantiateWasm(e, t);
5005                          } catch (e) {
5006                            return (
5007                              w(
5008                                "Module.instantiateWasm callback failed with error: " +
5009                                  e
5010                              ),
5011                              !1
5012                            );
5013                          }
5014                        k ||
5015                        "function" != typeof WebAssembly.instantiateStreaming ||
5016                        fe(J) ||
5017                        de(J) ||
5018                        "function" != typeof fetch
5019                          ? n(r)
5020                          : fetch(J, { credentials: "same-origin" }).then(
5021                              function (t) {
5022                                return WebAssembly.instantiateStreaming(
5023                                  t,
5024                                  e
5025                                ).then(r, function (e) {
5026                                  return (
5027                                    w("wasm streaming compile failed: " + e),
5028                                    w(
5029                                      "falling back to ArrayBuffer instantiation"
5030                                    ),
5031                                    n(r)
5032                                  );
5033                                });
5034                              }
5035                            );
5036                      })(),
5037                      (i.___wasm_call_ctors = function () {
5038                        return (i.___wasm_call_ctors = i.asm.M).apply(
5039                          null,
5040                          arguments
5041                        );
5042                      }),
5043                      (i._sqlite3_malloc = function () {
5044                        return (i._sqlite3_malloc = i.asm.N).apply(
5045                          null,
5046                          arguments
5047                        );
5048                      }),
5049                      (i._sqlite3_free = function () {
5050                        return (i._sqlite3_free = i.asm.O).apply(
5051                          null,
5052                          arguments
5053                        );
5054                      }),
5055                      (i.___errno_location = function () {
5056                        return (Re = i.___errno_location = i.asm.P).apply(
5057                          null,
5058                          arguments
5059                        );
5060                      })),
5061                    ze =
5062                      ((i._sqlite3_finalize = function () {
5063                        return (i._sqlite3_finalize = i.asm.Q).apply(
5064                          null,
5065                          arguments
5066                        );
5067                      }),
5068                      (i._sqlite3_reset = function () {
5069                        return (i._sqlite3_reset = i.asm.R).apply(
5070                          null,
5071                          arguments
5072                        );
5073                      }),
5074                      (i._sqlite3_clear_bindings = function () {
5075                        return (i._sqlite3_clear_bindings = i.asm.S).apply(
5076                          null,
5077                          arguments
5078                        );
5079                      }),
5080                      (i._sqlite3_value_blob = function () {
5081                        return (i._sqlite3_value_blob = i.asm.T).apply(
5082                          null,
5083                          arguments
5084                        );
5085                      }),
5086                      (i._sqlite3_value_text = function () {
5087                        return (i._sqlite3_value_text = i.asm.U).apply(
5088                          null,
5089                          arguments
5090                        );
5091                      }),
5092                      (i._sqlite3_value_bytes = function () {
5093                        return (i._sqlite3_value_bytes = i.asm.V).apply(
5094                          null,
5095                          arguments
5096                        );
5097                      }),
5098                      (i._sqlite3_value_double = function () {
5099                        return (i._sqlite3_value_double = i.asm.W).apply(
5100                          null,
5101                          arguments
5102                        );
5103                      }),
5104                      (i._sqlite3_value_int = function () {
5105                        return (i._sqlite3_value_int = i.asm.X).apply(
5106                          null,
5107                          arguments
5108                        );
5109                      }),
5110                      (i._sqlite3_value_type = function () {
5111                        return (i._sqlite3_value_type = i.asm.Y).apply(
5112                          null,
5113                          arguments
5114                        );
5115                      }),
5116                      (i._sqlite3_result_blob = function () {
5117                        return (i._sqlite3_result_blob = i.asm.Z).apply(
5118                          null,
5119                          arguments
5120                        );
5121                      }),
5122                      (i._sqlite3_result_double = function () {
5123                        return (i._sqlite3_result_double = i.asm._).apply(
5124                          null,
5125                          arguments
5126                        );
5127                      }),
5128                      (i._sqlite3_result_error = function () {
5129                        return (i._sqlite3_result_error = i.asm.$).apply(
5130                          null,
5131                          arguments
5132                        );
5133                      }),
5134                      (i._sqlite3_result_int = function () {
5135                        return (i._sqlite3_result_int = i.asm.aa).apply(
5136                          null,
5137                          arguments
5138                        );
5139                      }),
5140                      (i._sqlite3_result_int64 = function () {
5141                        return (i._sqlite3_result_int64 = i.asm.ba).apply(
5142                          null,
5143                          arguments
5144                        );
5145                      }),
5146                      (i._sqlite3_result_null = function () {
5147                        return (i._sqlite3_result_null = i.asm.ca).apply(
5148                          null,
5149                          arguments
5150                        );
5151                      }),
5152                      (i._sqlite3_result_text = function () {
5153                        return (i._sqlite3_result_text = i.asm.da).apply(
5154                          null,
5155                          arguments
5156                        );
5157                      }),
5158                      (i._sqlite3_step = function () {
5159                        return (i._sqlite3_step = i.asm.ea).apply(
5160                          null,
5161                          arguments
5162                        );
5163                      }),
5164                      (i._sqlite3_column_count = function () {
5165                        return (i._sqlite3_column_count = i.asm.fa).apply(
5166                          null,
5167                          arguments
5168                        );
5169                      }),
5170                      (i._sqlite3_data_count = function () {
5171                        return (i._sqlite3_data_count = i.asm.ga).apply(
5172                          null,
5173                          arguments
5174                        );
5175                      }),
5176                      (i._sqlite3_column_blob = function () {
5177                        return (i._sqlite3_column_blob = i.asm.ha).apply(
5178                          null,
5179                          arguments
5180                        );
5181                      }),
5182                      (i._sqlite3_column_bytes = function () {
5183                        return (i._sqlite3_column_bytes = i.asm.ia).apply(
5184                          null,
5185                          arguments
5186                        );
5187                      }),
5188                      (i._sqlite3_column_double = function () {
5189                        return (i._sqlite3_column_double = i.asm.ja).apply(
5190                          null,
5191                          arguments
5192                        );
5193                      }),
5194                      (i._sqlite3_column_text = function () {
5195                        return (i._sqlite3_column_text = i.asm.ka).apply(
5196                          null,
5197                          arguments
5198                        );
5199                      }),
5200                      (i._sqlite3_column_type = function () {
5201                        return (i._sqlite3_column_type = i.asm.la).apply(
5202                          null,
5203                          arguments
5204                        );
5205                      }),
5206                      (i._sqlite3_column_name = function () {
5207                        return (i._sqlite3_column_name = i.asm.ma).apply(
5208                          null,
5209                          arguments
5210                        );
5211                      }),
5212                      (i._sqlite3_bind_blob = function () {
5213                        return (i._sqlite3_bind_blob = i.asm.na).apply(
5214                          null,
5215                          arguments
5216                        );
5217                      }),
5218                      (i._sqlite3_bind_double = function () {
5219                        return (i._sqlite3_bind_double = i.asm.oa).apply(
5220                          null,
5221                          arguments
5222                        );
5223                      }),
5224                      (i._sqlite3_bind_int = function () {
5225                        return (i._sqlite3_bind_int = i.asm.pa).apply(
5226                          null,
5227                          arguments
5228                        );
5229                      }),
5230                      (i._sqlite3_bind_text = function () {
5231                        return (i._sqlite3_bind_text = i.asm.qa).apply(
5232                          null,
5233    
5233                      arguments
5234                        );
5235                      }),
5236                      (i._sqlite3_bind_parameter_index = function () {
5237                        return (i._sqlite3_bind_parameter_index =
5238                          i.asm.ra).apply(null, arguments);
5239                      }),
5240                      (i._sqlite3_sql = function () {
5241                        return (i._sqlite3_sql = i.asm.sa).apply(
5242                          null,
5243                          arguments
5244                        );
5245                      }),
5246                      (i._sqlite3_normalized_sql = function () {
5247                        return (i._sqlite3_normalized_sql = i.asm.ta).apply(
5248                          null,
5249                          arguments
5250                        );
5251                      }),
5252                      (i._sqlite3_errmsg = function () {
5253                        return (i._sqlite3_errmsg = i.asm.ua).apply(
5254                          null,
5255                          arguments
5256                        );
5257                      }),
5258                      (i._sqlite3_exec = function () {
5259                        return (i._sqlite3_exec = i.asm.va).apply(
5260                          null,
5261                          arguments
5262                        );
5263                      }),
5264                      (i._sqlite3_prepare_v2 = function () {
5265                        return (i._sqlite3_prepare_v2 = i.asm.wa).apply(
5266                          null,
5267                          arguments
5268                        );
5269                      }),
5270                      (i._sqlite3_create_module_v2 = function () {
5271                        return (i._sqlite3_create_module_v2 = i.asm.xa).apply(
5272                          null,
5273                          arguments
5274                        );
5275                      }),
5276                      (i._sqlite3_declare_vtab = function () {
5277                        return (i._sqlite3_declare_vtab = i.asm.ya).apply(
5278                          null,
5279                          arguments
5280                        );
5281                      }),
5282                      (i._sqlite3_changes = function () {
5283                        return (i._sqlite3_changes = i.asm.za).apply(
5284                          null,
5285                          arguments
5286                        );
5287                      }),
5288                      (i._sqlite3_close_v2 = function () {
5289                        return (i._sqlite3_close_v2 = i.asm.Aa).apply(
5290                          null,
5291                          arguments
5292                        );
5293                      }),
5294                      (i._sqlite3_create_function_v2 = function () {
5295                        return (i._sqlite3_create_function_v2 = i.asm.Ba).apply(
5296                          null,
5297                          arguments
5298                        );
5299                      }),
5300                      (i._sqlite3_open = function () {
5301                        return (i._sqlite3_open = i.asm.Ca).apply(
5302                          null,
5303                          arguments
5304                        );
5305                      }),
5306                      (i._malloc = function () {
5307                        return (ze = i._malloc = i.asm.Da).apply(
5308                          null,
5309                          arguments
5310                        );
5311                      })),
5312                    Te = (i._free = function () {
5313                      return (Te = i._free = i.asm.Ea).apply(null, arguments);
5314                    }),
5315                    Ce =
5316                      ((i._RegisterExtensionFunctions = function () {
5317                        return (i._RegisterExtensionFunctions = i.asm.Ga).apply(
5318                          null,
5319                          arguments
5320                        );
5321                      }),
5322                      (i.__get_tzname = function () {
5323                        return (Ce = i.__get_tzname = i.asm.Ha).apply(
5324                          null,
5325                          arguments
5326                        );
5327                      })),
5328                    je = (i.__get_daylight = function () {
5329                      return (je = i.__get_daylight = i.asm.Ia).apply(
5330                        null,
5331                        arguments
5332                      );
5333                    }),
5334                    Oe = (i.__get_timezone = function () {
5335                      return (Oe = i.__get_timezone = i.asm.Ja).apply(
5336                        null,
5337                        arguments
5338                      );
5339                    }),
5340                    Be = (i.stackSave = function () {
5341                      return (Be = i.stackSave = i.asm.Ka).apply(
5342                        null,
5343                        arguments
5344                      );
5345                    }),
5346                    Le = (i.stackRestore = function () {
5347                      return (Le = i.stackRestore = i.asm.La).apply(
5348                        null,
5349                        arguments
5350                      );
5351                    }),
5352                    Ne = (i.stackAlloc = function () {
5353                      return (Ne = i.stackAlloc = i.asm.Ma).apply(
5354                        null,
5355                        arguments
5356                      );
5357                    }),
5358                    He = (i._memalign = function () {
5359                      return (He = i._memalign = i.asm.Na).apply(
5360                        null,
5361                        arguments
5362                      );
5363                    });
5364                  function Ie(e) {
5365                    function t() {
5366                      Me ||
5367                        ((Me = !0),
5368                        (i.calledRun = !0),
5369                        M ||
5370                          (i.noFSInit || Ee.init.initialized || Ee.init(),
5371                          (Ee.ignorePermissions = !1),
5372                          ve.init(),
5373                          pe(ne),
5374                          i.onRuntimeInitialized && i.onRuntimeInitialized(),
5375                          (function () {
5376                            if (i.postRun)
5377                              for (
5378                                "function" == typeof i.postRun &&
5379                                (i.postRun = [i.postRun]);
5380                                i.postRun.length;
5381
5382                              )
5383                                (e = i.postRun.shift()), oe.unshift(e);
5384                            var e;
5385                            pe(oe);
5386                          })()));
5387                    }
5388                    (e = e || p),
5389                      ie > 0 ||
5390                        ((function () {
5391                          if (i.preRun)
5392                            for (
5393                              "function" == typeof i.preRun &&
5394                              (i.preRun = [i.preRun]);
5395                              i.preRun.length;
5396
5397                            )
5398                              (e = i.preRun.shift()), re.unshift(e);
5399                          var e;
5400                          pe(re);
5401                        })(),
5402                        ie > 0 ||
5403                          (i.setStatus
5404                            ? (i.setStatus("Running..."),
5405                              setTimeout(function () {
5406                                setTimeout(function () {
5407                                  i.setStatus("");
5408                                }, 1),
5409                                  t();
5410                              }, 1))
5411                            : t()));
5412                  }
5413                  if (
5414                    ((i.ccall = z),
5415                    (i.cwrap = function (e, t, r, n) {
5416                      var o = (r = r || []).every(function (e) {
5417                        return "number" === e;
5418                      });
5419                      return "string" !== t && o && !n
5420                        ? R(e)
5421                        : function () {
5422                            return z(e, t, r, arguments);
5423                          };
5424                    }),
5425                    (i.setValue = F),
5426                    (i.getValue = P),
5427                    (i.UTF8ToString = V),
5428                    (i.stringToUTF8 = G),
5429                    (i.lengthBytesUTF8 = $),
5430                    (i.addFunction = x),
5431                    (i.stackSave = Be),
5432                    (i.stackRestore = Le),
5433                    (i.stackAlloc = Ne),
5434                    (ae = function e() {
5435                      Me || Ie(), Me || (ae = e);
5436                    }),
5437                    (i.run = Ie),
5438                    i.preInit)
5439                  )
5440                    for (
5441                      "function" == typeof i.preInit &&
5442                      (i.preInit = [i.preInit]);
5443                      i.preInit.length > 0;
5444
5445                    )
5446                      i.preInit.pop()();
5447                  return Ie(), i;
5448                }))
5449              );
5450            };
5451          (e.exports = o), (e.exports.default = o);
5452        },
5453        720: (e, t, r) => {
5454          "use strict";
5455          e.exports = r.p + "sql-wasm.wasm";
5456        },
5457        821: () => {},
5458        905: () => {},
5459        101: () => {},
5460      },
5461      __webpack_module_cache__ = {};
5462    function __webpack_require__(e) {
5463      var t = __webpack_module_cache__[e];
5464      if (void 0 !== t) return t.exports;
5465      var r = (__webpack_module_cache__[e] = {
5466        id: e,
5467        loaded: !1,
5468        exports: {},
5469      });
5470      return (
5471        __webpack_modules__[e].call(
5472          r.exports,
5473          r,
5474          r.exports,
5475          __webpack_require__
5476        ),
5477        (r.loaded = !0),
5478        r.exports
5479      );
5480    }
5481    (__webpack_require__.d = (e, t) => {
5482      for (var r in t)
5483        __webpack_require__.o(t, r) &&
5484          !__webpack_require__.o(e, r) &&
5485          Object.defineProperty(e, r, { enumerable: !0, get: t[r] });
5486    }),
5487      (__webpack_require__.o = (e, t) =>
5488        Object.prototype.hasOwnProperty.call(e, t)),
5489      (__webpack_require__.r = (e) => {
5490        "undefined" != typeof Symbol &&
5491          Symbol.toStringTag &&
5492          Object.defineProperty(e, Symbol.toStringTag, { value: "Module" }),
5493          Object.defineProperty(e, "__esModule", { value: !0 });
5494      }),
5495      (__webpack_require__.nmd = (e) => (
5496        (e.paths = []), e.children || (e.children = []), e
5497      )),
5498      (__webpack_require__.p = "");
5499    var __webpack_exports__ = __webpack_require__(630);
5500    return __webpack_exports__;
5501  })();
5502});
5503//# sourceMappingURL=sqlite.worker.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.