@ermis-network/ermis-chat-sdk 2.0.0 → 2.0.1

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.
Files changed (54) hide show
  1. package/README.md +330 -0
  2. package/dist/encryption/index.browser.cjs +13045 -0
  3. package/dist/encryption/index.browser.cjs.map +1 -0
  4. package/dist/encryption/index.browser.mjs +12959 -0
  5. package/dist/encryption/index.browser.mjs.map +1 -0
  6. package/dist/encryption/index.cjs +13045 -0
  7. package/dist/encryption/index.cjs.map +1 -0
  8. package/dist/encryption/index.d.mts +3 -0
  9. package/dist/encryption/index.d.ts +3 -0
  10. package/dist/encryption/index.mjs +12959 -0
  11. package/dist/encryption/index.mjs.map +1 -0
  12. package/dist/index-CcvHIY5q.d.mts +4988 -0
  13. package/dist/index-CcvHIY5q.d.ts +4988 -0
  14. package/dist/index.browser.cjs +20192 -5766
  15. package/dist/index.browser.cjs.map +1 -1
  16. package/dist/index.browser.full-bundle.min.js +20 -16
  17. package/dist/index.browser.full-bundle.min.js.map +1 -1
  18. package/dist/index.browser.mjs +20106 -5731
  19. package/dist/index.browser.mjs.map +1 -1
  20. package/dist/index.cjs +20191 -5765
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.mts +15 -1337
  23. package/dist/index.d.ts +15 -1337
  24. package/dist/index.mjs +20106 -5731
  25. package/dist/index.mjs.map +1 -1
  26. package/dist/wasm_worker.worker.mjs +8 -4
  27. package/dist/wasm_worker.worker.mjs.map +1 -1
  28. package/package.json +21 -6
  29. package/public/e2ee-media-stream-worker.js +627 -0
  30. package/public/openmls_wasm_bg.wasm +0 -0
  31. package/src/attachment_utils.ts +0 -148
  32. package/src/auth.ts +0 -352
  33. package/src/channel.ts +0 -1879
  34. package/src/channel_state.ts +0 -612
  35. package/src/client.ts +0 -1759
  36. package/src/client_state.ts +0 -55
  37. package/src/connection.ts +0 -587
  38. package/src/ermis_call_node.ts +0 -1046
  39. package/src/errors.ts +0 -60
  40. package/src/events.ts +0 -46
  41. package/src/hevc_decoder_config.ts +0 -305
  42. package/src/index.ts +0 -17
  43. package/src/media_stream_receiver.ts +0 -593
  44. package/src/media_stream_sender.ts +0 -465
  45. package/src/shims/empty.ts +0 -1
  46. package/src/signal_message.ts +0 -171
  47. package/src/system_message.ts +0 -259
  48. package/src/token_manager.ts +0 -48
  49. package/src/types.ts +0 -594
  50. package/src/utils.ts +0 -553
  51. package/src/wasm/ermis_call_node_wasm.d.ts +0 -156
  52. package/src/wasm/ermis_call_node_wasm.js +0 -1568
  53. package/src/wasm_worker.ts +0 -219
  54. package/src/wasm_worker_proxy.ts +0 -244
@@ -728,7 +728,8 @@ async function __wbg_load(module2, imports) {
728
728
  } catch (e) {
729
729
  const validResponse = module2.ok && EXPECTED_RESPONSE_TYPES.has(module2.type);
730
730
  if (validResponse && module2.headers.get("Content-Type") !== "application/wasm") {
731
- console.warn(
731
+ globalThis.__ermisSdkLog?.(
732
+ "warn",
732
733
  "`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",
733
734
  e
734
735
  );
@@ -1033,7 +1034,7 @@ function __wbg_get_imports() {
1033
1034
  return ret;
1034
1035
  };
1035
1036
  imports.wbg.__wbg_log_ee0138cca4957740 = function(arg0, arg1) {
1036
- console.log(getStringFromWasm0(arg0, arg1));
1037
+ globalThis.__ermisSdkLog?.("info", getStringFromWasm0(arg0, arg1));
1037
1038
  };
1038
1039
  imports.wbg.__wbg_message_bd42dbe3f2f3ed8e = function(arg0, arg1) {
1039
1040
  const ret = getObject(arg1).message;
@@ -1412,7 +1413,7 @@ function initSync(module2) {
1412
1413
  if (Object.getPrototypeOf(module2) === Object.prototype) {
1413
1414
  ({ module: module2 } = module2);
1414
1415
  } else {
1415
- console.warn("using deprecated parameters for `initSync()`; pass a single object instead");
1416
+ globalThis.__ermisSdkLog?.("warn", "using deprecated parameters for `initSync()`; pass a single object instead");
1416
1417
  }
1417
1418
  }
1418
1419
  const imports = __wbg_get_imports();
@@ -1428,7 +1429,7 @@ async function __wbg_init(module_or_path) {
1428
1429
  if (Object.getPrototypeOf(module_or_path) === Object.prototype) {
1429
1430
  ({ module_or_path } = module_or_path);
1430
1431
  } else {
1431
- console.warn("using deprecated parameters for the initialization function; pass a single object instead");
1432
+ globalThis.__ermisSdkLog?.("warn", "using deprecated parameters for the initialization function; pass a single object instead");
1432
1433
  }
1433
1434
  }
1434
1435
  if (typeof module_or_path === "undefined") {
@@ -1443,6 +1444,9 @@ async function __wbg_init(module_or_path) {
1443
1444
  }
1444
1445
 
1445
1446
  // src/wasm_worker.ts
1447
+ globalThis.__ermisSdkLog = (logLevel, ...args) => {
1448
+ self.postMessage({ type: "sdk_log", logLevel, args });
1449
+ };
1446
1450
  var ermisCall = null;
1447
1451
  var isRecvActive = false;
1448
1452
  function sendResult(id, data) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/wasm/ermis_call_node_wasm.js","../src/wasm_worker.ts"],"sourcesContent":["let wasm;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n\tif (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n\t\tcachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n\t}\n\treturn cachedUint8ArrayMemory0;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n\tnumBytesDecoded += len;\n\tif (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n\t\tcachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\t\tcachedTextDecoder.decode();\n\t\tnumBytesDecoded = len;\n\t}\n\treturn cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nfunction getStringFromWasm0(ptr, len) {\n\tptr = ptr >>> 0;\n\treturn decodeText(ptr, len);\n}\n\nlet heap = new Array(128).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction addHeapObject(obj) {\n\tif (heap_next === heap.length) heap.push(heap.length + 1);\n\tconst idx = heap_next;\n\theap_next = heap[idx];\n\n\theap[idx] = obj;\n\treturn idx;\n}\n\nfunction getObject(idx) {\n\treturn heap[idx];\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n\tcachedTextEncoder.encodeInto = function (arg, view) {\n\t\tconst buf = cachedTextEncoder.encode(arg);\n\t\tview.set(buf);\n\t\treturn {\n\t\t\tread: arg.length,\n\t\t\twritten: buf.length,\n\t\t};\n\t};\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\tif (realloc === undefined) {\n\t\tconst buf = cachedTextEncoder.encode(arg);\n\t\tconst ptr = malloc(buf.length, 1) >>> 0;\n\t\tgetUint8ArrayMemory0()\n\t\t\t.subarray(ptr, ptr + buf.length)\n\t\t\t.set(buf);\n\t\tWASM_VECTOR_LEN = buf.length;\n\t\treturn ptr;\n\t}\n\n\tlet len = arg.length;\n\tlet ptr = malloc(len, 1) >>> 0;\n\n\tconst mem = getUint8ArrayMemory0();\n\n\tlet offset = 0;\n\n\tfor (; offset < len; offset++) {\n\t\tconst code = arg.charCodeAt(offset);\n\t\tif (code > 0x7f) break;\n\t\tmem[ptr + offset] = code;\n\t}\n\n\tif (offset !== len) {\n\t\tif (offset !== 0) {\n\t\t\targ = arg.slice(offset);\n\t\t}\n\t\tptr = realloc(ptr, len, (len = offset + arg.length * 3), 1) >>> 0;\n\t\tconst view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n\t\tconst ret = cachedTextEncoder.encodeInto(arg, view);\n\n\t\toffset += ret.written;\n\t\tptr = realloc(ptr, len, offset, 1) >>> 0;\n\t}\n\n\tWASM_VECTOR_LEN = offset;\n\treturn ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n\tif (\n\t\tcachedDataViewMemory0 === null ||\n\t\tcachedDataViewMemory0.buffer.detached === true ||\n\t\t(cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)\n\t) {\n\t\tcachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n\t}\n\treturn cachedDataViewMemory0;\n}\n\nfunction isLikeNone(x) {\n\treturn x === undefined || x === null;\n}\n\nfunction debugString(val) {\n\t// primitive types\n\tconst type = typeof val;\n\tif (type == 'number' || type == 'boolean' || val == null) {\n\t\treturn `${val}`;\n\t}\n\tif (type == 'string') {\n\t\treturn `\"${val}\"`;\n\t}\n\tif (type == 'symbol') {\n\t\tconst description = val.description;\n\t\tif (description == null) {\n\t\t\treturn 'Symbol';\n\t\t} else {\n\t\t\treturn `Symbol(${description})`;\n\t\t}\n\t}\n\tif (type == 'function') {\n\t\tconst name = val.name;\n\t\tif (typeof name == 'string' && name.length > 0) {\n\t\t\treturn `Function(${name})`;\n\t\t} else {\n\t\t\treturn 'Function';\n\t\t}\n\t}\n\t// objects\n\tif (Array.isArray(val)) {\n\t\tconst length = val.length;\n\t\tlet debug = '[';\n\t\tif (length > 0) {\n\t\t\tdebug += debugString(val[0]);\n\t\t}\n\t\tfor (let i = 1; i < length; i++) {\n\t\t\tdebug += ', ' + debugString(val[i]);\n\t\t}\n\t\tdebug += ']';\n\t\treturn debug;\n\t}\n\t// Test for built-in\n\tconst builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n\tlet className;\n\tif (builtInMatches && builtInMatches.length > 1) {\n\t\tclassName = builtInMatches[1];\n\t} else {\n\t\t// Failed to match the standard '[object ClassName]'\n\t\treturn toString.call(val);\n\t}\n\tif (className == 'Object') {\n\t\t// we're a user defined class or Object\n\t\t// JSON.stringify avoids problems with cycles, and is generally much\n\t\t// easier than looping through ownProperties of `val`.\n\t\ttry {\n\t\t\treturn 'Object(' + JSON.stringify(val) + ')';\n\t\t} catch (_) {\n\t\t\treturn 'Object';\n\t\t}\n\t}\n\t// errors\n\tif (val instanceof Error) {\n\t\treturn `${val.name}: ${val.message}\\n${val.stack}`;\n\t}\n\t// TODO we could test for more things here, like `Set`s and `Map`s.\n\treturn className;\n}\n\nfunction handleError(f, args) {\n\ttry {\n\t\treturn f.apply(this, args);\n\t} catch (e) {\n\t\twasm.__wbindgen_export3(addHeapObject(e));\n\t}\n}\n\nfunction dropObject(idx) {\n\tif (idx < 132) return;\n\theap[idx] = heap_next;\n\theap_next = idx;\n}\n\nfunction takeObject(idx) {\n\tconst ret = getObject(idx);\n\tdropObject(idx);\n\treturn ret;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n\tptr = ptr >>> 0;\n\treturn getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nconst CLOSURE_DTORS =\n\ttypeof FinalizationRegistry === 'undefined'\n\t\t? { register: () => {}, unregister: () => {} }\n\t\t: new FinalizationRegistry((state) => state.dtor(state.a, state.b));\n\nfunction makeMutClosure(arg0, arg1, dtor, f) {\n\tconst state = { a: arg0, b: arg1, cnt: 1, dtor };\n\tconst real = (...args) => {\n\t\t// First up with a closure we increment the internal reference\n\t\t// count. This ensures that the Rust closure environment won't\n\t\t// be deallocated while we're invoking it.\n\t\tstate.cnt++;\n\t\tconst a = state.a;\n\t\tstate.a = 0;\n\t\ttry {\n\t\t\treturn f(a, state.b, ...args);\n\t\t} finally {\n\t\t\tstate.a = a;\n\t\t\treal._wbg_cb_unref();\n\t\t}\n\t};\n\treal._wbg_cb_unref = () => {\n\t\tif (--state.cnt === 0) {\n\t\t\tstate.dtor(state.a, state.b);\n\t\t\tstate.a = 0;\n\t\t\tCLOSURE_DTORS.unregister(state);\n\t\t}\n\t};\n\tCLOSURE_DTORS.register(real, state, state);\n\treturn real;\n}\n\nfunction makeClosure(arg0, arg1, dtor, f) {\n\tconst state = { a: arg0, b: arg1, cnt: 1, dtor };\n\tconst real = (...args) => {\n\t\t// First up with a closure we increment the internal reference\n\t\t// count. This ensures that the Rust closure environment won't\n\t\t// be deallocated while we're invoking it.\n\t\tstate.cnt++;\n\t\ttry {\n\t\t\treturn f(state.a, state.b, ...args);\n\t\t} finally {\n\t\t\treal._wbg_cb_unref();\n\t\t}\n\t};\n\treal._wbg_cb_unref = () => {\n\t\tif (--state.cnt === 0) {\n\t\t\tstate.dtor(state.a, state.b);\n\t\t\tstate.a = 0;\n\t\t\tCLOSURE_DTORS.unregister(state);\n\t\t}\n\t};\n\tCLOSURE_DTORS.register(real, state, state);\n\treturn real;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n\tconst ptr = malloc(arg.length * 1, 1) >>> 0;\n\tgetUint8ArrayMemory0().set(arg, ptr / 1);\n\tWASM_VECTOR_LEN = arg.length;\n\treturn ptr;\n}\nfunction __wasm_bindgen_func_elem_12594(arg0, arg1) {\n\twasm.__wasm_bindgen_func_elem_12594(arg0, arg1);\n}\n\nfunction __wasm_bindgen_func_elem_11460(arg0, arg1, arg2) {\n\twasm.__wasm_bindgen_func_elem_11460(arg0, arg1, addHeapObject(arg2));\n}\n\nfunction __wasm_bindgen_func_elem_5633(arg0, arg1) {\n\twasm.__wasm_bindgen_func_elem_5633(arg0, arg1);\n}\n\nfunction __wasm_bindgen_func_elem_2279(arg0, arg1, arg2) {\n\twasm.__wasm_bindgen_func_elem_2279(arg0, arg1, addHeapObject(arg2));\n}\n\nfunction __wasm_bindgen_func_elem_12647(arg0, arg1, arg2) {\n\twasm.__wasm_bindgen_func_elem_12647(arg0, arg1, addHeapObject(arg2));\n}\n\nfunction __wasm_bindgen_func_elem_6078(arg0, arg1) {\n\twasm.__wasm_bindgen_func_elem_6078(arg0, arg1);\n}\n\nfunction __wasm_bindgen_func_elem_14072(arg0, arg1, arg2, arg3) {\n\twasm.__wasm_bindgen_func_elem_14072(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));\n}\n\nconst __wbindgen_enum_BinaryType = ['blob', 'arraybuffer'];\n\nconst __wbindgen_enum_ReadableStreamType = ['bytes'];\n\nconst __wbindgen_enum_RequestCache = ['default', 'no-store', 'reload', 'no-cache', 'force-cache', 'only-if-cached'];\n\nconst __wbindgen_enum_RequestCredentials = ['omit', 'same-origin', 'include'];\n\nconst __wbindgen_enum_RequestMode = ['same-origin', 'no-cors', 'cors', 'navigate'];\n\nconst ConnectionStatsFinalization =\n\ttypeof FinalizationRegistry === 'undefined'\n\t\t? { register: () => {}, unregister: () => {} }\n\t\t: new FinalizationRegistry((ptr) => wasm.__wbg_connectionstats_free(ptr >>> 0, 1));\n\nexport class ConnectionStats {\n\t__destroy_into_raw() {\n\t\tconst ptr = this.__wbg_ptr;\n\t\tthis.__wbg_ptr = 0;\n\t\tConnectionStatsFinalization.unregister(this);\n\t\treturn ptr;\n\t}\n\n\tfree() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.__wbg_connectionstats_free(ptr, 0);\n\t}\n\t/**\n\t * @returns {string | undefined}\n\t */\n\tget connection_type() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.connectionstats_connection_type(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tlet v1;\n\t\t\tif (r0 !== 0) {\n\t\t\t\tv1 = getStringFromWasm0(r0, r1).slice();\n\t\t\t\twasm.__wbindgen_export4(r0, r1 * 1, 1);\n\t\t\t}\n\t\t\treturn v1;\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @param {string | null} [value]\n\t */\n\tset connection_type(value) {\n\t\tvar ptr0 = isLikeNone(value) ? 0 : passStringToWasm0(value, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tvar len0 = WASM_VECTOR_LEN;\n\t\twasm.connectionstats_set_connection_type(this.__wbg_ptr, ptr0, len0);\n\t}\n\t/**\n\t * @param {string | null} [connection_type]\n\t * @param {number | null} [rtt_ms]\n\t * @param {number | null} [packet_loss]\n\t */\n\tconstructor(connection_type, rtt_ms, packet_loss) {\n\t\tvar ptr0 = isLikeNone(connection_type)\n\t\t\t? 0\n\t\t\t: passStringToWasm0(connection_type, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tvar len0 = WASM_VECTOR_LEN;\n\t\tconst ret = wasm.connectionstats_new(\n\t\t\tptr0,\n\t\t\tlen0,\n\t\t\t!isLikeNone(rtt_ms),\n\t\t\tisLikeNone(rtt_ms) ? 0 : rtt_ms,\n\t\t\t!isLikeNone(packet_loss),\n\t\t\tisLikeNone(packet_loss) ? 0 : packet_loss,\n\t\t);\n\t\tthis.__wbg_ptr = ret >>> 0;\n\t\tConnectionStatsFinalization.register(this, this.__wbg_ptr, this);\n\t\treturn this;\n\t}\n\t/**\n\t * @returns {number | undefined}\n\t */\n\tget rtt_ms() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.__wbg_get_connectionstats_rtt_ms(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);\n\t\t\treturn r0 === 0 ? undefined : r2;\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @param {number | null} [arg0]\n\t */\n\tset rtt_ms(arg0) {\n\t\twasm.__wbg_set_connectionstats_rtt_ms(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n\t}\n\t/**\n\t * @returns {number | undefined}\n\t */\n\tget packet_loss() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.__wbg_get_connectionstats_packet_loss(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);\n\t\t\treturn r0 === 0 ? undefined : r2;\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @param {number | null} [arg0]\n\t */\n\tset packet_loss(arg0) {\n\t\twasm.__wbg_set_connectionstats_packet_loss(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n\t}\n}\nif (Symbol.dispose) ConnectionStats.prototype[Symbol.dispose] = ConnectionStats.prototype.free;\n\nconst ErmisCallFinalization =\n\ttypeof FinalizationRegistry === 'undefined'\n\t\t? { register: () => {}, unregister: () => {} }\n\t\t: new FinalizationRegistry((ptr) => wasm.__wbg_ermiscall_free(ptr >>> 0, 1));\n\nexport class ErmisCall {\n\t__destroy_into_raw() {\n\t\tconst ptr = this.__wbg_ptr;\n\t\tthis.__wbg_ptr = 0;\n\t\tErmisCallFinalization.unregister(this);\n\t\treturn ptr;\n\t}\n\n\tfree() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.__wbg_ermiscall_free(ptr, 0);\n\t}\n\t/**\n\t * @returns {Promise<Uint8Array>}\n\t */\n\tasyncRecv() {\n\t\tconst ret = wasm.ermiscall_asyncRecv(this.__wbg_ptr);\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @param {Uint8Array} data\n\t */\n\tsendFrame(data) {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\tconst ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export);\n\t\t\tconst len0 = WASM_VECTOR_LEN;\n\t\t\twasm.ermiscall_sendFrame(retptr, this.__wbg_ptr, ptr0, len0);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tif (r1) {\n\t\t\t\tthrow takeObject(r0);\n\t\t\t}\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @param {Uint8Array} data\n\t */\n\tbeginWithGop(data) {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\tconst ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export);\n\t\t\tconst len0 = WASM_VECTOR_LEN;\n\t\t\twasm.ermiscall_beginWithGop(retptr, this.__wbg_ptr, ptr0, len0);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tif (r1) {\n\t\t\t\tthrow takeObject(r0);\n\t\t\t}\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @returns {Promise<void>}\n\t */\n\tcloseEndpoint() {\n\t\tconst ret = wasm.ermiscall_closeEndpoint(this.__wbg_ptr);\n\t\treturn takeObject(ret);\n\t}\n\tnetworkChange() {\n\t\twasm.ermiscall_networkChange(this.__wbg_ptr);\n\t}\n\tnotifyNewGop() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_notifyNewGop(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tif (r1) {\n\t\t\t\tthrow takeObject(r0);\n\t\t\t}\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @returns {string | undefined}\n\t */\n\tconnectionType() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_connectionType(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tlet v1;\n\t\t\tif (r0 !== 0) {\n\t\t\t\tv1 = getStringFromWasm0(r0, r1).slice();\n\t\t\t\twasm.__wbindgen_export4(r0, r1 * 1, 1);\n\t\t\t}\n\t\t\treturn v1;\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @returns {number | undefined}\n\t */\n\troundTripTime() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_roundTripTime(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);\n\t\t\treturn r0 === 0 ? undefined : r2;\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\tcloseConnection() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_closeConnection(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tif (r1) {\n\t\t\t\tthrow takeObject(r0);\n\t\t\t}\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @param {Uint8Array} data\n\t */\n\tsendAudioFrame(data) {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\tconst ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export);\n\t\t\tconst len0 = WASM_VECTOR_LEN;\n\t\t\twasm.ermiscall_sendAudioFrame(retptr, this.__wbg_ptr, ptr0, len0);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tif (r1) {\n\t\t\t\tthrow takeObject(r0);\n\t\t\t}\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @returns {Promise<void>}\n\t */\n\tacceptConnection() {\n\t\tconst ret = wasm.ermiscall_acceptConnection(this.__wbg_ptr);\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @param {Uint8Array} data\n\t */\n\tsendControlFrame(data) {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\tconst ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export);\n\t\t\tconst len0 = WASM_VECTOR_LEN;\n\t\t\twasm.ermiscall_sendControlFrame(retptr, this.__wbg_ptr, ptr0, len0);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tif (r1) {\n\t\t\t\tthrow takeObject(r0);\n\t\t\t}\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @returns {number | undefined}\n\t */\n\tcurrentPacketLoss() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_currentPacketLoss(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);\n\t\t\treturn r0 === 0 ? undefined : r2;\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @returns {Promise<string>}\n\t */\n\tgetLocalEndpointAddr() {\n\t\tconst ret = wasm.ermiscall_getLocalEndpointAddr(this.__wbg_ptr);\n\t\treturn takeObject(ret);\n\t}\n\tconstructor() {\n\t\tconst ret = wasm.ermiscall_new();\n\t\tthis.__wbg_ptr = ret >>> 0;\n\t\tErmisCallFinalization.register(this, this.__wbg_ptr, this);\n\t\treturn this;\n\t}\n\t/**\n\t * @returns {Uint8Array}\n\t */\n\trecv() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_recv(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tvar r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n\t\t\tif (r2) {\n\t\t\t\tthrow takeObject(r1);\n\t\t\t}\n\t\t\treturn takeObject(r0);\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @param {any} relay_urls\n\t * @param {Uint8Array | null} [secret_key]\n\t * @returns {Promise<void>}\n\t */\n\tspawn(relay_urls, secret_key) {\n\t\tvar ptr0 = isLikeNone(secret_key) ? 0 : passArray8ToWasm0(secret_key, wasm.__wbindgen_export);\n\t\tvar len0 = WASM_VECTOR_LEN;\n\t\tconst ret = wasm.ermiscall_spawn(this.__wbg_ptr, addHeapObject(relay_urls), ptr0, len0);\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @param {string} addr\n\t * @returns {Promise<void>}\n\t */\n\tconnect(addr) {\n\t\tconst ptr0 = passStringToWasm0(addr, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len0 = WASM_VECTOR_LEN;\n\t\tconst ret = wasm.ermiscall_connect(this.__wbg_ptr, ptr0, len0);\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @returns {any}\n\t */\n\tgetStats() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_getStats(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tvar r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n\t\t\tif (r2) {\n\t\t\t\tthrow takeObject(r1);\n\t\t\t}\n\t\t\treturn takeObject(r0);\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n}\nif (Symbol.dispose) ErmisCall.prototype[Symbol.dispose] = ErmisCall.prototype.free;\n\nconst IntoUnderlyingByteSourceFinalization =\n\ttypeof FinalizationRegistry === 'undefined'\n\t\t? { register: () => {}, unregister: () => {} }\n\t\t: new FinalizationRegistry((ptr) => wasm.__wbg_intounderlyingbytesource_free(ptr >>> 0, 1));\n\nexport class IntoUnderlyingByteSource {\n\t__destroy_into_raw() {\n\t\tconst ptr = this.__wbg_ptr;\n\t\tthis.__wbg_ptr = 0;\n\t\tIntoUnderlyingByteSourceFinalization.unregister(this);\n\t\treturn ptr;\n\t}\n\n\tfree() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.__wbg_intounderlyingbytesource_free(ptr, 0);\n\t}\n\t/**\n\t * @returns {number}\n\t */\n\tget autoAllocateChunkSize() {\n\t\tconst ret = wasm.intounderlyingbytesource_autoAllocateChunkSize(this.__wbg_ptr);\n\t\treturn ret >>> 0;\n\t}\n\t/**\n\t * @param {ReadableByteStreamController} controller\n\t * @returns {Promise<any>}\n\t */\n\tpull(controller) {\n\t\tconst ret = wasm.intounderlyingbytesource_pull(this.__wbg_ptr, addHeapObject(controller));\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @param {ReadableByteStreamController} controller\n\t */\n\tstart(controller) {\n\t\twasm.intounderlyingbytesource_start(this.__wbg_ptr, addHeapObject(controller));\n\t}\n\t/**\n\t * @returns {ReadableStreamType}\n\t */\n\tget type() {\n\t\tconst ret = wasm.intounderlyingbytesource_type(this.__wbg_ptr);\n\t\treturn __wbindgen_enum_ReadableStreamType[ret];\n\t}\n\tcancel() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.intounderlyingbytesource_cancel(ptr);\n\t}\n}\nif (Symbol.dispose) IntoUnderlyingByteSource.prototype[Symbol.dispose] = IntoUnderlyingByteSource.prototype.free;\n\nconst IntoUnderlyingSinkFinalization =\n\ttypeof FinalizationRegistry === 'undefined'\n\t\t? { register: () => {}, unregister: () => {} }\n\t\t: new FinalizationRegistry((ptr) => wasm.__wbg_intounderlyingsink_free(ptr >>> 0, 1));\n\nexport class IntoUnderlyingSink {\n\t__destroy_into_raw() {\n\t\tconst ptr = this.__wbg_ptr;\n\t\tthis.__wbg_ptr = 0;\n\t\tIntoUnderlyingSinkFinalization.unregister(this);\n\t\treturn ptr;\n\t}\n\n\tfree() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.__wbg_intounderlyingsink_free(ptr, 0);\n\t}\n\t/**\n\t * @param {any} reason\n\t * @returns {Promise<any>}\n\t */\n\tabort(reason) {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\tconst ret = wasm.intounderlyingsink_abort(ptr, addHeapObject(reason));\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @returns {Promise<any>}\n\t */\n\tclose() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\tconst ret = wasm.intounderlyingsink_close(ptr);\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @param {any} chunk\n\t * @returns {Promise<any>}\n\t */\n\twrite(chunk) {\n\t\tconst ret = wasm.intounderlyingsink_write(this.__wbg_ptr, addHeapObject(chunk));\n\t\treturn takeObject(ret);\n\t}\n}\nif (Symbol.dispose) IntoUnderlyingSink.prototype[Symbol.dispose] = IntoUnderlyingSink.prototype.free;\n\nconst IntoUnderlyingSourceFinalization =\n\ttypeof FinalizationRegistry === 'undefined'\n\t\t? { register: () => {}, unregister: () => {} }\n\t\t: new FinalizationRegistry((ptr) => wasm.__wbg_intounderlyingsource_free(ptr >>> 0, 1));\n\nexport class IntoUnderlyingSource {\n\t__destroy_into_raw() {\n\t\tconst ptr = this.__wbg_ptr;\n\t\tthis.__wbg_ptr = 0;\n\t\tIntoUnderlyingSourceFinalization.unregister(this);\n\t\treturn ptr;\n\t}\n\n\tfree() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.__wbg_intounderlyingsource_free(ptr, 0);\n\t}\n\t/**\n\t * @param {ReadableStreamDefaultController} controller\n\t * @returns {Promise<any>}\n\t */\n\tpull(controller) {\n\t\tconst ret = wasm.intounderlyingsource_pull(this.__wbg_ptr, addHeapObject(controller));\n\t\treturn takeObject(ret);\n\t}\n\tcancel() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.intounderlyingsource_cancel(ptr);\n\t}\n}\nif (Symbol.dispose) IntoUnderlyingSource.prototype[Symbol.dispose] = IntoUnderlyingSource.prototype.free;\n\nconst EXPECTED_RESPONSE_TYPES = new Set(['basic', 'cors', 'default']);\n\nasync function __wbg_load(module, imports) {\n\tif (typeof Response === 'function' && module instanceof Response) {\n\t\tif (typeof WebAssembly.instantiateStreaming === 'function') {\n\t\t\ttry {\n\t\t\t\treturn await WebAssembly.instantiateStreaming(module, imports);\n\t\t\t} catch (e) {\n\t\t\t\tconst validResponse = module.ok && EXPECTED_RESPONSE_TYPES.has(module.type);\n\n\t\t\t\tif (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t'`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',\n\t\t\t\t\t\te,\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst bytes = await module.arrayBuffer();\n\t\treturn await WebAssembly.instantiate(bytes, imports);\n\t} else {\n\t\tconst instance = await WebAssembly.instantiate(module, imports);\n\n\t\tif (instance instanceof WebAssembly.Instance) {\n\t\t\treturn { instance, module };\n\t\t} else {\n\t\t\treturn instance;\n\t\t}\n\t}\n}\n\nfunction __wbg_get_imports() {\n\tconst imports = {};\n\timports.wbg = {};\n\timports.wbg.__wbg_Error_e83987f665cf5504 = function (arg0, arg1) {\n\t\tconst ret = Error(getStringFromWasm0(arg0, arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_String_8f0eb39a4a4c2f66 = function (arg0, arg1) {\n\t\tconst ret = String(getObject(arg1));\n\t\tconst ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg___wbindgen_boolean_get_6d5a1ee65bab5f68 = function (arg0) {\n\t\tconst v = getObject(arg0);\n\t\tconst ret = typeof v === 'boolean' ? v : undefined;\n\t\treturn isLikeNone(ret) ? 0xffffff : ret ? 1 : 0;\n\t};\n\timports.wbg.__wbg___wbindgen_debug_string_df47ffb5e35e6763 = function (arg0, arg1) {\n\t\tconst ret = debugString(getObject(arg1));\n\t\tconst ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg___wbindgen_is_function_ee8a6c5833c90377 = function (arg0) {\n\t\tconst ret = typeof getObject(arg0) === 'function';\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg___wbindgen_is_object_c818261d21f283a4 = function (arg0) {\n\t\tconst val = getObject(arg0);\n\t\tconst ret = typeof val === 'object' && val !== null;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg___wbindgen_is_string_fbb76cb2940daafd = function (arg0) {\n\t\tconst ret = typeof getObject(arg0) === 'string';\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg___wbindgen_is_undefined_2d472862bd29a478 = function (arg0) {\n\t\tconst ret = getObject(arg0) === undefined;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg___wbindgen_jsval_loose_eq_b664b38a2f582147 = function (arg0, arg1) {\n\t\tconst ret = getObject(arg0) == getObject(arg1);\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg___wbindgen_number_get_a20bf9b85341449d = function (arg0, arg1) {\n\t\tconst obj = getObject(arg1);\n\t\tconst ret = typeof obj === 'number' ? obj : undefined;\n\t\tgetDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n\t};\n\timports.wbg.__wbg___wbindgen_string_get_e4f06c90489ad01b = function (arg0, arg1) {\n\t\tconst obj = getObject(arg1);\n\t\tconst ret = typeof obj === 'string' ? obj : undefined;\n\t\tvar ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tvar len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg___wbindgen_throw_b855445ff6a94295 = function (arg0, arg1) {\n\t\tthrow new Error(getStringFromWasm0(arg0, arg1));\n\t};\n\timports.wbg.__wbg__wbg_cb_unref_2454a539ea5790d9 = function (arg0) {\n\t\tgetObject(arg0)._wbg_cb_unref();\n\t};\n\timports.wbg.__wbg_abort_28ad55c5825b004d = function (arg0, arg1) {\n\t\tgetObject(arg0).abort(getObject(arg1));\n\t};\n\timports.wbg.__wbg_abort_e7eb059f72f9ed0c = function (arg0) {\n\t\tgetObject(arg0).abort();\n\t};\n\timports.wbg.__wbg_addEventListener_40dc0fc428fc49e1 = function () {\n\t\treturn handleError(function (arg0, arg1, arg2, arg3) {\n\t\t\tgetObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_append_b577eb3a177bc0fa = function () {\n\t\treturn handleError(function (arg0, arg1, arg2, arg3, arg4) {\n\t\t\tgetObject(arg0).append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_body_587542b2fd8e06c0 = function (arg0) {\n\t\tconst ret = getObject(arg0).body;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_buffer_ccc4520b36d3ccf4 = function (arg0) {\n\t\tconst ret = getObject(arg0).buffer;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_byobRequest_2344e6975f27456e = function (arg0) {\n\t\tconst ret = getObject(arg0).byobRequest;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_byteLength_bcd42e4025299788 = function (arg0) {\n\t\tconst ret = getObject(arg0).byteLength;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_byteOffset_ca3a6cf7944b364b = function (arg0) {\n\t\tconst ret = getObject(arg0).byteOffset;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_call_525440f72fbfc0ea = function () {\n\t\treturn handleError(function (arg0, arg1, arg2) {\n\t\t\tconst ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_call_e762c39fa8ea36bf = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tconst ret = getObject(arg0).call(getObject(arg1));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_cancel_48ab6f9dc366e369 = function (arg0) {\n\t\tconst ret = getObject(arg0).cancel();\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_catch_943836faa5d29bfb = function (arg0, arg1) {\n\t\tconst ret = getObject(arg0).catch(getObject(arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_clearTimeout_15dfc3d1dcb635c6 = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tgetObject(arg0).clearTimeout(takeObject(arg1));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_clearTimeout_7a42b49784aea641 = function (arg0) {\n\t\tconst ret = clearTimeout(takeObject(arg0));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_close_5a6caed3231b68cd = function () {\n\t\treturn handleError(function (arg0) {\n\t\t\tgetObject(arg0).close();\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_close_6956df845478561a = function () {\n\t\treturn handleError(function (arg0) {\n\t\t\tgetObject(arg0).close();\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_close_885e277edf06b3fa = function () {\n\t\treturn handleError(function (arg0) {\n\t\t\tgetObject(arg0).close();\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_code_20d453b11b200026 = function (arg0) {\n\t\tconst ret = getObject(arg0).code;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_code_218f5fdf8c7fcabd = function (arg0) {\n\t\tconst ret = getObject(arg0).code;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_crypto_574e78ad8b13b65f = function (arg0) {\n\t\tconst ret = getObject(arg0).crypto;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_data_ee4306d069f24f2d = function (arg0) {\n\t\tconst ret = getObject(arg0).data;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_done_2042aa2670fb1db1 = function (arg0) {\n\t\tconst ret = getObject(arg0).done;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_enqueue_7b18a650aec77898 = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tgetObject(arg0).enqueue(getObject(arg1));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_fetch_74a3e84ebd2c9a0e = function (arg0) {\n\t\tconst ret = fetch(getObject(arg0));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_fetch_f8ba0e29a9d6de0d = function (arg0, arg1) {\n\t\tconst ret = getObject(arg0).fetch(getObject(arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_getRandomValues_1c61fac11405ffdc = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tglobalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_getRandomValues_b8f5dbd5f3995a9e = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tgetObject(arg0).getRandomValues(getObject(arg1));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_getReader_48e00749fe3f6089 = function () {\n\t\treturn handleError(function (arg0) {\n\t\t\tconst ret = getObject(arg0).getReader();\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_getTime_14776bfb48a1bff9 = function (arg0) {\n\t\tconst ret = getObject(arg0).getTime();\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_get_7bed016f185add81 = function (arg0, arg1) {\n\t\tconst ret = getObject(arg0)[arg1 >>> 0];\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_get_done_a0463af43a1fc764 = function (arg0) {\n\t\tconst ret = getObject(arg0).done;\n\t\treturn isLikeNone(ret) ? 0xffffff : ret ? 1 : 0;\n\t};\n\timports.wbg.__wbg_get_efcb449f58ec27c2 = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tconst ret = Reflect.get(getObject(arg0), getObject(arg1));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_get_value_5ce96c9f81ce7398 = function (arg0) {\n\t\tconst ret = getObject(arg0).value;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_has_787fafc980c3ccdb = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tconst ret = Reflect.has(getObject(arg0), getObject(arg1));\n\t\t\treturn ret;\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_headers_b87d7eaba61c3278 = function (arg0) {\n\t\tconst ret = getObject(arg0).headers;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_instanceof_ArrayBuffer_70beb1189ca63b38 = function (arg0) {\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = getObject(arg0) instanceof ArrayBuffer;\n\t\t} catch (_) {\n\t\t\tresult = false;\n\t\t}\n\t\tconst ret = result;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_instanceof_Blob_23b3322f66e5a83b = function (arg0) {\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = getObject(arg0) instanceof Blob;\n\t\t} catch (_) {\n\t\t\tresult = false;\n\t\t}\n\t\tconst ret = result;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_instanceof_Response_f4f3e87e07f3135c = function (arg0) {\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = getObject(arg0) instanceof Response;\n\t\t} catch (_) {\n\t\t\tresult = false;\n\t\t}\n\t\tconst ret = result;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_instanceof_Uint8Array_20c8e73002f7af98 = function (arg0) {\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = getObject(arg0) instanceof Uint8Array;\n\t\t} catch (_) {\n\t\t\tresult = false;\n\t\t}\n\t\tconst ret = result;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_isArray_96e0af9891d0945d = function (arg0) {\n\t\tconst ret = Array.isArray(getObject(arg0));\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_iterator_e5822695327a3c39 = function () {\n\t\tconst ret = Symbol.iterator;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_length_69bca3cb64fc8748 = function (arg0) {\n\t\tconst ret = getObject(arg0).length;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_length_cdd215e10d9dd507 = function (arg0) {\n\t\tconst ret = getObject(arg0).length;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_log_ee0138cca4957740 = function (arg0, arg1) {\n\t\tconsole.log(getStringFromWasm0(arg0, arg1));\n\t};\n\timports.wbg.__wbg_message_bd42dbe3f2f3ed8e = function (arg0, arg1) {\n\t\tconst ret = getObject(arg1).message;\n\t\tconst ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg_msCrypto_a61aeb35a24c1329 = function (arg0) {\n\t\tconst ret = getObject(arg0).msCrypto;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_0_f9740686d739025c = function () {\n\t\tconst ret = new Date();\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_1acc0b6eea89d040 = function () {\n\t\tconst ret = new Object();\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_2531773dac38ebb3 = function () {\n\t\treturn handleError(function () {\n\t\t\tconst ret = new AbortController();\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_new_3c3d849046688a66 = function (arg0, arg1) {\n\t\ttry {\n\t\t\tvar state0 = { a: arg0, b: arg1 };\n\t\t\tvar cb0 = (arg0, arg1) => {\n\t\t\t\tconst a = state0.a;\n\t\t\t\tstate0.a = 0;\n\t\t\t\ttry {\n\t\t\t\t\treturn __wasm_bindgen_func_elem_14072(a, state0.b, arg0, arg1);\n\t\t\t\t} finally {\n\t\t\t\t\tstate0.a = a;\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst ret = new Promise(cb0);\n\t\t\treturn addHeapObject(ret);\n\t\t} finally {\n\t\t\tstate0.a = state0.b = 0;\n\t\t}\n\t};\n\timports.wbg.__wbg_new_5a79be3ab53b8aa5 = function (arg0) {\n\t\tconst ret = new Uint8Array(getObject(arg0));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_881c4fe631eee9ad = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tconst ret = new WebSocket(getStringFromWasm0(arg0, arg1));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_new_9edf9838a2def39c = function () {\n\t\treturn handleError(function () {\n\t\t\tconst ret = new Headers();\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_new_a7442b4b19c1a356 = function (arg0, arg1) {\n\t\tconst ret = new Error(getStringFromWasm0(arg0, arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_e17d9f43105b08be = function () {\n\t\tconst ret = new Array();\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_from_slice_92f4d78ca282a2d2 = function (arg0, arg1) {\n\t\tconst ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_no_args_ee98eee5275000a4 = function (arg0, arg1) {\n\t\tconst ret = new Function(getStringFromWasm0(arg0, arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_with_byte_offset_and_length_46e3e6a5e9f9e89b = function (arg0, arg1, arg2) {\n\t\tconst ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_with_length_01aa0dc35aa13543 = function (arg0) {\n\t\tconst ret = new Uint8Array(arg0 >>> 0);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_with_str_and_init_0ae7728b6ec367b1 = function () {\n\t\treturn handleError(function (arg0, arg1, arg2) {\n\t\t\tconst ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_new_with_str_sequence_57a88eb77393f23f = function () {\n\t\treturn handleError(function (arg0, arg1, arg2) {\n\t\t\tconst ret = new WebSocket(getStringFromWasm0(arg0, arg1), getObject(arg2));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_next_020810e0ae8ebcb0 = function () {\n\t\treturn handleError(function (arg0) {\n\t\t\tconst ret = getObject(arg0).next();\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_next_2c826fe5dfec6b6a = function (arg0) {\n\t\tconst ret = getObject(arg0).next;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_node_905d3e251edff8a2 = function (arg0) {\n\t\tconst ret = getObject(arg0).node;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_now_2c95c9de01293173 = function (arg0) {\n\t\tconst ret = getObject(arg0).now();\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_now_793306c526e2e3b6 = function () {\n\t\tconst ret = Date.now();\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_performance_7a3ffd0b17f663ad = function (arg0) {\n\t\tconst ret = getObject(arg0).performance;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_process_dc0fbacc7c1c06f7 = function (arg0) {\n\t\tconst ret = getObject(arg0).process;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_prototypesetcall_2a6620b6922694b2 = function (arg0, arg1, arg2) {\n\t\tUint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));\n\t};\n\timports.wbg.__wbg_push_df81a39d04db858c = function (arg0, arg1) {\n\t\tconst ret = getObject(arg0).push(getObject(arg1));\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_queueMicrotask_34d692c25c47d05b = function (arg0) {\n\t\tconst ret = getObject(arg0).queueMicrotask;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_queueMicrotask_9d76cacb20c84d58 = function (arg0) {\n\t\tqueueMicrotask(getObject(arg0));\n\t};\n\timports.wbg.__wbg_randomFillSync_ac0988aba3254290 = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tgetObject(arg0).randomFillSync(takeObject(arg1));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_read_48f1593df542f968 = function (arg0) {\n\t\tconst ret = getObject(arg0).read();\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_readyState_97984f126080aeda = function (arg0) {\n\t\tconst ret = getObject(arg0).readyState;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_reason_1cced37e3a93763e = function (arg0, arg1) {\n\t\tconst ret = getObject(arg1).reason;\n\t\tconst ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg_releaseLock_5d0b5a68887b891d = function (arg0) {\n\t\tgetObject(arg0).releaseLock();\n\t};\n\timports.wbg.__wbg_removeEventListener_924d9db66a4f775d = function () {\n\t\treturn handleError(function (arg0, arg1, arg2, arg3) {\n\t\t\tgetObject(arg0).removeEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_require_60cc747a6bc5215a = function () {\n\t\treturn handleError(function () {\n\t\t\tconst ret = module.require;\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_resolve_caf97c30b83f7053 = function (arg0) {\n\t\tconst ret = Promise.resolve(getObject(arg0));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_respond_0f4dbf5386f5c73e = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tgetObject(arg0).respond(arg1 >>> 0);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_send_171576d2f7487517 = function () {\n\t\treturn handleError(function (arg0, arg1, arg2) {\n\t\t\tgetObject(arg0).send(getStringFromWasm0(arg1, arg2));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_send_3d2cf376613294f0 = function () {\n\t\treturn handleError(function (arg0, arg1, arg2) {\n\t\t\tgetObject(arg0).send(getArrayU8FromWasm0(arg1, arg2));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_setTimeout_4eb823e8b72fbe79 = function () {\n\t\treturn handleError(function (arg0, arg1, arg2) {\n\t\t\tconst ret = getObject(arg0).setTimeout(takeObject(arg1), arg2);\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_setTimeout_7bb3429662ab1e70 = function (arg0, arg1) {\n\t\tconst ret = setTimeout(getObject(arg0), arg1);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_set_3f1d0b984ed272ed = function (arg0, arg1, arg2) {\n\t\tgetObject(arg0)[takeObject(arg1)] = takeObject(arg2);\n\t};\n\timports.wbg.__wbg_set_9e6516df7b7d0f19 = function (arg0, arg1, arg2) {\n\t\tgetObject(arg0).set(getArrayU8FromWasm0(arg1, arg2));\n\t};\n\timports.wbg.__wbg_set_binaryType_9d839cea8fcdc5c3 = function (arg0, arg1) {\n\t\tgetObject(arg0).binaryType = __wbindgen_enum_BinaryType[arg1];\n\t};\n\timports.wbg.__wbg_set_body_3c365989753d61f4 = function (arg0, arg1) {\n\t\tgetObject(arg0).body = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_cache_2f9deb19b92b81e3 = function (arg0, arg1) {\n\t\tgetObject(arg0).cache = __wbindgen_enum_RequestCache[arg1];\n\t};\n\timports.wbg.__wbg_set_credentials_f621cd2d85c0c228 = function (arg0, arg1) {\n\t\tgetObject(arg0).credentials = __wbindgen_enum_RequestCredentials[arg1];\n\t};\n\timports.wbg.__wbg_set_handle_event_b2de49ad6c81e3c8 = function (arg0, arg1) {\n\t\tgetObject(arg0).handleEvent = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_headers_6926da238cd32ee4 = function (arg0, arg1) {\n\t\tgetObject(arg0).headers = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_method_c02d8cbbe204ac2d = function (arg0, arg1, arg2) {\n\t\tgetObject(arg0).method = getStringFromWasm0(arg1, arg2);\n\t};\n\timports.wbg.__wbg_set_mode_52ef73cfa79639cb = function (arg0, arg1) {\n\t\tgetObject(arg0).mode = __wbindgen_enum_RequestMode[arg1];\n\t};\n\timports.wbg.__wbg_set_onclose_c09e4f7422de8dae = function (arg0, arg1) {\n\t\tgetObject(arg0).onclose = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_onerror_337a3a2db9517378 = function (arg0, arg1) {\n\t\tgetObject(arg0).onerror = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_onmessage_8661558551a89792 = function (arg0, arg1) {\n\t\tgetObject(arg0).onmessage = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_onopen_efccb9305427b907 = function (arg0, arg1) {\n\t\tgetObject(arg0).onopen = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_signal_dda2cf7ccb6bee0f = function (arg0, arg1) {\n\t\tgetObject(arg0).signal = getObject(arg1);\n\t};\n\timports.wbg.__wbg_signal_4db5aa055bf9eb9a = function (arg0) {\n\t\tconst ret = getObject(arg0).signal;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_static_accessor_GLOBAL_89e1d9ac6a1b250e = function () {\n\t\tconst ret = typeof global === 'undefined' ? null : global;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_static_accessor_GLOBAL_THIS_8b530f326a9e48ac = function () {\n\t\tconst ret = typeof globalThis === 'undefined' ? null : globalThis;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_static_accessor_SELF_6fdf4b64710cc91b = function () {\n\t\tconst ret = typeof self === 'undefined' ? null : self;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_static_accessor_WINDOW_b45bfc5a37f6cfa2 = function () {\n\t\tconst ret = typeof window === 'undefined' ? null : window;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_status_de7eed5a7a5bfd5d = function (arg0) {\n\t\tconst ret = getObject(arg0).status;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_stringify_b5fb28f6465d9c3e = function () {\n\t\treturn handleError(function (arg0) {\n\t\t\tconst ret = JSON.stringify(getObject(arg0));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_subarray_480600f3d6a9f26c = function (arg0, arg1, arg2) {\n\t\tconst ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_then_4f46f6544e6b4a28 = function (arg0, arg1) {\n\t\tconst ret = getObject(arg0).then(getObject(arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_then_70d05cf780a18d77 = function (arg0, arg1, arg2) {\n\t\tconst ret = getObject(arg0).then(getObject(arg1), getObject(arg2));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_url_9bd0af1cd8643de7 = function (arg0, arg1) {\n\t\tconst ret = getObject(arg1).url;\n\t\tconst ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg_url_b36d2a5008eb056f = function (arg0, arg1) {\n\t\tconst ret = getObject(arg1).url;\n\t\tconst ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg_value_692627309814bb8c = function (arg0) {\n\t\tconst ret = getObject(arg0).value;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_versions_c01dfd4722a88165 = function (arg0) {\n\t\tconst ret = getObject(arg0).versions;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_view_f6c15ac9fed63bbd = function (arg0) {\n\t\tconst ret = getObject(arg0).view;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_wasClean_3d7c0cf05bd0a123 = function (arg0) {\n\t\tconst ret = getObject(arg0).wasClean;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbindgen_cast_03c7ce370dde4234 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Closure(Closure { dtor_idx: 545, function: Function { arguments: [NamedExternref(\"CloseEvent\")], shim_idx: 546, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n\t\tconst ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_2072, __wasm_bindgen_func_elem_2279);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_0548e2a34f33830b = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Closure(Closure { dtor_idx: 1340, function: Function { arguments: [], shim_idx: 1341, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n\t\tconst ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_6067, __wasm_bindgen_func_elem_6078);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_2241b6af4c4b2941 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Ref(String) -> Externref`.\n\t\tconst ret = getStringFromWasm0(arg0, arg1);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_297907e58b496a50 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Closure(Closure { dtor_idx: 2446, function: Function { arguments: [], shim_idx: 2447, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n\t\tconst ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_12577, __wasm_bindgen_func_elem_12594);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_5f086fd16774f149 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Closure(Closure { dtor_idx: 2366, function: Function { arguments: [NamedExternref(\"MessageEvent\")], shim_idx: 2367, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n\t\tconst ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_11415, __wasm_bindgen_func_elem_11460);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_81d295fd67d7c7c1 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Closure(Closure { dtor_idx: 2454, function: Function { arguments: [Externref], shim_idx: 2455, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n\t\tconst ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_12631, __wasm_bindgen_func_elem_12647);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_aeaa8ca4ff3b8539 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Closure(Closure { dtor_idx: 1248, function: Function { arguments: [], shim_idx: 1249, ret: Unit, inner_ret: Some(Unit) }, mutable: false }) -> Externref`.\n\t\tconst ret = makeClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_5618, __wasm_bindgen_func_elem_5633);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_cb9088102bce6b30 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref(\"Uint8Array\")`.\n\t\tconst ret = getArrayU8FromWasm0(arg0, arg1);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_d6cd19b81560fd6e = function (arg0) {\n\t\t// Cast intrinsic for `F64 -> Externref`.\n\t\tconst ret = arg0;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_object_clone_ref = function (arg0) {\n\t\tconst ret = getObject(arg0);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_object_drop_ref = function (arg0) {\n\t\ttakeObject(arg0);\n\t};\n\n\treturn imports;\n}\n\nfunction __wbg_finalize_init(instance, module) {\n\twasm = instance.exports;\n\t__wbg_init.__wbindgen_wasm_module = module;\n\tcachedDataViewMemory0 = null;\n\tcachedUint8ArrayMemory0 = null;\n\n\treturn wasm;\n}\n\nfunction initSync(module) {\n\tif (wasm !== undefined) return wasm;\n\n\tif (typeof module !== 'undefined') {\n\t\tif (Object.getPrototypeOf(module) === Object.prototype) {\n\t\t\t({ module } = module);\n\t\t} else {\n\t\t\tconsole.warn('using deprecated parameters for `initSync()`; pass a single object instead');\n\t\t}\n\t}\n\n\tconst imports = __wbg_get_imports();\n\n\tif (!(module instanceof WebAssembly.Module)) {\n\t\tmodule = new WebAssembly.Module(module);\n\t}\n\n\tconst instance = new WebAssembly.Instance(module, imports);\n\n\treturn __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n\tif (wasm !== undefined) return wasm;\n\n\tif (typeof module_or_path !== 'undefined') {\n\t\tif (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n\t\t\t({ module_or_path } = module_or_path);\n\t\t} else {\n\t\t\tconsole.warn('using deprecated parameters for the initialization function; pass a single object instead');\n\t\t}\n\t}\n\n\tif (typeof module_or_path === 'undefined') {\n\t\tmodule_or_path = '/ermis_call_node_wasm_bg.wasm';\n\t}\n\tconst imports = __wbg_get_imports();\n\n\tif (\n\t\ttypeof module_or_path === 'string' ||\n\t\t(typeof Request === 'function' && module_or_path instanceof Request) ||\n\t\t(typeof URL === 'function' && module_or_path instanceof URL)\n\t) {\n\t\tmodule_or_path = fetch(module_or_path);\n\t}\n\n\tconst { instance, module } = await __wbg_load(await module_or_path, imports);\n\n\treturn __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","/**\n * WASM Worker — chạy ErmisCall WASM instance trên Worker thread.\n *\n * Mọi WASM sync calls (sendFrame, sendAudioFrame, sendControlFrame) chạy ở đây,\n * KHÔNG BAO GIỜ block Main Thread. Khi P2P connection congested (peer mạng yếu),\n * Worker thread bị block nhưng UI vẫn responsive.\n *\n * Communication: postMessage với Transferable buffers (zero-copy).\n */\n\n// @ts-ignore — WASM module import sẽ được resolve bởi bundler\nimport { initSync, ErmisCall } from './wasm/ermis_call_node_wasm';\n\nlet ermisCall: ErmisCall | null = null;\nlet isRecvActive = false;\n\n/** Request types từ Main Thread */\ntype WorkerRequest =\n | { id: number; type: 'init'; wasmBytes: ArrayBuffer }\n | { id: number; type: 'spawn'; relayUrls: string[] }\n | { id: number; type: 'getLocalEndpointAddr' }\n | { id: number; type: 'connect'; address: string }\n | { id: number; type: 'acceptConnection' }\n | { id: number; type: 'sendFrame'; data: Uint8Array }\n | { id: number; type: 'beginWithGop'; data: Uint8Array }\n | { id: number; type: 'sendAudioFrame'; data: Uint8Array }\n | { id: number; type: 'sendControlFrame'; data: Uint8Array }\n | { id: number; type: 'closeEndpoint' }\n | { id: number; type: 'closeConnection' }\n | { id: number; type: 'networkChange' }\n | { id: number; type: 'startRecvLoop' }\n | { id: number; type: 'stopRecvLoop' }\n | { id: number; type: 'getStats' }\n | { id: number; type: 'terminate' };\n\n/** Helper: gửi success response */\nfunction sendResult(id: number, data?: any) {\n self.postMessage({ id, type: 'result', data });\n}\n\n/** Helper: gửi error response */\nfunction sendError(id: number, error: string) {\n self.postMessage({ id, type: 'error', error });\n}\n\n/** Helper: sleep */\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\n/**\n * Receive loop — chạy liên tục trong Worker.\n * asyncRecv() block Worker thread khi chờ data — KHÔNG ảnh hưởng Main Thread.\n * Data nhận được gửi về Main Thread qua postMessage với Transferable.\n */\nasync function recvLoop() {\n while (isRecvActive && ermisCall) {\n try {\n const data = await ermisCall.asyncRecv();\n // Transfer buffer ownership → zero-copy\n (self as unknown as { postMessage: (msg: any, transfer?: Transferable[]) => void }).postMessage(\n { type: 'recv_data', data },\n [data.buffer],\n );\n } catch (error) {\n if (!isRecvActive) break; // Đã dừng — không cần log\n (self as unknown as { postMessage: (msg: any, transfer?: Transferable[]) => void }).postMessage({\n type: 'recv_error',\n error: String(error),\n });\n await sleep(200); // Backoff trước khi thử lại\n }\n }\n}\n\n/** Main message handler */\nself.onmessage = async (e: MessageEvent<WorkerRequest>) => {\n const msg = e.data;\n\n try {\n switch (msg.type) {\n // === LIFECYCLE ===\n case 'init': {\n // Nhận WASM bytes từ Main Thread → compile thành Module → initSync\n const wasmModule = new WebAssembly.Module(msg.wasmBytes);\n initSync(wasmModule);\n ermisCall = new ErmisCall();\n sendResult(msg.id);\n break;\n }\n\n case 'spawn': {\n if (!ermisCall) throw new Error('WASM not initialized');\n await ermisCall.spawn(msg.relayUrls);\n sendResult(msg.id);\n break;\n }\n\n case 'getLocalEndpointAddr': {\n if (!ermisCall) throw new Error('WASM not initialized');\n const addr = await ermisCall.getLocalEndpointAddr();\n sendResult(msg.id, addr);\n break;\n }\n\n case 'connect': {\n if (!ermisCall) throw new Error('WASM not initialized');\n await ermisCall.connect(msg.address);\n sendResult(msg.id);\n break;\n }\n\n case 'acceptConnection': {\n if (!ermisCall) throw new Error('WASM not initialized');\n await ermisCall.acceptConnection();\n sendResult(msg.id);\n break;\n }\n\n // === DATA SEND (blocking calls — now safe in Worker) ===\n case 'sendFrame': {\n if (!ermisCall) throw new Error('WASM not initialized');\n ermisCall.sendFrame(msg.data);\n sendResult(msg.id);\n break;\n }\n\n case 'beginWithGop': {\n if (!ermisCall) throw new Error('WASM not initialized');\n ermisCall.beginWithGop(msg.data);\n sendResult(msg.id);\n break;\n }\n\n case 'sendAudioFrame': {\n if (!ermisCall) throw new Error('WASM not initialized');\n ermisCall.sendAudioFrame(msg.data);\n sendResult(msg.id);\n break;\n }\n\n case 'sendControlFrame': {\n if (!ermisCall) throw new Error('WASM not initialized');\n ermisCall.sendControlFrame(msg.data);\n sendResult(msg.id);\n break;\n }\n\n // === RECEIVE LOOP ===\n case 'startRecvLoop': {\n isRecvActive = true;\n sendResult(msg.id);\n // Start loop (fire-and-forget — runs until stopRecvLoop)\n recvLoop();\n break;\n }\n\n case 'stopRecvLoop': {\n isRecvActive = false;\n sendResult(msg.id);\n break;\n }\n\n // === CONTROL ===\n case 'closeEndpoint': {\n if (!ermisCall) throw new Error('WASM not initialized');\n await ermisCall.closeEndpoint();\n sendResult(msg.id);\n break;\n }\n\n case 'closeConnection': {\n if (!ermisCall) throw new Error('WASM not initialized');\n ermisCall.closeConnection();\n sendResult(msg.id);\n break;\n }\n\n case 'networkChange': {\n if (!ermisCall) throw new Error('WASM not initialized');\n ermisCall.networkChange();\n sendResult(msg.id);\n break;\n }\n\n case 'getStats': {\n if (!ermisCall) throw new Error('WASM not initialized');\n const stats = ermisCall.getStats();\n sendResult(msg.id, stats);\n break;\n }\n\n case 'terminate': {\n isRecvActive = false;\n if (ermisCall) {\n try {\n ermisCall.closeConnection();\n } catch {\n /* ignore */\n }\n try {\n ermisCall.free();\n } catch {\n /* ignore */\n }\n ermisCall = null;\n }\n sendResult(msg.id);\n // Worker sẽ bị terminate bởi Main Thread sau khi nhận result\n break;\n }\n\n default:\n sendError((msg as any).id, `Unknown message type: ${(msg as any).type}`);\n }\n } catch (error) {\n sendError(msg.id, String(error));\n }\n};\n"],"mappings":"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","names":["ptr","module","arg0","arg1"]}
1
+ {"version":3,"sources":["../src/wasm/ermis_call_node_wasm.js","../src/wasm_worker.ts"],"sourcesContent":["let wasm;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n\tif (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n\t\tcachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n\t}\n\treturn cachedUint8ArrayMemory0;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nconst MAX_SAFARI_DECODE_BYTES = 2146435072;\nlet numBytesDecoded = 0;\nfunction decodeText(ptr, len) {\n\tnumBytesDecoded += len;\n\tif (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {\n\t\tcachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\t\tcachedTextDecoder.decode();\n\t\tnumBytesDecoded = len;\n\t}\n\treturn cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nfunction getStringFromWasm0(ptr, len) {\n\tptr = ptr >>> 0;\n\treturn decodeText(ptr, len);\n}\n\nlet heap = new Array(128).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction addHeapObject(obj) {\n\tif (heap_next === heap.length) heap.push(heap.length + 1);\n\tconst idx = heap_next;\n\theap_next = heap[idx];\n\n\theap[idx] = obj;\n\treturn idx;\n}\n\nfunction getObject(idx) {\n\treturn heap[idx];\n}\n\nlet WASM_VECTOR_LEN = 0;\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n\tcachedTextEncoder.encodeInto = function (arg, view) {\n\t\tconst buf = cachedTextEncoder.encode(arg);\n\t\tview.set(buf);\n\t\treturn {\n\t\t\tread: arg.length,\n\t\t\twritten: buf.length,\n\t\t};\n\t};\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\tif (realloc === undefined) {\n\t\tconst buf = cachedTextEncoder.encode(arg);\n\t\tconst ptr = malloc(buf.length, 1) >>> 0;\n\t\tgetUint8ArrayMemory0()\n\t\t\t.subarray(ptr, ptr + buf.length)\n\t\t\t.set(buf);\n\t\tWASM_VECTOR_LEN = buf.length;\n\t\treturn ptr;\n\t}\n\n\tlet len = arg.length;\n\tlet ptr = malloc(len, 1) >>> 0;\n\n\tconst mem = getUint8ArrayMemory0();\n\n\tlet offset = 0;\n\n\tfor (; offset < len; offset++) {\n\t\tconst code = arg.charCodeAt(offset);\n\t\tif (code > 0x7f) break;\n\t\tmem[ptr + offset] = code;\n\t}\n\n\tif (offset !== len) {\n\t\tif (offset !== 0) {\n\t\t\targ = arg.slice(offset);\n\t\t}\n\t\tptr = realloc(ptr, len, (len = offset + arg.length * 3), 1) >>> 0;\n\t\tconst view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n\t\tconst ret = cachedTextEncoder.encodeInto(arg, view);\n\n\t\toffset += ret.written;\n\t\tptr = realloc(ptr, len, offset, 1) >>> 0;\n\t}\n\n\tWASM_VECTOR_LEN = offset;\n\treturn ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n\tif (\n\t\tcachedDataViewMemory0 === null ||\n\t\tcachedDataViewMemory0.buffer.detached === true ||\n\t\t(cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)\n\t) {\n\t\tcachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n\t}\n\treturn cachedDataViewMemory0;\n}\n\nfunction isLikeNone(x) {\n\treturn x === undefined || x === null;\n}\n\nfunction debugString(val) {\n\t// primitive types\n\tconst type = typeof val;\n\tif (type == 'number' || type == 'boolean' || val == null) {\n\t\treturn `${val}`;\n\t}\n\tif (type == 'string') {\n\t\treturn `\"${val}\"`;\n\t}\n\tif (type == 'symbol') {\n\t\tconst description = val.description;\n\t\tif (description == null) {\n\t\t\treturn 'Symbol';\n\t\t} else {\n\t\t\treturn `Symbol(${description})`;\n\t\t}\n\t}\n\tif (type == 'function') {\n\t\tconst name = val.name;\n\t\tif (typeof name == 'string' && name.length > 0) {\n\t\t\treturn `Function(${name})`;\n\t\t} else {\n\t\t\treturn 'Function';\n\t\t}\n\t}\n\t// objects\n\tif (Array.isArray(val)) {\n\t\tconst length = val.length;\n\t\tlet debug = '[';\n\t\tif (length > 0) {\n\t\t\tdebug += debugString(val[0]);\n\t\t}\n\t\tfor (let i = 1; i < length; i++) {\n\t\t\tdebug += ', ' + debugString(val[i]);\n\t\t}\n\t\tdebug += ']';\n\t\treturn debug;\n\t}\n\t// Test for built-in\n\tconst builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n\tlet className;\n\tif (builtInMatches && builtInMatches.length > 1) {\n\t\tclassName = builtInMatches[1];\n\t} else {\n\t\t// Failed to match the standard '[object ClassName]'\n\t\treturn toString.call(val);\n\t}\n\tif (className == 'Object') {\n\t\t// we're a user defined class or Object\n\t\t// JSON.stringify avoids problems with cycles, and is generally much\n\t\t// easier than looping through ownProperties of `val`.\n\t\ttry {\n\t\t\treturn 'Object(' + JSON.stringify(val) + ')';\n\t\t} catch (_) {\n\t\t\treturn 'Object';\n\t\t}\n\t}\n\t// errors\n\tif (val instanceof Error) {\n\t\treturn `${val.name}: ${val.message}\\n${val.stack}`;\n\t}\n\t// TODO we could test for more things here, like `Set`s and `Map`s.\n\treturn className;\n}\n\nfunction handleError(f, args) {\n\ttry {\n\t\treturn f.apply(this, args);\n\t} catch (e) {\n\t\twasm.__wbindgen_export3(addHeapObject(e));\n\t}\n}\n\nfunction dropObject(idx) {\n\tif (idx < 132) return;\n\theap[idx] = heap_next;\n\theap_next = idx;\n}\n\nfunction takeObject(idx) {\n\tconst ret = getObject(idx);\n\tdropObject(idx);\n\treturn ret;\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n\tptr = ptr >>> 0;\n\treturn getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nconst CLOSURE_DTORS =\n\ttypeof FinalizationRegistry === 'undefined'\n\t\t? { register: () => {}, unregister: () => {} }\n\t\t: new FinalizationRegistry((state) => state.dtor(state.a, state.b));\n\nfunction makeMutClosure(arg0, arg1, dtor, f) {\n\tconst state = { a: arg0, b: arg1, cnt: 1, dtor };\n\tconst real = (...args) => {\n\t\t// First up with a closure we increment the internal reference\n\t\t// count. This ensures that the Rust closure environment won't\n\t\t// be deallocated while we're invoking it.\n\t\tstate.cnt++;\n\t\tconst a = state.a;\n\t\tstate.a = 0;\n\t\ttry {\n\t\t\treturn f(a, state.b, ...args);\n\t\t} finally {\n\t\t\tstate.a = a;\n\t\t\treal._wbg_cb_unref();\n\t\t}\n\t};\n\treal._wbg_cb_unref = () => {\n\t\tif (--state.cnt === 0) {\n\t\t\tstate.dtor(state.a, state.b);\n\t\t\tstate.a = 0;\n\t\t\tCLOSURE_DTORS.unregister(state);\n\t\t}\n\t};\n\tCLOSURE_DTORS.register(real, state, state);\n\treturn real;\n}\n\nfunction makeClosure(arg0, arg1, dtor, f) {\n\tconst state = { a: arg0, b: arg1, cnt: 1, dtor };\n\tconst real = (...args) => {\n\t\t// First up with a closure we increment the internal reference\n\t\t// count. This ensures that the Rust closure environment won't\n\t\t// be deallocated while we're invoking it.\n\t\tstate.cnt++;\n\t\ttry {\n\t\t\treturn f(state.a, state.b, ...args);\n\t\t} finally {\n\t\t\treal._wbg_cb_unref();\n\t\t}\n\t};\n\treal._wbg_cb_unref = () => {\n\t\tif (--state.cnt === 0) {\n\t\t\tstate.dtor(state.a, state.b);\n\t\t\tstate.a = 0;\n\t\t\tCLOSURE_DTORS.unregister(state);\n\t\t}\n\t};\n\tCLOSURE_DTORS.register(real, state, state);\n\treturn real;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n\tconst ptr = malloc(arg.length * 1, 1) >>> 0;\n\tgetUint8ArrayMemory0().set(arg, ptr / 1);\n\tWASM_VECTOR_LEN = arg.length;\n\treturn ptr;\n}\nfunction __wasm_bindgen_func_elem_12594(arg0, arg1) {\n\twasm.__wasm_bindgen_func_elem_12594(arg0, arg1);\n}\n\nfunction __wasm_bindgen_func_elem_11460(arg0, arg1, arg2) {\n\twasm.__wasm_bindgen_func_elem_11460(arg0, arg1, addHeapObject(arg2));\n}\n\nfunction __wasm_bindgen_func_elem_5633(arg0, arg1) {\n\twasm.__wasm_bindgen_func_elem_5633(arg0, arg1);\n}\n\nfunction __wasm_bindgen_func_elem_2279(arg0, arg1, arg2) {\n\twasm.__wasm_bindgen_func_elem_2279(arg0, arg1, addHeapObject(arg2));\n}\n\nfunction __wasm_bindgen_func_elem_12647(arg0, arg1, arg2) {\n\twasm.__wasm_bindgen_func_elem_12647(arg0, arg1, addHeapObject(arg2));\n}\n\nfunction __wasm_bindgen_func_elem_6078(arg0, arg1) {\n\twasm.__wasm_bindgen_func_elem_6078(arg0, arg1);\n}\n\nfunction __wasm_bindgen_func_elem_14072(arg0, arg1, arg2, arg3) {\n\twasm.__wasm_bindgen_func_elem_14072(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));\n}\n\nconst __wbindgen_enum_BinaryType = ['blob', 'arraybuffer'];\n\nconst __wbindgen_enum_ReadableStreamType = ['bytes'];\n\nconst __wbindgen_enum_RequestCache = ['default', 'no-store', 'reload', 'no-cache', 'force-cache', 'only-if-cached'];\n\nconst __wbindgen_enum_RequestCredentials = ['omit', 'same-origin', 'include'];\n\nconst __wbindgen_enum_RequestMode = ['same-origin', 'no-cors', 'cors', 'navigate'];\n\nconst ConnectionStatsFinalization =\n\ttypeof FinalizationRegistry === 'undefined'\n\t\t? { register: () => {}, unregister: () => {} }\n\t\t: new FinalizationRegistry((ptr) => wasm.__wbg_connectionstats_free(ptr >>> 0, 1));\n\nexport class ConnectionStats {\n\t__destroy_into_raw() {\n\t\tconst ptr = this.__wbg_ptr;\n\t\tthis.__wbg_ptr = 0;\n\t\tConnectionStatsFinalization.unregister(this);\n\t\treturn ptr;\n\t}\n\n\tfree() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.__wbg_connectionstats_free(ptr, 0);\n\t}\n\t/**\n\t * @returns {string | undefined}\n\t */\n\tget connection_type() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.connectionstats_connection_type(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tlet v1;\n\t\t\tif (r0 !== 0) {\n\t\t\t\tv1 = getStringFromWasm0(r0, r1).slice();\n\t\t\t\twasm.__wbindgen_export4(r0, r1 * 1, 1);\n\t\t\t}\n\t\t\treturn v1;\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @param {string | null} [value]\n\t */\n\tset connection_type(value) {\n\t\tvar ptr0 = isLikeNone(value) ? 0 : passStringToWasm0(value, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tvar len0 = WASM_VECTOR_LEN;\n\t\twasm.connectionstats_set_connection_type(this.__wbg_ptr, ptr0, len0);\n\t}\n\t/**\n\t * @param {string | null} [connection_type]\n\t * @param {number | null} [rtt_ms]\n\t * @param {number | null} [packet_loss]\n\t */\n\tconstructor(connection_type, rtt_ms, packet_loss) {\n\t\tvar ptr0 = isLikeNone(connection_type)\n\t\t\t? 0\n\t\t\t: passStringToWasm0(connection_type, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tvar len0 = WASM_VECTOR_LEN;\n\t\tconst ret = wasm.connectionstats_new(\n\t\t\tptr0,\n\t\t\tlen0,\n\t\t\t!isLikeNone(rtt_ms),\n\t\t\tisLikeNone(rtt_ms) ? 0 : rtt_ms,\n\t\t\t!isLikeNone(packet_loss),\n\t\t\tisLikeNone(packet_loss) ? 0 : packet_loss,\n\t\t);\n\t\tthis.__wbg_ptr = ret >>> 0;\n\t\tConnectionStatsFinalization.register(this, this.__wbg_ptr, this);\n\t\treturn this;\n\t}\n\t/**\n\t * @returns {number | undefined}\n\t */\n\tget rtt_ms() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.__wbg_get_connectionstats_rtt_ms(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);\n\t\t\treturn r0 === 0 ? undefined : r2;\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @param {number | null} [arg0]\n\t */\n\tset rtt_ms(arg0) {\n\t\twasm.__wbg_set_connectionstats_rtt_ms(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n\t}\n\t/**\n\t * @returns {number | undefined}\n\t */\n\tget packet_loss() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.__wbg_get_connectionstats_packet_loss(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);\n\t\t\treturn r0 === 0 ? undefined : r2;\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @param {number | null} [arg0]\n\t */\n\tset packet_loss(arg0) {\n\t\twasm.__wbg_set_connectionstats_packet_loss(this.__wbg_ptr, !isLikeNone(arg0), isLikeNone(arg0) ? 0 : arg0);\n\t}\n}\nif (Symbol.dispose) ConnectionStats.prototype[Symbol.dispose] = ConnectionStats.prototype.free;\n\nconst ErmisCallFinalization =\n\ttypeof FinalizationRegistry === 'undefined'\n\t\t? { register: () => {}, unregister: () => {} }\n\t\t: new FinalizationRegistry((ptr) => wasm.__wbg_ermiscall_free(ptr >>> 0, 1));\n\nexport class ErmisCall {\n\t__destroy_into_raw() {\n\t\tconst ptr = this.__wbg_ptr;\n\t\tthis.__wbg_ptr = 0;\n\t\tErmisCallFinalization.unregister(this);\n\t\treturn ptr;\n\t}\n\n\tfree() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.__wbg_ermiscall_free(ptr, 0);\n\t}\n\t/**\n\t * @returns {Promise<Uint8Array>}\n\t */\n\tasyncRecv() {\n\t\tconst ret = wasm.ermiscall_asyncRecv(this.__wbg_ptr);\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @param {Uint8Array} data\n\t */\n\tsendFrame(data) {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\tconst ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export);\n\t\t\tconst len0 = WASM_VECTOR_LEN;\n\t\t\twasm.ermiscall_sendFrame(retptr, this.__wbg_ptr, ptr0, len0);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tif (r1) {\n\t\t\t\tthrow takeObject(r0);\n\t\t\t}\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @param {Uint8Array} data\n\t */\n\tbeginWithGop(data) {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\tconst ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export);\n\t\t\tconst len0 = WASM_VECTOR_LEN;\n\t\t\twasm.ermiscall_beginWithGop(retptr, this.__wbg_ptr, ptr0, len0);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tif (r1) {\n\t\t\t\tthrow takeObject(r0);\n\t\t\t}\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @returns {Promise<void>}\n\t */\n\tcloseEndpoint() {\n\t\tconst ret = wasm.ermiscall_closeEndpoint(this.__wbg_ptr);\n\t\treturn takeObject(ret);\n\t}\n\tnetworkChange() {\n\t\twasm.ermiscall_networkChange(this.__wbg_ptr);\n\t}\n\tnotifyNewGop() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_notifyNewGop(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tif (r1) {\n\t\t\t\tthrow takeObject(r0);\n\t\t\t}\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @returns {string | undefined}\n\t */\n\tconnectionType() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_connectionType(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tlet v1;\n\t\t\tif (r0 !== 0) {\n\t\t\t\tv1 = getStringFromWasm0(r0, r1).slice();\n\t\t\t\twasm.__wbindgen_export4(r0, r1 * 1, 1);\n\t\t\t}\n\t\t\treturn v1;\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @returns {number | undefined}\n\t */\n\troundTripTime() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_roundTripTime(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);\n\t\t\treturn r0 === 0 ? undefined : r2;\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\tcloseConnection() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_closeConnection(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tif (r1) {\n\t\t\t\tthrow takeObject(r0);\n\t\t\t}\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @param {Uint8Array} data\n\t */\n\tsendAudioFrame(data) {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\tconst ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export);\n\t\t\tconst len0 = WASM_VECTOR_LEN;\n\t\t\twasm.ermiscall_sendAudioFrame(retptr, this.__wbg_ptr, ptr0, len0);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tif (r1) {\n\t\t\t\tthrow takeObject(r0);\n\t\t\t}\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @returns {Promise<void>}\n\t */\n\tacceptConnection() {\n\t\tconst ret = wasm.ermiscall_acceptConnection(this.__wbg_ptr);\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @param {Uint8Array} data\n\t */\n\tsendControlFrame(data) {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\tconst ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export);\n\t\t\tconst len0 = WASM_VECTOR_LEN;\n\t\t\twasm.ermiscall_sendControlFrame(retptr, this.__wbg_ptr, ptr0, len0);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tif (r1) {\n\t\t\t\tthrow takeObject(r0);\n\t\t\t}\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @returns {number | undefined}\n\t */\n\tcurrentPacketLoss() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_currentPacketLoss(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r2 = getDataViewMemory0().getFloat64(retptr + 8 * 1, true);\n\t\t\treturn r0 === 0 ? undefined : r2;\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @returns {Promise<string>}\n\t */\n\tgetLocalEndpointAddr() {\n\t\tconst ret = wasm.ermiscall_getLocalEndpointAddr(this.__wbg_ptr);\n\t\treturn takeObject(ret);\n\t}\n\tconstructor() {\n\t\tconst ret = wasm.ermiscall_new();\n\t\tthis.__wbg_ptr = ret >>> 0;\n\t\tErmisCallFinalization.register(this, this.__wbg_ptr, this);\n\t\treturn this;\n\t}\n\t/**\n\t * @returns {Uint8Array}\n\t */\n\trecv() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_recv(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tvar r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n\t\t\tif (r2) {\n\t\t\t\tthrow takeObject(r1);\n\t\t\t}\n\t\t\treturn takeObject(r0);\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n\t/**\n\t * @param {any} relay_urls\n\t * @param {Uint8Array | null} [secret_key]\n\t * @returns {Promise<void>}\n\t */\n\tspawn(relay_urls, secret_key) {\n\t\tvar ptr0 = isLikeNone(secret_key) ? 0 : passArray8ToWasm0(secret_key, wasm.__wbindgen_export);\n\t\tvar len0 = WASM_VECTOR_LEN;\n\t\tconst ret = wasm.ermiscall_spawn(this.__wbg_ptr, addHeapObject(relay_urls), ptr0, len0);\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @param {string} addr\n\t * @returns {Promise<void>}\n\t */\n\tconnect(addr) {\n\t\tconst ptr0 = passStringToWasm0(addr, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len0 = WASM_VECTOR_LEN;\n\t\tconst ret = wasm.ermiscall_connect(this.__wbg_ptr, ptr0, len0);\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @returns {any}\n\t */\n\tgetStats() {\n\t\ttry {\n\t\t\tconst retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n\t\t\twasm.ermiscall_getStats(retptr, this.__wbg_ptr);\n\t\t\tvar r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n\t\t\tvar r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n\t\t\tvar r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n\t\t\tif (r2) {\n\t\t\t\tthrow takeObject(r1);\n\t\t\t}\n\t\t\treturn takeObject(r0);\n\t\t} finally {\n\t\t\twasm.__wbindgen_add_to_stack_pointer(16);\n\t\t}\n\t}\n}\nif (Symbol.dispose) ErmisCall.prototype[Symbol.dispose] = ErmisCall.prototype.free;\n\nconst IntoUnderlyingByteSourceFinalization =\n\ttypeof FinalizationRegistry === 'undefined'\n\t\t? { register: () => {}, unregister: () => {} }\n\t\t: new FinalizationRegistry((ptr) => wasm.__wbg_intounderlyingbytesource_free(ptr >>> 0, 1));\n\nexport class IntoUnderlyingByteSource {\n\t__destroy_into_raw() {\n\t\tconst ptr = this.__wbg_ptr;\n\t\tthis.__wbg_ptr = 0;\n\t\tIntoUnderlyingByteSourceFinalization.unregister(this);\n\t\treturn ptr;\n\t}\n\n\tfree() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.__wbg_intounderlyingbytesource_free(ptr, 0);\n\t}\n\t/**\n\t * @returns {number}\n\t */\n\tget autoAllocateChunkSize() {\n\t\tconst ret = wasm.intounderlyingbytesource_autoAllocateChunkSize(this.__wbg_ptr);\n\t\treturn ret >>> 0;\n\t}\n\t/**\n\t * @param {ReadableByteStreamController} controller\n\t * @returns {Promise<any>}\n\t */\n\tpull(controller) {\n\t\tconst ret = wasm.intounderlyingbytesource_pull(this.__wbg_ptr, addHeapObject(controller));\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @param {ReadableByteStreamController} controller\n\t */\n\tstart(controller) {\n\t\twasm.intounderlyingbytesource_start(this.__wbg_ptr, addHeapObject(controller));\n\t}\n\t/**\n\t * @returns {ReadableStreamType}\n\t */\n\tget type() {\n\t\tconst ret = wasm.intounderlyingbytesource_type(this.__wbg_ptr);\n\t\treturn __wbindgen_enum_ReadableStreamType[ret];\n\t}\n\tcancel() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.intounderlyingbytesource_cancel(ptr);\n\t}\n}\nif (Symbol.dispose) IntoUnderlyingByteSource.prototype[Symbol.dispose] = IntoUnderlyingByteSource.prototype.free;\n\nconst IntoUnderlyingSinkFinalization =\n\ttypeof FinalizationRegistry === 'undefined'\n\t\t? { register: () => {}, unregister: () => {} }\n\t\t: new FinalizationRegistry((ptr) => wasm.__wbg_intounderlyingsink_free(ptr >>> 0, 1));\n\nexport class IntoUnderlyingSink {\n\t__destroy_into_raw() {\n\t\tconst ptr = this.__wbg_ptr;\n\t\tthis.__wbg_ptr = 0;\n\t\tIntoUnderlyingSinkFinalization.unregister(this);\n\t\treturn ptr;\n\t}\n\n\tfree() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.__wbg_intounderlyingsink_free(ptr, 0);\n\t}\n\t/**\n\t * @param {any} reason\n\t * @returns {Promise<any>}\n\t */\n\tabort(reason) {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\tconst ret = wasm.intounderlyingsink_abort(ptr, addHeapObject(reason));\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @returns {Promise<any>}\n\t */\n\tclose() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\tconst ret = wasm.intounderlyingsink_close(ptr);\n\t\treturn takeObject(ret);\n\t}\n\t/**\n\t * @param {any} chunk\n\t * @returns {Promise<any>}\n\t */\n\twrite(chunk) {\n\t\tconst ret = wasm.intounderlyingsink_write(this.__wbg_ptr, addHeapObject(chunk));\n\t\treturn takeObject(ret);\n\t}\n}\nif (Symbol.dispose) IntoUnderlyingSink.prototype[Symbol.dispose] = IntoUnderlyingSink.prototype.free;\n\nconst IntoUnderlyingSourceFinalization =\n\ttypeof FinalizationRegistry === 'undefined'\n\t\t? { register: () => {}, unregister: () => {} }\n\t\t: new FinalizationRegistry((ptr) => wasm.__wbg_intounderlyingsource_free(ptr >>> 0, 1));\n\nexport class IntoUnderlyingSource {\n\t__destroy_into_raw() {\n\t\tconst ptr = this.__wbg_ptr;\n\t\tthis.__wbg_ptr = 0;\n\t\tIntoUnderlyingSourceFinalization.unregister(this);\n\t\treturn ptr;\n\t}\n\n\tfree() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.__wbg_intounderlyingsource_free(ptr, 0);\n\t}\n\t/**\n\t * @param {ReadableStreamDefaultController} controller\n\t * @returns {Promise<any>}\n\t */\n\tpull(controller) {\n\t\tconst ret = wasm.intounderlyingsource_pull(this.__wbg_ptr, addHeapObject(controller));\n\t\treturn takeObject(ret);\n\t}\n\tcancel() {\n\t\tconst ptr = this.__destroy_into_raw();\n\t\twasm.intounderlyingsource_cancel(ptr);\n\t}\n}\nif (Symbol.dispose) IntoUnderlyingSource.prototype[Symbol.dispose] = IntoUnderlyingSource.prototype.free;\n\nconst EXPECTED_RESPONSE_TYPES = new Set(['basic', 'cors', 'default']);\n\nasync function __wbg_load(module, imports) {\n\tif (typeof Response === 'function' && module instanceof Response) {\n\t\tif (typeof WebAssembly.instantiateStreaming === 'function') {\n\t\t\ttry {\n\t\t\t\treturn await WebAssembly.instantiateStreaming(module, imports);\n\t\t\t} catch (e) {\n\t\t\t\tconst validResponse = module.ok && EXPECTED_RESPONSE_TYPES.has(module.type);\n\n\t\t\t\tif (validResponse && module.headers.get('Content-Type') !== 'application/wasm') {\n\t\t\t\t\tglobalThis.__ermisSdkLog?.('warn',\n\t\t\t\t\t\t'`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',\n\t\t\t\t\t\te,\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\tthrow e;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst bytes = await module.arrayBuffer();\n\t\treturn await WebAssembly.instantiate(bytes, imports);\n\t} else {\n\t\tconst instance = await WebAssembly.instantiate(module, imports);\n\n\t\tif (instance instanceof WebAssembly.Instance) {\n\t\t\treturn { instance, module };\n\t\t} else {\n\t\t\treturn instance;\n\t\t}\n\t}\n}\n\nfunction __wbg_get_imports() {\n\tconst imports = {};\n\timports.wbg = {};\n\timports.wbg.__wbg_Error_e83987f665cf5504 = function (arg0, arg1) {\n\t\tconst ret = Error(getStringFromWasm0(arg0, arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_String_8f0eb39a4a4c2f66 = function (arg0, arg1) {\n\t\tconst ret = String(getObject(arg1));\n\t\tconst ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg___wbindgen_boolean_get_6d5a1ee65bab5f68 = function (arg0) {\n\t\tconst v = getObject(arg0);\n\t\tconst ret = typeof v === 'boolean' ? v : undefined;\n\t\treturn isLikeNone(ret) ? 0xffffff : ret ? 1 : 0;\n\t};\n\timports.wbg.__wbg___wbindgen_debug_string_df47ffb5e35e6763 = function (arg0, arg1) {\n\t\tconst ret = debugString(getObject(arg1));\n\t\tconst ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg___wbindgen_is_function_ee8a6c5833c90377 = function (arg0) {\n\t\tconst ret = typeof getObject(arg0) === 'function';\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg___wbindgen_is_object_c818261d21f283a4 = function (arg0) {\n\t\tconst val = getObject(arg0);\n\t\tconst ret = typeof val === 'object' && val !== null;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg___wbindgen_is_string_fbb76cb2940daafd = function (arg0) {\n\t\tconst ret = typeof getObject(arg0) === 'string';\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg___wbindgen_is_undefined_2d472862bd29a478 = function (arg0) {\n\t\tconst ret = getObject(arg0) === undefined;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg___wbindgen_jsval_loose_eq_b664b38a2f582147 = function (arg0, arg1) {\n\t\tconst ret = getObject(arg0) == getObject(arg1);\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg___wbindgen_number_get_a20bf9b85341449d = function (arg0, arg1) {\n\t\tconst obj = getObject(arg1);\n\t\tconst ret = typeof obj === 'number' ? obj : undefined;\n\t\tgetDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n\t};\n\timports.wbg.__wbg___wbindgen_string_get_e4f06c90489ad01b = function (arg0, arg1) {\n\t\tconst obj = getObject(arg1);\n\t\tconst ret = typeof obj === 'string' ? obj : undefined;\n\t\tvar ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tvar len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg___wbindgen_throw_b855445ff6a94295 = function (arg0, arg1) {\n\t\tthrow new Error(getStringFromWasm0(arg0, arg1));\n\t};\n\timports.wbg.__wbg__wbg_cb_unref_2454a539ea5790d9 = function (arg0) {\n\t\tgetObject(arg0)._wbg_cb_unref();\n\t};\n\timports.wbg.__wbg_abort_28ad55c5825b004d = function (arg0, arg1) {\n\t\tgetObject(arg0).abort(getObject(arg1));\n\t};\n\timports.wbg.__wbg_abort_e7eb059f72f9ed0c = function (arg0) {\n\t\tgetObject(arg0).abort();\n\t};\n\timports.wbg.__wbg_addEventListener_40dc0fc428fc49e1 = function () {\n\t\treturn handleError(function (arg0, arg1, arg2, arg3) {\n\t\t\tgetObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_append_b577eb3a177bc0fa = function () {\n\t\treturn handleError(function (arg0, arg1, arg2, arg3, arg4) {\n\t\t\tgetObject(arg0).append(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_body_587542b2fd8e06c0 = function (arg0) {\n\t\tconst ret = getObject(arg0).body;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_buffer_ccc4520b36d3ccf4 = function (arg0) {\n\t\tconst ret = getObject(arg0).buffer;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_byobRequest_2344e6975f27456e = function (arg0) {\n\t\tconst ret = getObject(arg0).byobRequest;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_byteLength_bcd42e4025299788 = function (arg0) {\n\t\tconst ret = getObject(arg0).byteLength;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_byteOffset_ca3a6cf7944b364b = function (arg0) {\n\t\tconst ret = getObject(arg0).byteOffset;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_call_525440f72fbfc0ea = function () {\n\t\treturn handleError(function (arg0, arg1, arg2) {\n\t\t\tconst ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_call_e762c39fa8ea36bf = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tconst ret = getObject(arg0).call(getObject(arg1));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_cancel_48ab6f9dc366e369 = function (arg0) {\n\t\tconst ret = getObject(arg0).cancel();\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_catch_943836faa5d29bfb = function (arg0, arg1) {\n\t\tconst ret = getObject(arg0).catch(getObject(arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_clearTimeout_15dfc3d1dcb635c6 = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tgetObject(arg0).clearTimeout(takeObject(arg1));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_clearTimeout_7a42b49784aea641 = function (arg0) {\n\t\tconst ret = clearTimeout(takeObject(arg0));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_close_5a6caed3231b68cd = function () {\n\t\treturn handleError(function (arg0) {\n\t\t\tgetObject(arg0).close();\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_close_6956df845478561a = function () {\n\t\treturn handleError(function (arg0) {\n\t\t\tgetObject(arg0).close();\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_close_885e277edf06b3fa = function () {\n\t\treturn handleError(function (arg0) {\n\t\t\tgetObject(arg0).close();\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_code_20d453b11b200026 = function (arg0) {\n\t\tconst ret = getObject(arg0).code;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_code_218f5fdf8c7fcabd = function (arg0) {\n\t\tconst ret = getObject(arg0).code;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_crypto_574e78ad8b13b65f = function (arg0) {\n\t\tconst ret = getObject(arg0).crypto;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_data_ee4306d069f24f2d = function (arg0) {\n\t\tconst ret = getObject(arg0).data;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_done_2042aa2670fb1db1 = function (arg0) {\n\t\tconst ret = getObject(arg0).done;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_enqueue_7b18a650aec77898 = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tgetObject(arg0).enqueue(getObject(arg1));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_fetch_74a3e84ebd2c9a0e = function (arg0) {\n\t\tconst ret = fetch(getObject(arg0));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_fetch_f8ba0e29a9d6de0d = function (arg0, arg1) {\n\t\tconst ret = getObject(arg0).fetch(getObject(arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_getRandomValues_1c61fac11405ffdc = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tglobalThis.crypto.getRandomValues(getArrayU8FromWasm0(arg0, arg1));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_getRandomValues_b8f5dbd5f3995a9e = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tgetObject(arg0).getRandomValues(getObject(arg1));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_getReader_48e00749fe3f6089 = function () {\n\t\treturn handleError(function (arg0) {\n\t\t\tconst ret = getObject(arg0).getReader();\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_getTime_14776bfb48a1bff9 = function (arg0) {\n\t\tconst ret = getObject(arg0).getTime();\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_get_7bed016f185add81 = function (arg0, arg1) {\n\t\tconst ret = getObject(arg0)[arg1 >>> 0];\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_get_done_a0463af43a1fc764 = function (arg0) {\n\t\tconst ret = getObject(arg0).done;\n\t\treturn isLikeNone(ret) ? 0xffffff : ret ? 1 : 0;\n\t};\n\timports.wbg.__wbg_get_efcb449f58ec27c2 = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tconst ret = Reflect.get(getObject(arg0), getObject(arg1));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_get_value_5ce96c9f81ce7398 = function (arg0) {\n\t\tconst ret = getObject(arg0).value;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_has_787fafc980c3ccdb = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tconst ret = Reflect.has(getObject(arg0), getObject(arg1));\n\t\t\treturn ret;\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_headers_b87d7eaba61c3278 = function (arg0) {\n\t\tconst ret = getObject(arg0).headers;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_instanceof_ArrayBuffer_70beb1189ca63b38 = function (arg0) {\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = getObject(arg0) instanceof ArrayBuffer;\n\t\t} catch (_) {\n\t\t\tresult = false;\n\t\t}\n\t\tconst ret = result;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_instanceof_Blob_23b3322f66e5a83b = function (arg0) {\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = getObject(arg0) instanceof Blob;\n\t\t} catch (_) {\n\t\t\tresult = false;\n\t\t}\n\t\tconst ret = result;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_instanceof_Response_f4f3e87e07f3135c = function (arg0) {\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = getObject(arg0) instanceof Response;\n\t\t} catch (_) {\n\t\t\tresult = false;\n\t\t}\n\t\tconst ret = result;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_instanceof_Uint8Array_20c8e73002f7af98 = function (arg0) {\n\t\tlet result;\n\t\ttry {\n\t\t\tresult = getObject(arg0) instanceof Uint8Array;\n\t\t} catch (_) {\n\t\t\tresult = false;\n\t\t}\n\t\tconst ret = result;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_isArray_96e0af9891d0945d = function (arg0) {\n\t\tconst ret = Array.isArray(getObject(arg0));\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_iterator_e5822695327a3c39 = function () {\n\t\tconst ret = Symbol.iterator;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_length_69bca3cb64fc8748 = function (arg0) {\n\t\tconst ret = getObject(arg0).length;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_length_cdd215e10d9dd507 = function (arg0) {\n\t\tconst ret = getObject(arg0).length;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_log_ee0138cca4957740 = function (arg0, arg1) {\n\t\tglobalThis.__ermisSdkLog?.('info', getStringFromWasm0(arg0, arg1));\n\t};\n\timports.wbg.__wbg_message_bd42dbe3f2f3ed8e = function (arg0, arg1) {\n\t\tconst ret = getObject(arg1).message;\n\t\tconst ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg_msCrypto_a61aeb35a24c1329 = function (arg0) {\n\t\tconst ret = getObject(arg0).msCrypto;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_0_f9740686d739025c = function () {\n\t\tconst ret = new Date();\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_1acc0b6eea89d040 = function () {\n\t\tconst ret = new Object();\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_2531773dac38ebb3 = function () {\n\t\treturn handleError(function () {\n\t\t\tconst ret = new AbortController();\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_new_3c3d849046688a66 = function (arg0, arg1) {\n\t\ttry {\n\t\t\tvar state0 = { a: arg0, b: arg1 };\n\t\t\tvar cb0 = (arg0, arg1) => {\n\t\t\t\tconst a = state0.a;\n\t\t\t\tstate0.a = 0;\n\t\t\t\ttry {\n\t\t\t\t\treturn __wasm_bindgen_func_elem_14072(a, state0.b, arg0, arg1);\n\t\t\t\t} finally {\n\t\t\t\t\tstate0.a = a;\n\t\t\t\t}\n\t\t\t};\n\t\t\tconst ret = new Promise(cb0);\n\t\t\treturn addHeapObject(ret);\n\t\t} finally {\n\t\t\tstate0.a = state0.b = 0;\n\t\t}\n\t};\n\timports.wbg.__wbg_new_5a79be3ab53b8aa5 = function (arg0) {\n\t\tconst ret = new Uint8Array(getObject(arg0));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_881c4fe631eee9ad = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tconst ret = new WebSocket(getStringFromWasm0(arg0, arg1));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_new_9edf9838a2def39c = function () {\n\t\treturn handleError(function () {\n\t\t\tconst ret = new Headers();\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_new_a7442b4b19c1a356 = function (arg0, arg1) {\n\t\tconst ret = new Error(getStringFromWasm0(arg0, arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_e17d9f43105b08be = function () {\n\t\tconst ret = new Array();\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_from_slice_92f4d78ca282a2d2 = function (arg0, arg1) {\n\t\tconst ret = new Uint8Array(getArrayU8FromWasm0(arg0, arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_no_args_ee98eee5275000a4 = function (arg0, arg1) {\n\t\tconst ret = new Function(getStringFromWasm0(arg0, arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_with_byte_offset_and_length_46e3e6a5e9f9e89b = function (arg0, arg1, arg2) {\n\t\tconst ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_with_length_01aa0dc35aa13543 = function (arg0) {\n\t\tconst ret = new Uint8Array(arg0 >>> 0);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_new_with_str_and_init_0ae7728b6ec367b1 = function () {\n\t\treturn handleError(function (arg0, arg1, arg2) {\n\t\t\tconst ret = new Request(getStringFromWasm0(arg0, arg1), getObject(arg2));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_new_with_str_sequence_57a88eb77393f23f = function () {\n\t\treturn handleError(function (arg0, arg1, arg2) {\n\t\t\tconst ret = new WebSocket(getStringFromWasm0(arg0, arg1), getObject(arg2));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_next_020810e0ae8ebcb0 = function () {\n\t\treturn handleError(function (arg0) {\n\t\t\tconst ret = getObject(arg0).next();\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_next_2c826fe5dfec6b6a = function (arg0) {\n\t\tconst ret = getObject(arg0).next;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_node_905d3e251edff8a2 = function (arg0) {\n\t\tconst ret = getObject(arg0).node;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_now_2c95c9de01293173 = function (arg0) {\n\t\tconst ret = getObject(arg0).now();\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_now_793306c526e2e3b6 = function () {\n\t\tconst ret = Date.now();\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_performance_7a3ffd0b17f663ad = function (arg0) {\n\t\tconst ret = getObject(arg0).performance;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_process_dc0fbacc7c1c06f7 = function (arg0) {\n\t\tconst ret = getObject(arg0).process;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_prototypesetcall_2a6620b6922694b2 = function (arg0, arg1, arg2) {\n\t\tUint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));\n\t};\n\timports.wbg.__wbg_push_df81a39d04db858c = function (arg0, arg1) {\n\t\tconst ret = getObject(arg0).push(getObject(arg1));\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_queueMicrotask_34d692c25c47d05b = function (arg0) {\n\t\tconst ret = getObject(arg0).queueMicrotask;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_queueMicrotask_9d76cacb20c84d58 = function (arg0) {\n\t\tqueueMicrotask(getObject(arg0));\n\t};\n\timports.wbg.__wbg_randomFillSync_ac0988aba3254290 = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tgetObject(arg0).randomFillSync(takeObject(arg1));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_read_48f1593df542f968 = function (arg0) {\n\t\tconst ret = getObject(arg0).read();\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_readyState_97984f126080aeda = function (arg0) {\n\t\tconst ret = getObject(arg0).readyState;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_reason_1cced37e3a93763e = function (arg0, arg1) {\n\t\tconst ret = getObject(arg1).reason;\n\t\tconst ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg_releaseLock_5d0b5a68887b891d = function (arg0) {\n\t\tgetObject(arg0).releaseLock();\n\t};\n\timports.wbg.__wbg_removeEventListener_924d9db66a4f775d = function () {\n\t\treturn handleError(function (arg0, arg1, arg2, arg3) {\n\t\t\tgetObject(arg0).removeEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_require_60cc747a6bc5215a = function () {\n\t\treturn handleError(function () {\n\t\t\tconst ret = module.require;\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_resolve_caf97c30b83f7053 = function (arg0) {\n\t\tconst ret = Promise.resolve(getObject(arg0));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_respond_0f4dbf5386f5c73e = function () {\n\t\treturn handleError(function (arg0, arg1) {\n\t\t\tgetObject(arg0).respond(arg1 >>> 0);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_send_171576d2f7487517 = function () {\n\t\treturn handleError(function (arg0, arg1, arg2) {\n\t\t\tgetObject(arg0).send(getStringFromWasm0(arg1, arg2));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_send_3d2cf376613294f0 = function () {\n\t\treturn handleError(function (arg0, arg1, arg2) {\n\t\t\tgetObject(arg0).send(getArrayU8FromWasm0(arg1, arg2));\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_setTimeout_4eb823e8b72fbe79 = function () {\n\t\treturn handleError(function (arg0, arg1, arg2) {\n\t\t\tconst ret = getObject(arg0).setTimeout(takeObject(arg1), arg2);\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_setTimeout_7bb3429662ab1e70 = function (arg0, arg1) {\n\t\tconst ret = setTimeout(getObject(arg0), arg1);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_set_3f1d0b984ed272ed = function (arg0, arg1, arg2) {\n\t\tgetObject(arg0)[takeObject(arg1)] = takeObject(arg2);\n\t};\n\timports.wbg.__wbg_set_9e6516df7b7d0f19 = function (arg0, arg1, arg2) {\n\t\tgetObject(arg0).set(getArrayU8FromWasm0(arg1, arg2));\n\t};\n\timports.wbg.__wbg_set_binaryType_9d839cea8fcdc5c3 = function (arg0, arg1) {\n\t\tgetObject(arg0).binaryType = __wbindgen_enum_BinaryType[arg1];\n\t};\n\timports.wbg.__wbg_set_body_3c365989753d61f4 = function (arg0, arg1) {\n\t\tgetObject(arg0).body = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_cache_2f9deb19b92b81e3 = function (arg0, arg1) {\n\t\tgetObject(arg0).cache = __wbindgen_enum_RequestCache[arg1];\n\t};\n\timports.wbg.__wbg_set_credentials_f621cd2d85c0c228 = function (arg0, arg1) {\n\t\tgetObject(arg0).credentials = __wbindgen_enum_RequestCredentials[arg1];\n\t};\n\timports.wbg.__wbg_set_handle_event_b2de49ad6c81e3c8 = function (arg0, arg1) {\n\t\tgetObject(arg0).handleEvent = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_headers_6926da238cd32ee4 = function (arg0, arg1) {\n\t\tgetObject(arg0).headers = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_method_c02d8cbbe204ac2d = function (arg0, arg1, arg2) {\n\t\tgetObject(arg0).method = getStringFromWasm0(arg1, arg2);\n\t};\n\timports.wbg.__wbg_set_mode_52ef73cfa79639cb = function (arg0, arg1) {\n\t\tgetObject(arg0).mode = __wbindgen_enum_RequestMode[arg1];\n\t};\n\timports.wbg.__wbg_set_onclose_c09e4f7422de8dae = function (arg0, arg1) {\n\t\tgetObject(arg0).onclose = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_onerror_337a3a2db9517378 = function (arg0, arg1) {\n\t\tgetObject(arg0).onerror = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_onmessage_8661558551a89792 = function (arg0, arg1) {\n\t\tgetObject(arg0).onmessage = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_onopen_efccb9305427b907 = function (arg0, arg1) {\n\t\tgetObject(arg0).onopen = getObject(arg1);\n\t};\n\timports.wbg.__wbg_set_signal_dda2cf7ccb6bee0f = function (arg0, arg1) {\n\t\tgetObject(arg0).signal = getObject(arg1);\n\t};\n\timports.wbg.__wbg_signal_4db5aa055bf9eb9a = function (arg0) {\n\t\tconst ret = getObject(arg0).signal;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_static_accessor_GLOBAL_89e1d9ac6a1b250e = function () {\n\t\tconst ret = typeof global === 'undefined' ? null : global;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_static_accessor_GLOBAL_THIS_8b530f326a9e48ac = function () {\n\t\tconst ret = typeof globalThis === 'undefined' ? null : globalThis;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_static_accessor_SELF_6fdf4b64710cc91b = function () {\n\t\tconst ret = typeof self === 'undefined' ? null : self;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_static_accessor_WINDOW_b45bfc5a37f6cfa2 = function () {\n\t\tconst ret = typeof window === 'undefined' ? null : window;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_status_de7eed5a7a5bfd5d = function (arg0) {\n\t\tconst ret = getObject(arg0).status;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbg_stringify_b5fb28f6465d9c3e = function () {\n\t\treturn handleError(function (arg0) {\n\t\t\tconst ret = JSON.stringify(getObject(arg0));\n\t\t\treturn addHeapObject(ret);\n\t\t}, arguments);\n\t};\n\timports.wbg.__wbg_subarray_480600f3d6a9f26c = function (arg0, arg1, arg2) {\n\t\tconst ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_then_4f46f6544e6b4a28 = function (arg0, arg1) {\n\t\tconst ret = getObject(arg0).then(getObject(arg1));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_then_70d05cf780a18d77 = function (arg0, arg1, arg2) {\n\t\tconst ret = getObject(arg0).then(getObject(arg1), getObject(arg2));\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_url_9bd0af1cd8643de7 = function (arg0, arg1) {\n\t\tconst ret = getObject(arg1).url;\n\t\tconst ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg_url_b36d2a5008eb056f = function (arg0, arg1) {\n\t\tconst ret = getObject(arg1).url;\n\t\tconst ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export, wasm.__wbindgen_export2);\n\t\tconst len1 = WASM_VECTOR_LEN;\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n\t\tgetDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n\t};\n\timports.wbg.__wbg_value_692627309814bb8c = function (arg0) {\n\t\tconst ret = getObject(arg0).value;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_versions_c01dfd4722a88165 = function (arg0) {\n\t\tconst ret = getObject(arg0).versions;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_view_f6c15ac9fed63bbd = function (arg0) {\n\t\tconst ret = getObject(arg0).view;\n\t\treturn isLikeNone(ret) ? 0 : addHeapObject(ret);\n\t};\n\timports.wbg.__wbg_wasClean_3d7c0cf05bd0a123 = function (arg0) {\n\t\tconst ret = getObject(arg0).wasClean;\n\t\treturn ret;\n\t};\n\timports.wbg.__wbindgen_cast_03c7ce370dde4234 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Closure(Closure { dtor_idx: 545, function: Function { arguments: [NamedExternref(\"CloseEvent\")], shim_idx: 546, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n\t\tconst ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_2072, __wasm_bindgen_func_elem_2279);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_0548e2a34f33830b = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Closure(Closure { dtor_idx: 1340, function: Function { arguments: [], shim_idx: 1341, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n\t\tconst ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_6067, __wasm_bindgen_func_elem_6078);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_2241b6af4c4b2941 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Ref(String) -> Externref`.\n\t\tconst ret = getStringFromWasm0(arg0, arg1);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_297907e58b496a50 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Closure(Closure { dtor_idx: 2446, function: Function { arguments: [], shim_idx: 2447, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n\t\tconst ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_12577, __wasm_bindgen_func_elem_12594);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_5f086fd16774f149 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Closure(Closure { dtor_idx: 2366, function: Function { arguments: [NamedExternref(\"MessageEvent\")], shim_idx: 2367, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n\t\tconst ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_11415, __wasm_bindgen_func_elem_11460);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_81d295fd67d7c7c1 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Closure(Closure { dtor_idx: 2454, function: Function { arguments: [Externref], shim_idx: 2455, ret: Unit, inner_ret: Some(Unit) }, mutable: true }) -> Externref`.\n\t\tconst ret = makeMutClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_12631, __wasm_bindgen_func_elem_12647);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_aeaa8ca4ff3b8539 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Closure(Closure { dtor_idx: 1248, function: Function { arguments: [], shim_idx: 1249, ret: Unit, inner_ret: Some(Unit) }, mutable: false }) -> Externref`.\n\t\tconst ret = makeClosure(arg0, arg1, wasm.__wasm_bindgen_func_elem_5618, __wasm_bindgen_func_elem_5633);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_cb9088102bce6b30 = function (arg0, arg1) {\n\t\t// Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref(\"Uint8Array\")`.\n\t\tconst ret = getArrayU8FromWasm0(arg0, arg1);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_cast_d6cd19b81560fd6e = function (arg0) {\n\t\t// Cast intrinsic for `F64 -> Externref`.\n\t\tconst ret = arg0;\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_object_clone_ref = function (arg0) {\n\t\tconst ret = getObject(arg0);\n\t\treturn addHeapObject(ret);\n\t};\n\timports.wbg.__wbindgen_object_drop_ref = function (arg0) {\n\t\ttakeObject(arg0);\n\t};\n\n\treturn imports;\n}\n\nfunction __wbg_finalize_init(instance, module) {\n\twasm = instance.exports;\n\t__wbg_init.__wbindgen_wasm_module = module;\n\tcachedDataViewMemory0 = null;\n\tcachedUint8ArrayMemory0 = null;\n\n\treturn wasm;\n}\n\nfunction initSync(module) {\n\tif (wasm !== undefined) return wasm;\n\n\tif (typeof module !== 'undefined') {\n\t\tif (Object.getPrototypeOf(module) === Object.prototype) {\n\t\t\t({ module } = module);\n\t\t} else {\n\t\t\tglobalThis.__ermisSdkLog?.('warn', 'using deprecated parameters for `initSync()`; pass a single object instead');\n\t\t}\n\t}\n\n\tconst imports = __wbg_get_imports();\n\n\tif (!(module instanceof WebAssembly.Module)) {\n\t\tmodule = new WebAssembly.Module(module);\n\t}\n\n\tconst instance = new WebAssembly.Instance(module, imports);\n\n\treturn __wbg_finalize_init(instance, module);\n}\n\nasync function __wbg_init(module_or_path) {\n\tif (wasm !== undefined) return wasm;\n\n\tif (typeof module_or_path !== 'undefined') {\n\t\tif (Object.getPrototypeOf(module_or_path) === Object.prototype) {\n\t\t\t({ module_or_path } = module_or_path);\n\t\t} else {\n\t\t\tglobalThis.__ermisSdkLog?.('warn', 'using deprecated parameters for the initialization function; pass a single object instead');\n\t\t}\n\t}\n\n\tif (typeof module_or_path === 'undefined') {\n\t\tmodule_or_path = '/ermis_call_node_wasm_bg.wasm';\n\t}\n\tconst imports = __wbg_get_imports();\n\n\tif (\n\t\ttypeof module_or_path === 'string' ||\n\t\t(typeof Request === 'function' && module_or_path instanceof Request) ||\n\t\t(typeof URL === 'function' && module_or_path instanceof URL)\n\t) {\n\t\tmodule_or_path = fetch(module_or_path);\n\t}\n\n\tconst { instance, module } = await __wbg_load(await module_or_path, imports);\n\n\treturn __wbg_finalize_init(instance, module);\n}\n\nexport { initSync };\nexport default __wbg_init;\n","/**\n * WASM Worker — chạy ErmisCall WASM instance trên Worker thread.\n *\n * Mọi WASM sync calls (sendFrame, sendAudioFrame, sendControlFrame) chạy ở đây,\n * KHÔNG BAO GIỜ block Main Thread. Khi P2P connection congested (peer mạng yếu),\n * Worker thread bị block nhưng UI vẫn responsive.\n *\n * Communication: postMessage với Transferable buffers (zero-copy).\n */\n\n// @ts-ignore — WASM module import sẽ được resolve bởi bundler\nimport { initSync, ErmisCall } from './wasm/ermis_call_node_wasm';\n\n(\n globalThis as unknown as {\n __ermisSdkLog?: (logLevel: 'info' | 'warn' | 'error', ...args: unknown[]) => void;\n }\n).__ermisSdkLog = (logLevel, ...args) => {\n self.postMessage({ type: 'sdk_log', logLevel, args });\n};\n\nlet ermisCall: ErmisCall | null = null;\nlet isRecvActive = false;\n\n/** Request types từ Main Thread */\ntype WorkerRequest =\n | { id: number; type: 'init'; wasmBytes: ArrayBuffer }\n | { id: number; type: 'spawn'; relayUrls: string[] }\n | { id: number; type: 'getLocalEndpointAddr' }\n | { id: number; type: 'connect'; address: string }\n | { id: number; type: 'acceptConnection' }\n | { id: number; type: 'sendFrame'; data: Uint8Array }\n | { id: number; type: 'beginWithGop'; data: Uint8Array }\n | { id: number; type: 'sendAudioFrame'; data: Uint8Array }\n | { id: number; type: 'sendControlFrame'; data: Uint8Array }\n | { id: number; type: 'closeEndpoint' }\n | { id: number; type: 'closeConnection' }\n | { id: number; type: 'networkChange' }\n | { id: number; type: 'startRecvLoop' }\n | { id: number; type: 'stopRecvLoop' }\n | { id: number; type: 'getStats' }\n | { id: number; type: 'terminate' };\n\n/** Helper: gửi success response */\nfunction sendResult(id: number, data?: any) {\n self.postMessage({ id, type: 'result', data });\n}\n\n/** Helper: gửi error response */\nfunction sendError(id: number, error: string) {\n self.postMessage({ id, type: 'error', error });\n}\n\n/** Helper: sleep */\nfunction sleep(ms: number): Promise<void> {\n return new Promise((resolve) => setTimeout(resolve, ms));\n}\n\n/**\n * Receive loop — chạy liên tục trong Worker.\n * asyncRecv() block Worker thread khi chờ data — KHÔNG ảnh hưởng Main Thread.\n * Data nhận được gửi về Main Thread qua postMessage với Transferable.\n */\nasync function recvLoop() {\n while (isRecvActive && ermisCall) {\n try {\n const data = await ermisCall.asyncRecv();\n // Transfer buffer ownership → zero-copy\n (self as unknown as { postMessage: (msg: any, transfer?: Transferable[]) => void }).postMessage(\n { type: 'recv_data', data },\n [data.buffer],\n );\n } catch (error) {\n if (!isRecvActive) break; // Đã dừng — không cần log\n (self as unknown as { postMessage: (msg: any, transfer?: Transferable[]) => void }).postMessage({\n type: 'recv_error',\n error: String(error),\n });\n await sleep(200); // Backoff trước khi thử lại\n }\n }\n}\n\n/** Main message handler */\nself.onmessage = async (e: MessageEvent<WorkerRequest>) => {\n const msg = e.data;\n\n try {\n switch (msg.type) {\n // === LIFECYCLE ===\n case 'init': {\n // Nhận WASM bytes từ Main Thread → compile thành Module → initSync\n const wasmModule = new WebAssembly.Module(msg.wasmBytes);\n initSync(wasmModule);\n ermisCall = new ErmisCall();\n sendResult(msg.id);\n break;\n }\n\n case 'spawn': {\n if (!ermisCall) throw new Error('WASM not initialized');\n await ermisCall.spawn(msg.relayUrls);\n sendResult(msg.id);\n break;\n }\n\n case 'getLocalEndpointAddr': {\n if (!ermisCall) throw new Error('WASM not initialized');\n const addr = await ermisCall.getLocalEndpointAddr();\n sendResult(msg.id, addr);\n break;\n }\n\n case 'connect': {\n if (!ermisCall) throw new Error('WASM not initialized');\n await ermisCall.connect(msg.address);\n sendResult(msg.id);\n break;\n }\n\n case 'acceptConnection': {\n if (!ermisCall) throw new Error('WASM not initialized');\n await ermisCall.acceptConnection();\n sendResult(msg.id);\n break;\n }\n\n // === DATA SEND (blocking calls — now safe in Worker) ===\n case 'sendFrame': {\n if (!ermisCall) throw new Error('WASM not initialized');\n ermisCall.sendFrame(msg.data);\n sendResult(msg.id);\n break;\n }\n\n case 'beginWithGop': {\n if (!ermisCall) throw new Error('WASM not initialized');\n ermisCall.beginWithGop(msg.data);\n sendResult(msg.id);\n break;\n }\n\n case 'sendAudioFrame': {\n if (!ermisCall) throw new Error('WASM not initialized');\n ermisCall.sendAudioFrame(msg.data);\n sendResult(msg.id);\n break;\n }\n\n case 'sendControlFrame': {\n if (!ermisCall) throw new Error('WASM not initialized');\n ermisCall.sendControlFrame(msg.data);\n sendResult(msg.id);\n break;\n }\n\n // === RECEIVE LOOP ===\n case 'startRecvLoop': {\n isRecvActive = true;\n sendResult(msg.id);\n // Start loop (fire-and-forget — runs until stopRecvLoop)\n recvLoop();\n break;\n }\n\n case 'stopRecvLoop': {\n isRecvActive = false;\n sendResult(msg.id);\n break;\n }\n\n // === CONTROL ===\n case 'closeEndpoint': {\n if (!ermisCall) throw new Error('WASM not initialized');\n await ermisCall.closeEndpoint();\n sendResult(msg.id);\n break;\n }\n\n case 'closeConnection': {\n if (!ermisCall) throw new Error('WASM not initialized');\n ermisCall.closeConnection();\n sendResult(msg.id);\n break;\n }\n\n case 'networkChange': {\n if (!ermisCall) throw new Error('WASM not initialized');\n ermisCall.networkChange();\n sendResult(msg.id);\n break;\n }\n\n case 'getStats': {\n if (!ermisCall) throw new Error('WASM not initialized');\n const stats = ermisCall.getStats();\n sendResult(msg.id, stats);\n break;\n }\n\n case 'terminate': {\n isRecvActive = false;\n if (ermisCall) {\n try {\n ermisCall.closeConnection();\n } catch {\n /* ignore */\n }\n try {\n ermisCall.free();\n } catch {\n /* ignore */\n }\n ermisCall = null;\n }\n sendResult(msg.id);\n // Worker sẽ bị terminate bởi Main Thread sau khi nhận result\n break;\n }\n\n default:\n sendError((msg as any).id, `Unknown message type: ${(msg as any).type}`);\n }\n } catch (error) {\n sendError(msg.id, String(error));\n }\n};\n"],"mappings":"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","names":["ptr","module","arg0","arg1"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ermis-network/ermis-chat-sdk",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Ermis Chat SDK",
5
5
  "author": "Ermis",
6
6
  "homepage": "https://ermis.network/",
@@ -13,18 +13,28 @@
13
13
  "types": "./dist/index.d.ts",
14
14
  "browser": {
15
15
  "./dist/index.mjs": "./dist/index.browser.mjs",
16
- "./dist/index.cjs": "./dist/index.browser.cjs"
16
+ "./dist/index.cjs": "./dist/index.browser.cjs",
17
+ "./dist/encryption/index.mjs": "./dist/encryption/index.browser.mjs",
18
+ "./dist/encryption/index.cjs": "./dist/encryption/index.browser.cjs"
17
19
  },
18
20
  "react-native": {
19
21
  "./dist/index.mjs": "./dist/index.browser.mjs",
20
- "./dist/index.cjs": "./dist/index.browser.cjs"
22
+ "./dist/index.cjs": "./dist/index.browser.cjs",
23
+ "./dist/encryption/index.mjs": "./dist/encryption/index.browser.mjs",
24
+ "./dist/encryption/index.cjs": "./dist/encryption/index.browser.cjs"
21
25
  },
22
26
  "exports": {
23
27
  ".": {
24
28
  "types": "./dist/index.d.ts",
25
29
  "import": "./dist/index.mjs",
26
30
  "require": "./dist/index.cjs"
27
- }
31
+ },
32
+ "./encryption": {
33
+ "types": "./dist/encryption/index.d.ts",
34
+ "import": "./dist/encryption/index.mjs",
35
+ "require": "./dist/encryption/index.cjs"
36
+ },
37
+ "./public/*": "./public/*"
28
38
  },
29
39
  "bin": {
30
40
  "ermis-init-call": "./bin/init-call.js"
@@ -41,19 +51,21 @@
41
51
  ],
42
52
  "files": [
43
53
  "/dist",
44
- "/src",
54
+ "README.md",
45
55
  "readme.md",
46
56
  "license",
47
57
  "/bin",
48
58
  "/public"
49
59
  ],
50
60
  "dependencies": {
61
+ "@noble/hashes": "1.4.0",
51
62
  "@types/event-source-polyfill": "^1.0.5",
52
63
  "@types/ws": "^7.4.0",
53
64
  "axios": "^1.6.0",
54
65
  "event-source-polyfill": "^1.0.31",
55
66
  "form-data": "^4.0.0",
56
67
  "isomorphic-ws": "^4.0.1",
68
+ "minisearch": "^7.2.0",
57
69
  "ws": "^7.4.4"
58
70
  },
59
71
  "devDependencies": {
@@ -64,6 +76,9 @@
64
76
  "scripts": {
65
77
  "build": "node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\" && tsup",
66
78
  "dev": "tsup --watch",
67
- "types": "tsc --noEmit"
79
+ "types": "tsc --noEmit",
80
+ "test:media": "node --test test/e2ee_media_streaming.test.cjs",
81
+ "test:attachments": "node --test test/e2ee_attachments.test.cjs",
82
+ "test:repair": "node --test test/recovery_repair.test.cjs"
68
83
  }
69
84
  }