eddie-jekyll 0.4.0 → 0.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,632 @@
1
+ // SPDX-License-Identifier: GPL-3.0-only
2
+ // Generated by widget/build.sh (wasm-pack --target no-modules, eddie-dense); loaded with importScripts by eddie-worker.js.
3
+ let wasm_bindgen_dense = (function(exports) {
4
+ let script_src;
5
+ if (typeof document !== 'undefined' && document.currentScript !== null) {
6
+ script_src = new URL(document.currentScript.src, location.href).toString();
7
+ }
8
+
9
+ /**
10
+ * Attach a sidecar file (`manifest.sidecars[].file`, fetched relative to
11
+ * the index URL): its `dense/<scope>/<lane>` sections join the loaded
12
+ * index after the identity (`index_id`), chunk count and lane shape are
13
+ * checked. Until a lane's sidecar is attached, searches that ask for it
14
+ * report the dense arm as skipped instead of failing.
15
+ * @param {Uint8Array} bytes
16
+ * @returns {string}
17
+ */
18
+ function attach_sidecar(bytes) {
19
+ let deferred3_0;
20
+ let deferred3_1;
21
+ try {
22
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
23
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_export2);
24
+ const len0 = WASM_VECTOR_LEN;
25
+ wasm.attach_sidecar(retptr, ptr0, len0);
26
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
27
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
28
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
29
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
30
+ var ptr2 = r0;
31
+ var len2 = r1;
32
+ if (r3) {
33
+ ptr2 = 0; len2 = 0;
34
+ throw takeObject(r2);
35
+ }
36
+ deferred3_0 = ptr2;
37
+ deferred3_1 = len2;
38
+ return getStringFromWasm0(ptr2, len2);
39
+ } finally {
40
+ wasm.__wbindgen_add_to_stack_pointer(16);
41
+ wasm.__wbindgen_export3(deferred3_0, deferred3_1, 1);
42
+ }
43
+ }
44
+ exports.attach_sidecar = attach_sidecar;
45
+
46
+ /**
47
+ * What this WASM build can do, so the worker can branch between the lite
48
+ * module (`{dense_wasm: false}`; load `eddie-dense.wasm` for a CPU lane)
49
+ * and the full one.
50
+ * @returns {string}
51
+ */
52
+ function capabilities() {
53
+ let deferred1_0;
54
+ let deferred1_1;
55
+ try {
56
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
57
+ wasm.capabilities(retptr);
58
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
59
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
60
+ deferred1_0 = r0;
61
+ deferred1_1 = r1;
62
+ return getStringFromWasm0(r0, r1);
63
+ } finally {
64
+ wasm.__wbindgen_add_to_stack_pointer(16);
65
+ wasm.__wbindgen_export3(deferred1_0, deferred1_1, 1);
66
+ }
67
+ }
68
+ exports.capabilities = capabilities;
69
+
70
+ /**
71
+ * One chunk by id.
72
+ * @param {number} id
73
+ * @returns {string}
74
+ */
75
+ function chunk(id) {
76
+ let deferred2_0;
77
+ let deferred2_1;
78
+ try {
79
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
80
+ wasm.chunk(retptr, id);
81
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
82
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
83
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
84
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
85
+ var ptr1 = r0;
86
+ var len1 = r1;
87
+ if (r3) {
88
+ ptr1 = 0; len1 = 0;
89
+ throw takeObject(r2);
90
+ }
91
+ deferred2_0 = ptr1;
92
+ deferred2_1 = len1;
93
+ return getStringFromWasm0(ptr1, len1);
94
+ } finally {
95
+ wasm.__wbindgen_add_to_stack_pointer(16);
96
+ wasm.__wbindgen_export3(deferred2_0, deferred2_1, 1);
97
+ }
98
+ }
99
+ exports.chunk = chunk;
100
+
101
+ /**
102
+ * Load the BERT-family model for a `wasm-candle` lane of the loaded index.
103
+ * Absent from the lite build (see [`capabilities`]).
104
+ * @param {string} lane_id
105
+ * @param {Uint8Array} config
106
+ * @param {Uint8Array} tokenizer
107
+ * @param {Uint8Array} weights
108
+ */
109
+ function init_dense_wasm(lane_id, config, tokenizer, weights) {
110
+ try {
111
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
112
+ const ptr0 = passStringToWasm0(lane_id, wasm.__wbindgen_export2, wasm.__wbindgen_export4);
113
+ const len0 = WASM_VECTOR_LEN;
114
+ const ptr1 = passArray8ToWasm0(config, wasm.__wbindgen_export2);
115
+ const len1 = WASM_VECTOR_LEN;
116
+ const ptr2 = passArray8ToWasm0(tokenizer, wasm.__wbindgen_export2);
117
+ const len2 = WASM_VECTOR_LEN;
118
+ const ptr3 = passArray8ToWasm0(weights, wasm.__wbindgen_export2);
119
+ const len3 = WASM_VECTOR_LEN;
120
+ wasm.init_dense_wasm(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);
121
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
122
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
123
+ if (r1) {
124
+ throw takeObject(r0);
125
+ }
126
+ } finally {
127
+ wasm.__wbindgen_add_to_stack_pointer(16);
128
+ }
129
+ }
130
+ exports.init_dense_wasm = init_dense_wasm;
131
+
132
+ /**
133
+ * Parse and validate the index. Replaces any previously loaded index and
134
+ * forgets its dense embedder. When the index embeds its sparse vocabulary
135
+ * (`manifest.sparse.vocab == "embedded"`) the sparse arm is ready without
136
+ * `init_sparse_tokenizer`.
137
+ * @param {Uint8Array} index_bytes
138
+ */
139
+ function init_index(index_bytes) {
140
+ try {
141
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
142
+ const ptr0 = passArray8ToWasm0(index_bytes, wasm.__wbindgen_export2);
143
+ const len0 = WASM_VECTOR_LEN;
144
+ wasm.init_index(retptr, ptr0, len0);
145
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
146
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
147
+ if (r1) {
148
+ throw takeObject(r0);
149
+ }
150
+ } finally {
151
+ wasm.__wbindgen_add_to_stack_pointer(16);
152
+ }
153
+ }
154
+ exports.init_index = init_index;
155
+
156
+ /**
157
+ * Load the WordPiece tokenizer that enables the learned-sparse arm. The
158
+ * bytes must be the `tokenizer.json` the index was built with: their
159
+ * SHA-256 is checked against `manifest.sparse.vocab_hash`, because a
160
+ * different vocabulary yields different token ids and a sparse arm that
161
+ * scores noise while still looking healthy.
162
+ * @param {Uint8Array} tokenizer_bytes
163
+ */
164
+ function init_sparse_tokenizer(tokenizer_bytes) {
165
+ try {
166
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
167
+ const ptr0 = passArray8ToWasm0(tokenizer_bytes, wasm.__wbindgen_export2);
168
+ const len0 = WASM_VECTOR_LEN;
169
+ wasm.init_sparse_tokenizer(retptr, ptr0, len0);
170
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
171
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
172
+ if (r1) {
173
+ throw takeObject(r0);
174
+ }
175
+ } finally {
176
+ wasm.__wbindgen_add_to_stack_pointer(16);
177
+ }
178
+ }
179
+ exports.init_sparse_tokenizer = init_sparse_tokenizer;
180
+
181
+ /**
182
+ * Read the uncompressed manifest at the head of an `.ed` file.
183
+ * @param {Uint8Array} index_bytes
184
+ * @returns {string}
185
+ */
186
+ function manifest(index_bytes) {
187
+ let deferred3_0;
188
+ let deferred3_1;
189
+ try {
190
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
191
+ const ptr0 = passArray8ToWasm0(index_bytes, wasm.__wbindgen_export2);
192
+ const len0 = WASM_VECTOR_LEN;
193
+ wasm.manifest(retptr, ptr0, len0);
194
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
195
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
196
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
197
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
198
+ var ptr2 = r0;
199
+ var len2 = r1;
200
+ if (r3) {
201
+ ptr2 = 0; len2 = 0;
202
+ throw takeObject(r2);
203
+ }
204
+ deferred3_0 = ptr2;
205
+ deferred3_1 = len2;
206
+ return getStringFromWasm0(ptr2, len2);
207
+ } finally {
208
+ wasm.__wbindgen_add_to_stack_pointer(16);
209
+ wasm.__wbindgen_export3(deferred3_0, deferred3_1, 1);
210
+ }
211
+ }
212
+ exports.manifest = manifest;
213
+
214
+ /**
215
+ * The text of a page (by URL) in document order: its chunks at the finest
216
+ * granularity present (`fine` when the index has it), so coarse and summary
217
+ * chunks never duplicate the same paragraphs.
218
+ * @param {string} url
219
+ * @returns {string}
220
+ */
221
+ function page(url) {
222
+ let deferred3_0;
223
+ let deferred3_1;
224
+ try {
225
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
226
+ const ptr0 = passStringToWasm0(url, wasm.__wbindgen_export2, wasm.__wbindgen_export4);
227
+ const len0 = WASM_VECTOR_LEN;
228
+ wasm.page(retptr, ptr0, len0);
229
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
230
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
231
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
232
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
233
+ var ptr2 = r0;
234
+ var len2 = r1;
235
+ if (r3) {
236
+ ptr2 = 0; len2 = 0;
237
+ throw takeObject(r2);
238
+ }
239
+ deferred3_0 = ptr2;
240
+ deferred3_1 = len2;
241
+ return getStringFromWasm0(ptr2, len2);
242
+ } finally {
243
+ wasm.__wbindgen_add_to_stack_pointer(16);
244
+ wasm.__wbindgen_export3(deferred3_0, deferred3_1, 1);
245
+ }
246
+ }
247
+ exports.page = page;
248
+
249
+ /**
250
+ * QA entries ranked by [`crate::search::rank_qa`]: the qa dense lane's
251
+ * cosine fused with lexical overlap and a BM25 pass over the questions and
252
+ * answers. Returns `[]` when the index has no qa section; without a query
253
+ * vector (no runnable embedder) the ranking is lexical only and no hit is
254
+ * `confident`.
255
+ * @param {string} query
256
+ * @param {string | null | undefined} dense_lane_id
257
+ * @param {Float32Array | null | undefined} dense_query_vec
258
+ * @param {number} k
259
+ * @returns {string}
260
+ */
261
+ function qa_lookup(query, dense_lane_id, dense_query_vec, k) {
262
+ let deferred5_0;
263
+ let deferred5_1;
264
+ try {
265
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
266
+ const ptr0 = passStringToWasm0(query, wasm.__wbindgen_export2, wasm.__wbindgen_export4);
267
+ const len0 = WASM_VECTOR_LEN;
268
+ var ptr1 = isLikeNone(dense_lane_id) ? 0 : passStringToWasm0(dense_lane_id, wasm.__wbindgen_export2, wasm.__wbindgen_export4);
269
+ var len1 = WASM_VECTOR_LEN;
270
+ var ptr2 = isLikeNone(dense_query_vec) ? 0 : passArrayF32ToWasm0(dense_query_vec, wasm.__wbindgen_export2);
271
+ var len2 = WASM_VECTOR_LEN;
272
+ wasm.qa_lookup(retptr, ptr0, len0, ptr1, len1, ptr2, len2, k);
273
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
274
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
275
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
276
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
277
+ var ptr4 = r0;
278
+ var len4 = r1;
279
+ if (r3) {
280
+ ptr4 = 0; len4 = 0;
281
+ throw takeObject(r2);
282
+ }
283
+ deferred5_0 = ptr4;
284
+ deferred5_1 = len4;
285
+ return getStringFromWasm0(ptr4, len4);
286
+ } finally {
287
+ wasm.__wbindgen_add_to_stack_pointer(16);
288
+ wasm.__wbindgen_export3(deferred5_0, deferred5_1, 1);
289
+ }
290
+ }
291
+ exports.qa_lookup = qa_lookup;
292
+
293
+ /**
294
+ * Search the loaded index.
295
+ *
296
+ * `mode`: `hybrid` (default), `dense`, `sparse`, or `keyword`.
297
+ * `dense_lane_id` + `dense_query_vec`: a query vector produced outside WASM
298
+ * (transformers.js) for the named lane. With both `null`, the WASM lane
299
+ * loaded by `init_dense_wasm` embeds the query (exactly once); if none is
300
+ * loaded the dense arm is skipped and reported in `degraded`.
301
+ * @param {string} query
302
+ * @param {number} top_k
303
+ * @param {string} mode
304
+ * @param {string | null} [dense_lane_id]
305
+ * @param {Float32Array | null} [dense_query_vec]
306
+ * @returns {string}
307
+ */
308
+ function search(query, top_k, mode, dense_lane_id, dense_query_vec) {
309
+ let deferred6_0;
310
+ let deferred6_1;
311
+ try {
312
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
313
+ const ptr0 = passStringToWasm0(query, wasm.__wbindgen_export2, wasm.__wbindgen_export4);
314
+ const len0 = WASM_VECTOR_LEN;
315
+ const ptr1 = passStringToWasm0(mode, wasm.__wbindgen_export2, wasm.__wbindgen_export4);
316
+ const len1 = WASM_VECTOR_LEN;
317
+ var ptr2 = isLikeNone(dense_lane_id) ? 0 : passStringToWasm0(dense_lane_id, wasm.__wbindgen_export2, wasm.__wbindgen_export4);
318
+ var len2 = WASM_VECTOR_LEN;
319
+ var ptr3 = isLikeNone(dense_query_vec) ? 0 : passArrayF32ToWasm0(dense_query_vec, wasm.__wbindgen_export2);
320
+ var len3 = WASM_VECTOR_LEN;
321
+ wasm.search(retptr, ptr0, len0, top_k, ptr1, len1, ptr2, len2, ptr3, len3);
322
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
323
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
324
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
325
+ var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);
326
+ var ptr5 = r0;
327
+ var len5 = r1;
328
+ if (r3) {
329
+ ptr5 = 0; len5 = 0;
330
+ throw takeObject(r2);
331
+ }
332
+ deferred6_0 = ptr5;
333
+ deferred6_1 = len5;
334
+ return getStringFromWasm0(ptr5, len5);
335
+ } finally {
336
+ wasm.__wbindgen_add_to_stack_pointer(16);
337
+ wasm.__wbindgen_export3(deferred6_0, deferred6_1, 1);
338
+ }
339
+ }
340
+ exports.search = search;
341
+
342
+ /**
343
+ * Whether the sparse arm can run queries right now (an embedded vocab or
344
+ * a tokenizer loaded with `init_sparse_tokenizer`).
345
+ * @returns {boolean}
346
+ */
347
+ function sparse_ready() {
348
+ try {
349
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
350
+ wasm.sparse_ready(retptr);
351
+ var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);
352
+ var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);
353
+ var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);
354
+ if (r2) {
355
+ throw takeObject(r1);
356
+ }
357
+ return r0 !== 0;
358
+ } finally {
359
+ wasm.__wbindgen_add_to_stack_pointer(16);
360
+ }
361
+ }
362
+ exports.sparse_ready = sparse_ready;
363
+ function __wbg_get_imports() {
364
+ const import0 = {
365
+ __proto__: null,
366
+ __wbg___wbindgen_throw_bb96b2010945f0bc: function(arg0, arg1) {
367
+ throw new Error(getStringFromWasm0(arg0, arg1));
368
+ },
369
+ __wbg_error_dd408a7b3cb542dd: function(arg0) {
370
+ console.error(getObject(arg0));
371
+ },
372
+ __wbg_getRandomValues_a608c4436c19407a: function() { return handleError(function (arg0, arg1) {
373
+ globalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));
374
+ }, arguments); },
375
+ __wbindgen_cast_0000000000000001: function(arg0, arg1) {
376
+ // Cast intrinsic for `Ref(String) -> Externref`.
377
+ const ret = getStringFromWasm0(arg0, arg1);
378
+ return addHeapObject(ret);
379
+ },
380
+ __wbindgen_object_drop_ref: function(arg0) {
381
+ takeObject(arg0);
382
+ },
383
+ };
384
+ return {
385
+ __proto__: null,
386
+ "./eddie_bg.js": import0,
387
+ };
388
+ }
389
+
390
+ function addHeapObject(obj) {
391
+ if (heap_next === heap.length) heap.push(heap.length + 1);
392
+ const idx = heap_next;
393
+ heap_next = heap[idx];
394
+
395
+ heap[idx] = obj;
396
+ return idx;
397
+ }
398
+
399
+ function dropObject(idx) {
400
+ if (idx < 1028) return;
401
+ heap[idx] = heap_next;
402
+ heap_next = idx;
403
+ }
404
+
405
+ function getArrayU8FromWasm0(ptr, len) {
406
+ ptr = ptr >>> 0;
407
+ return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
408
+ }
409
+
410
+ let cachedDataViewMemory0 = null;
411
+ function getDataViewMemory0() {
412
+ if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {
413
+ cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
414
+ }
415
+ return cachedDataViewMemory0;
416
+ }
417
+
418
+ let cachedFloat32ArrayMemory0 = null;
419
+ function getFloat32ArrayMemory0() {
420
+ if (cachedFloat32ArrayMemory0 === null || cachedFloat32ArrayMemory0.byteLength === 0) {
421
+ cachedFloat32ArrayMemory0 = new Float32Array(wasm.memory.buffer);
422
+ }
423
+ return cachedFloat32ArrayMemory0;
424
+ }
425
+
426
+ function getStringFromWasm0(ptr, len) {
427
+ return decodeText(ptr >>> 0, len);
428
+ }
429
+
430
+ let cachedUint8ArrayMemory0 = null;
431
+ function getUint8ArrayMemory0() {
432
+ if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
433
+ cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
434
+ }
435
+ return cachedUint8ArrayMemory0;
436
+ }
437
+
438
+ function getObject(idx) { return heap[idx]; }
439
+
440
+ function handleError(f, args) {
441
+ try {
442
+ return f.apply(this, args);
443
+ } catch (e) {
444
+ wasm.__wbindgen_export(addHeapObject(e));
445
+ }
446
+ }
447
+
448
+ let heap = new Array(1024).fill(undefined);
449
+ heap.push(undefined, null, true, false);
450
+
451
+ let heap_next = heap.length;
452
+
453
+ function isLikeNone(x) {
454
+ return x === undefined || x === null;
455
+ }
456
+
457
+ function passArray8ToWasm0(arg, malloc) {
458
+ const ptr = malloc(arg.length * 1, 1) >>> 0;
459
+ getUint8ArrayMemory0().set(arg, ptr / 1);
460
+ WASM_VECTOR_LEN = arg.length;
461
+ return ptr;
462
+ }
463
+
464
+ function passArrayF32ToWasm0(arg, malloc) {
465
+ const ptr = malloc(arg.length * 4, 4) >>> 0;
466
+ getFloat32ArrayMemory0().set(arg, ptr / 4);
467
+ WASM_VECTOR_LEN = arg.length;
468
+ return ptr;
469
+ }
470
+
471
+ function passStringToWasm0(arg, malloc, realloc) {
472
+ if (realloc === undefined) {
473
+ const buf = cachedTextEncoder.encode(arg);
474
+ const ptr = malloc(buf.length, 1) >>> 0;
475
+ getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
476
+ WASM_VECTOR_LEN = buf.length;
477
+ return ptr;
478
+ }
479
+
480
+ let len = arg.length;
481
+ let ptr = malloc(len, 1) >>> 0;
482
+
483
+ const mem = getUint8ArrayMemory0();
484
+
485
+ let offset = 0;
486
+
487
+ for (; offset < len; offset++) {
488
+ const code = arg.charCodeAt(offset);
489
+ if (code > 0x7F) break;
490
+ mem[ptr + offset] = code;
491
+ }
492
+ if (offset !== len) {
493
+ if (offset !== 0) {
494
+ arg = arg.slice(offset);
495
+ }
496
+ ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
497
+ const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
498
+ const ret = cachedTextEncoder.encodeInto(arg, view);
499
+
500
+ offset += ret.written;
501
+ ptr = realloc(ptr, len, offset, 1) >>> 0;
502
+ }
503
+
504
+ WASM_VECTOR_LEN = offset;
505
+ return ptr;
506
+ }
507
+
508
+ function takeObject(idx) {
509
+ const ret = getObject(idx);
510
+ dropObject(idx);
511
+ return ret;
512
+ }
513
+
514
+ let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
515
+ cachedTextDecoder.decode();
516
+ function decodeText(ptr, len) {
517
+ return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
518
+ }
519
+
520
+ const cachedTextEncoder = new TextEncoder();
521
+
522
+ if (!('encodeInto' in cachedTextEncoder)) {
523
+ cachedTextEncoder.encodeInto = function (arg, view) {
524
+ const buf = cachedTextEncoder.encode(arg);
525
+ view.set(buf);
526
+ return {
527
+ read: arg.length,
528
+ written: buf.length
529
+ };
530
+ };
531
+ }
532
+
533
+ let WASM_VECTOR_LEN = 0;
534
+
535
+ let wasmModule, wasmInstance, wasm;
536
+ function __wbg_finalize_init(instance, module) {
537
+ wasmInstance = instance;
538
+ wasm = instance.exports;
539
+ wasmModule = module;
540
+ cachedDataViewMemory0 = null;
541
+ cachedFloat32ArrayMemory0 = null;
542
+ cachedUint8ArrayMemory0 = null;
543
+ return wasm;
544
+ }
545
+
546
+ async function __wbg_load(module, imports) {
547
+ if (typeof Response === 'function' && module instanceof Response) {
548
+ if (!module.ok) {
549
+ throw new Error(`failed to fetch Wasm: ${module.status} ${module.statusText} fetching '${module.url}'`);
550
+ }
551
+
552
+ if (typeof WebAssembly.instantiateStreaming === 'function') {
553
+ try {
554
+ return await WebAssembly.instantiateStreaming(module, imports);
555
+ } catch (e) {
556
+ const validResponse = expectedResponseType(module.type);
557
+
558
+ if (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {
559
+ console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);
560
+
561
+ } else { throw e; }
562
+ }
563
+ }
564
+
565
+ const bytes = await module.arrayBuffer();
566
+ return await WebAssembly.instantiate(bytes, imports);
567
+ } else {
568
+ const instance = await WebAssembly.instantiate(module, imports);
569
+
570
+ if (instance instanceof WebAssembly.Instance) {
571
+ return { instance, module };
572
+ } else {
573
+ return instance;
574
+ }
575
+ }
576
+
577
+ function expectedResponseType(type) {
578
+ switch (type) {
579
+ case 'basic': case 'cors': case 'default': return true;
580
+ }
581
+ return false;
582
+ }
583
+ }
584
+
585
+ function initSync(module) {
586
+ if (wasm !== undefined) return wasm;
587
+
588
+
589
+ if (module !== undefined) {
590
+ if (Object.getPrototypeOf(module) === Object.prototype) {
591
+ ({module} = module)
592
+ } else {
593
+ console.warn('using deprecated parameters for `initSync()`; pass a single object instead')
594
+ }
595
+ }
596
+
597
+ const imports = __wbg_get_imports();
598
+ if (!(module instanceof WebAssembly.Module)) {
599
+ module = new WebAssembly.Module(module);
600
+ }
601
+ const instance = new WebAssembly.Instance(module, imports);
602
+ return __wbg_finalize_init(instance, module);
603
+ }
604
+
605
+ async function __wbg_init(module_or_path) {
606
+ if (wasm !== undefined) return wasm;
607
+
608
+
609
+ if (module_or_path !== undefined) {
610
+ if (Object.getPrototypeOf(module_or_path) === Object.prototype) {
611
+ ({module_or_path} = module_or_path)
612
+ } else {
613
+ console.warn('using deprecated parameters for the initialization function; pass a single object instead')
614
+ }
615
+ }
616
+
617
+ if (module_or_path === undefined && script_src !== undefined) {
618
+ module_or_path = script_src.replace(/\.js$/, "_bg.wasm");
619
+ }
620
+ const imports = __wbg_get_imports();
621
+
622
+ if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {
623
+ module_or_path = fetch(module_or_path);
624
+ }
625
+
626
+ const { instance, module } = await __wbg_load(await module_or_path, imports);
627
+
628
+ return __wbg_finalize_init(instance, module);
629
+ }
630
+
631
+ return Object.assign(__wbg_init, { initSync }, exports);
632
+ })({ __proto__: null });
Binary file