@holochain/hc-spin 0.400.0-dev.3 → 0.500.0-dev.0
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.
- package/dist/main/index.js +321 -616
- package/dist/preload/index.js +0 -3
- package/package.json +5 -4
- package/src/main/index.ts +29 -37
- package/src/preload/index.ts +2 -9
package/dist/main/index.js
CHANGED
|
@@ -22,6 +22,7 @@ const require$$0$2 = require("stream");
|
|
|
22
22
|
const require$$0 = require("zlib");
|
|
23
23
|
const require$$0$1 = require("buffer");
|
|
24
24
|
const require$$2 = require("os");
|
|
25
|
+
const jsSha512 = require("js-sha512");
|
|
25
26
|
function _interopNamespaceDefault(e) {
|
|
26
27
|
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
27
28
|
if (e) {
|
|
@@ -289,454 +290,6 @@ async function getPorts(options) {
|
|
|
289
290
|
}
|
|
290
291
|
throw new Error("No available ports found");
|
|
291
292
|
}
|
|
292
|
-
let wasm$1;
|
|
293
|
-
const heap = new Array(32).fill(void 0);
|
|
294
|
-
heap.push(void 0, null, true, false);
|
|
295
|
-
function getObject(idx) {
|
|
296
|
-
return heap[idx];
|
|
297
|
-
}
|
|
298
|
-
let heap_next = heap.length;
|
|
299
|
-
function dropObject(idx) {
|
|
300
|
-
if (idx < 36)
|
|
301
|
-
return;
|
|
302
|
-
heap[idx] = heap_next;
|
|
303
|
-
heap_next = idx;
|
|
304
|
-
}
|
|
305
|
-
function takeObject(idx) {
|
|
306
|
-
const ret = getObject(idx);
|
|
307
|
-
dropObject(idx);
|
|
308
|
-
return ret;
|
|
309
|
-
}
|
|
310
|
-
let WASM_VECTOR_LEN = 0;
|
|
311
|
-
let cachedUint8Memory0 = new Uint8Array();
|
|
312
|
-
function getUint8Memory0() {
|
|
313
|
-
if (cachedUint8Memory0.byteLength === 0) {
|
|
314
|
-
cachedUint8Memory0 = new Uint8Array(wasm$1.memory.buffer);
|
|
315
|
-
}
|
|
316
|
-
return cachedUint8Memory0;
|
|
317
|
-
}
|
|
318
|
-
const cachedTextEncoder = new TextEncoder("utf-8");
|
|
319
|
-
const encodeString = typeof cachedTextEncoder.encodeInto === "function" ? function(arg, view) {
|
|
320
|
-
return cachedTextEncoder.encodeInto(arg, view);
|
|
321
|
-
} : function(arg, view) {
|
|
322
|
-
const buf = cachedTextEncoder.encode(arg);
|
|
323
|
-
view.set(buf);
|
|
324
|
-
return {
|
|
325
|
-
read: arg.length,
|
|
326
|
-
written: buf.length
|
|
327
|
-
};
|
|
328
|
-
};
|
|
329
|
-
function passStringToWasm0(arg, malloc, realloc) {
|
|
330
|
-
if (realloc === void 0) {
|
|
331
|
-
const buf = cachedTextEncoder.encode(arg);
|
|
332
|
-
const ptr2 = malloc(buf.length);
|
|
333
|
-
getUint8Memory0().subarray(ptr2, ptr2 + buf.length).set(buf);
|
|
334
|
-
WASM_VECTOR_LEN = buf.length;
|
|
335
|
-
return ptr2;
|
|
336
|
-
}
|
|
337
|
-
let len = arg.length;
|
|
338
|
-
let ptr = malloc(len);
|
|
339
|
-
const mem = getUint8Memory0();
|
|
340
|
-
let offset = 0;
|
|
341
|
-
for (; offset < len; offset++) {
|
|
342
|
-
const code = arg.charCodeAt(offset);
|
|
343
|
-
if (code > 127)
|
|
344
|
-
break;
|
|
345
|
-
mem[ptr + offset] = code;
|
|
346
|
-
}
|
|
347
|
-
if (offset !== len) {
|
|
348
|
-
if (offset !== 0) {
|
|
349
|
-
arg = arg.slice(offset);
|
|
350
|
-
}
|
|
351
|
-
ptr = realloc(ptr, len, len = offset + arg.length * 3);
|
|
352
|
-
const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
|
|
353
|
-
const ret = encodeString(arg, view);
|
|
354
|
-
offset += ret.written;
|
|
355
|
-
}
|
|
356
|
-
WASM_VECTOR_LEN = offset;
|
|
357
|
-
return ptr;
|
|
358
|
-
}
|
|
359
|
-
function isLikeNone(x) {
|
|
360
|
-
return x === void 0 || x === null;
|
|
361
|
-
}
|
|
362
|
-
let cachedInt32Memory0 = new Int32Array();
|
|
363
|
-
function getInt32Memory0() {
|
|
364
|
-
if (cachedInt32Memory0.byteLength === 0) {
|
|
365
|
-
cachedInt32Memory0 = new Int32Array(wasm$1.memory.buffer);
|
|
366
|
-
}
|
|
367
|
-
return cachedInt32Memory0;
|
|
368
|
-
}
|
|
369
|
-
const cachedTextDecoder = new TextDecoder("utf-8", { ignoreBOM: true, fatal: true });
|
|
370
|
-
cachedTextDecoder.decode();
|
|
371
|
-
function getStringFromWasm0(ptr, len) {
|
|
372
|
-
return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
|
|
373
|
-
}
|
|
374
|
-
function addHeapObject(obj) {
|
|
375
|
-
if (heap_next === heap.length)
|
|
376
|
-
heap.push(heap.length + 1);
|
|
377
|
-
const idx = heap_next;
|
|
378
|
-
heap_next = heap[idx];
|
|
379
|
-
heap[idx] = obj;
|
|
380
|
-
return idx;
|
|
381
|
-
}
|
|
382
|
-
let cachedFloat64Memory0 = new Float64Array();
|
|
383
|
-
function getFloat64Memory0() {
|
|
384
|
-
if (cachedFloat64Memory0.byteLength === 0) {
|
|
385
|
-
cachedFloat64Memory0 = new Float64Array(wasm$1.memory.buffer);
|
|
386
|
-
}
|
|
387
|
-
return cachedFloat64Memory0;
|
|
388
|
-
}
|
|
389
|
-
function debugString(val) {
|
|
390
|
-
const type = typeof val;
|
|
391
|
-
if (type == "number" || type == "boolean" || val == null) {
|
|
392
|
-
return `${val}`;
|
|
393
|
-
}
|
|
394
|
-
if (type == "string") {
|
|
395
|
-
return `"${val}"`;
|
|
396
|
-
}
|
|
397
|
-
if (type == "symbol") {
|
|
398
|
-
const description = val.description;
|
|
399
|
-
if (description == null) {
|
|
400
|
-
return "Symbol";
|
|
401
|
-
} else {
|
|
402
|
-
return `Symbol(${description})`;
|
|
403
|
-
}
|
|
404
|
-
}
|
|
405
|
-
if (type == "function") {
|
|
406
|
-
const name = val.name;
|
|
407
|
-
if (typeof name == "string" && name.length > 0) {
|
|
408
|
-
return `Function(${name})`;
|
|
409
|
-
} else {
|
|
410
|
-
return "Function";
|
|
411
|
-
}
|
|
412
|
-
}
|
|
413
|
-
if (Array.isArray(val)) {
|
|
414
|
-
const length = val.length;
|
|
415
|
-
let debug = "[";
|
|
416
|
-
if (length > 0) {
|
|
417
|
-
debug += debugString(val[0]);
|
|
418
|
-
}
|
|
419
|
-
for (let i = 1; i < length; i++) {
|
|
420
|
-
debug += ", " + debugString(val[i]);
|
|
421
|
-
}
|
|
422
|
-
debug += "]";
|
|
423
|
-
return debug;
|
|
424
|
-
}
|
|
425
|
-
const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
|
|
426
|
-
let className;
|
|
427
|
-
if (builtInMatches.length > 1) {
|
|
428
|
-
className = builtInMatches[1];
|
|
429
|
-
} else {
|
|
430
|
-
return toString.call(val);
|
|
431
|
-
}
|
|
432
|
-
if (className == "Object") {
|
|
433
|
-
try {
|
|
434
|
-
return "Object(" + JSON.stringify(val) + ")";
|
|
435
|
-
} catch (_) {
|
|
436
|
-
return "Object";
|
|
437
|
-
}
|
|
438
|
-
}
|
|
439
|
-
if (val instanceof Error) {
|
|
440
|
-
return `${val.name}: ${val.message}
|
|
441
|
-
${val.stack}`;
|
|
442
|
-
}
|
|
443
|
-
return className;
|
|
444
|
-
}
|
|
445
|
-
function getArrayU8FromWasm0(ptr, len) {
|
|
446
|
-
return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);
|
|
447
|
-
}
|
|
448
|
-
function hashZomeCall$1(value) {
|
|
449
|
-
try {
|
|
450
|
-
const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
|
|
451
|
-
wasm$1.hashZomeCall(retptr, addHeapObject(value));
|
|
452
|
-
var r0 = getInt32Memory0()[retptr / 4 + 0];
|
|
453
|
-
var r1 = getInt32Memory0()[retptr / 4 + 1];
|
|
454
|
-
var r2 = getInt32Memory0()[retptr / 4 + 2];
|
|
455
|
-
var r3 = getInt32Memory0()[retptr / 4 + 3];
|
|
456
|
-
if (r3) {
|
|
457
|
-
throw takeObject(r2);
|
|
458
|
-
}
|
|
459
|
-
var v0 = getArrayU8FromWasm0(r0, r1).slice();
|
|
460
|
-
wasm$1.__wbindgen_free(r0, r1 * 1);
|
|
461
|
-
return v0;
|
|
462
|
-
} finally {
|
|
463
|
-
wasm$1.__wbindgen_add_to_stack_pointer(16);
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
function handleError(f, args) {
|
|
467
|
-
try {
|
|
468
|
-
return f.apply(this, args);
|
|
469
|
-
} catch (e) {
|
|
470
|
-
wasm$1.__wbindgen_exn_store(addHeapObject(e));
|
|
471
|
-
}
|
|
472
|
-
}
|
|
473
|
-
async function load(module2, imports) {
|
|
474
|
-
if (typeof Response === "function" && module2 instanceof Response) {
|
|
475
|
-
if (typeof WebAssembly.instantiateStreaming === "function") {
|
|
476
|
-
try {
|
|
477
|
-
return await WebAssembly.instantiateStreaming(module2, imports);
|
|
478
|
-
} catch (e) {
|
|
479
|
-
if (module2.headers.get("Content-Type") != "application/wasm") {
|
|
480
|
-
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);
|
|
481
|
-
} else {
|
|
482
|
-
throw e;
|
|
483
|
-
}
|
|
484
|
-
}
|
|
485
|
-
}
|
|
486
|
-
const bytes = await module2.arrayBuffer();
|
|
487
|
-
return await WebAssembly.instantiate(bytes, imports);
|
|
488
|
-
} else {
|
|
489
|
-
const instance2 = await WebAssembly.instantiate(module2, imports);
|
|
490
|
-
if (instance2 instanceof WebAssembly.Instance) {
|
|
491
|
-
return { instance: instance2, module: module2 };
|
|
492
|
-
} else {
|
|
493
|
-
return instance2;
|
|
494
|
-
}
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
function getImports() {
|
|
498
|
-
const imports = {};
|
|
499
|
-
imports.wbg = {};
|
|
500
|
-
imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
|
|
501
|
-
takeObject(arg0);
|
|
502
|
-
};
|
|
503
|
-
imports.wbg.__wbindgen_string_get = function(arg0, arg1) {
|
|
504
|
-
const obj = getObject(arg1);
|
|
505
|
-
const ret = typeof obj === "string" ? obj : void 0;
|
|
506
|
-
var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
|
507
|
-
var len0 = WASM_VECTOR_LEN;
|
|
508
|
-
getInt32Memory0()[arg0 / 4 + 1] = len0;
|
|
509
|
-
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
|
|
510
|
-
};
|
|
511
|
-
imports.wbg.__wbindgen_is_object = function(arg0) {
|
|
512
|
-
const val = getObject(arg0);
|
|
513
|
-
const ret = typeof val === "object" && val !== null;
|
|
514
|
-
return ret;
|
|
515
|
-
};
|
|
516
|
-
imports.wbg.__wbindgen_error_new = function(arg0, arg1) {
|
|
517
|
-
const ret = new Error(getStringFromWasm0(arg0, arg1));
|
|
518
|
-
return addHeapObject(ret);
|
|
519
|
-
};
|
|
520
|
-
imports.wbg.__wbindgen_is_null = function(arg0) {
|
|
521
|
-
const ret = getObject(arg0) === null;
|
|
522
|
-
return ret;
|
|
523
|
-
};
|
|
524
|
-
imports.wbg.__wbindgen_is_undefined = function(arg0) {
|
|
525
|
-
const ret = getObject(arg0) === void 0;
|
|
526
|
-
return ret;
|
|
527
|
-
};
|
|
528
|
-
imports.wbg.__wbindgen_boolean_get = function(arg0) {
|
|
529
|
-
const v2 = getObject(arg0);
|
|
530
|
-
const ret = typeof v2 === "boolean" ? v2 ? 1 : 0 : 2;
|
|
531
|
-
return ret;
|
|
532
|
-
};
|
|
533
|
-
imports.wbg.__wbindgen_number_get = function(arg0, arg1) {
|
|
534
|
-
const obj = getObject(arg1);
|
|
535
|
-
const ret = typeof obj === "number" ? obj : void 0;
|
|
536
|
-
getFloat64Memory0()[arg0 / 8 + 1] = isLikeNone(ret) ? 0 : ret;
|
|
537
|
-
getInt32Memory0()[arg0 / 4 + 0] = !isLikeNone(ret);
|
|
538
|
-
};
|
|
539
|
-
imports.wbg.__wbg_String_9aa17d6248d519a5 = function(arg0, arg1) {
|
|
540
|
-
const ret = String(getObject(arg1));
|
|
541
|
-
const ptr0 = passStringToWasm0(ret, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
|
542
|
-
const len0 = WASM_VECTOR_LEN;
|
|
543
|
-
getInt32Memory0()[arg0 / 4 + 1] = len0;
|
|
544
|
-
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
|
|
545
|
-
};
|
|
546
|
-
imports.wbg.__wbg_get_723f83ba0c34871a = function(arg0, arg1) {
|
|
547
|
-
const ret = getObject(arg0)[takeObject(arg1)];
|
|
548
|
-
return addHeapObject(ret);
|
|
549
|
-
};
|
|
550
|
-
imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
|
|
551
|
-
const ret = getObject(arg0);
|
|
552
|
-
return addHeapObject(ret);
|
|
553
|
-
};
|
|
554
|
-
imports.wbg.__wbindgen_is_function = function(arg0) {
|
|
555
|
-
const ret = typeof getObject(arg0) === "function";
|
|
556
|
-
return ret;
|
|
557
|
-
};
|
|
558
|
-
imports.wbg.__wbg_next_579e583d33566a86 = function(arg0) {
|
|
559
|
-
const ret = getObject(arg0).next;
|
|
560
|
-
return addHeapObject(ret);
|
|
561
|
-
};
|
|
562
|
-
imports.wbg.__wbg_next_aaef7c8aa5e212ac = function() {
|
|
563
|
-
return handleError(function(arg0) {
|
|
564
|
-
const ret = getObject(arg0).next();
|
|
565
|
-
return addHeapObject(ret);
|
|
566
|
-
}, arguments);
|
|
567
|
-
};
|
|
568
|
-
imports.wbg.__wbg_done_1b73b0672e15f234 = function(arg0) {
|
|
569
|
-
const ret = getObject(arg0).done;
|
|
570
|
-
return ret;
|
|
571
|
-
};
|
|
572
|
-
imports.wbg.__wbg_value_1ccc36bc03462d71 = function(arg0) {
|
|
573
|
-
const ret = getObject(arg0).value;
|
|
574
|
-
return addHeapObject(ret);
|
|
575
|
-
};
|
|
576
|
-
imports.wbg.__wbg_iterator_6f9d4f28845f426c = function() {
|
|
577
|
-
const ret = Symbol.iterator;
|
|
578
|
-
return addHeapObject(ret);
|
|
579
|
-
};
|
|
580
|
-
imports.wbg.__wbg_get_765201544a2b6869 = function() {
|
|
581
|
-
return handleError(function(arg0, arg1) {
|
|
582
|
-
const ret = Reflect.get(getObject(arg0), getObject(arg1));
|
|
583
|
-
return addHeapObject(ret);
|
|
584
|
-
}, arguments);
|
|
585
|
-
};
|
|
586
|
-
imports.wbg.__wbg_call_97ae9d8645dc388b = function() {
|
|
587
|
-
return handleError(function(arg0, arg1) {
|
|
588
|
-
const ret = getObject(arg0).call(getObject(arg1));
|
|
589
|
-
return addHeapObject(ret);
|
|
590
|
-
}, arguments);
|
|
591
|
-
};
|
|
592
|
-
imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
|
|
593
|
-
const ret = getStringFromWasm0(arg0, arg1);
|
|
594
|
-
return addHeapObject(ret);
|
|
595
|
-
};
|
|
596
|
-
imports.wbg.__wbg_isArray_27c46c67f498e15d = function(arg0) {
|
|
597
|
-
const ret = Array.isArray(getObject(arg0));
|
|
598
|
-
return ret;
|
|
599
|
-
};
|
|
600
|
-
imports.wbg.__wbg_instanceof_ArrayBuffer_e5e48f4762c5610b = function(arg0) {
|
|
601
|
-
let result;
|
|
602
|
-
try {
|
|
603
|
-
result = getObject(arg0) instanceof ArrayBuffer;
|
|
604
|
-
} catch {
|
|
605
|
-
result = false;
|
|
606
|
-
}
|
|
607
|
-
const ret = result;
|
|
608
|
-
return ret;
|
|
609
|
-
};
|
|
610
|
-
imports.wbg.__wbg_values_e42671acbf11ec04 = function(arg0) {
|
|
611
|
-
const ret = getObject(arg0).values();
|
|
612
|
-
return addHeapObject(ret);
|
|
613
|
-
};
|
|
614
|
-
imports.wbg.__wbg_new_8d2af00bc1e329ee = function(arg0, arg1) {
|
|
615
|
-
const ret = new Error(getStringFromWasm0(arg0, arg1));
|
|
616
|
-
return addHeapObject(ret);
|
|
617
|
-
};
|
|
618
|
-
imports.wbg.__wbg_isSafeInteger_dfa0593e8d7ac35a = function(arg0) {
|
|
619
|
-
const ret = Number.isSafeInteger(getObject(arg0));
|
|
620
|
-
return ret;
|
|
621
|
-
};
|
|
622
|
-
imports.wbg.__wbg_buffer_3f3d764d4747d564 = function(arg0) {
|
|
623
|
-
const ret = getObject(arg0).buffer;
|
|
624
|
-
return addHeapObject(ret);
|
|
625
|
-
};
|
|
626
|
-
imports.wbg.__wbg_new_8c3f0052272a457a = function(arg0) {
|
|
627
|
-
const ret = new Uint8Array(getObject(arg0));
|
|
628
|
-
return addHeapObject(ret);
|
|
629
|
-
};
|
|
630
|
-
imports.wbg.__wbg_set_83db9690f9353e79 = function(arg0, arg1, arg2) {
|
|
631
|
-
getObject(arg0).set(getObject(arg1), arg2 >>> 0);
|
|
632
|
-
};
|
|
633
|
-
imports.wbg.__wbg_length_9e1ae1900cb0fbd5 = function(arg0) {
|
|
634
|
-
const ret = getObject(arg0).length;
|
|
635
|
-
return ret;
|
|
636
|
-
};
|
|
637
|
-
imports.wbg.__wbg_instanceof_Uint8Array_971eeda69eb75003 = function(arg0) {
|
|
638
|
-
let result;
|
|
639
|
-
try {
|
|
640
|
-
result = getObject(arg0) instanceof Uint8Array;
|
|
641
|
-
} catch {
|
|
642
|
-
result = false;
|
|
643
|
-
}
|
|
644
|
-
const ret = result;
|
|
645
|
-
return ret;
|
|
646
|
-
};
|
|
647
|
-
imports.wbg.__wbg_new_abda76e883ba8a5f = function() {
|
|
648
|
-
const ret = new Error();
|
|
649
|
-
return addHeapObject(ret);
|
|
650
|
-
};
|
|
651
|
-
imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) {
|
|
652
|
-
const ret = getObject(arg1).stack;
|
|
653
|
-
const ptr0 = passStringToWasm0(ret, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
|
654
|
-
const len0 = WASM_VECTOR_LEN;
|
|
655
|
-
getInt32Memory0()[arg0 / 4 + 1] = len0;
|
|
656
|
-
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
|
|
657
|
-
};
|
|
658
|
-
imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) {
|
|
659
|
-
try {
|
|
660
|
-
console.error(getStringFromWasm0(arg0, arg1));
|
|
661
|
-
} finally {
|
|
662
|
-
wasm$1.__wbindgen_free(arg0, arg1);
|
|
663
|
-
}
|
|
664
|
-
};
|
|
665
|
-
imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
|
|
666
|
-
const ret = debugString(getObject(arg1));
|
|
667
|
-
const ptr0 = passStringToWasm0(ret, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
|
|
668
|
-
const len0 = WASM_VECTOR_LEN;
|
|
669
|
-
getInt32Memory0()[arg0 / 4 + 1] = len0;
|
|
670
|
-
getInt32Memory0()[arg0 / 4 + 0] = ptr0;
|
|
671
|
-
};
|
|
672
|
-
imports.wbg.__wbindgen_throw = function(arg0, arg1) {
|
|
673
|
-
throw new Error(getStringFromWasm0(arg0, arg1));
|
|
674
|
-
};
|
|
675
|
-
imports.wbg.__wbindgen_memory = function() {
|
|
676
|
-
const ret = wasm$1.memory;
|
|
677
|
-
return addHeapObject(ret);
|
|
678
|
-
};
|
|
679
|
-
return imports;
|
|
680
|
-
}
|
|
681
|
-
function finalizeInit(instance2, module2) {
|
|
682
|
-
wasm$1 = instance2.exports;
|
|
683
|
-
init.__wbindgen_wasm_module = module2;
|
|
684
|
-
cachedFloat64Memory0 = new Float64Array();
|
|
685
|
-
cachedInt32Memory0 = new Int32Array();
|
|
686
|
-
cachedUint8Memory0 = new Uint8Array();
|
|
687
|
-
return wasm$1;
|
|
688
|
-
}
|
|
689
|
-
function initSync(module2) {
|
|
690
|
-
const imports = getImports();
|
|
691
|
-
if (!(module2 instanceof WebAssembly.Module)) {
|
|
692
|
-
module2 = new WebAssembly.Module(module2);
|
|
693
|
-
}
|
|
694
|
-
const instance2 = new WebAssembly.Instance(module2, imports);
|
|
695
|
-
return finalizeInit(instance2, module2);
|
|
696
|
-
}
|
|
697
|
-
async function init(input) {
|
|
698
|
-
const imports = getImports();
|
|
699
|
-
if (typeof input === "string" || typeof Request === "function" && input instanceof Request || typeof URL === "function" && input instanceof URL) {
|
|
700
|
-
input = fetch(input);
|
|
701
|
-
}
|
|
702
|
-
const { instance: instance2, module: module2 } = await load(await input, imports);
|
|
703
|
-
return finalizeInit(instance2, module2);
|
|
704
|
-
}
|
|
705
|
-
var exports$1 = /* @__PURE__ */ Object.freeze({
|
|
706
|
-
__proto__: null,
|
|
707
|
-
hashZomeCall: hashZomeCall$1,
|
|
708
|
-
initSync,
|
|
709
|
-
"default": init
|
|
710
|
-
});
|
|
711
|
-
const base64codes = [62, 0, 0, 0, 63, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 0, 0, 0, 0, 0, 0, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51];
|
|
712
|
-
function getBase64Code(charCode) {
|
|
713
|
-
return base64codes[charCode - 43];
|
|
714
|
-
}
|
|
715
|
-
function base64_decode(str) {
|
|
716
|
-
let missingOctets = str.endsWith("==") ? 2 : str.endsWith("=") ? 1 : 0;
|
|
717
|
-
let n = str.length;
|
|
718
|
-
let result = new Uint8Array(3 * (n / 4));
|
|
719
|
-
let buffer;
|
|
720
|
-
for (let i = 0, j = 0; i < n; i += 4, j += 3) {
|
|
721
|
-
buffer = getBase64Code(str.charCodeAt(i)) << 18 | getBase64Code(str.charCodeAt(i + 1)) << 12 | getBase64Code(str.charCodeAt(i + 2)) << 6 | getBase64Code(str.charCodeAt(i + 3));
|
|
722
|
-
result[j] = buffer >> 16;
|
|
723
|
-
result[j + 1] = buffer >> 8 & 255;
|
|
724
|
-
result[j + 2] = buffer & 255;
|
|
725
|
-
}
|
|
726
|
-
return result.subarray(0, result.length - missingOctets);
|
|
727
|
-
}
|
|
728
|
-
const wasm_code = base64_decode("AGFzbQEAAAABrAEYYAJ/fwF/YAN/f38Bf2ABfwF/YAJ/fwBgAX8AYAN/f38AYAABf2AFf39/f38AYAR/f39/AGAAAGABfwF+YAZ/f39/f38AYAR/f39/AX9gBX9/f39/AX9gBn9/f39/fwF/YAl/f39/f39+fn4AYAd/f39/f39/AX9gA35/fwF/YAV/f35/fwBgBH9+f38AYAV/f3x/fwBgBH98f38AYAV/f31/fwBgBH99f38AArAJJAN3YmcaX193YmluZGdlbl9vYmplY3RfZHJvcF9yZWYABAN3YmcVX193YmluZGdlbl9zdHJpbmdfZ2V0AAMDd2JnFF9fd2JpbmRnZW5faXNfb2JqZWN0AAIDd2JnFF9fd2JpbmRnZW5fZXJyb3JfbmV3AAADd2JnEl9fd2JpbmRnZW5faXNfbnVsbAACA3diZxdfX3diaW5kZ2VuX2lzX3VuZGVmaW5lZAACA3diZxZfX3diaW5kZ2VuX2Jvb2xlYW5fZ2V0AAIDd2JnFV9fd2JpbmRnZW5fbnVtYmVyX2dldAADA3diZx1fX3diZ19TdHJpbmdfOWFhMTdkNjI0OGQ1MTlhNQADA3diZxpfX3diZ19nZXRfNzIzZjgzYmEwYzM0ODcxYQAAA3diZxtfX3diaW5kZ2VuX29iamVjdF9jbG9uZV9yZWYAAgN3YmcWX193YmluZGdlbl9pc19mdW5jdGlvbgACA3diZxtfX3diZ19uZXh0XzU3OWU1ODNkMzM1NjZhODYAAgN3YmcbX193YmdfbmV4dF9hYWVmN2M4YWE1ZTIxMmFjAAIDd2JnG19fd2JnX2RvbmVfMWI3M2IwNjcyZTE1ZjIzNAACA3diZxxfX3diZ192YWx1ZV8xY2NjMzZiYzAzNDYyZDcxAAIDd2JnH19fd2JnX2l0ZXJhdG9yXzZmOWQ0ZjI4ODQ1ZjQyNmMABgN3YmcaX193YmdfZ2V0Xzc2NTIwMTU0NGEyYjY4NjkAAAN3YmcbX193YmdfY2FsbF85N2FlOWQ4NjQ1ZGMzODhiAAADd2JnFV9fd2JpbmRnZW5fc3RyaW5nX25ldwAAA3diZx5fX3diZ19pc0FycmF5XzI3YzQ2YzY3ZjQ5OGUxNWQAAgN3YmctX193YmdfaW5zdGFuY2VvZl9BcnJheUJ1ZmZlcl9lNWU0OGY0NzYyYzU2MTBiAAIDd2JnHV9fd2JnX3ZhbHVlc19lNDI2NzFhY2JmMTFlYzA0AAIDd2JnGl9fd2JnX25ld184ZDJhZjAwYmMxZTMyOWVlAAADd2JnJF9fd2JnX2lzU2FmZUludGVnZXJfZGZhMDU5M2U4ZDdhYzM1YQACA3diZx1fX3diZ19idWZmZXJfM2YzZDc2NGQ0NzQ3ZDU2NAACA3diZxpfX3diZ19uZXdfOGMzZjAwNTIyNzJhNDU3YQACA3diZxpfX3diZ19zZXRfODNkYjk2OTBmOTM1M2U3OQAFA3diZx1fX3diZ19sZW5ndGhfOWUxYWUxOTAwY2IwZmJkNQACA3diZyxfX3diZ19pbnN0YW5jZW9mX1VpbnQ4QXJyYXlfOTcxZWVkYTY5ZWI3NTAwMwACA3diZxpfX3diZ19uZXdfYWJkYTc2ZTg4M2JhOGE1ZgAGA3diZxxfX3diZ19zdGFja182NTgyNzlmZTQ0NTQxY2Y2AAMDd2JnHF9fd2JnX2Vycm9yX2Y4NTE2NjdhZjcxYmNmYzYAAwN3YmcXX193YmluZGdlbl9kZWJ1Z19zdHJpbmcAAwN3YmcQX193YmluZGdlbl90aHJvdwADA3diZxFfX3diaW5kZ2VuX21lbW9yeQAGA9IB0AECAAQBAAABAwUOCAEBAAMFAQMDAQAPCwALAhAAAAARAAEDBAAGAwIHAAACAgAFBQUDDAcICAMCAwsDAAMAAwIGBwABAAAFAAADBQAAAAADAAMAAAAAAAAAAAQJAQEBAQUDAA0JCQMCBAAAAAAAAwUFAwQEBAEFAA4DABIUBxYNAwQIAAECAAIDAAEAAAwAAwIAAAcAAAQAAAMCAAICAgICAgMCAAAFBQUAAwEAAAIAAAkAAAICAgIDAQABAQEAAAAAAAAAAAIGAAACAgMKCgoEBAcBcAGJAYkBBQMBABEGCQF/AUGAgMAACweSAQcGbWVtb3J5AgAMaGFzaFpvbWVDYWxsAFsRX193YmluZGdlbl9tYWxsb2MAigESX193YmluZGdlbl9yZWFsbG9jAJgBH19fd2JpbmRnZW5fYWRkX3RvX3N0YWNrX3BvaW50ZXIA0QEPX193YmluZGdlbl9mcmVlALIBFF9fd2JpbmRnZW5fZXhuX3N0b3JlALkBCfABAQBBAQuIAfMBugHiAdIB5QHkAecB4QHm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AkEoRg0CQShBKEG03sAAEGkACyADQShBtN7AABBpAAtB3t7AAEEdQbTewAAQgwEACyAAKAIAIAVqIQIgAUEfcSIHRQRAIAAgAjYCACAADwsCQCACQQFrIgNBJ00EQCACIQQgACADQQJ0akEEaigCACIGQQAgAWsiAXYiA0UNASACQSdNBEAgACACQQJ0akEEaiADNgIAIAJBAWohBAwCCyACQShBtN7AABBpAAsgA0EoQbTewAAQaQALAkAgAiAFQQFqIghLBEAgAUEfcSEBIAJBAnQgAGpBBGshAwNAIAJBAmtBKE8NAiADQQRqIAYgB3QgAygCACIGIAF2cjYCACADQQRrIQMgCCACQQFrIgJJDQALCyAAIAVBAnRqQQRqIgEgASgCACAHdDYCACAAIAQ2AgAgAA8LQX9BKEG03sAAEGkAC5EHAQV/IAAQ7gEiACAAENcBIgIQ6wEhAQJAAkACQCAAENgBDQAgACgCACEDAkAgABDEAUUEQCACIANqIQIgACADEOwBIgBBqOrAACgCAEcNASABKAIEQQNxQQNHDQJBoOrAACACNgIAIAAgAiABEJkBDwsgAiADakEQaiEADAILIANBgAJPBEAgABBGDAELIABBDGooAgAiBCAAQQhqKAIAIgVHBEAgBSAENgIMIAQgBTYCCAwBC0GQ58AAQZDnwAAoAgBBfiADQQN2d3E2AgALAkAgARC9AQRAIAAgAiABEJkBDAELAkACQAJAQazqwAAoAgAgAUcEQCABQajqwAAoAgBHDQFBqOrAACAANgIAQaDqwABBoOrAACgCACACaiIBNgIAIAAgARCrAQ8LQazqwAAgADYCAEGk6sAAQaTqwAAoAgAgAmoiATYCACAAIAFBAXI2AgQgAEGo6sAAKAIARg0BDAILIAEQ1wEiAyACaiECAkAgA0GAAk8EQCABEEYMAQsgAUEMaigCACIEIAFBCGooAgAiAUcEQCABIAQ2AgwgBCABNgIIDAELQZDnwABBkOfAACgCAEF+IANBA3Z3cTYCAAsgACACEKsBIABBqOrAACgCAEcNAkGg6sAAIAI2AgAMAwtBoOrAAEEANgIAQajqwABBADYCAAtByOrAACgCACABTw0BQQhBCBCvASEAQRRBCBCvASEBQRBBCBCvASEDQQBBEEEIEK8BQQJ0ayICQYCAfCADIAAgAWpqa0F3cUEDayIAIAAgAksbRQ0BQazqwAAoAgBFDQFBCEEIEK8BIQBBFEEIEK8BIQFBEEEIEK8BIQJBAAJAQaTqwAAoAgAiBCACIAEgAEEIa2pqIgJNDQBBrOrAACgCACEBQbjqwAAhAAJAA0AgASAAKAIATwRAIAAQxgEgAUsNAgsgACgCCCIADQALQQAhAAsgABDZAQ0AIABBDGooAgAaDAALQQAQSGtHDQFBpOrAACgCAEHI6sAAKAIATQ0BQcjqwABBfzYCAA8LIAJBgAJJDQEgACACEEVB0OrAAEHQ6sAAKAIAQQFrIgA2AgAgAA0AEEgaDwsPCyACQXhxQZjnwABqIQECf0GQ58AAKAIAIgNBASACQQN2dCICcQRAIAEoAggMAQtBkOfAACACIANyNgIAIAELIQMgASAANgIIIAMgADYCDCAAIAE2AgwgACADNgIIC40HAQh/AkACQCAAKAIIIgpBAUcgACgCECIDQQFHcUUEQAJAIANBAUcNACABIAJqIQkgAEEUaigCAEEBaiEHIAEhBANAAkAgBCEDIAdBAWsiB0UNACADIAlGDQICfyADLAAAIgVBAE4EQCAFQf8BcSEFIANBAWoMAQsgAy0AAUE/cSEIIAVBH3EhBCAFQV9NBEAgBEEGdCAIciEFIANBAmoMAQsgAy0AAkE/cSAIQQZ0ciEIIAVBcEkEQCAIIARBDHRyIQUgA0EDagwBCyAEQRJ0QYCA8ABxIAMtAANBP3EgCEEGdHJyIgVBgIDEAEYNAyADQQRqCyIEIAYgA2tqIQYgBUGAgMQARw0BDAILCyADIAlGDQAgAywAACIEQQBOIARBYElyIARBcElyRQRAIARB/wFxQRJ0QYCA8ABxIAMtAANBP3EgAy0AAkE/cUEGdCADLQABQT9xQQx0cnJyQYCAxABGDQELAkACQCAGRQ0AIAIgBk0EQEEAIQMgAiAGRg0BDAILQQAhAyABIAZqLAAAQUBIDQELIAEhAwsgBiACIAMbIQIgAyABIAMbIQELIApFDQIgAEEMaigCACEGAkAgAkEQTwRAIAEgAhApIQQMAQsgAkUEQEEAIQQMAQsgAkEDcSEFAkAgAkEBa0EDSQRAQQAhBCABIQMMAQsgAkF8cSEHQQAhBCABIQMDQCAEIAMsAABBv39KaiADLAABQb9/SmogAywAAkG/f0pqIAMsAANBv39KaiEEIANBBGohAyAHQQRrIgcNAAsLIAVFDQADQCAEIAMsAABBv39KaiEEIANBAWohAyAFQQFrIgUNAAsLIAQgBkkEQCAGIARrIgQhBgJAAkACQEEAIAAtACAiAyADQQNGG0EDcSIDQQFrDgIAAQILQQAhBiAEIQMMAQsgBEEBdiEDIARBAWpBAXYhBgsgA0EBaiEDIABBHGooAgAhBCAAQRhqKAIAIQUgACgCBCEAAkADQCADQQFrIgNFDQEgBSAAIAQoAhARAABFDQALQQEPC0EBIQMgAEGAgMQARg0CIAUgASACIAQoAgwRAQANAkEAIQMDQCADIAZGBEBBAA8LIANBAWohAyAFIAAgBCgCEBEAAEUNAAsgA0EBayAGSQ8LDAILIAAoAhggASACIABBHGooAgAoAgwRAQAhAwsgAw8LIAAoAhggASACIABBHGooAgAoAgwRAQAL0wgBAX8jAEEwayICJAACfwJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAALQAAQQFrDhEBAgMEBQYHCAkKCwwNDg8QEQALIAIgAC0AAToACCACQSxqQQE2AgAgAkICNwIcIAJBpKHAADYCGCACQdsANgIUIAIgAkEQajYCKCACIAJBCGo2AhAgASACQRhqEGsMEQsgAiAAKQMINwMIIAJBLGpBATYCACACQgI3AhwgAkGIocAANgIYIAJB3AA2AhQgAiACQRBqNgIoIAIgAkEIajYCECABIAJBGGoQawwQCyACIAApAwg3AwggAkEsakEBNgIAIAJCAjcCHCACQYihwAA2AhggAkHdADYCFCACIAJBEGo2AiggAiACQQhqNgIQIAEgAkEYahBrDA8LIAIgACsDCDkDCCACQSxqQQE2AgAgAkICNwIcIAJB7KDAADYCGCACQd4ANgIUIAIgAkEQajYCKCACIAJBCGo2AhAgASACQRhqEGsMDgsgAiAAKAIENgIIIAJBLGpBATYCACACQgI3AhwgAkHMoMAANgIYIAJB3wA2AhQgAiACQRBqNgIoIAIgAkEIajYCECABIAJBGGoQawwNCyACIAApAgQ3AwggAkEsakEBNgIAIAJCATcCHCACQbigwAA2AhggAkHgADYCFCACIAJBEGo2AiggAiACQQhqNgIQIAEgAkEYahBrDAwLIAJBLGpBADYCACACQdiewAA2AiggAkIBNwIcIAJBqKDAADYCGCABIAJBGGoQawwLCyACQSxqQQA2AgAgAkHYnsAANgIoIAJCATcCHCACQZSgwAA2AhggASACQRhqEGsMCgsgAkEsakEANgIAIAJB2J7AADYCKCACQgE3AhwgAkGAoMAANgIYIAEgAkEYahBrDAkLIAJBLGpBADYCACACQdiewAA2AiggAkIBNwIcIAJB7J/AADYCGCABIAJBGGoQawwICyACQSxqQQA2AgAgAkHYnsAANgIoIAJCATcCHCACQdSfwAA2AhggASACQRhqEGsMBwsgAkEsakEANgIAIAJB2J7AADYCKCACQgE3AhwgAkHEn8AANgIYIAEgAkEYahBrDAYLIAJBLGpBADYCACACQdiewAA2AiggAkIBNwIcIAJBuJ/AADYCGCABIAJBGGoQawwFCyACQSxqQQA2AgAgAkHYnsAANgIoIAJCATcCHCACQayfwAA2AhggASACQRhqEGsMBAsgAkEsakEANgIAIAJB2J7AADYCKCACQgE3AhwgAkGYn8AANgIYIAEgAkEYahBrDAMLIAJBLGpBADYCACACQdiewAA2AiggAkIBNwIcIAJBgJ/AADYCGCABIAJBGGoQawwCCyACQSxqQQA2AgAgAkHYnsAANgIoIAJCATcCHCACQeiewAA2AhggASACQRhqEGsMAQsgASAAKAIEIABBCGooAgAQrQELIAJBMGokAAvYBgEIfwJAAkAgAEEDakF8cSICIABrIgQgAUsgBEEES3INACABIARrIgZBBEkNACAGQQNxIQdBACEBAkAgACACRg0AIARBA3EhAwJAIAIgAEF/c2pBA0kEQCAAIQIMAQsgBEF8cSEIIAAhAgNAIAEgAiwAAEG/f0pqIAIsAAFBv39KaiACLAACQb9/SmogAiwAA0G/f0pqIQEgAkEEaiECIAhBBGsiCA0ACwsgA0UNAANAIAEgAiwAAEG/f0pqIQEgAkEBaiECIANBAWsiAw0ACwsgACAEaiEAAkAgB0UNACAAIAZBfHFqIgIsAABBv39KIQUgB0EBRg0AIAUgAiwAAUG/f0pqIQUgB0ECRg0AIAUgAiwAAkG/f0pqIQULIAZBAnYhBCABIAVqIQMDQCAAIQEgBEUNAiAEQcABIARBwAFJGyIFQQNxIQYgBUECdCEIAkAg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AQECfyMAQSBrIgIkACACIAA2AgwgAiABKAIYQajfwABBESABQRxqKAIAKAIMEQEAOgAYIAIgATYCECACQQA6ABkgAkEANgIUIAJBEGogAkEMakGY38AAEEQhAAJ/IAItABgiASACKAIUIgNFDQAaIAFB/wFxIQFBASABDQAaIAAoAgAhAAJAIANBAUcNACACLQAZRQ0AIAAtAABBBHENAEEBIAAoAhhBgsvAAEEBIABBHGooAgAoAgwRAQANARoLIAAoAhhB7MfAAEEBIABBHGooAgAoAgwRAQALIAJBIGokAEH/AXFBAEcL4QEAAkAgASgCAEECRgRAIAAgAikCADcCACAAQQhqIAJBCGooAgA2AgAMAQsgACABKQIANwIAIABBCGogAUEIaigCADYCAAJAAkACQAJAIAIoAgAOAwABBAELIAItAARBA0cNAyACQQhqIgAoAgAiASgCACABKAIEKAIAEQQAIAEoAgQiAkEEaigCAA0BDAILIAItAARBA0cNAiACQQhqIgAoAgAiASgCACABKAIEKAIAEQQAIAEoAgQiAkEEaigCAEUNAQsgAkEIaigCABogASgCABAmIAAoAgAhAQsgARAmCwvOAQECfyMAQSBrIgMkAAJAAkAgASABIAJqIgFLDQAgAEEEaigCACICQQF0IgQgASABIARJGyIBQQggAUEISxsiAUF/c0EfdiEEAkAgAgRAIANBATYCGCADIAI2AhQgAyAAKAIANgIQDAELIANBADYCGAsgAyABIAQgA0EQahBXIAMoAgQhAiADKAIARQRAIAAgAjYCACAAQQRqIAE2AgAMAgsgA0EIaigCACIAQYGAgIB4Rg0BIABFDQAgAiAAENsBAAsQiAEACyADQSBqJAALzgEBAn8jAEEgayIDJAACQAJAIAEgASACaiIBSw0AIABBBGooAgAiAkEBdCIEIAEgASAESRsiAUEIIAFBCEsbIgFBf3NBH3YhBAJAIAIEQCADQQE2AhggAyACNgIUIAMgACgCADYCEAwBCyADQQA2AhgLIAMgASAEIANBEGoQWCADKAIEIQIgAygCAEUEQCAAIAI2AgAgAEEEaiABNgIADAILIANBCGooAgAiAEGBgICAeEYNASAARQ0AIAIgABDbAQALEIgBAAsgA0EgaiQAC8wBAQN/IwBBIGsiAiQAAkACQCABQQFqIgFFDQAgAEEEaigCACIDQQF0IgQgASABIARJGyIBQQggAUEISxsiAUF/c0EfdiEEAkAgAwRAIAJBATYCGCACIAM2AhQgAiAAKAIANgIQDAELIAJBADYCGAsgAiABIAQgAkEQahBXIAIoAgQhAyACKAIARQRAIAAgAzYCACAAQQRqIAE2AgAMAgsgAkEIaigCACIAQYGAgIB4Rg0BIABFDQAgAyAAENsBAAsQiAEACyACQSBqJAAL0gEBAX8jAEEQayIEJAAgBCAAKAIYIAEgAiAAQRxqKAIAKAIMEQEAOgAIIAQgADYCACAEIAJFOgAJIARBADYCBCAEIANB6JzAABBEIQACfyAELQAIIgEgBCgCBCICRQ0AGkEBIAENABogACgCACEAAkAgAkEBRw0AIAQtAAlFDQAgAC0AAEEEcQ0AQQEgACgCGEGCy8AAQQEgAEEcaigCACgCDBEBAA0BGgsgACgCGEHsx8AAQQEgAEEcaigCACgCDBEBAAsgBEEQaiQAQf8BcUEARwuIAgECfyMAQSBrIgUkAEGE58AAQYTnwAAoAgAiBkEBajYCAAJAAkAgBkEASA0AQdzqwABB3OrAACgCAEEBaiIGNgIAIAZBAksNACAFIAQ6ABggBSADNgIUIAUgAjYCECAFQcinwAA2AgwgBUHYocAANgIIQfTmwAAoAgAiAkEASA0AQfTmwAAgAkEBaiICNgIAQfTmwABB/ObAACgCAAR/IAUgACABKAIQEQMAIAUgBSkDADcDCEH85sAAKAIAIAVBCGpBgOfAACgCACgCFBEDAEH05sAAKAIABSACC0EBazYCACAGQQFLDQAgBA0BCwALIwBBEGsiAiQAIAIgATYCDCACIAA2AggAC7oBAAJAIAIEQAJAAkACfwJAAkAgAUEATgRAIAMoAggNASABDQJBASECDAQLDAYLIAMoAgQiAkUEQCABRQRAQQEhAgwECyABQQEQuAEMAgsgAygCACACQQEgARCwAQwBCyABQQEQuAELIgJFDQELIAAgAjYCBCAAQQhqIAE2AgAgAEEANgIADwsgACABNgIEIABBCGpBATYCACAAQQE2AgAPCyAAIAE2AgQLIABBCGpBADYCACAAQQE2AgALrQEBAX8CQCACBEACfwJAAkACQCABQQBOBEAgAygCCEUNAiADKAIEIgQNASABDQMgAgwE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ajYCDCACIAEQzQEgAiAAQQJqNgIMIAIgARDNASACLQAEBH9BAQUgAigCACIAQRhqKAIAQYXLwABBASAAQRxqKAIAKAIMEQEACyACQRBqJAALbQEBfyMAQTBrIgMkACADIAI2AgQgAyABNgIAIANBHGpBAjYCACADQSxqQQs2AgAgA0ICNwIMIANBgIXAADYCCCADQQw2AiQgAyAANgIgIAMgA0EgajYCGCADIAM2AiggA0EIahBaIANBMGokAAtbAQJ/IwBBIGsiAiQAIAFBHGooAgAhAyABKAIYIAJBGGogACgCACIAQRBqKQIANwMAIAJBEGogAEEIaikCADcDACACIAApAgA3AwggAyACQQhqEDAgAkEgaiQAC2wBBH8jAEEgayICJABBASEDAkAgACABEEMNACABQRxqKAIAIQQgASgCGCACQQA2AhwgAkHIr8AANgIYIAJCATcCDCACQfDHwAA2AgggBCACQQhqEDANACAAQQRqIAEQQyEDCyACQSBqJAAgAwttAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EcakECNgIAIANBLGpBDjYCACADQgI3AgwgA0G4yMAANgIIIANBDjYCJCADIANBIGo2AhggAyADNgIoIAMgA0EEajYCICADQQhqIAIQiQEAC1YBAn8jAEEgayICJAAgAUEcaigCACEDIAEoAhggAkEYaiAAQRBqKQIANwMAIAJBEGogAEEIaikCADcDACACIAApAgA3AwggAyACQQhqEDAgAkEgaiQAC1YBAn8jAEEgayICJAAgAEEcaigCACEDIAAoAhggAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAyACQQhqEDAgAkEgaiQAC2YBAX8jAEEgayICJAAgAkH4ocAANgIEIAIgADYCACACQRhqIAFBEGopAgA3AwAgAkEQaiABQQhqKQIANwMAIAIgASkCADcDCCACQYyiwAAgAkEEakGMosAAIAJBCGpBpKnAABA8AAtjAQF/IwBBIGsiAyQAIANBqKrAADYCBCADIAA2AgAgA0EYaiABQRBqKQIANwMAIANBEGogAUEIaikCADcDACADIAEpAgA3AwggA0H8ocAAIANBBGpB/KHAACADQQhqIAIQPAALWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakHAj8AAIAJBCGoQMCACQSBqJAALWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakHYkMAAIAJBCGoQMCACQSBqJAALWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakHglcAAIAJBCGoQMCACQSBqJAALWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakHAocAAIAJBCGoQMCACQSBqJAALaAAjAEEwayIBJABBsObAAC0AAARAIAFBHGpBATYCACABQgI3AgwgAUHApcAANgIIIAFBDjYCJCABIAA2AiwgASABQSBqNgIYIAEgAUEsajYCICABQQhqQeilwAAQiQEACyABQTBqJAALWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakH8rcAAIAJBCGoQMCACQSBqJAALaAECfyABKAIAIQMCQAJAAkAgAUEIaigCACIBRQRAQQEhAgwBCyABQQBIDQEgAUEBELgBIgJFDQILIAIgAyABEOABIQIgACABNgIIIAAgATYCBCAAIAI2AgAPCxCIAQALIAFBARDbAQALWQEBfyMAQSBrIgIkACACIAAoAgA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakGAzcAAIAJBCGoQMCACQSBqJAALVgEBfyMAQSBrIgIkACACIAA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakHAj8AAIAJBCGoQMCACQSBqJAALVgEBfyMAQSBrIgIkACACIAA2AgQgAkEYaiABQRBqKQIANwMAIAJBEGogAUEIaikCADcDACACIAEpAgA3AwggAkEEakHYkMAAIAJBCGoQMCACQSBq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ICJBAWsQ3gEaQTALIQAgM0EQdEGAgARqQRB1IjMgOkwgIiAxT3INAyAiIDlqIAA6AAAgIkEBaiEiDAMLIBxBKEG03sAAEGkACyAAIDFBiLfAABBpAAsgIiAxQZi3wAAQygEACyAiIDFNDQAgIiAxQai3wAAQygEACyA7IDM7AQggOyAiNgIEIDsgOTYCACAhQdAGaiQADAULIABBKEG03sAAEMoBAAsgHkEoQbTewAAQygEACyAgQShBtN7AABDKAQALQcTewABBGkG03sAAEIMBAAsgI0HICGogI0GYCGooAgA2AgAgIyAjKQOQCDcDwAgLIDogIy4ByAgiAEgEQCAjQQhqICMoAsAIICMoAsQIIAAgNiAjQZAIahA6ICMoAgwhACAjKAIIDAQLQQIhACAjQQI7AZAIIDYEQCAjQaAIaiA2NgIAICNBADsBnAggI0ECNgKYCCAjQajHwAA2ApQIICNBkAhqDAQLQQEhACAjQQE2ApgIICNBrcfAADYClAggI0GQCGoMAwtBAiEAICNBAjsBkAggNgRAICNBoAhqIDY2AgAgI0EAOwGcCCAjQQI2ApgIICNBqMfAADYClAggI0GQCGoMAwtBASEAICNBATYCmAggI0Gtx8AANgKUCCAjQZAIagwCCyAjQQM2ApgIICNBrsfAADYClAggI0ECOwGQCCAjQZAIagwBCyAjQQM2ApgIICNBscfAADYClAggI0ECOwGQCEEBIQBByK/AACE9ICNBkAhqCyEBICNBzAhqIAA2AgAgIyABNgLICCAjIEE2AsQIICMgPTYCwAggPCAjQcAIahAxICNB8AhqJAAMAQtBtMfAAEElQdzHwAAQgwEACw8LIAEgGiEBIwBBgAFrIickACBFvSEEAkAgRSBFYgRAQQIhAAwBCyAEQv////////8HgyIFQoCAgICAgIAIhCAEQgGGQv7///////8PgyAEQjSIp0H/D3EiKBsiA0IBgyEHQQMhAAJAAkACQEEBQQJBBCAEQoCAgICAgID4/wCDIgJQIhobIAJCgICAgICAgPj/AFEbQQNBBCAaGyAFUBtBAmsOAwABAgMLQQQhAAwCCyAoQbMIayEsIAdQIQBCASEGDAELQoCAgICAgIAgIANCAYYgA0KAgICAgICACFEiGhshA0ICQgEgGhshBiAHUCEAQct3Qcx3IBobIChqISwLICcgLDsBeCAnIAY3A3AgJ0IBNwNoICcgAzcDYCAnIAA6AHoCfyAAQQJrQf8BcSIAQQMgAEEDSRsiGgRAQavHwABBrMfAAEHIr8AAIAEbIARCAFMbISxBASEAQQEgBEI/iKcgARshPQJAAkACQCAaQQJrDgIBAAILICdBIGohJCAnQQ9qIR8jAEEwayIpJAACQAJAAkACQAJAAkACQCAnQeAAaiIAKQMAIgVQRQRAIAApAwgiA1BFBEAgACkDECICUEUEQCAFIAIgBXwiAlgEQCAFIAUgA30iBloEQAJAAkAgAkL//////////x9YBEAgKSAALwEYIho7AQggKSAGNwMAIBogGkEgayAaIAJCgICAgBBUIgEbIgBBEGsgACACQiCGIAIgARsiAkKAgICAgIDAAFQiARsiAEEIayAAIAJCEIYgAiABGyICQoCAgICAgICAAVQiARsiAEEEayAAIAJCCIYgAiABGyICQoCAgICAgICAEFQiARsiAEECayAAIAJCBIYgAiABGyICQoCAgICAgICAwABUIgAbIAJCAoYgAiAAGyIEQj+Hp0F/c2oiAWtBEHRBEHUiAEEASA0CIClCfyAArSICiCIDIAaDNwMQIAMgBlQNDSApIBo7AQggKSAFNwMAICkgAyAFgzcDECADIAVUDQ1BoH8gAWtBEHRBEHVB0ABsQbCnBWpBzhBtIgBB0QBPDQEgAEEEdCIAQbi3wABqKQMAIgNC/////w+DIg0gBSACQj+DIgeGIgJCIIgiFX4iBUIgiCIJIANCIIgiDyAVfnwgDyACQv////8PgyIDfiICQiCIIhB8IAVC/////w+DIAMgDX5CIIh8IAJC/////w+DfEKAgICACHxCIIghFkIBQQAgASAAQcC3wABqLwEAamtBP3GtIgiGIgxCAX0hDiANIAYgB4YiAkIgiCIFfiIDQv////8PgyANIAJC/////w+DIgJ+QiCIfCACIA9+IgJC/////w+DfEKAgICACHxCIIghESAFIA9+IQsgAkIgiCEGIANCIIghByAAQcK3wABqLwEAIRoCfwJAAkAgDyAEIARCf4VCP4iGIgJCIIgiF34iBCANIBd+IgVCIIgiGHwgDyACQv////8PgyIDfiICQiCIIhl8IAVC/////w+DIAMgDX5CIIh8IAJC/////w+DfEKAgICACHxC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AiQgJ0ECOwEgQQEhAEHIr8AAISwgJ0EgagshASAnQdwAaiAANgIAICcgATYCWCAnID02AlQgJyAsNgJQICdB0ABqEDEgJ0GAAWokAA8LIBtBKEG03sAAEMoBAAsgG0EoQbTewAAQaQALIBxBKEG03sAAEMoBAAs5AAJAAn8gAkGAgMQARwRAQQEgACACIAEoAhARAAANARoLIAMNAUEACw8LIAAgAyAEIAEoAgwRAQALQAEBfyMAQSBrIgAkACAAQRxqQQA2AgAgAEHYocAANgIYIABCATcCDCAAQcCkwAA2AgggAEEIakHIpMAAEIkBAAtAAQF/IwBBIGsiACQAIABBHGpBADYCACAAQZSuwAA2AhggAEIBNwIMIABBxK7AADYCCCAAQQhqQcyuwAAQiQEAC98CAQJ/IwBBIGsiAiQAIAJBAToAGCACIAE2AhQgAiAANgIQIAJBhMnAADYCDCACQcivwAA2AggjAEEQayIBJAACQCACQQhqIgAoAgwiAgRAIAAoAggiA0UNASABIAI2AgggASAANgIEIAEgAzYCACMAQRBrIgAkACAAQQhqIAFBCGooAgA2AgAgACABKQIANwMAIwBBEGsiASQAIAAoAgAiAkEUaigCACEDAkACfwJAAkAgAigCBA4CAAEDCyADDQJBACECQdihwAAMAQsgAw0BIAIoAgAiAygCBCECIAMoAgALIQMgASACNgIEIAEgAzYCACABQbSnwAAgACgCBCIBKAIIIAAoAgggAS0AEBBWAAsgAUEANgIEIAEgAjYCACABQaCnwAAgACgCBCIBKAIIIAAoAgggAS0AEBBWAAtBnKLAAEErQfCmwAAQgwEAC0GcosAAQStB4KbAABCDAQALMwACQCAAQfz///8HSw0AIABFBEBBBA8LIAAgAEH9////B0lBAnQQuAEiAEUNACAADwsACz0BAX8gACgCACEBAkAgAEEEai0AAA0AQYTnwAAoAgBB/////wdxRQ0AEOoBDQAgAUEBOgABCyABQQA6AAALjB0CFH8EfiMAQRBrIhMkACATIAE2AgwgEyAANgIIAn8jAEEgayIJJAAgE0EIaiIAQQRqKAIAIQ0gACgCACELAkBBAEHYksAAKAIAEQIAIhEEQCARKAIADQEgEUF/NgIAIBFBBGoiCEEEaigCACICQQxrIQMgDQR+IA1BB3EhAQJAIA1BAWtBB0kEQEKlxoihyJyn+UshFiALIQAMAQsgDUF4cSEEQqXGiKHInKf5SyEWIAshAANAIAAxAAcgADEABiAAMQAFIAAxAAQgADEAAyAAMQACIAAxAAEgFiAAMQAAhUKzg4CAgCB+hUKzg4CAgCB+hUKzg4CAgCB+hUKzg4CAgCB+hUKzg4CAgCB+hUKzg4CAgCB+hUKzg4CAgCB+hUKzg4CAgCB+IRYgAEEIaiEAIARBCGsiBA0ACwsgAQRAA0AgFiAAMQAAhUKzg4CAgCB+IRYgAEEBaiEAIAFBAWsiAQ0ACwsgFkL/AYVCs4OAgIAgfgVC7taLsMjJnLKvfwsiGEIZiEL/AINCgYKEiJCgwIABfiEZIBinIQAgCCgCACEBAkADQAJAIAIgACABcSIAaikAACIXIBmFIhZCf4UgFkKBgoSIkKDAgAF9g0KAgYKEiJCgwIB/gyIWUA0AA0ACQCANIANBACAWeqdBA3YgAGogAXFrIgRBDGxqIgdBBGooAgBGBEAgBygCACALIA0Q3wFFDQELIBZCAX0gFoMiFlBFDQEMAgsLIAkgCzYCBCAJQRBqIAg2AgAgCUEIaiANNgIAIAlBDGogAiAEQQxsajYCACAJQQA2AgAMAgsgFyAXQgGGg0KAgYKEiJCgwIB/g1AEQCAAIAVBCGoiBWohAAwBCwsgCCgCCEUEQEEAIQAjAEEwayIPJAACQCAIQQxqKAIAIhBBAWoiASAQSQRAEH4gDygCDBoMAQsCQAJAAn8CQCAIKAIAIgwgDEEBaiIHQQN2QQdsIAxBCEkbIhVBAXYgAUkEQCABIBVBAWoiACAAIAFJGyIAQQhJDQFBfyAAQQN0QQduQQFrZ3ZBAWogACAAQf////8BcUYNAhoQfiAPKAIsQYGAgIB4Rw0FIA8oAigMAgsgCEEEaigCACEEQQAhAQNAAkACfyAAQQFxBEAgAUEHaiIAIAFJIAAgB09yDQIgAUEIagwBCyABIAdJIgJFDQEgAiABIgBqCyEBIAAgBGoiACAAKQMAIhZCf4VCB4hCgYKEiJCgwIABgyAWQv/+/fv379+//wCEfDcDAEEBIQAMAQsLAkACQCAHQQhPBEAgBCAHaiAEKQAANwAADAELAkACQAJ/AkAgByIDIARBCGoiAiAEIgBrSwRAIAAgA2ohBSACIANqIQEgA0EPSw0BIAIMAgsgA0EPTQRAIAIhAQwDCyACQQAgAmtBA3EiBWohBiAFBEAgAiEBIAAhAgNAIAEgAi0AADoAACACQQFqIQIgAUEBaiIBIAZJDQALCyAGIAMgBWsiA0F8cSIKaiEBAkAgACAFaiIFQQNxIgIEQCAKQQBMDQEgBUF8cSIOQQRqIQBBACACQQN0IhJrQRhxIRQgDigCACECA0AgBiACIBJ2IAAoAgAiAiAUdHI2AgAgAEEEaiEAIAZBBGoiBiABSQ0ACwwBCyAKQQBMDQAgBSEAA0AgBiAAKAIANgIAIABBBGohACAGQQRqIgYgAUkNAAsLIANBA3EhAyAFIApqIQAMAgsgAUF8cSECQQAgAUEDcSIKayEOIAoEQCAAIANqQQFrIQYDQCABQQFrIgEgBi0AADoAACAGQQFrIQYgASACSw0ACwsgAiADIAprIgpBfHEiA2shAUEAIANrIQMCQCAFIA5qIgVBA3EiBgRAIANBAE4NASAFQXxxIg5BBGshAEEAIAZBA3QiEmtBGHEhFCAOKAIAIQYDQCACQQRrIgIgBiAUdCAAKAIAIgYgEnZyNgIAIABBBGshACABIAJJDQALDAELIANBAE4NACAAIApqQQRrIQADQCACQQRrIgIgACgCADYCACAAQQRrIQAgASACSQ0ACwsgCkEDcSIARQ0CIAMgBWohBSABIABrCyECIAVBAWshAANAIAFBAWsiASAALQAAOgAAIABBAWshACABIAJLDQALDAELIANFDQAgASADaiECA0AgASAALQAAOgAAIABBAWohACABQQFqIgEgAkkNAAsLIAdFDQELIARBDGshDkEAIQEDQAJAIAQgASICaiIFLQAAQYABRw0AIA4gAkF0bGohBiAEIAJBf3NBDGxqIQcCQANAIAwgBkEEaigCACIABH4gBigCACEBIABBB3EhA0KlxoihyJyn+UshFgJAIABBAWtBB0kEQCABIQAMAQsgAEF4cSEKA0AgATEAByABMQAGIAExAAUgATEABCABMQADIAExAAIgATEAASAWIAExAACFQrODgICAIH6FQrODgICAIH6FQrODgICAIH6FQrODgICAIH6FQrODgICAIH6FQrODgICAIH6FQrODgICAIH6FQrODgICAIH4hFiABQQhqIgAhASAKQQhrIgoNAAsLIAMEQANAIBYgADEAAIVCs4OAgIAgfiEWIABBAWohACADQQFrIgMNAAsLIBZC/wGFQrODgICAIH4FQu7Wi7DIyZyyr38LpyIKcSIDIQAgAyAEaikAAEKAgYKEiJCgwIB/gyIWUARAQQghASADIQADQCAAIAFqIQAgAUEIaiEBIAQgACAMcSIAaikAAEKAgYKEiJCgwIB/gyIWUA0ACwsgBCAWeqdBA3YgAGogDHEiAGosAABBAE4EQCAEKQMAQoCBgoSIkKDAgH+DeqdBA3YhAAsgACADayACIANrcyAMcUEITwRAIAQgAEF/c0EMbGohASAAIARqIgMtAAAgAyAKQRl2IgM6AAAgAEEIayAMcSAEakEIaiADOgAAQf8BRg0CIAcoAAAhACAHIAEoAAA2AAAgASAANgAAIAEoAAQhACABIAcoAAQ2AAQgByAANgAEIActAAohACAHIAEtAAo6AAogASAAOgAKIActAAshACAHIAEtAAs6AAsgASAAOgALIAcvAAghACAHIAEvAAg7AAggASAAOwAIDAELCyAFIApBGXYiADoAACACQQhrIAxxIARqQQhqIAA6AAAMAQsgBUH/AToAACACQQhrIAxxIARqQQhqQf8BOgAAIAFBCGogB0EIaigAADYAACABIAcpAAA3AAALIAJBAWohASACIAxHDQALCyAIIBUgEGs2AggMBAtBBEEIIABBBEkbCyIBrUIMfiIWQiCIpw0AIBanIgBBB2oiAiAASQ0AIAJBeHEiAiABQQhqIgRqIgAgAk8NAQsQfiAPKAIUGgwBCwJAAkAgAEEATgRAQQghAwJAIABFDQAgAEEIELgBIgMNACAAQQgQ2wEACyACIANqQf8BIAQQ3gEhBCABQQFrIgUgAUEDdkEHbCAFQQhJGyAQa60gEK1CIIaEIRcgB0UEQCAIIBc3AgggCCAFNgIAIAgoAgQhAiAIIAQ2AgQMAwsgCEEEaigCACICQQxrIRADQCACIAZqLAAAQQBOBEAgBCAFIBAgBkF0bGoiAUEEaigCACIABH4gASgCACEBIABBB3EhCkKlxoihyJyn+UshFgJAIABBAWtBB0kEQCABIQAMAQsgAEF4cSEDA0AgATEAByABMQAGIAExAAUgATEABCABMQADIAExAAIgATEAASAWIAExAACFQrODgICAIH6FQrODgICAIH6FQrODgICAIH6FQrOD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BHFFBEAgASgCGEHwysAAQQYgAUEcaigCACgCDBEBAAwBCyACQQE6AA8gAiABKQIYNwMAIAIgAkEPajYCCEEBIAJB7MrAAEEDEDcNABogASgCGEHvysAAQQEgASgCHCgCDBEBAAsiAToABCACQRBqJAAgAEEQaiQAIAEL8wIBAn8gACgCACIALQAAIABBADoAAEEBcUUEQEG4jsAAQStBsI/AABCDAQALIwBBIGsiACQAAkACQAJAQYTnwAAoAgBB/////wdxBEAQ6gFFDQELQfTmwAAoAgBB9ObAAEF/NgIADQECQAJAQYTnwAAoAgBB/////wdxRQRAQYDnwAAoAgAhAUGA58AAQYyOwAA2AgBB/ObAACgCACECQfzmwABBATYCAAwBCxDqAUGA58AAKAIAIQFBgOfAAEGMjsAANgIAQfzmwAAoAgAhAkH85sAAQQE2AgBFDQELQYTnwAAoAgBB/////wdxRQ0AEOoBDQBB+ObAAEEBOgAAC0H05sAAQQA2AgACQCACRQ0AIAIgASgCABEEACABQQRqKAIARQ0AIAFBCGooAgAaIAIQJgsgAEEgaiQADAILIABBHGpBADYCACAAQdihwAA2AhggAEIBNwIMIABBrKbAADYCCCAAQQhqQdCmwAAQiQEACwALCzQAIABBAzoAICAAQoCAgICABDcCACAAIAE2AhggAEEANgIQIABBADYCCCAAQRxqIAI2AgALMAAgASgCGCACQQsgAUEcaigCACgCDBEBACECIABBADoABSAAIAI6AAQgACABNgIACycAIAAgACgCBEEBcSABckECcjYCBCAAIAFqIgAgACgCBEEBcjYCBAs6AQJ/QdDmwAAtAAAhAUHQ5sAAQQA6AABB1ObAACgCACECQdTmwABBADYCACAAIAI2AgQgACABNgIACyEAAkAgAC0AAEEDRw0AIABBCGooAgBFDQAgACgCBBAmCwsgAQF/AkAgACgCBCIBRQ0AIABBCGooAgBFDQAgARAmCwsjAAJAIAFB/P///wdNBEAgACABQQQgAhCwASIADQELAAsgAAsjACACIAIoAgRBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAseACAAKAIAIgCtQgAgAKx9IABBAE4iABsgACABEEILHgAgAEUEQBDUAQALIAAgAiADIAQgBSABKAIQEQ0ACyMAIABBADYCACAAIAEpAgA3AgQgAEEMaiABQQhqKAIANgIACx8BAn4gACkDACICIAJCP4ciA4UgA30gAkIAWSABEEILHAAgAEUEQBDUAQALIAAgAiADIAQgASgCEBETAAscACAARQRAENQBAAsgACACIAMgBCABKAIQERUACxwAIABFBEAQ1AEACyAAIAIgAyAEIAEoAhARCAALHAAgAEUEQBDUAQALIAAgAiADIAQgASgCEBEXAAscACAARQRAENQBAAsgACACIAMgBCABKAIQEQwACx4AIAAgAUEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAsUACAAQQRqKAIABEAgACgCABAmCwsaACAARQRAENQBAAsgACACIAMgASgCEBEFAAsiACAALQAARQRAIAFBmM7AAEEFECcPCyABQZTOwABBBBAnCxgAIABFBEAQ1AEACyAAIAIgASgCEBEAAAsZAQF/IAAoAhAiAQR/IAEFIABBFGooAgALCxgAIAAoAgAiACgCACAAQQhqKAIAIAEQKgsSAEEAQRkgAEEBdmsgAEEfRhsLFgAgACABQQFyNgIEIAAgAWogATYCAAscACABKAIYQfjHwABBDiABQRxqKAIAKAIMEQEACxkAIAAoAhggASACIABBHGooAgAoAgwRAQALHAAgASgCGEG538AAQQUgAUEcaigCACgCDBEBAAsQACAAIAFqQQFrQQAgAWtxC48GAQZ/An8gACEFAkACQAJAIAJBCU8EQCADIAIQOCIHDQFBAAwEC0EIQQgQrwEhAEEUQQgQrwEhAUEQQQgQrwEhAkEAQRBBCBCvAUECdGsiBEGAgHwgAiAAIAFqamtBd3FBA2siACAAIARLGyADTQ0BQRAgA0EEakEQQQgQrwFBBWsgA0sbQQgQrwEhAiAFEO4BIgAgABDXASIEEOsBIQECQAJAAkACQAJAAkACQCAAEMQBRQRAIAIgBE0NASABQazqwAAoAgBGDQIgAUGo6sAAKAIARg0DIAEQvQENByABENcBIgYgBGoiCCACSQ0HIAggAmshBCAGQYACSQ0EIAEQRgwFCyAAENcBIQEgAkGAAkkNBiABIAJrQYGACEkgAkEEaiABTXENBSABIAAoAgAiAWpBEGohBCACQR9qQYCABBCvASECDAYLQRBBCBCvASAEIAJrIgFLDQQgACACEOsBIQQg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BEEDcUULDAAgACABQQNyNgIECw0AIAAoAgAgACgCBGoL1gIBAn8gACgCACEAIwBBEGsiAiQAAkACfwJAIAFBgAFPBEAgAkEANgIMIAFBgBBPDQEgAiABQT9xQYABcjoADSACIAFBBnZBwAFyOgAMQQIMAgsgACgCCCIDIAAoAgRGBEAgACADEFQgACgCCCEDCyAAIANBAWo2AgggACgCACADaiABOgAADAILIAFBgIAETwRAIAIgAUE/cUGAAXI6AA8gAiABQQZ2QT9xQYABcjoADiACIAFBDHZBP3FBgAFyOgANIAIgAUESdkEHcUHwAXI6AAxBBAwBCyACIAFBP3FBgAFyOgAOIAIgAUEMdkHgAXI6AAwgAiABQQZ2QT9xQYABcjoADUEDCyEBIAEgAEEEaigCACAAKAIIIgNrSwRAIAAgAyABEFIgACgCCCEDCyAAKAIAIANqIAJBDGogARDgARogACABIANqNgIICyACQRBqJABBAAsOACAAKAIAGgNADAALAAttAQF/IwBBMGsiAyQAIAMgATYCBCADIAA2AgAgA0EcakECNgIAIANBLGpBDjYCACADQgI3AgwgA0Goz8AANgIIIANBDjYCJCADIANBIGo2AhggAyADQQRqNgIoIAMgAzYCICADQQhqIAIQiQEAC20BAX8jAEEwayIDJAAgAyABNgIEIAMgADYCACADQRxqQQI2AgAgA0EsakEONgIAIANCAjcCDCADQcjPwAA2AgggA0EONgIkIAMgA0EgajYCGCADIANBBGo2AiggAyADNgIgIANBCGogAhCJAQALbQEBfyMAQTBrIgMkACADIAE2AgQgAyAANgIAIANBHGpBAjYCACADQSxqQQ42AgAgA0ICNwIMIANB/M/AADYCCCADQQ42AiQgAyADQSBqNgIYIAMgA0EEajYCKCADIAM2AiAgA0EIaiACEIkBAAsNACAANQIAQQEgARBCC9gCAgR/An4jAEFAaiICJABBASEEAkAgAC0ABA0AIAAtAAUhBAJAAkACQCAAKAIAIgMoAgAiBUEEcUUEQCAEDQEMAwsgBA0BQQEhBCADKAIYQYPLwABBASADQRxqKAIAKAIMEQEADQMgAygCACEFDAELQQEhBCADKAIYQerKwABBAiADQRxqKAIAKAIMEQEARQ0BDAILQQEhBCACQQE6ABcgAkE0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AAAAAAEAAAAFAAAAAQAAAAAAAAABAAAABgAAAAEAAAAAAAAAAQAAAAcAAAABAAAAAAAAAAEAAAAIAAAAAQAAAAAAAAABAAAABAAAAAEAAAAAAAAAAQAAAAkAAAABAAAAAAAAAAEAAAAKAAAAcHJvdmVuYW5jZWNlbGxfaWR6b21lX25hbWVmbl9uYW1lY2FwX3NlY3JldHBheWxvYWRub25jZWV4cGlyZXNfYXRjYWxsZWQgYE9wdGlvbjo6dW53cmFwKClgIG9uIGEgYE5vbmVgIHZhbHVlL1VzZXJzL2pvc3QvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvc2VyZGUtd2FzbS1iaW5kZ2VuLTAuMy4xL3NyYy9kZS5ycwAAOAEQAF4AAABZAAAAHwAAAA8AAAAMAAAABAAAABAAAAARAAAAEgAAAGEgRGlzcGxheSBpbXBsZW1lbnRhdGlvbiByZXR1cm5lZCBhbiBlcnJvciB1bmV4cGVjdGVkbHkAEwAAAAAAAAABAAAAFAAAAC9ydXN0Yy82OWY5YzMzZDcxYzg3MWZjMTZhYzQ0NTIxMTI4MWM2ZTdhMzQwOTQzL2xpYnJhcnkvYWxsb2Mvc3JjL3N0cmluZy5ycwAIAhAASwAAAOgJAAAJAAAAaW52YWxpZCB2YWx1ZTogLCBleHBlY3RlZCAAAGQCEAAPAAAAcwIQAAsAAABtaXNzaW5nIGZpZWxkIGBgkAIQAA8AAACfAhAAAQAAAGludmFsaWQgbGVuZ3RoIACwAhAADwAAAHMCEAALAAAAZHVwbGljYXRlIGZpZWxkIGAAAADQAhAAEQAAAJ8CEAABAAAAFQAAAAwAAAAEAAAAFgAAABcAAAASAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQAYAAAAAAAAAAEAAAAUAAAAL3J1c3RjLzY5ZjljMzNkNzFjODcxZmMxNmFjNDQ1MjExMjgxYzZlN2EzNDA5NDMvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAFQDEABLAAAA6AkAAAkAAAAzIGJ5dGUgcHJlZml4AAAAGAAAAAAAAAABAAAAGQAAAC9Vc2Vycy9qb3N0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2hvbG9faGFzaC0wLjEuMC1iZXRhLXJjLjAvc3JjL2hhc2hfdHlwZS9wcmltaXRpdmUucnPQAxAAcAAAAE0AAAARAAAASG9sb0hhc2ggc2VyaWFsaXplZCByZXByZXNlbnRhdGlvbiBtdXN0IGJlIGV4YWN0bHkgMzkgYnl0ZXNIb2xvSGFzaCBlcnJvcjogAIsEEAAQAAAAYSBIb2xvSGFzaCBvZiBwcmltaXRpdmUgaGFzaF90eXBlAAAAGwAAAAwAAAAEAAAAHAAAAB0AAAASAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQAeAAAAAAAAAAEAAAAUAAAAL3J1c3RjLzY5ZjljMzNkNzFjODcxZmMxNmFjNDQ1MjExMjgxYzZlN2EzNDA5NDMvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzACgFEABLAAAA6AkAAAkAAABwcm92ZW5hbmNlY2VsbF9pZHpvbWVfbmFtZWZuX25hbWVjYXBfc2VjcmV0cGF5bG9hZG5vbmNlZXhwaXJlc19hdFpvbWVDYWxsVW5zaWduZWQAAACEBRAACgAAAI4FEAAHAAAAlQUQAAkAAACeBRAABwAAAKUFEAAKAAAArwUQAAcAAAC2BRAABQAAALsFEAAKAAAAIGJ5dGVzLCBnb3QgIGJ5dGVzAAAYBhAAAAAAABgGEAAMAAAAJAYQAAYAAAAgAAAAIAAAAAgAAAAEAAAAAgAAAC9Vc2Vycy9qb3N0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2hvbG9faGFzaC0wLjEuMC1iZXRhLXJjLjAvc3JjL2hhc2gucnMAAABYBhAAYQAAAF8AAAAtAAAAIGJ5dGVzLCBnb3QgIGJ5dGVzAADMBhAAAAAAAMwGEAAMAAAA2AYQAAYAAABAAAAAIQAAAAgAAAAEAAAAAgAAACIAAAAAAAAAAQAAACMAAAAkAAAAJQAAACIAAAAEAAAABAAAACYAAAAnAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZS9ydXN0Yy82OWY5YzMzZDcxYzg3MWZjMTZhYzQ0NTIxMTI4MWM2ZTdhMzQwOTQzL2xpYnJhcnkvc3RkL3NyYy9zeW5jL29uY2UucnMAYwcQAEwAAACPAAAAKQAAACIAAAAEAAAABAAAACgAAAApAAAAKgAAAC9Vc2Vycy9qb3N0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2NvbnNvbGVfZXJyb3JfcGFuaWNfaG9vay0wLjEuNy9zcmMvbGliLnJzAAAA2AcQAGUAAACVAAAADgAAAFAIEAAAAAAALAAAAAQAAAAEAAAALQAAAC4AAAAvAAAAMQAAAAwAAAAEAAAAMgAAADMAAAA0AAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQA1AAAAAAAAAAEAAAAUAAAAL3J1c3RjLzY5ZjljMzNkNzFjODcxZmMxNmFjNDQ1MjExMjgxYzZlN2EzNDA5NDMvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzANAIEABLAAAA6AkAAAkAAABpbnZhbGlkIHR5cGU6ICwgZXhwZWN0ZWQgAAAALAkQAA4AAAA6CRAACwAAADYAAAAAAAAA//////////9jYW5ub3QgYWNjZXNzIGEgVGhyZWFkIExvY2FsIFN0b3JhZ2UgdmFsdWUgZHVyaW5nIG9yIGFmdGVyIGRlc3RydWN0aW9uAAA3AAAAAAAAAAEAAAA4AAAAL3J1c3RjLzY5ZjljMzNkNzFjODcxZmMxNmFjNDQ1MjExMjgxYzZlN2EzNDA5NDMvbGlicmFyeS9zdGQvc3JjL3RocmVhZC9sb2NhbC5ycwDACRAATwAAAKYBAAAJAAAAYWxyZWFkeSBib3Jyb3dlZDcAAAAAAAAAAQAAADkAAAAvVXNlcnMvam9zdC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9zZXJkZS13YXNtLWJpbmRnZW4tMC4zLjEvc3JjL2xpYi5ycwBAChAAXwAAABgAAAAOAAAAY2xvc3VyZSBpbnZva2VkIHJlY3Vyc2l2ZWx5IG9yIGRlc3Ryb3llZCBhbHJlYWR5RgAAAAQAAAAEAAAARwAAAEgAAABJAAAASgAAAAwAAAAEAAAASwAAAEwAAABNAAAAYSBEaXNwbGF5IGltcGxlbWVudGF0aW9uIHJldHVybmVkIGFuIGVycm9yIHVuZXhwZWN0ZWRseQBOAAAAAAAAAAEAAAAUAAAAL3J1c3RjLzY5ZjljMzNkNzFjODcxZmMxNmFjNDQ1MjExMjgxYzZlN2EzNDA5NDMvbGlicmFyeS9hbGxvYy9zcmMvc3RyaW5nLnJzAFgLEABLAAAA6AkAAAkAAAAKClN0YWNrOgoKSnNWYWx1ZSgpAL4LEAAIAAAAxgsQAAEAAABhIGJ5dGUgYXJyYXkgb2YgbGVuZ3RoIADYCxAAFwAAACAAAABzdHJ1Y3QgWm9tZUNhbGxVbnNpZ25lZHR1cGxlIHN0cnVjdCBDZWxsSWRhIGJ5dGUgYXJyYXkgb2YgbGVuZ3RoIAAAACYMEAAXAAAAQAAAAIQgJEFnZW50UHViS2V5hC0kRG5hSGFzaC9Vc2Vycy9qb3N0Ly5jYXJnby9yZWdpc3RyeS9zcmMvZ2l0aHViLmNvbS0xZWNjNjI5OWRiOWVjODIzL2hvbG9faGFzaC0wLjEuMC1iZXRhLXJjLjAvc3JjL2VuY29kZS5yc2NhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWUAAFAAAAAQAAAABAAAABoAAABkDBAAYwAAAIMAAAAFAAAAUQAAAAQAAAAEAAAAUgAAAEJhZEhhc2hTaXplQmFkQ2hlY2tzdW1CYWRQcmVmaXgAUwAAAAQAAAAEAAAAVAAAAFMAAAAEAAAABAAAAFUAAABCYWRTaXplQmFkQmFzZTY0Tm9VL1VzZXJzL2pvc3QvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9naXRodWIuY29tLTFlY2M2Mjk5ZGI5ZWM4MjMvYmxha2UyYl9zaW1kLTAuNS4xMS9zcmMvcG9ydGFibGUucnMAAHcNEABfAAAAlgAAABUAAAAvVXNlcnMvam9zdC8uY2FyZ28vcmVnaXN0cnkvc3JjL2dpdGh1Yi5jb20tMWVjYzYyOTlkYjllYzgyMy9ibGFrZTJiX3NpbWQtMC41LjExL3NyYy9saWIucnMAAOgNEABaAAAATgIAAAoAAABUDhAAAAAAAERlc2VyaWFsaXplAFcAAAAEAAAABAAAAFgAAABTZXJpYWxpemVieXRlIGFycmF5ZGVwdGggbGltaXQgZXhjZWVkZWRzZXJpYWxpemUgZGF0YSBtb2RlbCBpcyBpbnZhbGlkOiCfDhAAIQAAAGF0dGVtcHQgdG8gc2VyaWFsaXplIHN0cnVjdCwgc2VxdWVuY2Ugb3IgbWFwIHdpdGggdW5rbm93biBsZW5ndGhpbnZhbGlkIHZhbHVlIHdyaXRlOiAAAAAIDxAAFQAAAGVycm9yIHdoaWxlIHdyaXRpbmcgbXVsdGktYnl0ZSBNZXNzYWdlUGFjayB2YWx1ZXN0cnVjdCB2YXJpYW50AABYDxAADgAAAHR1cGxlIHZhcmlhbnQAAABwDxAADQAAAG5ld3R5cGUgdmFyaWFudACIDxAADwAAAHVuaXQgdmFyaWFudKAPEAAMAAAAZW51bbQPEAAEAAAAbWFwAMAPEAADAAAAc2VxdWVuY2XMDxAACAAAAG5ld3R5cGUgc3RydWN0AADcDxAADgAAAE9wdGlvbiB2YWx1ZfQPEAAMAAAAdW5pdCB2YWx1ZQAACBAQAAoAAABieXRlIGFycmF5AAAcEBAACgAAAHN0cmluZyAAMBAQAAcAAABjaGFyYWN0ZXIgYGBAEBAACwAAAEsQEAABAAAAZmxvYXRpbmcgcG9pbnQgYFwQEAAQAAAASxAQAAEAAABpbnRlZ2VyIGAAAAB8EBAACQAAAEsQEAABAAAAYm9vbGVhbiBgAAAAmBAQAAkAAABLEBAAAQAAAGEgc3RyaW5naTY0AGIAAAAEAAAABAAAAGMAAABkAAAAZQAAAGFscmVhZHkgYm9ycm93ZWRiAAAAAAAAAAEAAAA5AAAAAAAAAGIAAAAEAAAABAAAAGYAAABiAAAABAAAAAQAAABnAAAAY2FsbGVkIGBPcHRpb246OnVud3JhcCgpYCBvbiBhIGBOb25lYCB2YWx1ZWNhbGxlZCBgUmVzdWx0Ojp1bndyYXAoKWAgb24gYW4gYEVycmAgdmFsdWVBY2Nlc3NFcnJvcnVzZSBvZiBzdGQ6OnRocmVhZDo6Y3VycmVudCgpIGlzIG5vdCBwb3NzaWJsZSBhZnRlciB0aGUgdGhyZWFkJ3MgbG9jYWwgZGF0YSBoYXMgYmVlbiBkZXN0cm95ZWRsaWJyYXJ5L3N0ZC9zcmMvdGhyZWFkL21vZC5yc9sREAAdAAAA3QIAAAUAAABmYWlsZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIHRocmVhZCBJRDogYml0c3BhY2UgZXhoYXVzdGVkAAgSEAA3AAAA2xEQAB0AAABWBAAADQAAAFBvaXNvbkVycm9ybGlicmFyeS9zdGQvc3JjL3N5c19jb21tb24vdGhyZWFkX2luZm8ucnNjEhAAKQAAABYAAAAzAAAAbWVtb3J5IGFsbG9jYXRpb24gb2YgIGJ5dGVzIGZhaWxlZAoAnBIQABUAAACxEhAADgAAAGxpYnJhcnkvc3RkL3NyYy9hbGxvYy5yc9ASEAAYAAAAVQEAAAkAAABjYW5ub3QgbW9kaWZ5IHRoZSBwYW5pYyBob29rIGZyb20gYSBwYW5pY2tpbmcgdGhyZWFk+BIQADQAAABsaWJyYXJ5L3N0ZC9zcmMvcGFuaWNraW5nLnJzNBMQABwAAACGAAAACQAAADQTEAAcAAAAPgIAAA8AAAA0ExAAHAAAAD0CAAAPAAAAaAAAAAwAAAAEAAAAaQAAAGIAAAAIAAAABAAAAGoAAABrAAAAEAAAAAQAAABsAAAAbQAAAGIAAAAIAAAABAAAAG4AAABvAAAAYgAAAAAAAAABAAAAcAAAAGNvbmR2YXIgd2FpdCBub3Qgc3VwcG9ydGVkAADYExAAGgAAAGxpYnJhcnkvc3RkL3NyYy9zeXMvd2FzbS8uLi91bnN1cHBvcnRlZC9sb2Nrcy9jb25kdmFyLnJz/BMQADgAAAAWAAAACQAAAGNhbm5vdCByZWN1cnNpdmVseSBhY3F1aXJlIG11dGV4RBQQACAAAABsaWJyYXJ5L3N0ZC9zcmMvc3lzL3dhc20vLi4vdW5zdXBwb3J0ZWQvbG9ja3MvbXV0ZXgucnMAAGwUEAA2AAAAFgAAAAkAAABhc3NlcnRpb24gZmFpbGVkOiBzdGF0ZV9hbmRfcXVldWUuYWRkcigpICYgU1RBVEVfTUFTSyA9PSBSVU5OSU5HT25jZSBpbnN0YW5jZSBoYXMgcHJldmlvdXNseSBiZWVuIHBvaXNvbmVkAAD0FBAAKgAAAAIAAABsaWJyYXJ5L3N0ZC9zcmMvc3lzX2NvbW1vbi9vbmNlL2dlbmVyaWMucnMAACwVEAAqAAAA+AAAAAkAAAAsFRAAKgAAAAUBAAAeAAAA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");
|
|
729
|
-
var wasm$2 = async () => {
|
|
730
|
-
await init(wasm_code);
|
|
731
|
-
return exports$1;
|
|
732
|
-
};
|
|
733
|
-
let instance = void 0;
|
|
734
|
-
async function hashZomeCall(value) {
|
|
735
|
-
if (!instance) {
|
|
736
|
-
instance = await wasm$2();
|
|
737
|
-
}
|
|
738
|
-
return instance.hashZomeCall(value);
|
|
739
|
-
}
|
|
740
293
|
var CellType;
|
|
741
294
|
(function(CellType2) {
|
|
742
295
|
CellType2["Provisioned"] = "provisioned";
|
|
@@ -817,23 +370,23 @@ function assertListener(listener) {
|
|
|
817
370
|
throw new TypeError("listener must be a function");
|
|
818
371
|
}
|
|
819
372
|
}
|
|
820
|
-
function getListeners(
|
|
821
|
-
const events = eventsMap.get(
|
|
373
|
+
function getListeners(instance, eventName) {
|
|
374
|
+
const events = eventsMap.get(instance);
|
|
822
375
|
if (!events.has(eventName)) {
|
|
823
376
|
return;
|
|
824
377
|
}
|
|
825
378
|
return events.get(eventName);
|
|
826
379
|
}
|
|
827
|
-
function getEventProducers(
|
|
380
|
+
function getEventProducers(instance, eventName) {
|
|
828
381
|
const key = typeof eventName === "string" || typeof eventName === "symbol" || typeof eventName === "number" ? eventName : anyProducer;
|
|
829
|
-
const producers = producersMap.get(
|
|
382
|
+
const producers = producersMap.get(instance);
|
|
830
383
|
if (!producers.has(key)) {
|
|
831
384
|
return;
|
|
832
385
|
}
|
|
833
386
|
return producers.get(key);
|
|
834
387
|
}
|
|
835
|
-
function enqueueProducers(
|
|
836
|
-
const producers = producersMap.get(
|
|
388
|
+
function enqueueProducers(instance, eventName, eventData) {
|
|
389
|
+
const producers = producersMap.get(instance);
|
|
837
390
|
if (producers.has(eventName)) {
|
|
838
391
|
for (const producer of producers.get(eventName)) {
|
|
839
392
|
producer.enqueue(eventData);
|
|
@@ -846,7 +399,7 @@ function enqueueProducers(instance2, eventName, eventData) {
|
|
|
846
399
|
}
|
|
847
400
|
}
|
|
848
401
|
}
|
|
849
|
-
function iterator(
|
|
402
|
+
function iterator(instance, eventNames) {
|
|
850
403
|
eventNames = Array.isArray(eventNames) ? eventNames : [eventNames];
|
|
851
404
|
let isFinished = false;
|
|
852
405
|
let flush = () => {
|
|
@@ -863,10 +416,10 @@ function iterator(instance2, eventNames) {
|
|
|
863
416
|
}
|
|
864
417
|
};
|
|
865
418
|
for (const eventName of eventNames) {
|
|
866
|
-
let set = getEventProducers(
|
|
419
|
+
let set = getEventProducers(instance, eventName);
|
|
867
420
|
if (!set) {
|
|
868
421
|
set = /* @__PURE__ */ new Set();
|
|
869
|
-
const producers = producersMap.get(
|
|
422
|
+
const producers = producersMap.get(instance);
|
|
870
423
|
producers.set(eventName, set);
|
|
871
424
|
}
|
|
872
425
|
set.add(producer);
|
|
@@ -894,11 +447,11 @@ function iterator(instance2, eventNames) {
|
|
|
894
447
|
async return(value) {
|
|
895
448
|
queue = void 0;
|
|
896
449
|
for (const eventName of eventNames) {
|
|
897
|
-
const set = getEventProducers(
|
|
450
|
+
const set = getEventProducers(instance, eventName);
|
|
898
451
|
if (set) {
|
|
899
452
|
set.delete(producer);
|
|
900
453
|
if (set.size === 0) {
|
|
901
|
-
const producers = producersMap.get(
|
|
454
|
+
const producers = producersMap.get(instance);
|
|
902
455
|
producers.delete(eventName);
|
|
903
456
|
}
|
|
904
457
|
}
|
|
@@ -1752,11 +1305,11 @@ function requireNodeGypBuild$1() {
|
|
|
1752
1305
|
var libc = process.env.LIBC || (isAlpine(platform) ? "musl" : "glibc");
|
|
1753
1306
|
var armv = process.env.ARM_VERSION || (arch === "arm64" ? "8" : vars.arm_version) || "";
|
|
1754
1307
|
var uv = (process.versions.uv || "").split(".")[0];
|
|
1755
|
-
nodeGypBuild =
|
|
1756
|
-
function
|
|
1757
|
-
return runtimeRequire(
|
|
1308
|
+
nodeGypBuild = load;
|
|
1309
|
+
function load(dir) {
|
|
1310
|
+
return runtimeRequire(load.resolve(dir));
|
|
1758
1311
|
}
|
|
1759
|
-
|
|
1312
|
+
load.resolve = load.path = function(dir) {
|
|
1760
1313
|
dir = path$1.resolve(dir || ".");
|
|
1761
1314
|
try {
|
|
1762
1315
|
var name = runtimeRequire(path$1.join(dir, "package.json")).name.toUpperCase().replace(/-/g, "_");
|
|
@@ -1918,12 +1471,12 @@ function requireNodeGypBuild$1() {
|
|
|
1918
1471
|
function isAlpine(platform2) {
|
|
1919
1472
|
return platform2 === "linux" && fs$1.existsSync("/etc/alpine-release");
|
|
1920
1473
|
}
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1474
|
+
load.parseTags = parseTags;
|
|
1475
|
+
load.matchTags = matchTags;
|
|
1476
|
+
load.compareTags = compareTags;
|
|
1477
|
+
load.parseTuple = parseTuple;
|
|
1478
|
+
load.matchTuple = matchTuple;
|
|
1479
|
+
load.compareTuples = compareTuples;
|
|
1927
1480
|
return nodeGypBuild;
|
|
1928
1481
|
}
|
|
1929
1482
|
var hasRequiredNodeGypBuild;
|
|
@@ -5026,6 +4579,7 @@ const promiseTimeout = (promise2, tag, ms) => {
|
|
|
5026
4579
|
clearTimeout(id);
|
|
5027
4580
|
return res(a);
|
|
5028
4581
|
}).catch((e) => {
|
|
4582
|
+
clearTimeout(id);
|
|
5029
4583
|
return rej(e);
|
|
5030
4584
|
}));
|
|
5031
4585
|
};
|
|
@@ -5037,6 +4591,24 @@ const getBaseRoleNameFromCloneId = (roleName) => {
|
|
|
5037
4591
|
}
|
|
5038
4592
|
return roleName.split(CLONE_ID_DELIMITER)[0];
|
|
5039
4593
|
};
|
|
4594
|
+
var CountersigningSessionStateType;
|
|
4595
|
+
(function(CountersigningSessionStateType2) {
|
|
4596
|
+
CountersigningSessionStateType2["Accepted"] = "Accepted";
|
|
4597
|
+
CountersigningSessionStateType2["SignaturesCollected"] = "SignaturesCollected";
|
|
4598
|
+
CountersigningSessionStateType2["Unknown"] = "Unknown";
|
|
4599
|
+
})(CountersigningSessionStateType || (CountersigningSessionStateType = {}));
|
|
4600
|
+
var ResolutionRequiredReason;
|
|
4601
|
+
(function(ResolutionRequiredReason2) {
|
|
4602
|
+
ResolutionRequiredReason2["Timeout"] = "Timeout";
|
|
4603
|
+
ResolutionRequiredReason2["Unknown"] = "Unknown";
|
|
4604
|
+
})(ResolutionRequiredReason || (ResolutionRequiredReason = {}));
|
|
4605
|
+
var SessionCompletionDecisionType;
|
|
4606
|
+
(function(SessionCompletionDecisionType2) {
|
|
4607
|
+
SessionCompletionDecisionType2["Complete"] = "Complete";
|
|
4608
|
+
SessionCompletionDecisionType2["Abandoned"] = "Abandoned";
|
|
4609
|
+
SessionCompletionDecisionType2["Indeterminate"] = "Indeterminate";
|
|
4610
|
+
SessionCompletionDecisionType2["Failed"] = "Failed";
|
|
4611
|
+
})(SessionCompletionDecisionType || (SessionCompletionDecisionType = {}));
|
|
5040
4612
|
const SignalType = {
|
|
5041
4613
|
App: "App",
|
|
5042
4614
|
System: "System"
|
|
@@ -5660,14 +5232,14 @@ var stringToPath = memoizeCapped(function(string) {
|
|
|
5660
5232
|
});
|
|
5661
5233
|
return result;
|
|
5662
5234
|
});
|
|
5663
|
-
function toString
|
|
5235
|
+
function toString(value) {
|
|
5664
5236
|
return value == null ? "" : baseToString(value);
|
|
5665
5237
|
}
|
|
5666
5238
|
function castPath(value, object) {
|
|
5667
5239
|
if (isArray(value)) {
|
|
5668
5240
|
return value;
|
|
5669
5241
|
}
|
|
5670
|
-
return isKey(value, object) ? [value] : stringToPath(toString
|
|
5242
|
+
return isKey(value, object) ? [value] : stringToPath(toString(value));
|
|
5671
5243
|
}
|
|
5672
5244
|
var INFINITY = 1 / 0;
|
|
5673
5245
|
function toKey(value) {
|
|
@@ -12333,27 +11905,41 @@ b2wasm.ready(function(err) {
|
|
|
12333
11905
|
class AppWebsocket {
|
|
12334
11906
|
client;
|
|
12335
11907
|
myPubKey;
|
|
11908
|
+
installedAppId;
|
|
12336
11909
|
defaultTimeout;
|
|
12337
11910
|
emitter;
|
|
11911
|
+
callZomeTransform;
|
|
12338
11912
|
cachedAppInfo;
|
|
12339
11913
|
appInfoRequester;
|
|
12340
11914
|
callZomeRequester;
|
|
11915
|
+
provideMemproofRequester;
|
|
11916
|
+
enableAppRequester;
|
|
12341
11917
|
createCloneCellRequester;
|
|
12342
11918
|
enableCloneCellRequester;
|
|
12343
11919
|
disableCloneCellRequester;
|
|
12344
11920
|
networkInfoRequester;
|
|
12345
|
-
|
|
11921
|
+
getCountersigningSessionStateRequester;
|
|
11922
|
+
abandonCountersigningSessionRequester;
|
|
11923
|
+
publishCountersigningSessionRequester;
|
|
11924
|
+
constructor(client, appInfo, callZomeTransform, defaultTimeout) {
|
|
12346
11925
|
this.client = client;
|
|
12347
11926
|
this.myPubKey = appInfo.agent_pub_key;
|
|
11927
|
+
this.installedAppId = appInfo.installed_app_id;
|
|
12348
11928
|
this.defaultTimeout = defaultTimeout ?? DEFAULT_TIMEOUT;
|
|
11929
|
+
this.callZomeTransform = callZomeTransform ?? defaultCallZomeTransform;
|
|
12349
11930
|
this.emitter = new Emittery();
|
|
12350
11931
|
this.cachedAppInfo = appInfo;
|
|
12351
11932
|
this.appInfoRequester = AppWebsocket.requester(this.client, "app_info", this.defaultTimeout);
|
|
12352
|
-
this.callZomeRequester = AppWebsocket.requester(this.client, "call_zome", this.defaultTimeout, callZomeTransform);
|
|
11933
|
+
this.callZomeRequester = AppWebsocket.requester(this.client, "call_zome", this.defaultTimeout, this.callZomeTransform);
|
|
11934
|
+
this.provideMemproofRequester = AppWebsocket.requester(this.client, "provide_memproofs", this.defaultTimeout);
|
|
11935
|
+
this.enableAppRequester = AppWebsocket.requester(this.client, "enable_app", this.defaultTimeout);
|
|
12353
11936
|
this.createCloneCellRequester = AppWebsocket.requester(this.client, "create_clone_cell", this.defaultTimeout);
|
|
12354
11937
|
this.enableCloneCellRequester = AppWebsocket.requester(this.client, "enable_clone_cell", this.defaultTimeout);
|
|
12355
11938
|
this.disableCloneCellRequester = AppWebsocket.requester(this.client, "disable_clone_cell", this.defaultTimeout);
|
|
12356
11939
|
this.networkInfoRequester = AppWebsocket.requester(this.client, "network_info", this.defaultTimeout);
|
|
11940
|
+
this.getCountersigningSessionStateRequester = AppWebsocket.requester(this.client, "get_countersigning_session_state", this.defaultTimeout);
|
|
11941
|
+
this.abandonCountersigningSessionRequester = AppWebsocket.requester(this.client, "abandon_countersigning_session", this.defaultTimeout);
|
|
11942
|
+
this.publishCountersigningSessionRequester = AppWebsocket.requester(this.client, "publish_countersigning_session", this.defaultTimeout);
|
|
12357
11943
|
Object.getOwnPropertyNames(Emittery.prototype).forEach((name) => {
|
|
12358
11944
|
const to_bind = this.emitter[name];
|
|
12359
11945
|
if (typeof to_bind === "function") {
|
|
@@ -12361,9 +11947,7 @@ class AppWebsocket {
|
|
|
12361
11947
|
}
|
|
12362
11948
|
});
|
|
12363
11949
|
this.client.on("signal", (signal) => {
|
|
12364
|
-
|
|
12365
|
-
this.emitter.emit("signal", signal).catch(console.error);
|
|
12366
|
-
}
|
|
11950
|
+
this.emitter.emit("signal", signal).catch(console.error);
|
|
12367
11951
|
});
|
|
12368
11952
|
}
|
|
12369
11953
|
/**
|
|
@@ -12382,19 +11966,15 @@ class AppWebsocket {
|
|
|
12382
11966
|
throw new HolochainError("ConnectionUrlMissing", `unable to connect to Conductor API - no url provided and not in a launcher environment.`);
|
|
12383
11967
|
}
|
|
12384
11968
|
const client = await WsClient.connect(options.url, options.wsClientOptions);
|
|
12385
|
-
|
|
12386
|
-
|
|
12387
|
-
|
|
12388
|
-
|
|
12389
|
-
|
|
12390
|
-
}
|
|
12391
|
-
await client.authenticate({ token: options.token });
|
|
12392
|
-
}
|
|
12393
|
-
const appInfo = await this.requester(client, "app_info", DEFAULT_TIMEOUT)(null);
|
|
11969
|
+
const token = options.token ?? env?.APP_INTERFACE_TOKEN;
|
|
11970
|
+
if (!token)
|
|
11971
|
+
throw new HolochainError("AppAuthenticationTokenMissing", `unable to connect to Conductor API - no app authentication token provided.`);
|
|
11972
|
+
await client.authenticate({ token });
|
|
11973
|
+
const appInfo = await AppWebsocket.requester(client, "app_info", DEFAULT_TIMEOUT)(null);
|
|
12394
11974
|
if (!appInfo) {
|
|
12395
11975
|
throw new HolochainError("AppNotFound", `The app your connection token was issued for was not found. The app needs to be installed and enabled.`);
|
|
12396
11976
|
}
|
|
12397
|
-
return new AppWebsocket(client, appInfo, options.defaultTimeout);
|
|
11977
|
+
return new AppWebsocket(client, appInfo, options.callZomeTransform, options.defaultTimeout);
|
|
12398
11978
|
}
|
|
12399
11979
|
/**
|
|
12400
11980
|
* Request the app's info, including all cell infos.
|
|
@@ -12410,6 +11990,21 @@ class AppWebsocket {
|
|
|
12410
11990
|
this.cachedAppInfo = appInfo;
|
|
12411
11991
|
return appInfo;
|
|
12412
11992
|
}
|
|
11993
|
+
/**
|
|
11994
|
+
* Provide membrane proofs for the app.
|
|
11995
|
+
*
|
|
11996
|
+
* @param memproofs - A map of {@link MembraneProof}s.
|
|
11997
|
+
*/
|
|
11998
|
+
async provideMemproofs(memproofs) {
|
|
11999
|
+
await this.provideMemproofRequester(memproofs);
|
|
12000
|
+
}
|
|
12001
|
+
/**
|
|
12002
|
+
* Enablie an app only if the app is in the `AppStatus::Disabled(DisabledAppReason::NotStartedAfterProvidingMemproofs)`
|
|
12003
|
+
* state. Attempting to enable the app from other states (other than Running) will fail.
|
|
12004
|
+
*/
|
|
12005
|
+
async enableApp() {
|
|
12006
|
+
await this.enableAppRequester();
|
|
12007
|
+
}
|
|
12413
12008
|
/**
|
|
12414
12009
|
* Get a cell id by its role name or clone id.
|
|
12415
12010
|
*
|
|
@@ -12455,16 +12050,15 @@ class AppWebsocket {
|
|
|
12455
12050
|
if ("role_name" in request && request.role_name) {
|
|
12456
12051
|
const appInfo = this.cachedAppInfo || await this.appInfo();
|
|
12457
12052
|
const cell_id = this.getCellIdFromRoleName(request.role_name, appInfo);
|
|
12458
|
-
|
|
12053
|
+
request = {
|
|
12459
12054
|
...omit(request, "role_name"),
|
|
12460
|
-
|
|
12055
|
+
// Some problem here with the launcher with just the `cell_id`.
|
|
12461
12056
|
cell_id: [cell_id[0], cell_id[1]]
|
|
12462
12057
|
};
|
|
12463
|
-
|
|
12464
|
-
|
|
12465
|
-
return this.callZomeRequester(request, timeout2);
|
|
12058
|
+
} else if (!("cell_id" in request)) {
|
|
12059
|
+
throw new HolochainError("MissingRoleNameOrCellId", "callZome requires a role_name or cell_id argument");
|
|
12466
12060
|
}
|
|
12467
|
-
|
|
12061
|
+
return this.callZomeRequester(request, timeout2);
|
|
12468
12062
|
}
|
|
12469
12063
|
/**
|
|
12470
12064
|
* Clone an existing provisioned cell.
|
|
@@ -12511,6 +12105,90 @@ class AppWebsocket {
|
|
|
12511
12105
|
agent_pub_key: this.myPubKey
|
|
12512
12106
|
});
|
|
12513
12107
|
}
|
|
12108
|
+
/**
|
|
12109
|
+
* Get the state of a countersigning session.
|
|
12110
|
+
*/
|
|
12111
|
+
async getCountersigningSessionState(args) {
|
|
12112
|
+
return this.getCountersigningSessionStateRequester(args);
|
|
12113
|
+
}
|
|
12114
|
+
/**
|
|
12115
|
+
* Abandon an unresolved countersigning session.
|
|
12116
|
+
*
|
|
12117
|
+
* If the current session has not been resolved automatically, it can be forcefully abandoned.
|
|
12118
|
+
* A condition for this call to succeed is that at least one attempt has been made to resolve
|
|
12119
|
+
* it automatically.
|
|
12120
|
+
*
|
|
12121
|
+
* # Returns
|
|
12122
|
+
*
|
|
12123
|
+
* [`AppResponse::CountersigningSessionAbandoned`]
|
|
12124
|
+
*
|
|
12125
|
+
* The session is marked for abandoning and the countersigning workflow was triggered. The session
|
|
12126
|
+
* has not been abandoned yet.
|
|
12127
|
+
*
|
|
12128
|
+
* Upon successful abandoning the system signal [`SystemSignal::AbandonedCountersigning`] will
|
|
12129
|
+
* be emitted and the session removed from state, so that [`AppRequest::GetCountersigningSessionState`]
|
|
12130
|
+
* would return `None`.
|
|
12131
|
+
*
|
|
12132
|
+
* In the countersigning workflow it will first be attempted to resolve the session with incoming
|
|
12133
|
+
* signatures of the countersigned entries, before force-abandoning the session. In a very rare event
|
|
12134
|
+
* it could happen that in just the moment where the [`AppRequest::AbandonCountersigningSession`]
|
|
12135
|
+
* is made, signatures for this session come in. If they are valid, the session will be resolved and
|
|
12136
|
+
* published as usual. Should they be invalid, however, the flag to abandon the session is erased.
|
|
12137
|
+
* In such cases this request can be retried until the session has been abandoned successfully.
|
|
12138
|
+
*
|
|
12139
|
+
* # Errors
|
|
12140
|
+
*
|
|
12141
|
+
* [`CountersigningError::WorkspaceDoesNotExist`] likely indicates that an invalid cell id was
|
|
12142
|
+
* passed in to the call.
|
|
12143
|
+
*
|
|
12144
|
+
* [`CountersigningError::SessionNotFound`] when no ongoing session could be found for the provided
|
|
12145
|
+
* cell id.
|
|
12146
|
+
*
|
|
12147
|
+
* [`CountersigningError::SessionNotUnresolved`] when an attempt to resolve the session
|
|
12148
|
+
* automatically has not been made.
|
|
12149
|
+
*/
|
|
12150
|
+
async abandonCountersigningSession(args) {
|
|
12151
|
+
return this.abandonCountersigningSessionRequester(args);
|
|
12152
|
+
}
|
|
12153
|
+
/**
|
|
12154
|
+
* Publish an unresolved countersigning session.
|
|
12155
|
+
*
|
|
12156
|
+
* If the current session has not been resolved automatically, it can be forcefully published.
|
|
12157
|
+
* A condition for this call to succeed is that at least one attempt has been made to resolve
|
|
12158
|
+
* it automatically.
|
|
12159
|
+
*
|
|
12160
|
+
* # Returns
|
|
12161
|
+
*
|
|
12162
|
+
* [`AppResponse::PublishCountersigningSessionTriggered`]
|
|
12163
|
+
*
|
|
12164
|
+
* The session is marked for publishing and the countersigning workflow was triggered. The session
|
|
12165
|
+
* has not been published yet.
|
|
12166
|
+
*
|
|
12167
|
+
* Upon successful publishing the system signal [`SystemSignal::SuccessfulCountersigning`] will
|
|
12168
|
+
* be emitted and the session removed from state, so that [`AppRequest::GetCountersigningSessionState`]
|
|
12169
|
+
* would return `None`.
|
|
12170
|
+
*
|
|
12171
|
+
* In the countersigning workflow it will first be attempted to resolve the session with incoming
|
|
12172
|
+
* signatures of the countersigned entries, before force-publishing the session. In a very rare event
|
|
12173
|
+
* it could happen that in just the moment where the [`AppRequest::PublishCountersigningSession`]
|
|
12174
|
+
* is made, signatures for this session come in. If they are valid, the session will be resolved and
|
|
12175
|
+
* published as usual. Should they be invalid, however, the flag to publish the session is erased.
|
|
12176
|
+
* In such cases this request can be retried until the session has been published successfully.
|
|
12177
|
+
*
|
|
12178
|
+
* # Errors
|
|
12179
|
+
*
|
|
12180
|
+
* [`CountersigningError::WorkspaceDoesNotExist`] likely indicates that an invalid cell id was
|
|
12181
|
+
* passed in to the call.
|
|
12182
|
+
*
|
|
12183
|
+
* [`CountersigningError::SessionNotFound`] when no ongoing session could be found for the provided
|
|
12184
|
+
* cell id.
|
|
12185
|
+
*
|
|
12186
|
+
* [`CountersigningError::SessionNotUnresolved`] when an attempt to resolve the session
|
|
12187
|
+
* automatically has not been made.
|
|
12188
|
+
*/
|
|
12189
|
+
async publishCountersigningSession(args) {
|
|
12190
|
+
return this.publishCountersigningSessionRequester(args);
|
|
12191
|
+
}
|
|
12514
12192
|
/**
|
|
12515
12193
|
* Register an event listener for signals.
|
|
12516
12194
|
*
|
|
@@ -12524,23 +12202,8 @@ class AppWebsocket {
|
|
|
12524
12202
|
static requester(client, tag, defaultTimeout, transformer) {
|
|
12525
12203
|
return requesterTransformer((req, timeout2) => promiseTimeout(client.request(req), tag, timeout2 || defaultTimeout).then(catchError), tag, transformer);
|
|
12526
12204
|
}
|
|
12527
|
-
containsCell(cellId) {
|
|
12528
|
-
const appInfo = this.cachedAppInfo;
|
|
12529
|
-
if (!appInfo) {
|
|
12530
|
-
return false;
|
|
12531
|
-
}
|
|
12532
|
-
for (const roleName of Object.keys(appInfo.cell_info)) {
|
|
12533
|
-
for (const cellInfo of appInfo.cell_info[roleName]) {
|
|
12534
|
-
const currentCellId = CellType.Provisioned in cellInfo ? cellInfo[CellType.Provisioned].cell_id : CellType.Cloned in cellInfo ? cellInfo[CellType.Cloned].cell_id : void 0;
|
|
12535
|
-
if (currentCellId && isSameCell(currentCellId, cellId)) {
|
|
12536
|
-
return true;
|
|
12537
|
-
}
|
|
12538
|
-
}
|
|
12539
|
-
}
|
|
12540
|
-
return false;
|
|
12541
|
-
}
|
|
12542
12205
|
}
|
|
12543
|
-
const
|
|
12206
|
+
const defaultCallZomeTransform = {
|
|
12544
12207
|
input: async (request) => {
|
|
12545
12208
|
if ("signature" in request) {
|
|
12546
12209
|
return request;
|
|
@@ -12554,13 +12217,12 @@ const callZomeTransform = {
|
|
|
12554
12217
|
},
|
|
12555
12218
|
output: (response) => msgpack.decode(response)
|
|
12556
12219
|
};
|
|
12557
|
-
const isSameCell = (cellId1, cellId2) => cellId1[0].every((byte, index) => byte === cellId2[0][index]) && cellId1[1].every((byte, index) => byte === cellId2[1][index]);
|
|
12558
12220
|
const signZomeCall = async (request) => {
|
|
12559
12221
|
const signingCredentialsForCell = getSigningCredentials(request.cell_id);
|
|
12560
12222
|
if (!signingCredentialsForCell) {
|
|
12561
12223
|
throw new HolochainError("NoSigningCredentialsForCell", `no signing credentials have been authorized for cell [${encodeHashToBase64(request.cell_id[0])}, ${encodeHashToBase64(request.cell_id[1])}]`);
|
|
12562
12224
|
}
|
|
12563
|
-
const
|
|
12225
|
+
const zome_call_params = {
|
|
12564
12226
|
cap_secret: signingCredentialsForCell.capSecret,
|
|
12565
12227
|
cell_id: request.cell_id,
|
|
12566
12228
|
zome_name: request.zome_name,
|
|
@@ -12570,12 +12232,13 @@ const signZomeCall = async (request) => {
|
|
|
12570
12232
|
nonce: await randomNonce(),
|
|
12571
12233
|
expires_at: getNonceExpiration()
|
|
12572
12234
|
};
|
|
12573
|
-
const
|
|
12235
|
+
const bytes = msgpack.encode(zome_call_params);
|
|
12236
|
+
const bytesHash = new Uint8Array(jsSha512.sha512.array(bytes));
|
|
12574
12237
|
await _sodium.ready;
|
|
12575
12238
|
const sodium = _sodium;
|
|
12576
|
-
const signature = sodium.crypto_sign(
|
|
12239
|
+
const signature = sodium.crypto_sign(bytesHash, signingCredentialsForCell.keyPair.privateKey).subarray(0, sodium.crypto_sign_BYTES);
|
|
12577
12240
|
const signedZomeCall = {
|
|
12578
|
-
|
|
12241
|
+
bytes,
|
|
12579
12242
|
signature
|
|
12580
12243
|
};
|
|
12581
12244
|
return signedZomeCall;
|
|
@@ -12586,62 +12249,16 @@ class WsClient extends Emittery {
|
|
|
12586
12249
|
options;
|
|
12587
12250
|
pendingRequests;
|
|
12588
12251
|
index;
|
|
12252
|
+
authenticationToken;
|
|
12589
12253
|
constructor(socket, url2, options) {
|
|
12590
12254
|
super();
|
|
12255
|
+
this.registerMessageListener(socket);
|
|
12256
|
+
this.registerCloseListener(socket);
|
|
12591
12257
|
this.socket = socket;
|
|
12592
12258
|
this.url = url2;
|
|
12593
12259
|
this.options = options || {};
|
|
12594
12260
|
this.pendingRequests = {};
|
|
12595
12261
|
this.index = 0;
|
|
12596
|
-
this.setupSocket();
|
|
12597
|
-
}
|
|
12598
|
-
setupSocket() {
|
|
12599
|
-
this.socket.onmessage = async (serializedMessage) => {
|
|
12600
|
-
let deserializedData;
|
|
12601
|
-
if (globalThis.window && serializedMessage.data instanceof globalThis.window.Blob) {
|
|
12602
|
-
deserializedData = await serializedMessage.data.arrayBuffer();
|
|
12603
|
-
} else {
|
|
12604
|
-
if (typeof Buffer !== "undefined" && Buffer.isBuffer(serializedMessage.data)) {
|
|
12605
|
-
deserializedData = serializedMessage.data;
|
|
12606
|
-
} else {
|
|
12607
|
-
throw new HolochainError("UnknownMessageFormat", `incoming message has unknown message format - ${deserializedData}`);
|
|
12608
|
-
}
|
|
12609
|
-
}
|
|
12610
|
-
const message = msgpack.decode(deserializedData);
|
|
12611
|
-
assertHolochainMessage(message);
|
|
12612
|
-
if (message.type === "signal") {
|
|
12613
|
-
if (message.data === null) {
|
|
12614
|
-
throw new HolochainError("UnknownSignalFormat", "incoming signal has no data");
|
|
12615
|
-
}
|
|
12616
|
-
const deserializedSignal = msgpack.decode(message.data);
|
|
12617
|
-
assertHolochainSignal(deserializedSignal);
|
|
12618
|
-
if (SignalType.System in deserializedSignal) {
|
|
12619
|
-
return;
|
|
12620
|
-
}
|
|
12621
|
-
const encodedAppSignal = deserializedSignal[SignalType.App];
|
|
12622
|
-
const payload = msgpack.decode(encodedAppSignal.signal);
|
|
12623
|
-
const signal = {
|
|
12624
|
-
cell_id: encodedAppSignal.cell_id,
|
|
12625
|
-
zome_name: encodedAppSignal.zome_name,
|
|
12626
|
-
payload
|
|
12627
|
-
};
|
|
12628
|
-
this.emit("signal", signal);
|
|
12629
|
-
} else if (message.type === "response") {
|
|
12630
|
-
this.handleResponse(message);
|
|
12631
|
-
} else {
|
|
12632
|
-
throw new HolochainError("UnknownMessageType", `incoming message has unknown type - ${message.type}`);
|
|
12633
|
-
}
|
|
12634
|
-
};
|
|
12635
|
-
this.socket.onclose = (event) => {
|
|
12636
|
-
const pendingRequestIds = Object.keys(this.pendingRequests).map((id) => parseInt(id));
|
|
12637
|
-
if (pendingRequestIds.length) {
|
|
12638
|
-
pendingRequestIds.forEach((id) => {
|
|
12639
|
-
const error = new HolochainError("ClientClosedWithPendingRequests", `client closed with pending requests - close event code: ${event.code}, request id: ${id}`);
|
|
12640
|
-
this.pendingRequests[id].reject(error);
|
|
12641
|
-
delete this.pendingRequests[id];
|
|
12642
|
-
});
|
|
12643
|
-
}
|
|
12644
|
-
};
|
|
12645
12262
|
}
|
|
12646
12263
|
/**
|
|
12647
12264
|
* Instance factory for creating WsClients.
|
|
@@ -12653,13 +12270,13 @@ class WsClient extends Emittery {
|
|
|
12653
12270
|
static connect(url2, options) {
|
|
12654
12271
|
return new Promise((resolve, reject) => {
|
|
12655
12272
|
const socket = new IsoWebSocket(url2, options);
|
|
12656
|
-
socket.
|
|
12273
|
+
socket.addEventListener("error", (errorEvent) => {
|
|
12657
12274
|
reject(new HolochainError("ConnectionError", `could not connect to Holochain Conductor API at ${url2} - ${errorEvent.error}`));
|
|
12658
|
-
};
|
|
12659
|
-
socket.
|
|
12275
|
+
});
|
|
12276
|
+
socket.addEventListener("open", (_) => {
|
|
12660
12277
|
const client = new WsClient(socket, url2, options);
|
|
12661
12278
|
resolve(client);
|
|
12662
|
-
};
|
|
12279
|
+
}, { once: true });
|
|
12663
12280
|
});
|
|
12664
12281
|
}
|
|
12665
12282
|
/**
|
|
@@ -12682,15 +12299,34 @@ class WsClient extends Emittery {
|
|
|
12682
12299
|
* @param request - The authentication request, containing an app authentication token.
|
|
12683
12300
|
*/
|
|
12684
12301
|
async authenticate(request) {
|
|
12685
|
-
|
|
12302
|
+
this.authenticationToken = request.token;
|
|
12303
|
+
return this.exchange(request, (request2, resolve, reject) => {
|
|
12304
|
+
const invalidTokenCloseListener = (closeEvent) => {
|
|
12305
|
+
this.authenticationToken = void 0;
|
|
12306
|
+
reject(new HolochainError("InvalidTokenError", `could not connect to ${this.url} due to an invalid app authentication token - close code ${closeEvent.code}`));
|
|
12307
|
+
};
|
|
12308
|
+
this.socket.addEventListener("close", invalidTokenCloseListener, {
|
|
12309
|
+
once: true
|
|
12310
|
+
});
|
|
12686
12311
|
const encodedMsg = msgpack.encode({
|
|
12687
12312
|
type: "authenticate",
|
|
12688
12313
|
data: msgpack.encode(request2)
|
|
12689
12314
|
});
|
|
12690
12315
|
this.socket.send(encodedMsg);
|
|
12691
|
-
|
|
12316
|
+
setTimeout(() => {
|
|
12317
|
+
this.socket.removeEventListener("close", invalidTokenCloseListener);
|
|
12318
|
+
resolve(null);
|
|
12319
|
+
}, 10);
|
|
12692
12320
|
});
|
|
12693
12321
|
}
|
|
12322
|
+
/**
|
|
12323
|
+
* Close the websocket connection.
|
|
12324
|
+
*/
|
|
12325
|
+
close(code = 1e3) {
|
|
12326
|
+
const closedPromise = new Promise((resolve) => this.socket.addEventListener("close", (closeEvent) => resolve(closeEvent), { once: true }));
|
|
12327
|
+
this.socket.close(code);
|
|
12328
|
+
return closedPromise;
|
|
12329
|
+
}
|
|
12694
12330
|
/**
|
|
12695
12331
|
* Send requests to the connected websocket.
|
|
12696
12332
|
*
|
|
@@ -12700,14 +12336,20 @@ class WsClient extends Emittery {
|
|
|
12700
12336
|
async request(request) {
|
|
12701
12337
|
return this.exchange(request, this.sendMessage.bind(this));
|
|
12702
12338
|
}
|
|
12703
|
-
exchange(request, sendHandler) {
|
|
12339
|
+
async exchange(request, sendHandler) {
|
|
12704
12340
|
if (this.socket.readyState === this.socket.OPEN) {
|
|
12705
12341
|
const promise2 = new Promise((resolve, reject) => {
|
|
12706
12342
|
sendHandler(request, resolve, reject);
|
|
12707
12343
|
});
|
|
12708
12344
|
return promise2;
|
|
12345
|
+
} else if (this.url && this.authenticationToken) {
|
|
12346
|
+
await this.reconnectWebsocket(this.url, this.authenticationToken);
|
|
12347
|
+
this.registerMessageListener(this.socket);
|
|
12348
|
+
this.registerCloseListener(this.socket);
|
|
12349
|
+
const promise2 = new Promise((resolve, reject) => sendHandler(request, resolve, reject));
|
|
12350
|
+
return promise2;
|
|
12709
12351
|
} else {
|
|
12710
|
-
return Promise.reject(new
|
|
12352
|
+
return Promise.reject(new HolochainError("WebsocketClosedError", "Websocket is not open"));
|
|
12711
12353
|
}
|
|
12712
12354
|
}
|
|
12713
12355
|
sendMessage(request, resolve, reject) {
|
|
@@ -12721,6 +12363,86 @@ class WsClient extends Emittery {
|
|
|
12721
12363
|
this.pendingRequests[id] = { resolve, reject };
|
|
12722
12364
|
this.index += 1;
|
|
12723
12365
|
}
|
|
12366
|
+
registerMessageListener(socket) {
|
|
12367
|
+
socket.onmessage = async (serializedMessage) => {
|
|
12368
|
+
let deserializedData;
|
|
12369
|
+
if (globalThis.window && serializedMessage.data instanceof globalThis.window.Blob) {
|
|
12370
|
+
deserializedData = await serializedMessage.data.arrayBuffer();
|
|
12371
|
+
} else {
|
|
12372
|
+
if (typeof Buffer !== "undefined" && Buffer.isBuffer(serializedMessage.data)) {
|
|
12373
|
+
deserializedData = serializedMessage.data;
|
|
12374
|
+
} else {
|
|
12375
|
+
throw new HolochainError("UnknownMessageFormat", `incoming message has unknown message format - ${deserializedData}`);
|
|
12376
|
+
}
|
|
12377
|
+
}
|
|
12378
|
+
const message = msgpack.decode(deserializedData);
|
|
12379
|
+
assertHolochainMessage(message);
|
|
12380
|
+
if (message.type === "signal") {
|
|
12381
|
+
if (message.data === null) {
|
|
12382
|
+
throw new HolochainError("UnknownSignalFormat", "incoming signal has no data");
|
|
12383
|
+
}
|
|
12384
|
+
const deserializedSignal = msgpack.decode(message.data);
|
|
12385
|
+
assertHolochainSignal(deserializedSignal);
|
|
12386
|
+
if (SignalType.System in deserializedSignal) {
|
|
12387
|
+
this.emit("signal", {
|
|
12388
|
+
System: deserializedSignal[SignalType.System]
|
|
12389
|
+
});
|
|
12390
|
+
} else {
|
|
12391
|
+
const encodedAppSignal = deserializedSignal[SignalType.App];
|
|
12392
|
+
const payload = msgpack.decode(encodedAppSignal.signal);
|
|
12393
|
+
const signal = {
|
|
12394
|
+
cell_id: encodedAppSignal.cell_id,
|
|
12395
|
+
zome_name: encodedAppSignal.zome_name,
|
|
12396
|
+
payload
|
|
12397
|
+
};
|
|
12398
|
+
this.emit("signal", { App: signal });
|
|
12399
|
+
}
|
|
12400
|
+
} else if (message.type === "response") {
|
|
12401
|
+
this.handleResponse(message);
|
|
12402
|
+
} else {
|
|
12403
|
+
throw new HolochainError("UnknownMessageType", `incoming message has unknown type - ${message.type}`);
|
|
12404
|
+
}
|
|
12405
|
+
};
|
|
12406
|
+
}
|
|
12407
|
+
registerCloseListener(socket) {
|
|
12408
|
+
socket.addEventListener("close", (closeEvent) => {
|
|
12409
|
+
const pendingRequestIds = Object.keys(this.pendingRequests).map((id) => parseInt(id));
|
|
12410
|
+
if (pendingRequestIds.length) {
|
|
12411
|
+
pendingRequestIds.forEach((id) => {
|
|
12412
|
+
const error = new HolochainError("ClientClosedWithPendingRequests", `client closed with pending requests - close event code: ${closeEvent.code}, request id: ${id}`);
|
|
12413
|
+
this.pendingRequests[id].reject(error);
|
|
12414
|
+
delete this.pendingRequests[id];
|
|
12415
|
+
});
|
|
12416
|
+
}
|
|
12417
|
+
}, { once: true });
|
|
12418
|
+
}
|
|
12419
|
+
async reconnectWebsocket(url2, token) {
|
|
12420
|
+
return new Promise((resolve, reject) => {
|
|
12421
|
+
this.socket = new IsoWebSocket(url2, this.options);
|
|
12422
|
+
this.socket.addEventListener("error", (errorEvent) => {
|
|
12423
|
+
this.authenticationToken = void 0;
|
|
12424
|
+
reject(new HolochainError("ConnectionError", `could not connect to Holochain Conductor API at ${url2} - ${errorEvent.message}`));
|
|
12425
|
+
}, { once: true });
|
|
12426
|
+
const invalidTokenCloseListener = (closeEvent) => {
|
|
12427
|
+
this.authenticationToken = void 0;
|
|
12428
|
+
reject(new HolochainError("InvalidTokenError", `could not connect to ${this.url} due to an invalid app authentication token - close code ${closeEvent.code}`));
|
|
12429
|
+
};
|
|
12430
|
+
this.socket.addEventListener("close", invalidTokenCloseListener, {
|
|
12431
|
+
once: true
|
|
12432
|
+
});
|
|
12433
|
+
this.socket.addEventListener("open", async (_) => {
|
|
12434
|
+
const encodedMsg = msgpack.encode({
|
|
12435
|
+
type: "authenticate",
|
|
12436
|
+
data: msgpack.encode({ token })
|
|
12437
|
+
});
|
|
12438
|
+
this.socket.send(encodedMsg);
|
|
12439
|
+
setTimeout(() => {
|
|
12440
|
+
this.socket.removeEventListener("close", invalidTokenCloseListener);
|
|
12441
|
+
resolve();
|
|
12442
|
+
}, 10);
|
|
12443
|
+
}, { once: true });
|
|
12444
|
+
});
|
|
12445
|
+
}
|
|
12724
12446
|
handleResponse(msg) {
|
|
12725
12447
|
const id = msg.id;
|
|
12726
12448
|
if (this.pendingRequests[id]) {
|
|
@@ -12734,22 +12456,6 @@ class WsClient extends Emittery {
|
|
|
12734
12456
|
console.error(`got response with no matching request. id = ${id} msg = ${msg}`);
|
|
12735
12457
|
}
|
|
12736
12458
|
}
|
|
12737
|
-
/**
|
|
12738
|
-
* Close the websocket connection.
|
|
12739
|
-
*/
|
|
12740
|
-
close(code = 1e3) {
|
|
12741
|
-
const closedPromise = new Promise(
|
|
12742
|
-
(resolve) => (
|
|
12743
|
-
// for an unknown reason "addEventListener" is seen as a non-callable
|
|
12744
|
-
// property and gives a ts2349 error
|
|
12745
|
-
// type assertion as workaround
|
|
12746
|
-
this.socket.addEventListener("close", (event) => resolve(event))
|
|
12747
|
-
)
|
|
12748
|
-
// }
|
|
12749
|
-
);
|
|
12750
|
-
this.socket.close(code);
|
|
12751
|
-
return closedPromise;
|
|
12752
|
-
}
|
|
12753
12459
|
}
|
|
12754
12460
|
function assertHolochainMessage(message) {
|
|
12755
12461
|
if (typeof message === "object" && message !== null && "type" in message && "data" in message) {
|
|
@@ -12821,6 +12527,10 @@ class AdminWebsocket {
|
|
|
12821
12527
|
* Generate a new agent pub key.
|
|
12822
12528
|
*/
|
|
12823
12529
|
generateAgentPubKey = this._requester("generate_agent_pub_key");
|
|
12530
|
+
/**
|
|
12531
|
+
* Generate a new agent pub key.
|
|
12532
|
+
*/
|
|
12533
|
+
revokeAgentKey = this._requester("revoke_agent_key");
|
|
12824
12534
|
/**
|
|
12825
12535
|
* Register a DNA for later app installation.
|
|
12826
12536
|
*
|
|
@@ -12831,6 +12541,9 @@ class AdminWebsocket {
|
|
|
12831
12541
|
* Get the DNA definition for the specified DNA hash.
|
|
12832
12542
|
*/
|
|
12833
12543
|
getDnaDefinition = this._requester("get_dna_definition");
|
|
12544
|
+
/// Find installed cells which use a DNA that's forward-compatible with the given DNA hash.
|
|
12545
|
+
/// Namely, this finds cells with DNAs whose manifest lists the given DNA hash in its `lineage` field.
|
|
12546
|
+
getCompatibleCells = this._requester("get_compatible_cells");
|
|
12834
12547
|
/**
|
|
12835
12548
|
* Uninstall the specified app from Holochain.
|
|
12836
12549
|
*/
|
|
@@ -13091,39 +12804,32 @@ contextMenu({
|
|
|
13091
12804
|
});
|
|
13092
12805
|
const handleSignZomeCall = async (e, request) => {
|
|
13093
12806
|
const windowInfo = WINDOW_INFO_MAP[e.sender.id];
|
|
12807
|
+
if (!request.provenance)
|
|
12808
|
+
return Promise.reject(
|
|
12809
|
+
"Call zome request has provenance field not set. This should be set by the js-client."
|
|
12810
|
+
);
|
|
13094
12811
|
if (request.provenance.toString() !== Array.from(windowInfo.agentPubKey).toString())
|
|
13095
12812
|
return Promise.reject("Agent public key unauthorized.");
|
|
13096
|
-
const
|
|
13097
|
-
|
|
13098
|
-
|
|
13099
|
-
|
|
13100
|
-
|
|
13101
|
-
|
|
13102
|
-
nonce:
|
|
13103
|
-
|
|
12813
|
+
const zomeCallToSign = {
|
|
12814
|
+
cell_id: request.cell_id,
|
|
12815
|
+
zome_name: request.zome_name,
|
|
12816
|
+
fn_name: request.fn_name,
|
|
12817
|
+
payload: msgpack.encode(request.payload),
|
|
12818
|
+
provenance: request.provenance,
|
|
12819
|
+
nonce: await randomNonce(),
|
|
12820
|
+
expires_at: getNonceExpiration()
|
|
13104
12821
|
};
|
|
13105
|
-
const
|
|
13106
|
-
const
|
|
13107
|
-
|
|
13108
|
-
|
|
13109
|
-
|
|
13110
|
-
|
|
13111
|
-
|
|
13112
|
-
|
|
13113
|
-
|
|
13114
|
-
fn_name: zomeCallSignedNapi.fnName,
|
|
13115
|
-
payload: Uint8Array.from(zomeCallSignedNapi.payload),
|
|
13116
|
-
signature: Uint8Array.from(zomeCallSignedNapi.signature),
|
|
13117
|
-
expires_at: zomeCallSignedNapi.expiresAt,
|
|
13118
|
-
nonce: Uint8Array.from(zomeCallSignedNapi.nonce)
|
|
12822
|
+
const zomeCallBytes = msgpack.encode(zomeCallToSign);
|
|
12823
|
+
const bytesHash = jsSha512.sha512.array(zomeCallBytes);
|
|
12824
|
+
const signature = await windowInfo.zomeCallSigner.signZomeCall(
|
|
12825
|
+
bytesHash,
|
|
12826
|
+
Array.from(request.provenance)
|
|
12827
|
+
);
|
|
12828
|
+
const signedZomeCall = {
|
|
12829
|
+
bytes: zomeCallBytes,
|
|
12830
|
+
signature: Uint8Array.from(signature)
|
|
13119
12831
|
};
|
|
13120
|
-
return
|
|
13121
|
-
};
|
|
13122
|
-
const handleSignZomeCallLegacy = async (e, request) => {
|
|
13123
|
-
const windowInfo = WINDOW_INFO_MAP[e.sender.id];
|
|
13124
|
-
if (request.provenance.toString() !== Array.from(windowInfo.agentPubKey).toString())
|
|
13125
|
-
return Promise.reject("Agent public key unauthorized.");
|
|
13126
|
-
return windowInfo.zomeCallSigner.signZomeCall(request);
|
|
12832
|
+
return signedZomeCall;
|
|
13127
12833
|
};
|
|
13128
12834
|
async function startLocalServices() {
|
|
13129
12835
|
const localServicesHandle = childProcess__namespace.spawn("hc", ["run-local-services"]);
|
|
@@ -13209,7 +12915,6 @@ async function spawnSandboxes(nAgents, happPath, bootStrapUrl, signalUrl, appId,
|
|
|
13209
12915
|
}
|
|
13210
12916
|
electron.app.whenReady().then(async () => {
|
|
13211
12917
|
electron.ipcMain.handle("sign-zome-call", handleSignZomeCall);
|
|
13212
|
-
electron.ipcMain.handle("sign-zome-call-legacy", handleSignZomeCallLegacy);
|
|
13213
12918
|
let happTargetDir;
|
|
13214
12919
|
if (CLI_OPTS.happOrWebhappPath.type === "webhapp") {
|
|
13215
12920
|
happTargetDir = path.join(DATA_ROOT_DIR, "apps", CLI_OPTS.appId);
|