diff --git a/dist/index.html b/dist/index.html
new file mode 100644
index 0000000..8f59896
--- /dev/null
+++ b/dist/index.html
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/dist/wavefunc-2bcffbbb7d1ec1cc.js b/dist/wavefunc-2bcffbbb7d1ec1cc.js
new file mode 100644
index 0000000..9fba04e
--- /dev/null
+++ b/dist/wavefunc-2bcffbbb7d1ec1cc.js
@@ -0,0 +1,852 @@
+let wasm;
+
+const heap = new Array(128).fill(undefined);
+
+heap.push(undefined, null, true, false);
+
+function getObject(idx) { return heap[idx]; }
+
+let heap_next = heap.length;
+
+function addHeapObject(obj) {
+ if (heap_next === heap.length) heap.push(heap.length + 1);
+ const idx = heap_next;
+ heap_next = heap[idx];
+
+ heap[idx] = obj;
+ return idx;
+}
+
+function dropObject(idx) {
+ if (idx < 132) return;
+ heap[idx] = heap_next;
+ heap_next = idx;
+}
+
+function takeObject(idx) {
+ const ret = getObject(idx);
+ dropObject(idx);
+ return ret;
+}
+
+const cachedTextDecoder = (typeof TextDecoder !== 'undefined' ? new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }) : { decode: () => { throw Error('TextDecoder not available') } } );
+
+if (typeof TextDecoder !== 'undefined') { cachedTextDecoder.decode(); };
+
+let cachedUint8Memory0 = null;
+
+function getUint8Memory0() {
+ if (cachedUint8Memory0 === null || cachedUint8Memory0.byteLength === 0) {
+ cachedUint8Memory0 = new Uint8Array(wasm.memory.buffer);
+ }
+ return cachedUint8Memory0;
+}
+
+function getStringFromWasm0(ptr, len) {
+ ptr = ptr >>> 0;
+ return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len));
+}
+
+function debugString(val) {
+ // primitive types
+ const type = typeof val;
+ if (type == 'number' || type == 'boolean' || val == null) {
+ return `${val}`;
+ }
+ if (type == 'string') {
+ return `"${val}"`;
+ }
+ if (type == 'symbol') {
+ const description = val.description;
+ if (description == null) {
+ return 'Symbol';
+ } else {
+ return `Symbol(${description})`;
+ }
+ }
+ if (type == 'function') {
+ const name = val.name;
+ if (typeof name == 'string' && name.length > 0) {
+ return `Function(${name})`;
+ } else {
+ return 'Function';
+ }
+ }
+ // objects
+ if (Array.isArray(val)) {
+ const length = val.length;
+ let debug = '[';
+ if (length > 0) {
+ debug += debugString(val[0]);
+ }
+ for(let i = 1; i < length; i++) {
+ debug += ', ' + debugString(val[i]);
+ }
+ debug += ']';
+ return debug;
+ }
+ // Test for built-in
+ const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
+ let className;
+ if (builtInMatches.length > 1) {
+ className = builtInMatches[1];
+ } else {
+ // Failed to match the standard '[object ClassName]'
+ return toString.call(val);
+ }
+ if (className == 'Object') {
+ // we're a user defined class or Object
+ // JSON.stringify avoids problems with cycles, and is generally much
+ // easier than looping through ownProperties of `val`.
+ try {
+ return 'Object(' + JSON.stringify(val) + ')';
+ } catch (_) {
+ return 'Object';
+ }
+ }
+ // errors
+ if (val instanceof Error) {
+ return `${val.name}: ${val.message}\n${val.stack}`;
+ }
+ // TODO we could test for more things here, like `Set`s and `Map`s.
+ return className;
+}
+
+let WASM_VECTOR_LEN = 0;
+
+const cachedTextEncoder = (typeof TextEncoder !== 'undefined' ? new TextEncoder('utf-8') : { encode: () => { throw Error('TextEncoder not available') } } );
+
+const encodeString = (typeof cachedTextEncoder.encodeInto === 'function'
+ ? function (arg, view) {
+ return cachedTextEncoder.encodeInto(arg, view);
+}
+ : function (arg, view) {
+ const buf = cachedTextEncoder.encode(arg);
+ view.set(buf);
+ return {
+ read: arg.length,
+ written: buf.length
+ };
+});
+
+function passStringToWasm0(arg, malloc, realloc) {
+
+ if (realloc === undefined) {
+ const buf = cachedTextEncoder.encode(arg);
+ const ptr = malloc(buf.length, 1) >>> 0;
+ getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf);
+ WASM_VECTOR_LEN = buf.length;
+ return ptr;
+ }
+
+ let len = arg.length;
+ let ptr = malloc(len, 1) >>> 0;
+
+ const mem = getUint8Memory0();
+
+ let offset = 0;
+
+ for (; offset < len; offset++) {
+ const code = arg.charCodeAt(offset);
+ if (code > 0x7F) break;
+ mem[ptr + offset] = code;
+ }
+
+ if (offset !== len) {
+ if (offset !== 0) {
+ arg = arg.slice(offset);
+ }
+ ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
+ const view = getUint8Memory0().subarray(ptr + offset, ptr + len);
+ const ret = encodeString(arg, view);
+
+ offset += ret.written;
+ }
+
+ WASM_VECTOR_LEN = offset;
+ return ptr;
+}
+
+let cachedInt32Memory0 = null;
+
+function getInt32Memory0() {
+ if (cachedInt32Memory0 === null || cachedInt32Memory0.byteLength === 0) {
+ cachedInt32Memory0 = new Int32Array(wasm.memory.buffer);
+ }
+ return cachedInt32Memory0;
+}
+
+function makeMutClosure(arg0, arg1, dtor, f) {
+ const state = { a: arg0, b: arg1, cnt: 1, dtor };
+ const real = (...args) => {
+ // First up with a closure we increment the internal reference
+ // count. This ensures that the Rust closure environment won't
+ // be deallocated while we're invoking it.
+ state.cnt++;
+ const a = state.a;
+ state.a = 0;
+ try {
+ return f(a, state.b, ...args);
+ } finally {
+ if (--state.cnt === 0) {
+ wasm.__wbindgen_export_2.get(state.dtor)(a, state.b);
+
+ } else {
+ state.a = a;
+ }
+ }
+ };
+ real.original = state;
+
+ return real;
+}
+function __wbg_adapter_24(arg0, arg1, arg2) {
+ wasm.wasm_bindgen__convert__closures__invoke1_mut__h70b208925c7700bb(arg0, arg1, addHeapObject(arg2));
+}
+
+function __wbg_adapter_29(arg0, arg1) {
+ wasm.wasm_bindgen__convert__closures__invoke0_mut__hcc455a4bb6ea61a7(arg0, arg1);
+}
+
+function __wbg_adapter_32(arg0, arg1, arg2) {
+ wasm.wasm_bindgen__convert__closures__invoke1_mut__h017daa588b110ee9(arg0, arg1, addHeapObject(arg2));
+}
+
+function __wbg_adapter_35(arg0, arg1, arg2) {
+ wasm._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h545ac827382e531c(arg0, arg1, addHeapObject(arg2));
+}
+
+function getCachedStringFromWasm0(ptr, len) {
+ if (ptr === 0) {
+ return getObject(len);
+ } else {
+ return getStringFromWasm0(ptr, len);
+ }
+}
+
+function isLikeNone(x) {
+ return x === undefined || x === null;
+}
+
+function handleError(f, args) {
+ try {
+ return f.apply(this, args);
+ } catch (e) {
+ wasm.__wbindgen_exn_store(addHeapObject(e));
+ }
+}
+function __wbg_adapter_146(arg0, arg1, arg2, arg3) {
+ wasm.wasm_bindgen__convert__closures__invoke2_mut__h734af0f8c320c66c(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
+}
+
+/**
+*/
+export class IntoUnderlyingByteSource {
+
+ __destroy_into_raw() {
+ const ptr = this.__wbg_ptr;
+ this.__wbg_ptr = 0;
+
+ return ptr;
+ }
+
+ free() {
+ const ptr = this.__destroy_into_raw();
+ wasm.__wbg_intounderlyingbytesource_free(ptr);
+ }
+ /**
+ * @returns {string}
+ */
+ get type() {
+ try {
+ const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);
+ wasm.intounderlyingbytesource_type(retptr, this.__wbg_ptr);
+ var r0 = getInt32Memory0()[retptr / 4 + 0];
+ var r1 = getInt32Memory0()[retptr / 4 + 1];
+ var v1 = getCachedStringFromWasm0(r0, r1);
+ if (r0 !== 0) { wasm.__wbindgen_free(r0, r1, 1); }
+ return v1;
+ } finally {
+ wasm.__wbindgen_add_to_stack_pointer(16);
+ }
+}
+/**
+* @returns {number}
+*/
+get autoAllocateChunkSize() {
+ const ret = wasm.intounderlyingbytesource_autoAllocateChunkSize(this.__wbg_ptr);
+ return ret >>> 0;
+}
+/**
+* @param {ReadableByteStreamController} controller
+*/
+start(controller) {
+ wasm.intounderlyingbytesource_start(this.__wbg_ptr, addHeapObject(controller));
+}
+/**
+* @param {ReadableByteStreamController} controller
+* @returns {Promise}
+*/
+pull(controller) {
+ const ret = wasm.intounderlyingbytesource_pull(this.__wbg_ptr, addHeapObject(controller));
+ return takeObject(ret);
+}
+/**
+*/
+cancel() {
+ const ptr = this.__destroy_into_raw();
+ wasm.intounderlyingbytesource_cancel(ptr);
+}
+}
+/**
+*/
+export class IntoUnderlyingSink {
+
+ __destroy_into_raw() {
+ const ptr = this.__wbg_ptr;
+ this.__wbg_ptr = 0;
+
+ return ptr;
+ }
+
+ free() {
+ const ptr = this.__destroy_into_raw();
+ wasm.__wbg_intounderlyingsink_free(ptr);
+ }
+ /**
+ * @param {any} chunk
+ * @returns {Promise}
+ */
+ write(chunk) {
+ const ret = wasm.intounderlyingsink_write(this.__wbg_ptr, addHeapObject(chunk));
+ return takeObject(ret);
+ }
+ /**
+ * @returns {Promise}
+ */
+ close() {
+ const ptr = this.__destroy_into_raw();
+ const ret = wasm.intounderlyingsink_close(ptr);
+ return takeObject(ret);
+ }
+ /**
+ * @param {any} reason
+ * @returns {Promise}
+ */
+ abort(reason) {
+ const ptr = this.__destroy_into_raw();
+ const ret = wasm.intounderlyingsink_abort(ptr, addHeapObject(reason));
+ return takeObject(ret);
+ }
+}
+/**
+*/
+export class IntoUnderlyingSource {
+
+ __destroy_into_raw() {
+ const ptr = this.__wbg_ptr;
+ this.__wbg_ptr = 0;
+
+ return ptr;
+ }
+
+ free() {
+ const ptr = this.__destroy_into_raw();
+ wasm.__wbg_intounderlyingsource_free(ptr);
+ }
+ /**
+ * @param {ReadableStreamDefaultController} controller
+ * @returns {Promise}
+ */
+ pull(controller) {
+ const ret = wasm.intounderlyingsource_pull(this.__wbg_ptr, addHeapObject(controller));
+ return takeObject(ret);
+ }
+ /**
+ */
+ cancel() {
+ const ptr = this.__destroy_into_raw();
+ wasm.intounderlyingsource_cancel(ptr);
+ }
+}
+
+async function __wbg_load(module, imports) {
+ if (typeof Response === 'function' && module instanceof Response) {
+ if (typeof WebAssembly.instantiateStreaming === 'function') {
+ try {
+ return await WebAssembly.instantiateStreaming(module, imports);
+
+ } catch (e) {
+ if (module.headers.get('Content-Type') != 'application/wasm') {
+ console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);
+
+ } else {
+ throw e;
+ }
+ }
+ }
+
+ const bytes = await module.arrayBuffer();
+ return await WebAssembly.instantiate(bytes, imports);
+
+ } else {
+ const instance = await WebAssembly.instantiate(module, imports);
+
+ if (instance instanceof WebAssembly.Instance) {
+ return { instance, module };
+
+ } else {
+ return instance;
+ }
+ }
+}
+
+function __wbg_get_imports() {
+ const imports = {};
+ imports.wbg = {};
+ imports.wbg.__wbindgen_object_clone_ref = function(arg0) {
+ const ret = getObject(arg0);
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbindgen_object_drop_ref = function(arg0) {
+ takeObject(arg0);
+ };
+ imports.wbg.__wbindgen_cb_drop = function(arg0) {
+ const obj = takeObject(arg0).original;
+ if (obj.cnt-- == 1) {
+ obj.a = 0;
+ return true;
+ }
+ const ret = false;
+ return ret;
+ };
+ imports.wbg.__wbindgen_string_new = function(arg0, arg1) {
+ const ret = getStringFromWasm0(arg0, arg1);
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbg_new_abda76e883ba8a5f = function() {
+ const ret = new Error();
+ return addHeapObject(ret);
+ };
+ imports.wbg.__wbg_stack_658279fe44541cf6 = function(arg0, arg1) {
+ const ret = getObject(arg1).stack;
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ const len1 = WASM_VECTOR_LEN;
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
+ };
+ imports.wbg.__wbg_error_f851667af71bcfc6 = function(arg0, arg1) {
+ var v0 = getCachedStringFromWasm0(arg0, arg1);
+ if (arg0 !== 0) { wasm.__wbindgen_free(arg0, arg1, 1); }
+ console.error(v0);
+};
+imports.wbg.__wbindgen_is_undefined = function(arg0) {
+ const ret = getObject(arg0) === undefined;
+ return ret;
+};
+imports.wbg.__wbindgen_is_null = function(arg0) {
+ const ret = getObject(arg0) === null;
+ return ret;
+};
+imports.wbg.__wbindgen_is_falsy = function(arg0) {
+ const ret = !getObject(arg0);
+ return ret;
+};
+imports.wbg.__wbg_instanceof_Window_99dc9805eaa2614b = function(arg0) {
+ let result;
+ try {
+ result = getObject(arg0) instanceof Window;
+ } catch (_) {
+ result = false;
+ }
+ const ret = result;
+ return ret;
+};
+imports.wbg.__wbg_document_5257b70811e953c0 = function(arg0) {
+ const ret = getObject(arg0).document;
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+};
+imports.wbg.__wbg_body_3eb73da919b867a1 = function(arg0) {
+ const ret = getObject(arg0).body;
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+};
+imports.wbg.__wbg_createComment_ce9f467394242d45 = function(arg0, arg1, arg2) {
+ var v0 = getCachedStringFromWasm0(arg1, arg2);
+ const ret = getObject(arg0).createComment(v0);
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_createDocumentFragment_229f723f44e69ab9 = function(arg0) {
+ const ret = getObject(arg0).createDocumentFragment();
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_createElement_1a136faad4101f43 = function() { return handleError(function (arg0, arg1, arg2) {
+ var v0 = getCachedStringFromWasm0(arg1, arg2);
+ const ret = getObject(arg0).createElement(v0);
+ return addHeapObject(ret);
+}, arguments) };
+imports.wbg.__wbg_createTextNode_dbdd908f92bae1b1 = function(arg0, arg1, arg2) {
+ var v0 = getCachedStringFromWasm0(arg1, arg2);
+ const ret = getObject(arg0).createTextNode(v0);
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_setinnerHTML_99deeacfff0ae4cc = function(arg0, arg1, arg2) {
+ var v0 = getCachedStringFromWasm0(arg1, arg2);
+ getObject(arg0).innerHTML = v0;
+};
+imports.wbg.__wbg_removeAttribute_5c264e727b67dbdb = function() { return handleError(function (arg0, arg1, arg2) {
+ var v0 = getCachedStringFromWasm0(arg1, arg2);
+ getObject(arg0).removeAttribute(v0);
+}, arguments) };
+imports.wbg.__wbg_setAttribute_0918ea45d5a1c663 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
+ var v0 = getCachedStringFromWasm0(arg1, arg2);
+ var v1 = getCachedStringFromWasm0(arg3, arg4);
+ getObject(arg0).setAttribute(v0, v1);
+}, arguments) };
+imports.wbg.__wbg_before_bed7b7b6e53dd469 = function() { return handleError(function (arg0, arg1) {
+ getObject(arg0).before(getObject(arg1));
+}, arguments) };
+imports.wbg.__wbg_remove_ed2f62f1a8be044b = function(arg0) {
+ getObject(arg0).remove();
+};
+imports.wbg.__wbg_append_459bddb5f3a5b5fa = function() { return handleError(function (arg0, arg1) {
+ getObject(arg0).append(getObject(arg1));
+}, arguments) };
+imports.wbg.__wbg_value_c93cb4b4d352228e = function(arg0, arg1) {
+ const ret = getObject(arg1).value;
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ const len1 = WASM_VECTOR_LEN;
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
+};
+imports.wbg.__wbg_removeProperty_569b8c8469084b23 = function() { return handleError(function (arg0, arg1, arg2, arg3) {
+ var v0 = getCachedStringFromWasm0(arg2, arg3);
+ const ret = getObject(arg1).removeProperty(v0);
+ const ptr2 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ const len2 = WASM_VECTOR_LEN;
+ getInt32Memory0()[arg0 / 4 + 1] = len2;
+ getInt32Memory0()[arg0 / 4 + 0] = ptr2;
+}, arguments) };
+imports.wbg.__wbg_setProperty_a763529f4ef8ac76 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
+ var v0 = getCachedStringFromWasm0(arg1, arg2);
+ var v1 = getCachedStringFromWasm0(arg3, arg4);
+ getObject(arg0).setProperty(v0, v1);
+}, arguments) };
+imports.wbg.__wbg_target_791826e938c3e308 = function(arg0) {
+ const ret = getObject(arg0).target;
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+};
+imports.wbg.__wbg_cancelBubble_191799b8e0ab3254 = function(arg0) {
+ const ret = getObject(arg0).cancelBubble;
+ return ret;
+};
+imports.wbg.__wbg_composedPath_d94a39b8c8f6eed1 = function(arg0) {
+ const ret = getObject(arg0).composedPath();
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_byobRequest_004146c1db53bc14 = function(arg0) {
+ const ret = getObject(arg0).byobRequest;
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+};
+imports.wbg.__wbg_close_54a5b70c42a72ee3 = function() { return handleError(function (arg0) {
+ getObject(arg0).close();
+}, arguments) };
+imports.wbg.__wbg_style_b32d5cb9a6bd4720 = function(arg0) {
+ const ret = getObject(arg0).style;
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_new_4d5935236eea57e5 = function() { return handleError(function () {
+ const ret = new Range();
+ return addHeapObject(ret);
+}, arguments) };
+imports.wbg.__wbg_deleteContents_4ef35f6b1f6bdb41 = function() { return handleError(function (arg0) {
+ getObject(arg0).deleteContents();
+}, arguments) };
+imports.wbg.__wbg_setEndBefore_213652954c786b01 = function() { return handleError(function (arg0, arg1) {
+ getObject(arg0).setEndBefore(getObject(arg1));
+}, arguments) };
+imports.wbg.__wbg_setStartBefore_feaf6bd3922515df = function() { return handleError(function (arg0, arg1) {
+ getObject(arg0).setStartBefore(getObject(arg1));
+}, arguments) };
+imports.wbg.__wbg_parentNode_f3957fdd408a62f7 = function(arg0) {
+ const ret = getObject(arg0).parentNode;
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+};
+imports.wbg.__wbg_childNodes_75d3da5f3a7bb985 = function(arg0) {
+ const ret = getObject(arg0).childNodes;
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_previousSibling_4cd9e84aeb4df529 = function(arg0) {
+ const ret = getObject(arg0).previousSibling;
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+};
+imports.wbg.__wbg_nextSibling_13e9454ef5323f1a = function(arg0) {
+ const ret = getObject(arg0).nextSibling;
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+};
+imports.wbg.__wbg_settextContent_1fec240f77aa3dc4 = function(arg0, arg1, arg2) {
+ var v0 = getCachedStringFromWasm0(arg1, arg2);
+ getObject(arg0).textContent = v0;
+};
+imports.wbg.__wbg_appendChild_bd383ec5356c0bdb = function() { return handleError(function (arg0, arg1) {
+ const ret = getObject(arg0).appendChild(getObject(arg1));
+ return addHeapObject(ret);
+}, arguments) };
+imports.wbg.__wbg_cloneNode_80501c66ab115588 = function() { return handleError(function (arg0) {
+ const ret = getObject(arg0).cloneNode();
+ return addHeapObject(ret);
+}, arguments) };
+imports.wbg.__wbg_error_1f4e3e298a7c97f6 = function(arg0) {
+ console.error(getObject(arg0));
+};
+imports.wbg.__wbg_warn_0e0204547af47087 = function(arg0) {
+ console.warn(getObject(arg0));
+};
+imports.wbg.__wbg_append_517583bac5b5bb16 = function() { return handleError(function (arg0, arg1) {
+ getObject(arg0).append(getObject(arg1));
+}, arguments) };
+imports.wbg.__wbg_instanceof_ShadowRoot_cb6366cb0956ce29 = function(arg0) {
+ let result;
+ try {
+ result = getObject(arg0) instanceof ShadowRoot;
+ } catch (_) {
+ result = false;
+ }
+ const ret = result;
+ return ret;
+};
+imports.wbg.__wbg_host_99e27ed8897850f2 = function(arg0) {
+ const ret = getObject(arg0).host;
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_length_d5ed87010607a669 = function(arg0) {
+ const ret = getObject(arg0).length;
+ return ret;
+};
+imports.wbg.__wbg_addEventListener_2f891d22985fd3c8 = function() { return handleError(function (arg0, arg1, arg2, arg3) {
+ var v0 = getCachedStringFromWasm0(arg1, arg2);
+ getObject(arg0).addEventListener(v0, getObject(arg3));
+}, arguments) };
+imports.wbg.__wbg_addEventListener_1b158e9e95e0ab00 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) {
+ var v0 = getCachedStringFromWasm0(arg1, arg2);
+ getObject(arg0).addEventListener(v0, getObject(arg3), getObject(arg4));
+}, arguments) };
+imports.wbg.__wbg_close_21d8fce01634cc74 = function() { return handleError(function (arg0) {
+ getObject(arg0).close();
+}, arguments) };
+imports.wbg.__wbg_enqueue_61ebfae3475d5d91 = function() { return handleError(function (arg0, arg1) {
+ getObject(arg0).enqueue(getObject(arg1));
+}, arguments) };
+imports.wbg.__wbg_setdata_4d5b377238fff97c = function(arg0, arg1, arg2) {
+ var v0 = getCachedStringFromWasm0(arg1, arg2);
+ getObject(arg0).data = v0;
+};
+imports.wbg.__wbg_view_d7afa0120e493b2d = function(arg0) {
+ const ret = getObject(arg0).view;
+ return isLikeNone(ret) ? 0 : addHeapObject(ret);
+};
+imports.wbg.__wbg_respond_3233ecfa19b9b617 = function() { return handleError(function (arg0, arg1) {
+ getObject(arg0).respond(arg1 >>> 0);
+}, arguments) };
+imports.wbg.__wbg_get_c43534c00f382c8a = function(arg0, arg1) {
+ const ret = getObject(arg0)[arg1 >>> 0];
+ return addHeapObject(ret);
+};
+imports.wbg.__wbindgen_is_function = function(arg0) {
+ const ret = typeof(getObject(arg0)) === 'function';
+ return ret;
+};
+imports.wbg.__wbg_newnoargs_5859b6d41c6fe9f7 = function(arg0, arg1) {
+ var v0 = getCachedStringFromWasm0(arg0, arg1);
+ const ret = new Function(v0);
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_get_5027b32da70f39b1 = function() { return handleError(function (arg0, arg1) {
+ const ret = Reflect.get(getObject(arg0), getObject(arg1));
+ return addHeapObject(ret);
+}, arguments) };
+imports.wbg.__wbg_call_a79f1973a4f07d5e = function() { return handleError(function (arg0, arg1) {
+ const ret = getObject(arg0).call(getObject(arg1));
+ return addHeapObject(ret);
+}, arguments) };
+imports.wbg.__wbg_self_086b5302bcafb962 = function() { return handleError(function () {
+ const ret = self.self;
+ return addHeapObject(ret);
+}, arguments) };
+imports.wbg.__wbg_window_132fa5d7546f1de5 = function() { return handleError(function () {
+ const ret = window.window;
+ return addHeapObject(ret);
+}, arguments) };
+imports.wbg.__wbg_globalThis_e5f801a37ad7d07b = function() { return handleError(function () {
+ const ret = globalThis.globalThis;
+ return addHeapObject(ret);
+}, arguments) };
+imports.wbg.__wbg_global_f9a61fce4af6b7c1 = function() { return handleError(function () {
+ const ret = global.global;
+ return addHeapObject(ret);
+}, arguments) };
+imports.wbg.__wbg_new_3a66822ed076951c = function(arg0, arg1) {
+ var v0 = getCachedStringFromWasm0(arg0, arg1);
+ const ret = new Error(v0);
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_call_f6a2bc58c19c53c6 = function() { return handleError(function (arg0, arg1, arg2) {
+ const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
+ return addHeapObject(ret);
+}, arguments) };
+imports.wbg.__wbg_is_a5728dbfb61c82cd = function(arg0, arg1) {
+ const ret = Object.is(getObject(arg0), getObject(arg1));
+ return ret;
+};
+imports.wbg.__wbg_new_1d93771b84541aa5 = function(arg0, arg1) {
+ try {
+ var state0 = {a: arg0, b: arg1};
+ var cb0 = (arg0, arg1) => {
+ const a = state0.a;
+ state0.a = 0;
+ try {
+ return __wbg_adapter_146(a, state0.b, arg0, arg1);
+ } finally {
+ state0.a = a;
+ }
+ };
+ const ret = new Promise(cb0);
+ return addHeapObject(ret);
+ } finally {
+ state0.a = state0.b = 0;
+ }
+};
+imports.wbg.__wbg_resolve_97ecd55ee839391b = function(arg0) {
+ const ret = Promise.resolve(getObject(arg0));
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_then_7aeb7c5f1536640f = function(arg0, arg1) {
+ const ret = getObject(arg0).then(getObject(arg1));
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_buffer_5d1b598a01b41a42 = function(arg0) {
+ const ret = getObject(arg0).buffer;
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_newwithbyteoffsetandlength_d695c7957788f922 = function(arg0, arg1, arg2) {
+ const ret = new Uint8Array(getObject(arg0), arg1 >>> 0, arg2 >>> 0);
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_set_74906aa30864df5a = function(arg0, arg1, arg2) {
+ getObject(arg0).set(getObject(arg1), arg2 >>> 0);
+};
+imports.wbg.__wbg_length_f0764416ba5bb237 = function(arg0) {
+ const ret = getObject(arg0).length;
+ return ret;
+};
+imports.wbg.__wbg_buffer_3da2aecfd9814cd8 = function(arg0) {
+ const ret = getObject(arg0).buffer;
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_byteLength_a8d894d93425b2e0 = function(arg0) {
+ const ret = getObject(arg0).byteLength;
+ return ret;
+};
+imports.wbg.__wbg_byteOffset_89d0a5265d5bde53 = function(arg0) {
+ const ret = getObject(arg0).byteOffset;
+ return ret;
+};
+imports.wbg.__wbg_set_37a50e901587b477 = function() { return handleError(function (arg0, arg1, arg2) {
+ const ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2));
+ return ret;
+}, arguments) };
+imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
+ const ret = debugString(getObject(arg1));
+ const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
+ const len1 = WASM_VECTOR_LEN;
+ getInt32Memory0()[arg0 / 4 + 1] = len1;
+ getInt32Memory0()[arg0 / 4 + 0] = ptr1;
+};
+imports.wbg.__wbindgen_throw = function(arg0, arg1) {
+ throw new Error(getStringFromWasm0(arg0, arg1));
+};
+imports.wbg.__wbindgen_memory = function() {
+ const ret = wasm.memory;
+ return addHeapObject(ret);
+};
+imports.wbg.__wbg_queueMicrotask_118eeb525d584d9a = function(arg0) {
+ queueMicrotask(getObject(arg0));
+};
+imports.wbg.__wbg_queueMicrotask_26a89c14c53809c0 = function(arg0) {
+ const ret = getObject(arg0).queueMicrotask;
+ return addHeapObject(ret);
+};
+imports.wbg.__wbindgen_closure_wrapper223 = function(arg0, arg1, arg2) {
+ const ret = makeMutClosure(arg0, arg1, 70, __wbg_adapter_24);
+ return addHeapObject(ret);
+};
+imports.wbg.__wbindgen_closure_wrapper225 = function(arg0, arg1, arg2) {
+ const ret = makeMutClosure(arg0, arg1, 70, __wbg_adapter_24);
+ return addHeapObject(ret);
+};
+imports.wbg.__wbindgen_closure_wrapper227 = function(arg0, arg1, arg2) {
+ const ret = makeMutClosure(arg0, arg1, 70, __wbg_adapter_29);
+ return addHeapObject(ret);
+};
+imports.wbg.__wbindgen_closure_wrapper422 = function(arg0, arg1, arg2) {
+ const ret = makeMutClosure(arg0, arg1, 139, __wbg_adapter_32);
+ return addHeapObject(ret);
+};
+imports.wbg.__wbindgen_closure_wrapper2660 = function(arg0, arg1, arg2) {
+ const ret = makeMutClosure(arg0, arg1, 243, __wbg_adapter_35);
+ return addHeapObject(ret);
+};
+
+return imports;
+}
+
+function __wbg_init_memory(imports, maybe_memory) {
+
+}
+
+function __wbg_finalize_init(instance, module) {
+ wasm = instance.exports;
+ __wbg_init.__wbindgen_wasm_module = module;
+ cachedInt32Memory0 = null;
+ cachedUint8Memory0 = null;
+
+ wasm.__wbindgen_start();
+ return wasm;
+}
+
+function initSync(module) {
+ if (wasm !== undefined) return wasm;
+
+ const imports = __wbg_get_imports();
+
+ __wbg_init_memory(imports);
+
+ if (!(module instanceof WebAssembly.Module)) {
+ module = new WebAssembly.Module(module);
+ }
+
+ const instance = new WebAssembly.Instance(module, imports);
+
+ return __wbg_finalize_init(instance, module);
+}
+
+async function __wbg_init(input) {
+ if (wasm !== undefined) return wasm;
+
+ if (typeof input === 'undefined') {
+ input = new URL('wavefunc-2bcffbbb7d1ec1cc_bg.wasm', import.meta.url);
+ }
+ const imports = __wbg_get_imports();
+
+ if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) {
+ input = fetch(input);
+ }
+
+ __wbg_init_memory(imports);
+
+ const { instance, module } = await __wbg_load(await input, imports);
+
+ return __wbg_finalize_init(instance, module);
+}
+
+export { initSync }
+export default __wbg_init;
diff --git a/dist/wavefunc-2bcffbbb7d1ec1cc_bg.wasm b/dist/wavefunc-2bcffbbb7d1ec1cc_bg.wasm
new file mode 100644
index 0000000..c51ad42
Binary files /dev/null and b/dist/wavefunc-2bcffbbb7d1ec1cc_bg.wasm differ