@milaboratories/pf-spec 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_virtual/_@oxc-project_runtime@0.137.0/helpers/esm/usingCtx.js +57 -0
- package/dist/axes.d.ts +9 -0
- package/dist/axes.d.ts.map +1 -0
- package/dist/axes.js +36 -0
- package/dist/axes.js.map +1 -0
- package/dist/build-query.d.ts +7 -0
- package/dist/build-query.d.ts.map +1 -0
- package/dist/build-query.js +9 -0
- package/dist/build-query.js.map +1 -0
- package/dist/generated/pframes_rs_wasip2.core.wasm +0 -0
- package/dist/generated/pframes_rs_wasip2.js +6389 -0
- package/dist/generated/pframes_rs_wasip2.js.map +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +39 -0
- package/dist/index.js.map +1 -0
- package/dist/p-frame.d.ts +48 -0
- package/dist/p-frame.d.ts.map +1 -0
- package/dist/p-frame.js +109 -0
- package/dist/p-frame.js.map +1 -0
- package/dist/rewrite-filters.d.ts +20 -0
- package/dist/rewrite-filters.d.ts.map +1 -0
- package/dist/rewrite-filters.js +19 -0
- package/dist/rewrite-filters.js.map +1 -0
- package/dist/table.d.ts +7 -0
- package/dist/table.d.ts.map +1 -0
- package/dist/table.js +22 -0
- package/dist/table.js.map +1 -0
- package/package.json +50 -0
- package/src/axes.test.ts +24 -0
- package/src/axes.ts +20 -0
- package/src/build-query.ts +6 -0
- package/src/index.ts +44 -0
- package/src/p-frame.test.ts +265 -0
- package/src/p-frame.ts +148 -0
- package/src/rewrite-filters.ts +23 -0
- package/src/table.test.ts +35 -0
- package/src/table.ts +11 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pframes_rs_wasip2.js","names":["exit$1","exit","insecureSeed$1","insecureSeed","#data","#size","#componentIdx","#id","#parentTask","#childTask","#memoryIdx","#waitable","#callMetadata","#lenders","#state","#resultSet","#result","#callbackFn","#callbackFnName","#postReturnFn","#onProgressFn","#onStartHandlers","#onResolveHandlers","#resolved","#cancelRequested","#getComponentState","#dropped","#resetPromise","#waitableSet","#idx","#promise","#resolve","#reject","#pendingEventFn","#hasSyncWaiter","#isAsync","#isManualAsync","#preserveFutureResult","#entryFnName","#completionPromise","#parentSubtask","#errored","#rejected","#exitPromise","#onExitHandlers","#getCalleeParamsFn","#stringEncoding","#errHandling","#memory","#returnLowerFns","#entered","#exited","#subtasks","#callingAsyncImport","#notifySyncImportEnd","#syncImportWait","#backpressure","#nextHandlerID","#handlerMap","#backpressureWaiters","#locked","#onExclusiveReleaseHandlers","#nextTaskQueue","#nextTaskPromise","#suspendedTasksByTaskID","#suspendedTaskIDs","#getSuspendedTaskMeta","#addSuspendedTaskMeta","#removeSuspendedTaskMeta","#tickLoop"],"sources":["../../src/generated/pframes_rs_wasip2.js"],"sourcesContent":["\"use components\";\nimport { environment, exit as exit$1, stderr, stdin, stdout, terminalInput, terminalOutput, terminalStderr, terminalStdin, terminalStdout } from '@bytecodealliance/preview2-shim/cli';\nimport { error, poll, streams } from '@bytecodealliance/preview2-shim/io';\nimport { insecureSeed as insecureSeed$1, random } from '@bytecodealliance/preview2-shim/random';\nconst { getEnvironment } = environment;\n\nif (getEnvironment=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'getEnvironment', was 'getEnvironment' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { exit } = exit$1;\n\nif (exit=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'exit', was 'exit' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { getStderr } = stderr;\n\nif (getStderr=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'getStderr', was 'getStderr' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { getStdin } = stdin;\n\nif (getStdin=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'getStdin', was 'getStdin' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { getStdout } = stdout;\n\nif (getStdout=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'getStdout', was 'getStdout' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { TerminalInput } = terminalInput;\n\nif (TerminalInput=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'TerminalInput', was 'TerminalInput' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { TerminalOutput } = terminalOutput;\n\nif (TerminalOutput=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'TerminalOutput', was 'TerminalOutput' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { getTerminalStderr } = terminalStderr;\n\nif (getTerminalStderr=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'getTerminalStderr', was 'getTerminalStderr' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { getTerminalStdin } = terminalStdin;\n\nif (getTerminalStdin=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'getTerminalStdin', was 'getTerminalStdin' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { getTerminalStdout } = terminalStdout;\n\nif (getTerminalStdout=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'getTerminalStdout', was 'getTerminalStdout' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { Error: Error$1 } = error;\n\nif (Error$1=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'Error$1', was 'Error' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { Pollable } = poll;\n\nif (Pollable=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'Pollable', was 'Pollable' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { InputStream,\n OutputStream } = streams;\n\nif (InputStream=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'InputStream', was 'InputStream' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\n\nif (OutputStream=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'OutputStream', was 'OutputStream' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { insecureSeed } = insecureSeed$1;\n\nif (insecureSeed=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'insecureSeed', was 'insecureSeed' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\nconst { getRandomU64 } = random;\n\nif (getRandomU64=== undefined) {\n const err = new Error(\"unexpectedly undefined local import 'getRandomU64', was 'getRandomU64' available at instantiation?\");\n console.error(\"ERROR:\", err.toString());\n throw err;\n}\n\n\nfunction promiseWithResolvers() {\n if (Promise.withResolvers) {\n return Promise.withResolvers();\n } else {\n let resolve;\n let reject;\n const promise = new Promise((res, rej) => {\n resolve = res;\n reject = rej;\n });\n return { promise, resolve, reject };\n }\n}\nconst symbolDispose = Symbol.dispose || Symbol.for('dispose');\nconst symbolAsyncIterator = Symbol.asyncIterator;\nconst symbolIterator = Symbol.iterator;\n\nconst _debugLog = (...args) => {\n if (!globalThis?.process?.env?.JCO_DEBUG) { return; }\n console.debug(...args);\n};\nconst ASYNC_DETERMINISM = 'random';\nconst GLOBAL_COMPONENT_MEMORY_MAP = new Map();\nconst CURRENT_TASK_META = {};\n\nfunction _getGlobalCurrentTaskMeta(componentIdx) {\n if (componentIdx === null || componentIdx === undefined) {\n throw new Error(\"missing/invalid component idx\");\n }\n const v = CURRENT_TASK_META[componentIdx];\n if (v === undefined || v === null) {\n return undefined;\n }\n return { ...v };\n}\n\n\nfunction _setGlobalCurrentTaskMeta(args) {\n if (!args) { throw new TypeError('args missing'); }\n if (args.taskID === undefined) { throw new TypeError('missing task ID'); }\n if (args.componentIdx === undefined) { throw new TypeError('missing component idx'); }\n const { taskID, componentIdx } = args;\n return CURRENT_TASK_META[componentIdx] = { taskID, componentIdx };\n}\n\n\nfunction _withGlobalCurrentTaskMeta(args) {\n _debugLog('[_withGlobalCurrentTaskMeta()] args', args);\n if (!args) { throw new TypeError('args missing'); }\n if (args.taskID === undefined) { throw new TypeError('missing task ID'); }\n if (args.componentIdx === undefined) { throw new TypeError('missing component idx'); }\n if (!args.fn) { throw new TypeError('missing fn'); }\n const { taskID, componentIdx, fn } = args;\n \n try {\n CURRENT_TASK_META[componentIdx] = { taskID, componentIdx };\n return fn();\n } catch (err) {\n _debugLog(\"error while executing sync callee/callback\", {\n ...args,\n err,\n });\n throw err;\n } finally {\n CURRENT_TASK_META[componentIdx] = null;\n }\n}\n\nasync function _withGlobalCurrentTaskMetaAsync(args) {\n _debugLog('[_withGlobalCurrentTaskMetaAsync()] args', args);\n if (!args) { throw new TypeError('args missing'); }\n if (args.taskID === undefined) { throw new TypeError('missing task ID'); }\n if (args.componentIdx === undefined) { throw new TypeError('missing component idx'); }\n if (!args.fn) { throw new TypeError('missing fn'); }\n \n const { taskID, componentIdx, fn } = args;\n \n try {\n CURRENT_TASK_META[componentIdx] = { taskID, componentIdx };\n return await fn();\n } catch (err) {\n _debugLog(\"error while executing async callee/callback\", {\n ...args,\n err,\n });\n throw err;\n } finally {\n CURRENT_TASK_META[componentIdx] = null;\n }\n}\n\nasync function _clearCurrentTask(args) {\n _debugLog('[_clearCurrentTask()] args', args);\n if (!args) { throw new TypeError('args missing'); }\n if (args.taskID === undefined) { throw new TypeError('missing task ID'); }\n if (args.componentIdx === undefined) { throw new TypeError('missing component idx'); }\n const { taskID, componentIdx } = args;\n \n const meta = CURRENT_TASK_META[componentIdx];\n if (!meta) { throw new Error(`missing current task meta for component idx [${componentIdx}]`); }\n \n if (meta.taskID !== taskID) {\n throw new Error(`task ID [${meta.taskID}] != requested ID [${taskID}]`);\n }\n if (meta.componentIdx !== componentIdx) {\n throw new Error(`component idx [${meta.componentIdx}] != requested idx [${componentIdx}]`);\n }\n \n CURRENT_TASK_META[componentIdx] = null;\n}\n\nfunction lookupMemoriesForComponent(args) {\n const { componentIdx } = args ?? {};\n if (args.componentIdx === undefined) { throw new TypeError(\"missing component idx\"); }\n \n const metas = GLOBAL_COMPONENT_MEMORY_MAP.get(componentIdx);\n if (!metas) { return []; }\n \n if (args.memoryIdx === undefined) {\n return Object.values(metas);\n }\n \n const meta = metas[args.memoryIdx];\n return meta?.memory;\n}\n\nfunction registerGlobalMemoryForComponent(args) {\n const { componentIdx, memory, memoryIdx } = args ?? {};\n if (componentIdx === undefined) { throw new TypeError('missing component idx'); }\n if (memory === undefined && memoryIdx === undefined) { throw new TypeError('missing both memory & memory idx'); }\n let inner = GLOBAL_COMPONENT_MEMORY_MAP.get(componentIdx);\n if (!inner) {\n inner = {};\n GLOBAL_COMPONENT_MEMORY_MAP.set(componentIdx, inner);\n }\n \n inner[memoryIdx] = { memory, memoryIdx, componentIdx };\n}\n\nclass RepTable {\n #data = [0, null];\n #size = 0;\n #target;\n \n constructor(args) {\n this.target = args?.target;\n }\n \n data() { return this.#data; }\n \n insert(val) {\n _debugLog('[RepTable#insert()] args', { val, target: this.target });\n const freeIdx = this.#data[0];\n if (freeIdx === 0) {\n this.#data.push(val);\n this.#data.push(null);\n const rep = (this.#data.length >> 1) - 1;\n _debugLog('[RepTable#insert()] inserted', { val, target: this.target, rep });\n this.#size += 1;\n return rep;\n }\n this.#data[0] = this.#data[freeIdx << 1];\n const placementIdx = freeIdx << 1;\n this.#data[placementIdx] = val;\n this.#data[placementIdx + 1] = null;\n _debugLog('[RepTable#insert()] inserted', { val, target: this.target, rep: freeIdx });\n this.#size += 1;\n return freeIdx;\n }\n \n get(rep) {\n _debugLog('[RepTable#get()] args', { rep, target: this.target });\n if (rep === 0) { throw new Error('invalid resource rep during get, (cannot be 0)'); }\n \n const baseIdx = rep << 1;\n const val = this.#data[baseIdx];\n return val;\n }\n \n contains(rep) {\n _debugLog('[RepTable#contains()] args', { rep, target: this.target });\n if (rep === 0) { throw new Error('invalid resource rep during contains, (cannot be 0)'); }\n \n const baseIdx = rep << 1;\n return !!this.#data[baseIdx];\n }\n \n remove(rep) {\n _debugLog('[RepTable#remove()] args', { rep, target: this.target });\n if (rep === 0) { throw new Error('invalid resource rep during remove, (cannot be 0)'); }\n if (this.#data.length === 2) { throw new Error('invalid'); }\n \n const baseIdx = rep << 1;\n const val = this.#data[baseIdx];\n \n this.#data[baseIdx] = this.#data[0];\n this.#data[0] = rep;\n this.#size -= 1;\n \n return val;\n }\n \n size() { return this.#size; }\n \n clear() {\n _debugLog('[RepTable#clear()] args', { rep, target: this.target });\n this.#data = [0, null];\n }\n}\nconst _coinFlip = () => { return Math.random() > 0.5; };\nlet SCOPE_ID = 0;\nconst I32_MIN = -2_147_483_648;\n\nconst I32_MAX= 2_147_483_647;\n\n\nfunction _isValidNumericPrimitive(ty, v) {\n if (v === undefined || v === null) { return false; }\n switch (ty) {\n case 'bool':\n return v === 0 || v === 1;\n break;\n case 'u8':\n return v >= 0 && v <= 255;\n break;\n case 's8':\n return v >= -128 && v <= 127;\n break;\n case 'u16':\n return v >= 0 && v <= 65535;\n break;\n case 's16':\n return v >= -32768 && v <= 32767;\n case 'u32':\n return v >= 0 && v <= 4_294_967_295;\n case 's32':\n return v >= -2_147_483_648 && v <= 2_147_483_647;\n case 'u64':\n return typeof v === 'bigint' && v >= 0 && v <= 18_446_744_073_709_551_615n;\n case 's64':\n return typeof v === 'bigint' && v >= -9223372036854775808n && v <= 9223372036854775807n;\n break;\n case 'f32':\n case 'f64': return typeof v === 'number';\n default:\n return false;\n }\n return true;\n}\n\nfunction _requireValidNumericPrimitive(ty, v) {\n if (v === undefined || v === null || !_isValidNumericPrimitive(ty, v)) {\n throw new TypeError(`invalid ${ty} value [${v}]`);\n }\n return true;\n}\n\nconst _typeCheckValidI32 = (n) => typeof n === 'number' && n >= I32_MIN && n <= I32_MAX;\n\n\nconst _typeCheckAsyncFn= (f) => {\n return f instanceof ASYNC_FN_CTOR;\n};\n\nlet RESOURCE_CALL_BORROWS = [];const ASYNC_FN_CTOR = (async () => {}).constructor;\n\nfunction clearCurrentTask(componentIdx, taskID) {\n _debugLog('[clearCurrentTask()] args', { componentIdx, taskID });\n \n if (componentIdx === undefined || componentIdx === null) {\n throw new Error('missing/invalid component instance index while ending current task');\n }\n \n const tasks = ASYNC_TASKS_BY_COMPONENT_IDX.get(componentIdx);\n if (!tasks || !Array.isArray(tasks)) {\n throw new Error('missing/invalid tasks for component instance while ending task');\n }\n if (tasks.length == 0) {\n throw new Error(`no current tasks for component instance [${componentIdx}] while ending task`);\n }\n \n if (taskID !== undefined) {\n const last = tasks[tasks.length - 1];\n if (last.id !== taskID) {\n // throw new Error('current task does not match expected task ID');\n return;\n }\n }\n \n ASYNC_CURRENT_TASK_IDS.pop();\n ASYNC_CURRENT_COMPONENT_IDXS.pop();\n \n const taskMeta = tasks.pop();\n return taskMeta.task;\n}\n\nconst CURRENT_TASK_MAY_BLOCK= globalThis.WebAssembly ? new globalThis.WebAssembly.Global({ value: 'i32', mutable: true }, 0) : false;\n\nconst ASYNC_CURRENT_TASK_IDS = [];\nconst ASYNC_CURRENT_COMPONENT_IDXS = [];\n\nfunction unpackCallbackResult(result) {\n if (!(_typeCheckValidI32(result))) { throw new Error('invalid callback return value [' + result + '], not a valid i32'); }\n const eventCode = result & 0xF;\n if (eventCode < 0 || eventCode > 3) {\n throw new Error('invalid async return value [' + eventCode + '], outside callback code range');\n }\n if (result < 0 || result >= 2**32) { throw new Error('invalid callback result'); }\n // TODO: table max length check?\n const waitableSetRep = result >> 4;\n return [eventCode, waitableSetRep];\n}\n\nclass AsyncSubtask {\n static _ID = 0n;\n \n static State = {\n STARTING: 0,\n STARTED: 1,\n RETURNED: 2,\n CANCELLED_BEFORE_STARTED: 3,\n CANCELLED_BEFORE_RETURNED: 4,\n };\n \n #id;\n #state = AsyncSubtask.State.STARTING;\n #componentIdx;\n \n #parentTask;\n #childTask = null;\n \n #dropped = false;\n #cancelRequested = false;\n \n #memoryIdx = null;\n #lenders = null;\n \n #waitable = null;\n \n #callbackFn = null;\n #callbackFnName = null;\n \n #postReturnFn = null;\n #onProgressFn = null;\n #pendingEventFn = null;\n \n #callMetadata = {};\n \n #resolved = false;\n \n #onResolveHandlers = [];\n #onStartHandlers = [];\n \n #result = null;\n #resultSet = false;\n \n fnName;\n target;\n isAsync;\n isManualAsync;\n \n constructor(args) {\n if (typeof args.componentIdx !== 'number') {\n throw new Error('invalid componentIdx for subtask creation');\n }\n this.#componentIdx = args.componentIdx;\n \n this.#id = ++AsyncSubtask._ID;\n this.fnName = args.fnName;\n \n if (!args.parentTask) { throw new Error('missing parent task during subtask creation'); }\n this.#parentTask = args.parentTask;\n \n if (args.childTask) { this.#childTask = args.childTask; }\n \n if (args.memoryIdx) { this.#memoryIdx = args.memoryIdx; }\n \n if (!args.waitable) { throw new Error(\"missing/invalid waitable\"); }\n this.#waitable = args.waitable;\n \n if (args.callMetadata) { this.#callMetadata = args.callMetadata; }\n \n this.#lenders = [];\n this.target = args.target;\n this.isAsync = args.isAsync;\n this.isManualAsync = args.isManualAsync;\n }\n \n id() { return this.#id; }\n parentTaskID() { return this.#parentTask?.id(); }\n childTaskID() { return this.#childTask?.id(); }\n state() { return this.#state; }\n \n waitable() { return this.#waitable; }\n waitableRep() { return this.#waitable.idx(); }\n \n join() { return this.#waitable.join(...arguments); }\n getPendingEvent() { return this.#waitable.getPendingEvent(...arguments); }\n hasPendingEvent() { return this.#waitable.hasPendingEvent(...arguments); }\n setPendingEvent() { return this.#waitable.setPendingEvent(...arguments); }\n \n setTarget(tgt) { this.target = tgt; }\n \n getResult() {\n if (!this.#resultSet) { throw new Error(\"subtask result has not been set\") }\n return this.#result;\n }\n setResult(v) {\n if (this.#resultSet) { throw new Error(\"subtask result has already been set\"); }\n this.#result = v;\n this.#resultSet = true;\n }\n \n componentIdx() { return this.#componentIdx; }\n \n setChildTask(t) {\n if (!t) { throw new Error('cannot set missing/invalid child task on subtask'); }\n if (this.#childTask) { throw new Error('child task is already set on subtask'); }\n if (this.#parentTask === t) { throw new Error(\"parent cannot be child\"); }\n this.#childTask = t;\n }\n getChildTask(t) { return this.#childTask; }\n \n getParentTask() { return this.#parentTask; }\n \n setCallbackFn(f, name) {\n if (!f) { return; }\n if (this.#callbackFn) { throw new Error('callback fn can only be set once'); }\n this.#callbackFn = f;\n this.#callbackFnName = name;\n }\n \n getCallbackFnName() {\n if (!this.#callbackFn) { return undefined; }\n return this.#callbackFn.name;\n }\n \n setPostReturnFn(f) {\n if (!f) { return; }\n if (this.#postReturnFn) { throw new Error('postReturn fn can only be set once'); }\n this.#postReturnFn = f;\n }\n \n setOnProgressFn(f) {\n if (this.#onProgressFn) { throw new Error('on progress fn can only be set once'); }\n this.#onProgressFn = f;\n }\n \n isNotStarted() {\n return this.#state == AsyncSubtask.State.STARTING;\n }\n \n registerOnStartHandler(f) {\n this.#onStartHandlers.push(f);\n }\n \n onStart(args) {\n _debugLog('[AsyncSubtask#onStart()] args', {\n componentIdx: this.#componentIdx,\n subtaskID: this.#id,\n parentTaskID: this.parentTaskID(),\n fnName: this.fnName,\n args,\n });\n \n if (this.#onProgressFn) { this.#onProgressFn(); }\n \n this.#state = AsyncSubtask.State.STARTED;\n \n let result;\n \n // If we have been provided a helper start function as a result of\n // component fusion performed by wasmtime tooling, then we can call that helper and lifts/lowers will\n // be performed for us.\n //\n // See also documentation on `HostIntrinsic::PrepareCall`\n //\n if (this.#callMetadata.startFn) {\n result = this.#callMetadata.startFn.apply(null, args?.startFnParams ?? []);\n }\n \n return result;\n }\n \n \n registerOnResolveHandler(f) {\n this.#onResolveHandlers.push(f);\n }\n \n reject(subtaskErr) {\n this.#childTask?.reject(subtaskErr);\n }\n \n onResolve(subtaskValue) {\n _debugLog('[AsyncSubtask#onResolve()] args', {\n componentIdx: this.#componentIdx,\n subtaskID: this.#id,\n isAsync: this.isAsync,\n childTaskID: this.childTaskID(),\n parentTaskID: this.parentTaskID(),\n parentTaskFnName: this.#parentTask?.entryFnName(),\n fnName: this.fnName,\n });\n \n if (this.#resolved) {\n throw new Error('subtask has already been resolved');\n }\n \n if (this.#onProgressFn) { this.#onProgressFn(); }\n \n if (subtaskValue === null && this.#cancelRequested) {\n if (this.#state === AsyncSubtask.State.STARTING) {\n this.#state = AsyncSubtask.State.CANCELLED_BEFORE_STARTED;\n } else {\n if (this.#state !== AsyncSubtask.State.STARTED) {\n throw new Error('resolved subtask must have been started before cancellation');\n }\n this.#state = AsyncSubtask.State.CANCELLED_BEFORE_RETURNED;\n }\n } else {\n if (this.#state !== AsyncSubtask.State.STARTED) {\n throw new Error('resolved subtask must have been started before completion');\n }\n this.#state = AsyncSubtask.State.RETURNED;\n }\n \n this.setResult(subtaskValue);\n \n for (const f of this.#onResolveHandlers) {\n try {\n f(subtaskValue);\n } catch (err) {\n console.error(\"error during subtask resolve handler\", err);\n throw err;\n }\n }\n \n const callMetadata = this.getCallMetadata();\n \n // TODO(fix): we should be able to easily have the caller's meomry\n // to lower into here, but it's not present in PrepareCall\n const memory = callMetadata.memory ?? this.#parentTask?.getReturnMemory() ?? lookupMemoriesForComponent({ componentIdx: this.#parentTask?.componentIdx() })[0];\n if (callMetadata && !callMetadata.returnFn && this.isAsync && callMetadata.resultPtr && memory) {\n const { resultPtr, realloc } = callMetadata;\n const lowers = callMetadata.lowers; // may have been updated in task.return of the child\n if (lowers && lowers.length > 0) {\n lowers[0]({\n componentIdx: this.#componentIdx,\n memory,\n realloc,\n vals: [subtaskValue],\n storagePtr: resultPtr,\n stringEncoding: callMetadata.stringEncoding,\n });\n }\n }\n \n this.#resolved = true;\n this.#parentTask.removeSubtask(this);\n \n if (!this.isAsync) {\n this.deliverResolve();\n const rep = this.waitableRep();\n if (rep) {\n try {\n const removed = this.#getComponentState().handles.remove(rep);\n if (removed !== this) {\n throw new Error(\"unexpectedly received non-self Subtask from handle removal\");\n }\n this.drop();\n } catch (err) {\n _debugLog('[AsyncSubtask#onResolve()] failed to remove subtask after sync subtask completion', err);\n }\n }\n }\n }\n \n getStateNumber() { return this.#state; }\n isReturned() { return this.#state === AsyncSubtask.State.RETURNED; }\n \n getCallMetadata() { return this.#callMetadata; }\n \n isResolved() {\n if (this.#state === AsyncSubtask.State.STARTING\n || this.#state === AsyncSubtask.State.STARTED) {\n return false;\n }\n if (this.#state === AsyncSubtask.State.RETURNED\n || this.#state === AsyncSubtask.State.CANCELLED_BEFORE_STARTED\n || this.#state === AsyncSubtask.State.CANCELLED_BEFORE_RETURNED) {\n return true;\n }\n throw new Error('unrecognized internal Subtask state [' + this.#state + ']');\n }\n \n addLender(handle) {\n _debugLog('[AsyncSubtask#addLender()] args', { handle });\n if (!Number.isNumber(handle)) { throw new Error('missing/invalid lender handle [' + handle + ']'); }\n \n if (this.#lenders.length === 0 || this.isResolved()) {\n throw new Error('subtask has no lendors or has already been resolved');\n }\n \n handle.lends++;\n this.#lenders.push(handle);\n }\n \n deliverResolve() {\n _debugLog('[AsyncSubtask#deliverResolve()] args', {\n lenders: this.#lenders,\n parentTaskID: this.parentTaskID(),\n subtaskID: this.#id,\n childTaskID: this.childTaskID(),\n resolved: this.isResolved(),\n resolveDelivered: this.resolveDelivered(),\n });\n \n const cannotDeliverResolve = this.resolveDelivered() || !this.isResolved();\n if (cannotDeliverResolve) {\n throw new Error('subtask cannot deliver resolution twice, and the subtask must be resolved');\n }\n \n for (const lender of this.#lenders) {\n lender.lends--;\n }\n \n this.#lenders = null;\n }\n \n resolveDelivered() {\n _debugLog('[AsyncSubtask#resolveDelivered()] args', { });\n if (this.#lenders === null && !this.isResolved()) {\n throw new Error('invalid subtask state, lenders missing and subtask has not been resolved');\n }\n return this.#lenders === null;\n }\n \n drop() {\n _debugLog('[AsyncSubtask#drop()] args', {\n componentIdx: this.#componentIdx,\n parentTaskID: this.#parentTask?.id(),\n parentTaskFnName: this.#parentTask?.entryFnName(),\n childTaskID: this.#childTask?.id(),\n childTaskFnName: this.#childTask?.entryFnName(),\n subtaskFnName: this.fnName,\n });\n if (!this.#waitable) { throw new Error('missing/invalid inner waitable'); }\n if (!this.resolveDelivered()) {\n throw new Error('cannot drop subtask before resolve is delivered');\n }\n if (this.#waitable) { this.#waitable.drop() }\n this.#dropped = true;\n }\n \n #getComponentState() {\n const state = getOrCreateAsyncState(this.#componentIdx);\n if (!state) {\n throw new Error('invalid/missing async state for component [' + componentIdx + ']');\n }\n return state;\n }\n \n getWaitableHandleIdx() {\n _debugLog('[AsyncSubtask#getWaitableHandleIdx()] args', { });\n if (!this.#waitable) { throw new Error('missing/invalid waitable'); }\n return this.waitableRep();\n }\n}\n\nfunction _prepareCall(\nmemoryIdx,\ngetMemoryFn,\nstartFn,\nreturnFn,\ncallerComponentIdx,\ncalleeComponentIdx,\ntaskReturnTypeIdx,\ncalleeIsAsyncInt,\nstringEncoding,\nresultCountOrAsync,\n) {\n _debugLog('[_prepareCall()]', {\n memoryIdx,\n callerComponentIdx,\n calleeComponentIdx,\n taskReturnTypeIdx,\n calleeIsAsyncInt,\n stringEncoding,\n resultCountOrAsync,\n });\n const argArray = [...arguments];\n \n // value passed in *may* be as large as u32::MAX which may be mangled into -2\n resultCountOrAsync >>>= 0;\n \n let isAsync = false;\n let hasResultPointer = false;\n if (resultCountOrAsync === 2**32 - 1) {\n // prepare async with no result (u32::MAX)\n isAsync = true;\n hasResultPointer = false;\n } else if (resultCountOrAsync === 2**32 - 2) {\n // prepare async with result (u32::MAX - 1)\n isAsync = true;\n hasResultPointer = true;\n }\n \n const currentCallerTaskMeta = getCurrentTask(callerComponentIdx);\n if (!currentCallerTaskMeta) {\n throw new Error('invalid/missing current task for caller during prepare call');\n }\n \n const currentCallerTask = currentCallerTaskMeta.task;\n if (!currentCallerTask) {\n throw new Error('unexpectedly missing task in meta for caller during prepare call');\n }\n \n if (currentCallerTask.componentIdx() !== callerComponentIdx) {\n throw new Error(`task component idx [${ currentCallerTask.componentIdx() }] !== [${ callerComponentIdx }] (callee ${ calleeComponentIdx })`);\n }\n \n let getCalleeParamsFn;\n let resultPtr = null;\n let directParamsArr;\n if (hasResultPointer) {\n directParamsArr = argArray.slice(10, argArray.length - 1);\n getCalleeParamsFn = () => directParamsArr;\n resultPtr = argArray[argArray.length - 1];\n } else {\n directParamsArr = argArray.slice(10);\n getCalleeParamsFn = () => directParamsArr;\n }\n \n let encoding;\n switch (stringEncoding) {\n case 0:\n encoding = 'utf8';\n break;\n case 1:\n encoding = 'utf16';\n break;\n case 2:\n encoding = 'compact-utf16';\n break;\n default:\n throw new Error(`unrecognized string encoding enum [${stringEncoding}]`);\n }\n \n const subtask = currentCallerTask.createSubtask({\n componentIdx: callerComponentIdx,\n parentTask: currentCallerTask,\n isAsync,\n callMetadata: {\n getMemoryFn,\n memoryIdx,\n resultPtr,\n returnFn,\n startFn,\n stringEncoding,\n }\n });\n \n const [newTask, newTaskID] = createNewCurrentTask({\n componentIdx: calleeComponentIdx,\n isAsync,\n getCalleeParamsFn,\n entryFnName: [\n 'task',\n subtask.getParentTask().id(),\n 'subtask',\n subtask.id(),\n 'new-prepared-async-task'\n ].join('/'),\n stringEncoding,\n });\n newTask.setParentSubtask(subtask);\n newTask.setReturnMemoryIdx(memoryIdx);\n newTask.setReturnMemory(getMemoryFn);\n subtask.setChildTask(newTask);\n \n newTask.subtaskMeta = {\n subtask,\n calleeComponentIdx,\n callerComponentIdx,\n getCalleeParamsFn,\n stringEncoding,\n isAsync,\n };\n \n _setGlobalCurrentTaskMeta({\n taskID: newTask.id(),\n componentIdx: newTask.componentIdx(),\n });\n}\n\nfunction _asyncStartCall(args, callee, paramCount, resultCount, flags) {\n const componentIdx = ASYNC_CURRENT_COMPONENT_IDXS.at(-1);\n \n const globalTaskMeta = _getGlobalCurrentTaskMeta(componentIdx);\n if (!globalTaskMeta) { throw new Error('missing global current task globalTaskMeta'); }\n const taskID = globalTaskMeta.taskID;\n \n _debugLog('[_asyncStartCall()] args', { args, componentIdx });\n const { getCallbackFn, callbackIdx, getPostReturnFn, postReturnIdx } = args;\n \n const preparedTaskMeta = getCurrentTask(componentIdx, taskID);\n if (!preparedTaskMeta) { throw new Error('unexpectedly missing current task'); }\n \n const preparedTask = preparedTaskMeta.task;\n if (!preparedTask) { throw new Error('unexpectedly missing current task'); }\n if (!preparedTask.subtaskMeta) { throw new Error('missing subtask meta from prepare'); }\n \n const {\n subtask,\n returnMemoryIdx,\n getReturnMemoryFn,\n callerComponentIdx,\n calleeComponentIdx,\n getCalleeParamsFn,\n isAsync,\n stringEncoding,\n } = preparedTask.subtaskMeta;\n if (!subtask) { throw new Error(\"missing subtask from cstate during async start call\"); }\n if (calleeComponentIdx !== preparedTask.componentIdx()) {\n throw new Error(`meta callee idx [${calleeComponentIdx}] != current task idx [${preparedTask.componentIdx()}] during async start call`);\n }\n if (calleeComponentIdx !== componentIdx) {\n throw new Error(\"mismatched componentIdx for async start call (does not match prepare)\");\n }\n \n const argArray = [...arguments];\n \n if (resultCount < 0 || resultCount > 1) { throw new Error('invalid/unsupported result count'); }\n \n const callbackFnName = 'callback_' + callbackIdx;\n const callbackFn = getCallbackFn();\n preparedTask.setCallbackFn(callbackFn, callbackFnName);\n preparedTask.setPostReturnFn(getPostReturnFn());\n \n if (resultCount < 0 || resultCount > 1) {\n throw new Error(`unsupported result count [${ resultCount }]`);\n }\n \n const params = preparedTask.getCalleeParams();\n if (paramCount !== params.length) {\n throw new Error(`unexpected callee param count [${ params.length }], _asyncStartCall invocation expected [${ paramCount }]`);\n }\n \n const callerComponentState = getOrCreateAsyncState(subtask.componentIdx());\n \n const calleeComponentState = getOrCreateAsyncState(preparedTask.componentIdx());\n const calleeBackpressure = calleeComponentState.hasBackpressure();\n \n // Set up a handler on subtask completion to lower results from the call into the caller's memory region.\n //\n // NOTE: during fused guest->guest calls this handler is triggered, but does not actually perform\n // lowering manually, as fused modules provider helper functions that can\n subtask.registerOnResolveHandler((res) => {\n _debugLog('[_asyncStartCall()] handling subtask result', { res, subtaskID: subtask.id() });\n \n let subtaskCallMeta = subtask.getCallMetadata();\n \n // NOTE: in the case of guest -> guest async calls, there may be no memory/realloc present,\n // as the host will intermediate the value storage/movement between calls.\n //\n // We can simply take the value and lower it as a parameter\n if (subtaskCallMeta.memory || subtaskCallMeta.realloc) {\n throw new Error(\"call metadata unexpectedly contains memory/realloc for guest->guest call\");\n }\n \n const callerTask = subtask.getParentTask();\n const calleeTask = preparedTask;\n const callerMemoryIdx = callerTask.getReturnMemoryIdx();\n const callerComponentIdx = callerTask.componentIdx();\n \n // If a helper function was provided we are likely in a fused guest->guest call,\n // and the result will be delivered (lift/lowered) via helper function\n if (subtaskCallMeta && subtaskCallMeta.returnFn) {\n _debugLog('[_asyncStartCall()] return function present while handling subtask result, returning early (skipping lower)', {\n calleeTaskID: calleeTask.id(),\n calleeComponentIdx,\n });\n \n // TODO: centralize calling of returnFn to *one place* (if possible)\n if (subtaskCallMeta.returnFnCalled) { return; }\n \n const res = subtaskCallMeta.returnFn.apply(null, [subtaskCallMeta.resultPtr]);\n \n _debugLog('[_asyncStartCall()] finished calling return fn', {\n calleeTaskID: calleeTask.id(),\n calleeComponentIdx,\n res,\n });\n \n return;\n }\n \n // If there is no where to lower the results, exit early\n if (!subtaskCallMeta.resultPtr) {\n _debugLog('[_asyncStartCall()] no result ptr during subtask result handling, returning early (skipping lower)');\n return;\n }\n \n let callerMemory;\n if (callerMemoryIdx !== null && callerMemoryIdx !== undefined) {\n callerMemory = lookupMemoriesForComponent({ componentIdx: callerComponentIdx, memoryIdx: callerMemoryIdx });\n } else {\n const callerMemories = lookupMemoriesForComponent({ componentIdx: callerComponentIdx });\n if (callerMemories.length !== 1) { throw new Error(`unsupported amount of caller memories`); }\n callerMemory = callerMemories[0];\n }\n \n if (!callerMemory) {\n _debugLog('[_asyncStartCall()] missing memory', { subtaskID: subtask.id(), res });\n throw new Error(`missing memory for to guest->guest call result (subtask [${subtask.id()}])`);\n }\n \n const lowerFns = calleeTask.getReturnLowerFns();\n if (!lowerFns || lowerFns.length === 0) {\n _debugLog('[_asyncStartCall()] missing result lower metadata for guest->guest call', { subtaskID: subtask.id() });\n throw new Error(`missing result lower metadata for guest->guest call (subtask [${subtask.id()}])`);\n }\n \n if (lowerFns.length !== 1) {\n _debugLog('[_asyncStartCall()] only single result reportetd for guest->guest call', { subtaskID: subtask.id() });\n throw new Error(`only single result supported for guest->guest calls (subtask [${subtask.id()}])`);\n }\n \n _debugLog('[_asyncStartCall()] lowering results', { subtaskID: subtask.id() });\n lowerFns[0]({\n realloc: undefined,\n memory: callerMemory,\n vals: [res],\n storagePtr: subtaskCallMeta.resultPtr,\n componentIdx: callerComponentIdx,\n stringEncoding: subtaskCallMeta.stringEncoding,\n });\n \n });\n \n subtask.setOnProgressFn(() => {\n subtask.setPendingEvent(() => {\n if (subtask.isResolved()) { subtask.deliverResolve(); }\n const event = {\n code: ASYNC_EVENT_CODE.SUBTASK,\n payload0: subtask.waitableRep(),\n payload1: subtask.getStateNumber(),\n };\n return event;\n });\n });\n \n // Start the (event) driver loop that will resolve the subtask\n // in a new JS task\n setTimeout(async () => {\n _debugLog('[_asyncStartCall()] continuing started subtask (in JS task)', {\n taskID: preparedTask.id(),\n subtaskID: subtask.id(),\n callerComponentIdx,\n calleeComponentIdx,\n });\n \n let startRes = subtask.onStart({ startFnParams: params });\n startRes = Array.isArray(startRes) ? startRes : [startRes];\n \n if (calleeComponentState.isExclusivelyLocked()) {\n _debugLog('[_asyncStartCall()] during continuation callee is exclusively locked, suspending...', {\n taskID: preparedTask.id(),\n subtaskID: subtask.id(),\n callerComponentIdx,\n calleeComponentIdx,\n });\n await calleeComponentState.suspendTask({\n task: preparedTask,\n readyFn: () => !calleeComponentState.isExclusivelyLocked(),\n });\n }\n \n const started = await preparedTask.enter();\n if (!started) {\n _debugLog('[_asyncStartCall()] task failed early', {\n taskID: preparedTask.id(),\n subtaskID: subtask.id(),\n });\n throw new Error(\"task failed to start\");\n return;\n }\n \n let callbackResult;\n try {\n let jspiCallee;\n if (callee._cachedPromising) {\n jspiCallee = callee._cachedPromising;\n } else {\n callee._cachedPromising = WebAssembly.promising(callee);\n jspiCallee = callee._cachedPromising;\n }\n \n callbackResult = await _withGlobalCurrentTaskMetaAsync({\n taskID: preparedTask.id(),\n componentIdx: preparedTask.componentIdx(),\n fn: () => {\n return jspiCallee.apply(null, startRes);\n }\n });\n } catch(err) {\n _debugLog(\"[_asyncStartCall()] initial subtask callee run failed\", err);\n // NOTE: a good place to rejectt the parent task, if rejection API is enabled\n // subtask.reject(err);\n // subtask.getParentTask().reject(err);\n \n subtask.getParentTask().setErrored(err);\n \n return;\n }\n \n // If there was no callback function, we're dealing with a sync function\n // that was lifted as async without one, there is only the callee.\n if (!callbackFn) {\n _debugLog(\"[_asyncStartCall()] no callback, resolving w/ callee result\", {\n taskID: preparedTask.id(),\n componentIdx: preparedTask.componentIdx(),\n preparedTask,\n stateNumber: preparedTask.taskState(),\n isResolved: preparedTask.isResolved(),\n callbackFn,\n });\n preparedTask.resolve([callbackResult]);\n return;\n }\n \n let fnName = callbackFn.fnName;\n if (!fnName) {\n fnName = [\n '<task ',\n subtask.parentTaskID(),\n '/subtask ',\n subtask.id(),\n '/task ',\n preparedTask.id(),\n '>',\n ].join(\"\");\n }\n \n try {\n _debugLog(\"[_asyncStartCall()] starting driver loop\", {\n fnName,\n componentIdx: preparedTask.componentIdx(),\n subtaskID: subtask.id(),\n childTaskID: subtask.childTaskID(),\n parentTaskID: subtask.parentTaskID(),\n });\n \n await _driverLoop({\n componentState: calleeComponentState,\n task: preparedTask,\n fnName,\n isAsync: true,\n callbackResult,\n resolve,\n reject\n });\n } catch (err) {\n _debugLog(\"[AsyncStartCall] drive loop call failure\", { err });\n }\n \n }, 0);\n \n const subtaskState = subtask.getStateNumber();\n if (subtaskState < 0 || subtaskState > 2**5) {\n throw new Error('invalid subtask state, out of valid range');\n }\n \n _debugLog('[_asyncStartCall()] returning subtask rep & state', {\n subtask: {\n rep: subtask.waitableRep(),\n state: subtaskState,\n }\n });\n \n return Number(subtask.waitableRep()) << 4 | subtaskState;\n}\n\nfunction _syncStartCall(callbackIdx) {\n _debugLog('[_syncStartCall()] args', { callbackIdx });\n throw new Error('synchronous start call not implemented!');\n}\n\nclass Waitable {\n #componentIdx;\n \n #pendingEventFn = null;\n \n #promise;\n #resolve;\n #reject;\n \n #waitableSet = null;\n \n #hasSyncWaiter = false;\n \n #idx = null; // to component-global waitables\n \n target;\n \n constructor(args) {\n const { componentIdx, target } = args;\n this.#componentIdx = componentIdx;\n this.target = args.target;\n this.#resetPromise();\n }\n \n componentIdx() { return this.#componentIdx; }\n isInSet() { return this.#waitableSet !== null; }\n \n idx() { return this.#idx; }\n setIdx(idx) {\n if (idx === 0) { throw new Error(\"waitable idx cannot be zero\"); }\n this.#idx = idx;\n }\n \n setTarget(tgt) { this.target = tgt; }\n \n #resetPromise() {\n const { promise, resolve, reject } = promiseWithResolvers()\n this.#promise = promise;\n this.#resolve = resolve;\n this.#reject = reject;\n }\n \n resolve() { this.#resolve(); }\n reject(err) { this.#reject(err); }\n promise() { return this.#promise; }\n \n hasPendingEvent() {\n // _debugLog('[Waitable#hasPendingEvent()]', {\n // componentIdx: this.#componentIdx,\n // waitable: this,\n // waitableSet: this.#waitableSet,\n // hasPendingEvent: this.#pendingEventFn !== null,\n // });\n return this.#pendingEventFn !== null;\n }\n \n setPendingEvent(fn) {\n _debugLog('[Waitable#setPendingEvent()] args', {\n waitable: this,\n inSet: this.#waitableSet,\n });\n this.#pendingEventFn = fn;\n }\n \n getPendingEvent() {\n _debugLog('[Waitable#getPendingEvent()] args', {\n waitable: this,\n inSet: this.#waitableSet,\n hasPendingEvent: this.#pendingEventFn !== null,\n });\n if (this.#pendingEventFn === null) { return null; }\n const eventFn = this.#pendingEventFn;\n this.#pendingEventFn = null;\n const e = eventFn();\n this.#resetPromise();\n return e;\n }\n \n join(waitableSet) {\n _debugLog('[Waitable#join()] args', {\n waitable: this,\n waitableSet: waitableSet,\n isRemoval: waitableSet === null,\n });\n \n if (this.#waitableSet === undefined) {\n throw new TypeError('waitable set must be not be undefined');\n }\n \n if (this.#waitableSet) {\n this.#waitableSet.removeWaitable(this);\n }\n \n this.#waitableSet = waitableSet;\n \n if (waitableSet) {\n this.#waitableSet.addWaitable(this);\n }\n }\n \n drop() {\n _debugLog('[Waitable#drop()] args', {\n componentIdx: this.#componentIdx,\n waitable: this,\n });\n if (this.hasPendingEvent()) {\n throw new Error('waitables with pending events cannot be dropped');\n }\n this.join(null);\n }\n \n async waitForPendingEvent(args) {\n const { cstate } = args;\n if (!cstate) { throw new TypeError('missing component state'); }\n \n if (this.#waitableSet !== null || this.#hasSyncWaiter) {\n throw new Error(\"waitable is already in a set/has a sync waiter\");\n }\n this.#hasSyncWaiter = true;\n await cstate.waitUntil({\n cancellable: false,\n readyFn: () => this.hasPendingEvent(),\n });\n this.#hasSyncWaiter = false;\n }\n \n }\n \n const ERR_CTX_TABLES = {};\n \n function contextGet(ctx) {\n const { componentIdx, slot } = ctx;\n if (componentIdx === undefined) { throw new TypeError(\"missing component idx\"); }\n if (slot === undefined) { throw new TypeError(\"missing slot\"); }\n \n const currentTaskMeta = _getGlobalCurrentTaskMeta(componentIdx);\n if (!currentTaskMeta) {\n throw new Error(`missing/incomplete global current task meta for component idx [${componentIdx}] during context set`);\n }\n const taskID = currentTaskMeta.taskID;\n \n const taskMeta = getCurrentTask(componentIdx, taskID);\n if (!taskMeta) { throw new Error('failed to retrieve current task'); }\n \n let task = taskMeta.task;\n if (!task) { throw new Error('invalid/missing current task in metadata while getting context'); }\n \n _debugLog('[contextGet()] args', {\n slot,\n storage: task.storage,\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n });\n \n if (slot < 0 || slot >= task.storage.length) { throw new Error('invalid slot for current task'); }\n \n return task.storage[slot];\n }\n \n \n function contextSet(ctx, value) {\n const { componentIdx, slot } = ctx;\n if (componentIdx === undefined) { throw new TypeError(\"missing component idx\"); }\n if (slot === undefined) { throw new TypeError(\"missing slot\"); }\n if (!(_typeCheckValidI32(value))) { throw new Error('invalid value for context set (not valid i32)'); }\n \n const currentTaskMeta = _getGlobalCurrentTaskMeta(componentIdx);\n if (!currentTaskMeta) {\n throw new Error(`missing/incomplete global current task meta for component idx [${componentIdx}] during context set`);\n }\n const taskID = currentTaskMeta.taskID;\n \n const taskMeta = getCurrentTask(componentIdx, taskID);\n if (!taskMeta) { throw new Error('failed to retrieve current task'); }\n \n let task = taskMeta.task;\n if (!task) { throw new Error('invalid/missing current task in metadata while setting context'); }\n \n _debugLog('[contextSet()] args', {\n slot,\n value,\n storage: task.storage,\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n });\n \n if (slot < 0 || slot >= task.storage.length) { throw new Error('invalid slot for current task'); }\n task.storage[slot] = value;\n }\n \n const ASYNC_TASKS_BY_COMPONENT_IDX = new Map();\n \n class AsyncTask {\n static _ID = 0n;\n \n static State = {\n INITIAL: 'initial',\n CANCELLED: 'cancelled',\n CANCEL_PENDING: 'cancel-pending',\n CANCEL_DELIVERED: 'cancel-delivered',\n RESOLVED: 'resolved',\n }\n \n static BlockResult = {\n CANCELLED: 'block.cancelled',\n NOT_CANCELLED: 'block.not-cancelled',\n }\n \n #id;\n #componentIdx;\n #state;\n #isAsync;\n #isManualAsync;\n #preserveFutureResult;\n #entryFnName = null;\n \n #onResolveHandlers = [];\n #completionPromise = null;\n #rejected = false;\n \n #exitPromise = null;\n #onExitHandlers = [];\n \n #memoryIdx = null;\n #memory = null;\n \n #callbackFn = null;\n #callbackFnName = null;\n \n #postReturnFn = null;\n \n #getCalleeParamsFn = null;\n \n #stringEncoding = null;\n \n #parentSubtask = null;\n \n #errHandling;\n \n #backpressurePromise;\n #backpressureWaiters = 0n;\n \n #returnLowerFns = null;\n \n #subtasks = [];\n \n #entered = false;\n #exited = false;\n #errored = null;\n \n cancelled = false;\n cancelRequested = false;\n alwaysTaskReturn = false;\n \n returnCalls = 0;\n storage = [0, 0];\n borrowedHandles = {};\n \n tmpRetI64HighBits = 0|0;\n \n constructor(opts) {\n this.#id = ++AsyncTask._ID;\n \n if (opts?.componentIdx === undefined) {\n throw new TypeError('missing component id during task creation');\n }\n this.#componentIdx = opts.componentIdx;\n \n this.#state = AsyncTask.State.INITIAL;\n this.#isAsync = opts?.isAsync ?? false;\n this.#isManualAsync = opts?.isManualAsync ?? false;\n this.#preserveFutureResult = opts?.preserveFutureResult ?? false;\n this.#entryFnName = opts.entryFnName;\n \n const {\n promise: completionPromise,\n resolve: resolveCompletionPromise,\n reject: rejectCompletionPromise,\n } = promiseWithResolvers();\n this.#completionPromise = completionPromise;\n \n this.#onResolveHandlers.push((results) => {\n if (this.#parentSubtask !== null) { return; }\n if (!this.#isAsync) { return; }\n \n if (this.#errored !== null) {\n rejectCompletionPromise(this.#errored);\n return;\n } else if (this.#rejected) {\n rejectCompletionPromise(results);\n return;\n }\n \n if (this.#preserveFutureResult && results instanceof FutureValue) {\n results.resolveAsValue(resolveCompletionPromise);\n } else {\n resolveCompletionPromise(results);\n }\n });\n \n const {\n promise: exitPromise,\n resolve: resolveExitPromise,\n reject: rejectExitPromise,\n } = promiseWithResolvers();\n this.#exitPromise = exitPromise;\n \n this.#onExitHandlers.push(() => {\n resolveExitPromise();\n });\n \n if (opts.callbackFn) { this.#callbackFn = opts.callbackFn; }\n if (opts.callbackFnName) { this.#callbackFnName = opts.callbackFnName; }\n \n if (opts.getCalleeParamsFn) { this.#getCalleeParamsFn = opts.getCalleeParamsFn; }\n \n if (opts.stringEncoding) { this.#stringEncoding = opts.stringEncoding; }\n \n if (opts.parentSubtask) { this.#parentSubtask = opts.parentSubtask; }\n \n \n if (opts.errHandling) { this.#errHandling = opts.errHandling; }\n }\n \n taskState() { return this.#state; }\n id() { return this.#id; }\n componentIdx() { return this.#componentIdx; }\n entryFnName() { return this.#entryFnName; }\n \n completionPromise() { return this.#completionPromise; }\n exitPromise() { return this.#exitPromise; }\n \n isAsync() { return this.#isAsync; }\n isSync() { return !this.isAsync(); }\n \n getErrHandling() { return this.#errHandling; }\n \n hasCallback() { return this.#callbackFn !== null; }\n \n getReturnMemoryIdx() { return this.#memoryIdx; }\n setReturnMemoryIdx(idx) {\n if (idx === null) { return; }\n this.#memoryIdx = idx;\n }\n \n getReturnMemory() { return this.#memory; }\n setReturnMemory(m) {\n if (m === null) { return; }\n this.#memory = m;\n }\n \n setReturnLowerFns(fns) { this.#returnLowerFns = fns; }\n getReturnLowerFns() { return this.#returnLowerFns; }\n \n setParentSubtask(subtask) {\n if (!subtask || !(subtask instanceof AsyncSubtask)) { return }\n if (this.#parentSubtask) { throw new Error('parent subtask can only be set once'); }\n this.#parentSubtask = subtask;\n }\n \n getParentSubtask() { return this.#parentSubtask; }\n \n // TODO(threads): this is very inefficient, we can pass along a root task,\n // and ideally do not need this once thread support is in place\n getRootTask() {\n let currentSubtask = this.getParentSubtask();\n let task = this;\n while (currentSubtask) {\n task = currentSubtask.getParentTask();\n currentSubtask = task.getParentSubtask();\n }\n return task;\n }\n \n setPostReturnFn(f) {\n if (!f) { return; }\n if (this.#postReturnFn) { throw new Error('postReturn fn can only be set once'); }\n this.#postReturnFn = f;\n }\n \n setCallbackFn(f, name) {\n if (!f) { return; }\n if (this.#callbackFn) { throw new Error('callback fn can only be set once'); }\n this.#callbackFn = f;\n this.#callbackFnName = name;\n }\n \n getCallbackFnName() {\n if (!this.#callbackFnName) { return undefined; }\n return this.#callbackFnName;\n }\n \n async runCallbackFn(...args) {\n if (!this.#callbackFn) { throw new Error('no callback function has been set for task'); }\n return _withGlobalCurrentTaskMetaAsync({\n taskID: this.#id,\n componentIdx: this.#componentIdx,\n fn: () => { return this.#callbackFn.apply(null, args); }\n });\n }\n \n getCalleeParams() {\n if (!this.#getCalleeParamsFn) { throw new Error('missing/invalid getCalleeParamsFn'); }\n return this.#getCalleeParamsFn();\n }\n \n mayBlock() { return this.isAsync() || this.isResolvedState() }\n \n mayEnter(task) {\n const cstate = getOrCreateAsyncState(this.#componentIdx);\n if (cstate.hasBackpressure()) {\n _debugLog('[AsyncTask#mayEnter()] disallowed due to backpressure', { taskID: this.#id });\n return false;\n }\n if (!cstate.callingSyncImport()) {\n _debugLog('[AsyncTask#mayEnter()] disallowed due to sync import call', { taskID: this.#id });\n return false;\n }\n const callingSyncExportWithSyncPending = cstate.callingSyncExport && !task.isAsync;\n if (!callingSyncExportWithSyncPending) {\n _debugLog('[AsyncTask#mayEnter()] disallowed due to sync export w/ sync pending', { taskID: this.#id });\n return false;\n }\n return true;\n }\n \n enterSync() {\n if (this.needsExclusiveLock()) {\n const cstate = getOrCreateAsyncState(this.#componentIdx);\n // TODO(???): it is *very possible* for a the line below to fail if\n // an async function is already running (and holding the exclusive lock)\n //\n // It's not really possible to fix this unless we turn every sync export into\n // an async export that will use the regular async enabled `enter()`.\n cstate.exclusiveLock();\n }\n return true;\n }\n \n async enter(opts) {\n _debugLog('[AsyncTask#enter()] args', {\n taskID: this.#id,\n componentIdx: this.#componentIdx,\n subtaskID: this.getParentSubtask()?.id(),\n args: opts,\n entryFnName: this.#entryFnName,\n });\n \n if (this.#entered) {\n throw new Error(`task with ID [${this.#id}] should not be entered twice`);\n }\n \n const cstate = getOrCreateAsyncState(this.#componentIdx);\n \n if (opts?.isHost) {\n this.#entered = true;\n return this.#entered;\n }\n \n await cstate.nextTaskExecutionSlot({ task: this });\n \n // If a task is synchronous then we can avoid component-relevant\n // tracking and immediately enter.\n if (this.isSync()) {\n this.#entered = true;\n \n // TODO(breaking): remove once manually-specifying async fns is removed\n // It is currently possible for an actually sync export to be specified\n // as async via JSPI\n if (this.#isManualAsync) {\n if (this.needsExclusiveLock()) { cstate.exclusiveLock(); }\n }\n \n return this.#entered;\n }\n \n // Perform intial backpressure check\n if (cstate.hasBackpressure() || this.needsExclusiveLock() && cstate.isExclusivelyLocked()) {\n cstate.addBackpressureWaiter();\n \n const result = await this.waitUntil({\n readyFn: () => {\n return !(cstate.hasBackpressure()\n || this.needsExclusiveLock() && cstate.isExclusivelyLocked());\n },\n cancellable: true,\n });\n \n cstate.removeBackpressureWaiter();\n \n if (result === AsyncTask.BlockResult.CANCELLED) {\n this.cancel();\n return false;\n }\n }\n \n // Lock the component state or keep trying until we can/do\n try {\n if (this.needsExclusiveLock()) { cstate.exclusiveLock(); }\n } catch {\n // Continuously attempt to lock until we can\n while (cstate.hasBackpressure() || this.needsExclusiveLock() && cstate.isExclusivelyLocked()) {\n try {\n if (this.needsExclusiveLock()) { cstate.exclusiveLock(); }\n break;\n } catch(err) {\n cstate.addBackpressureWaiter();\n const result = await this.waitUntil({\n readyFn: () => {\n return !(cstate.hasBackpressure()\n || this.needsExclusiveLock() && cstate.isExclusivelyLocked());\n },\n cancellable: true,\n });\n cstate.removeBackpressureWaiter();\n if (result === AsyncTask.BlockResult.CANCELLED) {\n this.cancel();\n return false;\n }\n }\n }\n }\n \n this.#entered = true;\n return this.#entered;\n }\n \n isRunningState() { return this.#state !== AsyncTask.State.RESOLVED; }\n isResolvedState() { return this.#state === AsyncTask.State.RESOLVED; }\n isResolved() { return this.#state === AsyncTask.State.RESOLVED; }\n \n async waitUntil(opts) {\n const { readyFn, cancellable } = opts;\n _debugLog('[AsyncTask#waitUntil()] args', { taskID: this.#id, args: { cancellable } });\n \n // TODO(fix): check for cancel\n // TODO(fix): determinism\n // TODO(threads): add this thread to waiting list\n \n const keepGoing = await this.suspendUntil({\n readyFn,\n cancellable,\n });\n \n return keepGoing;\n }\n \n async yieldUntil(opts) {\n const { readyFn, cancellable } = opts;\n _debugLog('[AsyncTask#yieldUntil()]', {\n taskID: this.#id,\n args: {\n cancellable,\n },\n componentIdx: this.#componentIdx,\n });\n \n const keepGoing = await this.suspendUntil({ readyFn, cancellable });\n if (keepGoing) {\n return {\n code: ASYNC_EVENT_CODE.NONE,\n payload0: 0,\n payload1: 0,\n };\n }\n \n return {\n code: ASYNC_EVENT_CODE.TASK_CANCELLED,\n payload0: 0,\n payload1: 0,\n };\n }\n \n async suspendUntil(opts) {\n const { cancellable, readyFn } = opts;\n _debugLog('[AsyncTask#suspendUntil()] args', {\n taskID: this.#id,\n args: {\n cancellable,\n },\n componentIdx: this.#componentIdx,\n });\n \n const pendingCancelled = this.deliverPendingCancel({ cancellable });\n if (pendingCancelled) { return false; }\n \n const completed = await this.immediateSuspendUntil({ readyFn, cancellable });\n return completed;\n }\n \n // TODO(threads): equivalent to thread.suspend_until()\n async immediateSuspendUntil(opts) {\n const { cancellable, readyFn } = opts;\n _debugLog('[AsyncTask#immediateSuspendUntil()] args', {\n args: {\n cancellable,\n readyFn,\n },\n taskID: this.#id,\n componentIdx: this.#componentIdx,\n });\n \n const ready = readyFn();\n if (ready && ASYNC_DETERMINISM === 'random') {\n const coinFlip = _coinFlip();\n if (coinFlip) { return true }\n }\n \n const keepGoing = await this.immediateSuspend({ cancellable, readyFn });\n return keepGoing;\n }\n \n async immediateSuspend(opts) { // NOTE: equivalent to thread.suspend()\n // TODO(threads): store readyFn on the thread\n const { cancellable, readyFn } = opts;\n _debugLog('[AsyncTask#immediateSuspend()] args', { cancellable, readyFn });\n \n const pendingCancelled = this.deliverPendingCancel({ cancellable });\n if (pendingCancelled) { return false; }\n \n const cstate = getOrCreateAsyncState(this.#componentIdx);\n const keepGoing = await cstate.suspendTask({ task: this, readyFn });\n return keepGoing;\n }\n \n deliverPendingCancel(opts) {\n const { cancellable } = opts;\n _debugLog('[AsyncTask#deliverPendingCancel()]', {\n args: { cancellable },\n taskID: this.#id,\n componentIdx: this.#componentIdx,\n });\n \n if (cancellable && this.#state === AsyncTask.State.PENDING_CANCEL) {\n this.#state = AsyncTask.State.CANCEL_DELIVERED;\n return true;\n }\n \n return false;\n }\n \n isCancelled() { return this.cancelled }\n \n cancel(args) {\n _debugLog('[AsyncTask#cancel()] args', { });\n if (this.taskState() !== AsyncTask.State.CANCEL_DELIVERED) {\n throw new Error(`(component [${this.#componentIdx}]) task [${this.#id}] invalid task state [${this.taskState()}] for cancellation`);\n }\n if (this.borrowedHandles.length > 0) { throw new Error('task still has borrow handles'); }\n this.cancelled = true;\n this.onResolve(args?.error ?? new Error('task cancelled'));\n this.#state = AsyncTask.State.RESOLVED;\n }\n \n onResolve(taskValue) {\n const handlers = this.#onResolveHandlers;\n this.#onResolveHandlers = [];\n for (const f of handlers) {\n try {\n f(taskValue);\n } catch (err) {\n _debugLog(\"[AsyncTask#onResolve] error during task resolve handler\", err);\n throw err;\n }\n }\n \n if (this.#parentSubtask) {\n const meta = this.#parentSubtask.getCallMetadata();\n // Run the rturn fn if it has not already been called -- this *should* have happened in\n // `task.return`, but some paths do not go through task.return (e.g. async lower of sync fn\n // which goes through prepare + async-start-call)\n if (meta.returnFn && !meta.returnFnCalled) {\n _debugLog('[AsyncTask#onResolve()] running returnFn', {\n componentIdx: this.#componentIdx,\n taskID: this.#id,\n subtaskID: this.#parentSubtask.id(),\n });\n const memory = meta.getMemoryFn();\n meta.returnFn.apply(null, [taskValue, meta.resultPtr]);\n meta.returnFnCalled = true;\n }\n }\n \n if (this.#postReturnFn) {\n _debugLog('[AsyncTask#onResolve()] running post return ', {\n componentIdx: this.#componentIdx,\n taskID: this.#id,\n });\n try {\n this.#postReturnFn(taskValue);\n } catch (err) {\n _debugLog(\"[AsyncTask#onResolve] error during task resolve handler\", err);\n throw err;\n }\n }\n \n if (this.#parentSubtask) {\n this.#parentSubtask.onResolve(taskValue);\n }\n }\n \n registerOnResolveHandler(f) {\n this.#onResolveHandlers.push(f);\n }\n \n isRejected() { return this.#rejected; }\n \n isErrored() { return this.#errored; }\n setErrored(err) { this.#errored = err; }\n \n reject(taskErr) {\n _debugLog('[AsyncTask#reject()] args', {\n componentIdx: this.#componentIdx,\n taskID: this.#id,\n parentSubtask: this.#parentSubtask,\n parentSubtaskID: this.#parentSubtask?.id(),\n entryFnName: this.entryFnName(),\n callbackFnName: this.#callbackFnName,\n errMsg: taskErr.message,\n });\n \n if (this.isResolvedState() || this.#rejected) { return; }\n \n this.#rejected = true;\n this.cancelRequested = true;\n this.#state = AsyncTask.State.PENDING_CANCEL;\n const cancelled = this.deliverPendingCancel({ cancellable: true });\n \n // TODO: do cleanup here to reset the machinery so we can run again?\n \n this.cancel({ error: taskErr });\n }\n \n resolve(results) {\n _debugLog('[AsyncTask#resolve()] args', {\n componentIdx: this.#componentIdx,\n taskID: this.#id,\n entryFnName: this.entryFnName(),\n callbackFnName: this.#callbackFnName,\n });\n \n if (this.#state === AsyncTask.State.RESOLVED) {\n throw new Error(`(component [${this.#componentIdx}]) task [${this.#id}] is already resolved (did you forget to wait for an import?)`);\n }\n \n if (this.borrowedHandles.length > 0) {\n throw new Error('task still has borrow handles');\n }\n \n this.#state = AsyncTask.State.RESOLVED;\n \n switch (results.length) {\n case 0:\n this.onResolve(undefined);\n break;\n case 1:\n this.onResolve(results[0]);\n break;\n default:\n _debugLog('[AsyncTask#resolve()] unexpected number of results', {\n componentIdx: this.#componentIdx,\n results,\n taskID: this.#id,\n subtaskID: this.#parentSubtask?.id(),\n entryFnName: this.#entryFnName,\n callbackFnName: this.#callbackFnName,\n });\n throw new Error('unexpected number of results');\n }\n }\n \n exit(args) {\n _debugLog('[AsyncTask#exit()]', {\n componentIdx: this.#componentIdx,\n taskID: this.#id,\n });\n \n if (this.#exited) { throw new Error(\"task has already exited\"); }\n \n if (this.#state !== AsyncTask.State.RESOLVED) {\n throw new Error(`(component [${this.#componentIdx}]) task [${this.#id}] exited without resolution`);\n }\n \n if (this.borrowedHandles > 0) {\n throw new Error('task [${this.#id}] exited without clearing borrowed handles');\n }\n \n const state = getOrCreateAsyncState(this.#componentIdx);\n if (!state) { throw new Error('missing async state for component [' + this.#componentIdx + ']'); }\n \n // Exempt the host from exclusive lock check\n if (this.#componentIdx !== -1 && !args?.skipExclusiveLockCheck) {\n if (this.needsExclusiveLock() && !state.isExclusivelyLocked()) {\n throw new Error(`task [${this.#id}] exit: component [${this.#componentIdx}] should have been exclusively locked`);\n }\n }\n \n state.exclusiveRelease();\n \n for (const f of this.#onExitHandlers) {\n try {\n f();\n } catch (err) {\n console.error(\"error during task exit handler\", err);\n throw err;\n }\n }\n \n this.#exited = true;\n clearCurrentTask(this.#componentIdx, this.id());\n }\n \n needsExclusiveLock() {\n return !this.#isAsync || this.hasCallback();\n }\n \n createSubtask(args) {\n _debugLog('[AsyncTask#createSubtask()] args', args);\n const { componentIdx, childTask, callMetadata, fnName, isAsync, isManualAsync } = args;\n \n const cstate = getOrCreateAsyncState(this.#componentIdx);\n if (!cstate) {\n throw new Error(`invalid/missing async state for component idx [${componentIdx}]`);\n }\n \n const waitable = new Waitable({\n componentIdx: this.#componentIdx,\n target: `subtask (internal ID [${this.#id}])`,\n });\n \n const newSubtask = new AsyncSubtask({\n componentIdx,\n childTask,\n parentTask: this,\n callMetadata,\n isAsync,\n isManualAsync,\n fnName,\n waitable,\n });\n this.#subtasks.push(newSubtask);\n newSubtask.setTarget(`subtask (internal ID [${newSubtask.id()}], waitable [${waitable.idx()}], component [${componentIdx}])`);\n waitable.setIdx(cstate.handles.insert(newSubtask));\n waitable.setTarget(`waitable for subtask (waitable id [${waitable.idx()}], subtask internal ID [${newSubtask.id()}])`);\n return newSubtask;\n }\n \n getLatestSubtask() {\n return this.#subtasks.at(-1);\n }\n \n getSubtaskByWaitableRep(rep) {\n if (rep === undefined) { throw new TypeError('missing rep'); }\n return this.#subtasks.find(s => s.waitableRep() === rep);\n }\n \n currentSubtask() {\n _debugLog('[AsyncTask#currentSubtask()]');\n if (this.#subtasks.length === 0) { return undefined; }\n return this.#subtasks.at(-1);\n }\n \n removeSubtask(subtask) {\n if (this.#subtasks.length === 0) {\n throw new Error('cannot end current subtask: no current subtask');\n }\n this.#subtasks = this.#subtasks.filter(t => t !== subtask);\n return subtask;\n }\n}\n\nconst ASYNC_EVENT_CODE = {\n NONE: 0,\n SUBTASK: 1,\n STREAM_READ: 2,\n STREAM_WRITE: 3,\n FUTURE_READ: 4,\n FUTURE_WRITE: 5,\n TASK_CANCELLED: 6,\n};\n\nfunction getCurrentTask(componentIdx, taskID) {\n let usedGlobal = false;\n if (componentIdx === undefined || componentIdx === null) {\n throw new Error('missing component idx'); // TODO(fix)\n // componentIdx = ASYNC_CURRENT_COMPONENT_IDXS.at(-1);\n // usedGlobal = true;\n }\n \n const taskMetas = ASYNC_TASKS_BY_COMPONENT_IDX.get(componentIdx);\n if (taskMetas === undefined || taskMetas.length === 0) { return undefined; }\n \n if (taskID) {\n return taskMetas.find(meta => meta.task.id() === taskID);\n }\n \n const taskMeta = taskMetas[taskMetas.length - 1];\n if (!taskMeta || !taskMeta.task) { return undefined; }\n \n return taskMeta;\n}\n\nconst emptyFunc = () => {};\n\nlet dv = new DataView(new ArrayBuffer());\nconst dataView = mem => dv.buffer === mem.buffer ? dv : dv = new DataView(mem.buffer);\n\nfunction toUint64(val) {\n const converted = BigInt(val)\n \n return BigInt.asUintN(64, converted);\n}\n\n\nfunction _utf16AllocateAndEncode(str, realloc, memory) {\n const len = str.length;\n const ptr = realloc(0, 0, 2, len * 2);\n const out = new Uint16Array(memory.buffer, ptr, len);\n let i = 0;\n if (isLE) {\n while (i < len) { out[i] = str.charCodeAt(i++); }\n } else {\n while (i < len) {\n const ch = str.charCodeAt(i);\n out[i++] = (ch & 0xff) << 8 | ch >>> 8;\n }\n }\n return { ptr, len, codepoints: [...str].length };\n}\n\nconst TEXT_DECODER_UTF8 = new TextDecoder();\nconst TEXT_ENCODER_UTF8 = new TextEncoder();\n\nfunction _utf8AllocateAndEncode(s, realloc, memory) {\n if (typeof s !== 'string') {\n throw new TypeError('expected a string, received [' + typeof s + ']');\n }\n if (s.length === 0) { return { ptr: 1, len: 0 }; }\n let buf = TEXT_ENCODER_UTF8.encode(s);\n let ptr = realloc(0, 0, 1, buf.length);\n new Uint8Array(memory.buffer).set(buf, ptr);\n const res = { ptr, len: buf.length, codepoints: [...s].length };\n return res;\n}\n\n\nconst T_FLAG = 1 << 30;\n\nfunction rscTableCreateOwn(table, rep) {\n const free = table[0] & ~T_FLAG;\n table._createdReps.add(rep);\n if (free === 0) {\n table.push(0);\n table.push(rep | T_FLAG);\n return (table.length >> 1) - 1;\n }\n table[0] = table[free << 1];\n table[free << 1] = 0;\n table[(free << 1) + 1] = rep | T_FLAG;\n return free;\n}\n\nfunction rscTableRemove(table, handle) {\n const scope = table[handle << 1];\n const val = table[(handle << 1) + 1];\n const own = (val & T_FLAG) !== 0;\n const rep = val & ~T_FLAG;\n if (val === 0 || (scope & T_FLAG) !== 0) {\n throw new TypeError(\"Invalid handle\");\n }\n table[handle << 1] = table[0] | T_FLAG;\n table[0] = handle | T_FLAG;\n return { rep, scope, own };\n}\n\nlet curResourceBorrows = [];\n\nfunction createNewCurrentTask(args) {\n _debugLog('[createNewCurrentTask()] args', args);\n const {\n componentIdx,\n isAsync,\n isManualAsync,\n preserveFutureResult,\n entryFnName,\n parentSubtaskID,\n callbackFnName,\n getCallbackFn,\n getParamsFn,\n stringEncoding,\n errHandling,\n getCalleeParamsFn,\n resultPtr,\n callingWasmExport,\n } = args;\n if (componentIdx === undefined || componentIdx === null) {\n throw new Error('missing/invalid component instance index while starting task');\n }\n let taskMetas = ASYNC_TASKS_BY_COMPONENT_IDX.get(componentIdx);\n const callbackFn = getCallbackFn ? getCallbackFn() : null;\n \n const newTask = new AsyncTask({\n componentIdx,\n isAsync,\n isManualAsync,\n preserveFutureResult,\n entryFnName,\n callbackFn,\n callbackFnName,\n stringEncoding,\n getCalleeParamsFn,\n resultPtr,\n errHandling,\n });\n \n const newTaskID = newTask.id();\n const newTaskMeta = { id: newTaskID, componentIdx, task: newTask };\n \n // NOTE: do not track host tasks\n ASYNC_CURRENT_TASK_IDS.push(newTaskID);\n ASYNC_CURRENT_COMPONENT_IDXS.push(componentIdx);\n \n if (!taskMetas) {\n taskMetas = [newTaskMeta];\n ASYNC_TASKS_BY_COMPONENT_IDX.set(componentIdx, [newTaskMeta]);\n } else {\n taskMetas.push(newTaskMeta);\n }\n \n return [newTask, newTaskID];\n}\n\nfunction _lowerImportBackwardsCompat(args) {\n const params = [...arguments].slice(1);\n _debugLog('[_lowerImportBackwardsCompat()] args', { args, params });\n const {\n functionIdx,\n componentIdx,\n isAsync,\n isManualAsync,\n paramLiftFns,\n resultLowerFns,\n hasResultPointer,\n funcTypeIsAsync,\n metadata,\n memoryIdx,\n getMemoryFn,\n getReallocFn,\n importFn,\n stringEncoding,\n } = args;\n \n let meta = _getGlobalCurrentTaskMeta(componentIdx);\n let createdTask;\n \n // Some components depend on initialization logic (i.e. `_initialize` or some such\n // core wasm export) that is embedded in the component, but is not executed or wizer'd\n // away before the transpiled component is attempted to be used.\n //\n // These components execut their initialization logic *when they are imported* in the\n // transpiled context -- so we may get a call to an export that is lowered without going\n // through `CallWasm` or `CallInterface`.\n //\n if (!meta) {\n if (funcTypeIsAsync || (isAsync && !isManualAsync)) {\n throw new Error('p3 async wasm exports cannot use backwards compat auto-task init');\n }\n \n const [newTask, newTaskID] = createNewCurrentTask({\n componentIdx,\n isAsync,\n isManualAsync,\n callingWasmExport: false,\n });\n createdTask = newTask;\n \n // Since we're managing the task creation ourselves we must clear ourselves\n createdTask.registerOnResolveHandler(() => {\n _clearCurrentTask({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n });\n });\n \n _setGlobalCurrentTaskMeta({\n componentIdx,\n taskID: newTaskID,\n });\n \n meta = _getGlobalCurrentTaskMeta(componentIdx);\n }\n \n const { taskID } = meta;\n \n const taskMeta = getCurrentTask(componentIdx, taskID);\n if (!taskMeta) {\n throw new Error('invalid/missing async task meta');\n }\n \n const task = taskMeta.task;\n if (!task) { throw new Error('invalid/missing async task'); }\n \n const cstate = getOrCreateAsyncState(componentIdx);\n \n // TODO: re-enable this check -- postReturn can call imports though,\n // and that breaks things.\n //\n // if (!cstate.mayLeave) {\n // throw new Error(`cannot leave instance [${componentIdx}]`);\n // }\n \n if (!task.mayBlock() && funcTypeIsAsync && !isAsync) {\n throw new Error(\"non async exports cannot synchronously call async functions\");\n }\n \n // If there is an existing task, this should be part of a subtask\n const memory = getMemoryFn();\n // Canonical ABI lower appends result storage as a trailing\n // param when async lower has any flat result, or sync lower\n // has more than one flat result.\n const resultPtr = hasResultPointer ? params[params.length - 1] : undefined;\n const subtask = task.createSubtask({\n componentIdx,\n parentTask: task,\n fnName: importFn.fnName,\n isAsync,\n isManualAsync,\n callMetadata: {\n memoryIdx,\n memory,\n realloc: getReallocFn?.(),\n getReallocFn,\n resultPtr,\n lowers: resultLowerFns,\n stringEncoding,\n }\n });\n task.setReturnMemoryIdx(memoryIdx);\n task.setReturnMemory(getMemoryFn());\n \n subtask.onStart();\n \n // If dealing with a sync lowered sync function, we can directly return results\n //\n // TODO(breaking): remove once we get rid of manual async import specification,\n // as func types cannot be detected in that case only (and we don't need that w/ p3)\n if (!isManualAsync && !isAsync && !funcTypeIsAsync) {\n if (createdTask) { createdTask.enterSync(); }\n \n const res = importFn(...params);\n \n // TODO(breaking): remove once we get rid of manual async import specification,\n // as func types cannot be detected in that case only (and we don't need that w/ p3)\n if (!funcTypeIsAsync && !subtask.isReturned()) {\n throw new Error('post-execution subtasks must either be async or returned');\n }\n \n const syncRes = subtask.getResult();\n if (createdTask) { createdTask.resolve([syncRes]); }\n \n return syncRes;\n }\n \n // Sync-lowered async functions requires async behavior because the callee *can* block,\n // but this call must *act* synchronously and return immediately with the result\n // (i.e. not returning until the work is done)\n //\n // TODO(breaking): remove checking for manual async specification here, once we can go p3-only\n //\n if (!isManualAsync && !isAsync && funcTypeIsAsync) {\n const { promise, resolve } = new Promise();\n queueMicrotask(async () => {\n if (!subtask.isResolvedState()) {\n await task.suspendUntil({ readyFn: () => task.isResolvedState() });\n }\n resolve(subtask.getResult());\n });\n return promise;\n }\n \n // NOTE: at this point we know that we are working with an async lowered import\n \n const subtaskState = subtask.getStateNumber();\n if (subtaskState < 0 || subtaskState >= 2**4) {\n throw new Error('invalid subtask state, out of valid range');\n }\n \n subtask.setOnProgressFn(() => {\n subtask.setPendingEvent(() => {\n if (subtask.isResolved()) { subtask.deliverResolve(); }\n const event = {\n code: ASYNC_EVENT_CODE.SUBTASK,\n payload0: subtask.waitableRep(),\n payload1: subtask.getStateNumber(),\n }\n return event;\n });\n });\n \n // This is a hack to maintain backwards compatibility with\n // manually-specified async imports, used in wasm exports that are\n // not actually async (but are specified as so).\n //\n // This is not normal p3 sync behavior but instead anticipating that\n // the caller that is doing manual async will be waiting for a promise that\n // resolves to the *actual* result.\n //\n // TODO(breaking): remove once manually specified async is removed\n //\n // There are a few cases:\n // 1. sync function with async types (e.g. `f: func() -> stream<u32>`)\n // 2. async function with async types (e.g. `f: async func() -> stream<u32>`)\n // 3. async function with sync types (e.g. `f: async func() -> list<u32>`)\n // 4. sync function with non-async types (e.g. `f: func() -> list<u32>`)\n //\n // This hack *only* applies to 4 -- the case where an async JS host function\n // is supplied to a Wasm export which does *not* need to do any async abi\n // lifting/lowering (async ABI did not exist when JSPI integratiton was\n // initially merged to enable asynchronously returning values from the host)\n //\n const requiresManualAsyncResult = !isAsync && !funcTypeIsAsync && isManualAsync;\n let manualAsyncResult;\n if (requiresManualAsyncResult) {\n manualAsyncResult = promiseWithResolvers();\n }\n \n queueMicrotask(async () => {\n try {\n _debugLog('[_lowerImportBackwardsCompat()] calling lowered import', { importFn, params });\n if (createdTask) { await createdTask.enter(); }\n \n const asyncRes = await importFn(...params);\n if (requiresManualAsyncResult) {\n manualAsyncResult.resolve(subtask.getResult());\n }\n \n if (createdTask) { createdTask.resolve([asyncRes]); }\n \n \n } catch (err) {\n _debugLog(\"[_lowerImportBackwardsCompat()] import fn error:\", err);\n if (requiresManualAsyncResult) {\n manualAsyncResult.reject(err);\n }\n throw err;\n }\n });\n \n if (requiresManualAsyncResult) { return manualAsyncResult.promise; }\n \n return Number(subtask.waitableRep()) << 4 | subtaskState;\n }\n \n function _liftFlatU8(ctx) {\n _debugLog('[_liftFlatU8()] args', { ctx });\n let val;\n \n if (ctx.useDirectParams) {\n if (ctx.params.length === 0) { throw new Error('expected at least a single i32 argument'); }\n val = ctx.params[0];\n ctx.params = ctx.params.slice(1);\n return [val, ctx];\n }\n \n if (ctx.storageLen !== undefined && ctx.storageLen < 1) {\n throw new Error(`insufficient storage ([${ctx.storageLen}] bytes) for lift (u8 requires 1 byte)`);\n }\n \n val = new DataView(ctx.memory.buffer).getUint8(ctx.storagePtr, true);\n \n ctx.storagePtr += 1;\n if (ctx.storageLen !== undefined) { ctx.storageLen -= 1; }\n \n return [val, ctx];\n }\n \n \n function _liftFlatU16(ctx) {\n _debugLog('[_liftFlatU16()] args', { ctx });\n let val;\n \n if (ctx.useDirectParams) {\n if (ctx.params.length === 0) { throw new Error('expected at least a single i32 argument'); }\n val = ctx.params[0];\n ctx.params = ctx.params.slice(1);\n return [val, ctx];\n }\n \n if (ctx.storageLen !== undefined && ctx.storageLen < 2) {\n throw new Error(`insufficient storage ([${ctx.storageLen}] bytes) for lift (u16 requires 2 bytes)`);\n }\n \n val = new DataView(ctx.memory.buffer).getUint16(ctx.storagePtr, true);\n \n ctx.storagePtr += 2;\n if (ctx.storageLen !== undefined) { ctx.storageLen -= 2; }\n \n const rem = ctx.storagePtr % 2;\n if (rem !== 0) { ctx.storagePtr += (2 - rem); }\n \n return [val, ctx];\n }\n \n \n function _liftFlatU32(ctx) {\n _debugLog('[_liftFlatU32()] args', { ctx });\n let val;\n \n if (ctx.useDirectParams) {\n if (ctx.params.length === 0) { throw new Error('expected at least a single i34 argument'); }\n val = ctx.params[0];\n ctx.params = ctx.params.slice(1);\n return [val, ctx];\n }\n \n if (ctx.storageLen !== undefined && ctx.storageLen < 4) {\n throw new Error(`insufficient storage ([${ctx.storageLen}] bytes) for lift (u32 requires 4 bytes)`);\n }\n val = new DataView(ctx.memory.buffer).getUint32(ctx.storagePtr, true);\n ctx.storagePtr += 4;\n if (ctx.storageLen !== undefined) { ctx.storageLen -= 4; }\n \n return [val, ctx];\n }\n \n \n function _liftFlatFloat64(ctx) {\n _debugLog('[_liftFlatFloat64()] args', { ctx });\n let val;\n \n if (ctx.useDirectParams) {\n if (ctx.params.length === 0) {\n throw new Error('expected at least one single f64 argument');\n }\n val = ctx.params[0];\n ctx.params = ctx.params.slice(1);\n \n if (ctx.inVariant) {\n const dv = new DataView(new ArrayBuffer(8));\n dv.setBigInt64(0, val);\n val = dv.getFloat64(0);\n }\n \n return [val, ctx];\n }\n \n if (ctx.storageLen !== undefined && ctx.storageLen < 8) {\n throw new Error(`insufficient storage ([${ctx.storageLen}] bytes) for lift (f64 requires 8 bytes)`);\n }\n \n val = new DataView(ctx.memory.buffer).getFloat64(ctx.storagePtr, true);\n ctx.storagePtr += 8;\n if (ctx.storageLen !== undefined) { ctx.storageLen -= 8; }\n \n return [val, ctx];\n }\n \n \n function _liftFlatVariant(meta) {\n const {\n caseMetas,\n variantSize32,\n variantAlign32,\n variantPayloadOffset32,\n variantFlatCount,\n isEnum,\n } = meta;\n \n return function _liftFlatVariantInner(ctx) {\n _debugLog('[_liftFlatVariant()] args', { ctx });\n const origUseParams = ctx.useDirectParams;\n \n // If we're in the process of lifting a variant, we note\n // we are during any lifting that happens (e.g. to accomodate f32/f64 mechanics)\n const wasInVariant = ctx.inVariant;\n ctx.inVariant = true;\n \n let caseIdx;\n let liftRes;\n const originalPtr = ctx.storagePtr;\n const numCases = caseMetas.length;\n if (caseMetas.length < 256) {\n liftRes = _liftFlatU8(ctx);\n } else if (numCases >= 256 && numCases < 65536) {\n liftRes = _liftFlatU16(ctx);\n } else if (numCases >= 65536 && numCases < 4_294_967_296) {\n liftRes = _liftFlatU32(ctx);\n } else {\n throw new Error(`unsupported number of variant cases [${numCases}]`);\n }\n caseIdx = liftRes[0];\n ctx = liftRes[1];\n \n const [\n tag,\n liftFn,\n caseSize32,\n caseAlign32,\n caseFlatCount,\n ] = caseMetas[caseIdx];\n \n if (variantPayloadOffset32 === undefined) {\n throw new Error('unexpectedly missing payload offset');\n }\n \n if (originalPtr !== undefined) {\n ctx.storagePtr = originalPtr + variantPayloadOffset32;\n }\n \n let val;\n if (liftFn === null) {\n val = { tag };\n // NOTE: here we need to move past the entire object in memory\n // despite moving to the payload which we now know is missing/unnecessary\n if (originalPtr !== undefined) {\n ctx.storagePtr = originalPtr + variantSize32;\n }\n } else {\n if (ctx.useDirectParams && ctx.params && liftFn !== _liftFlatFloat64 && typeof ctx.params[0] === 'bigint') {\n if (ctx.params[0] > BigInt(Number.MAX_SAFE_INTEGER)) {\n throw new Error(`invalid value, reinterpreted i32/f32 too large: [${ctx.params[0]}]`);\n }\n ctx.params[0] = Number(ctx.params[0]);\n }\n \n const [newVal, newCtx] = liftFn(ctx);\n val = { tag, val: newVal };\n ctx = newCtx;\n }\n \n if (origUseParams) {\n if (variantFlatCount === undefined || variantFlatCount === null) {\n _debugLog('[_liftFlatVariant()] variant with unknown flat count', { ctx, meta });\n throw new Error('cannot lift variant with unknown flat count');\n }\n if (caseFlatCount === undefined || caseFlatCount === null) {\n _debugLog('[_liftFlatVariant()] case with unknown flat count', { ctx, meta, case: meta.caseMetas[caseIdx] });\n throw new Error('cannot lift case with unknown flat count');\n }\n // NOTE: enums can be tightly packed and do not have a descriminant\n const remainingPayloadParams = variantFlatCount - caseFlatCount - (isEnum ? 0 : 1);\n if (remainingPayloadParams < 0) {\n throw new Error(`invalid variant flat count metadata`);\n }\n if (ctx.params.length < remainingPayloadParams) {\n throw new Error(`expected at least [${remainingPayloadParams}] remaining variant payload params, but got [${ctx.params.length}]`);\n }\n ctx.params = ctx.params.slice(remainingPayloadParams);\n }\n \n if (ctx.storagePtr !== undefined) {\n const rem = ctx.storagePtr % variantAlign32;\n if (rem !== 0) { ctx.storagePtr += variantAlign32 - rem; }\n }\n \n ctx.inVariant = wasInVariant;\n \n return [val, ctx];\n }\n }\n \n function _liftFlatList(meta) {\n const { elemLiftFn, elemSize32, elemAlign32, knownLen, typedArray } = meta;\n \n const listValue =\n typedArray === undefined\n ? values => values\n : values => new typedArray(values);\n \n const readValuesAndReset = (ctx, originalPtr, originalLen, dataPtr, len) => {\n ctx.storagePtr = dataPtr;\n const val = [];\n for (var i = 0; i < len; i++) {\n const elemPtr = dataPtr + i * elemSize32;\n ctx.storagePtr = elemPtr;\n const [res, nextCtx] = elemLiftFn(ctx);\n val.push(res);\n ctx = nextCtx;\n \n ctx.storagePtr = Math.max(ctx.storagePtr, elemPtr + elemSize32);\n }\n if (originalPtr !== null) { ctx.storagePtr = originalPtr; }\n if (originalLen !== null) { ctx.storageLen = originalLen; }\n return [listValue(val), ctx];\n };\n \n return function _liftFlatListInner(ctx) {\n _debugLog('[_liftFlatList()] args', { ctx });\n \n let liftResults;\n if (knownLen !== undefined) { // list with known length\n if (ctx.useDirectParams) {\n _debugLog('memory unexpectedly missing while lifting unknown length list', { ctx });\n liftResults = [listValue(ctx.params.slice(0, knownLen)), ctx];\n ctx.params = ctx.params.slice(knownLen);\n } else { // indirect params\n if (ctx.memory === null) {\n _debugLog('memory unexpectedly missing while lifting known length list', { knownLen, ctx });\n throw new Error(`memory missing while lifting known length (${knownLen}) list`);\n }\n \n const originalLen = ctx.storageLen;\n const originalPtr = ctx.storagePtr;\n \n ctx.storageLen = knownLen * elemSize32;\n liftResults = readValuesAndReset(ctx, null, originalLen, ctx.storagePtr, knownLen);\n }\n \n } else { // unknown length list\n \n if (ctx.useDirectParams) {\n // unknown length list ptr w/ direct params\n const dataPtr = ctx.params[0];\n const len = ctx.params[1];\n ctx.params = ctx.params.slice(2);\n \n ctx.useDirectParams = false;\n const originalPtr = ctx.storagePtr;\n const originalLen = ctx.storageLen;\n ctx.storageLen = len * elemSize32;\n \n liftResults = readValuesAndReset(ctx, originalPtr, originalLen, dataPtr, len);\n \n ctx.useDirectParams = true;\n } else {\n // unknown length list ptr w/ in-memory params\n const originalLen = ctx.storageLen;\n ctx.storageLen = 8;\n \n const dataPtrLiftRes = _liftFlatU32(ctx);\n const dataPtr = dataPtrLiftRes[0];\n ctx = dataPtrLiftRes[1];\n \n const lenLiftRes = _liftFlatU32(ctx);\n const len = lenLiftRes[0];\n ctx = lenLiftRes[1];\n \n const originalPtr = ctx.storagePtr;\n ctx.storagePtr = dataPtr;\n \n ctx.storageLen = len * elemSize32;\n liftResults = readValuesAndReset(ctx, originalPtr, originalLen, dataPtr, len);\n }\n}\n\nreturn liftResults;\n}\n}\n\nfunction _liftFlatResult(meta) {\n const f = _liftFlatVariant(meta);\n return function _liftFlatResultInner(ctx) {\n _debugLog('[_liftFlatResult()] args', { ctx });\n return f(ctx);\n }\n}\n\nfunction _liftFlatBorrow(componentTableIdx, size, memory, vals, storagePtr, storageLen) {\n _debugLog('[_liftFlatBorrow()] args', { size, memory, vals, storagePtr, storageLen });\n throw new Error('flat lift for borrowed resources is not supported!');\n}\n\n\nfunction _lowerFlatU8(ctx) {\n _debugLog('[_lowerFlatU8()] args', ctx);\n \n if (ctx.vals.length !== 1) {\n throw new Error(`unexpected number [${ctx.vals.length}] of vals (expected 1)`);\n }\n \n _requireValidNumericPrimitive.bind('u8', ctx.vals[0]);\n \n if (!ctx.memory) { throw new Error(\"missing memory for lower\"); }\n new DataView(ctx.memory.buffer).setUint8(ctx.storagePtr, ctx.vals[0]);\n \n ctx.storagePtr += 1;\n}\n\nfunction _lowerFlatU16(ctx) {\n _debugLog('[_lowerFlatU16()] args', { ctx });\n \n if (!ctx.memory) { throw new Error(\"missing memory for lower\"); }\n if (ctx.vals.length !== 1) {\n throw new Error(`unexpected number [${ctx.vals.length}] of vals (expected 1)`);\n }\n \n const rem = ctx.storagePtr % 2;\n if (rem !== 0) { ctx.storagePtr += (2 - rem); }\n \n _requireValidNumericPrimitive.bind('u16', ctx.vals[0]);\n new DataView(ctx.memory.buffer).setUint16(ctx.storagePtr, ctx.vals[0], true);\n \n ctx.storagePtr += 2;\n}\n\nfunction _lowerFlatU32(ctx) {\n _debugLog('[_lowerFlatU32()] args', { ctx });\n \n if (ctx.vals.length !== 1) {\n throw new Error(`expected single value to lower, got [${ctx.vals.length}]`);\n }\n \n const rem = ctx.storagePtr % 4;\n if (rem !== 0) { ctx.storagePtr += (4 - rem); }\n \n _requireValidNumericPrimitive.bind('u32', ctx.vals[0]);\n new DataView(ctx.memory.buffer).setUint32(ctx.storagePtr, ctx.vals[0], true);\n \n ctx.storagePtr += 4;\n}\n\nfunction _lowerFlatU64(ctx) {\n _debugLog('[_lowerFlatU64()] args', { ctx });\n \n if (ctx.vals.length !== 1) { throw new Error('unexpected number of vals'); }\n \n const rem = ctx.storagePtr % 8;\n if (rem !== 0) { ctx.storagePtr += (8 - rem); }\n \n _requireValidNumericPrimitive.bind('u64', ctx.vals[0]);\n new DataView(ctx.memory.buffer).setBigUint64(ctx.storagePtr, ctx.vals[0], true);\n \n ctx.storagePtr += 8;\n}\n\nfunction _lowerFlatStringAny(ctx) {\n switch (ctx.stringEncoding) {\n case 'utf8':\n return _lowerFlatStringUTF8(ctx);\n case 'utf16':\n return _lowerFlatStringUTF16(ctx);\n default:\n throw new Error(`missing/unrecognized/unsupported string encoding [${ctx.stringEncoding}]`);\n }\n}\n\nfunction _lowerFlatStringUTF8(ctx) {\n _debugLog('[_lowerFlatStringUTF8()] args', ctx);\n if (!ctx.realloc) { throw new Error('missing realloc during flat string lower'); }\n \n const s = ctx.vals[0];\n const { ptr, codepoints } = _utf8AllocateAndEncode(ctx.vals[0], ctx.realloc, ctx.memory);\n \n const view = new DataView(ctx.memory.buffer);\n view.setUint32(ctx.storagePtr, ptr, true);\n view.setUint32(ctx.storagePtr + 4, codepoints, true);\n \n ctx.storagePtr += 8;\n}\n\nfunction _lowerFlatStringUTF16(ctx) {\n _debugLog('[_lowerFlatStringUTF16()] args', { ctx });\n if (!ctx.realloc) { throw new Error('missing realloc during flat string lower'); }\n \n const s = ctx.vals[0];\n const { ptr, len, codepoints } = _utf16AllocateAndEncode(ctx.vals[0], ctx.realloc, ctx.memory);\n \n const view = new DataView(ctx.memory.buffer);\n view.setUint32(ctx.storagePtr, ptr, true);\n view.setUint32(ctx.storagePtr + 4, codepoints, true);\n \n const bytes = new Uint16Array(ctx.memory.buffer, start, codeUnits);\n if (ctx.memory.buffer.byteLength < start + bytes.byteLength) {\n throw new Error('memory out of bounds');\n }\n if (ctx.storageLen !== undefined && ctx.storageLen !== bytes.byteLength) {\n throw new Error(`storage length [${ctx.storageLen}] != [${bytes.byteLength}])`);\n }\n new Uint16Array(ctx.memory.buffer, ctx.storagePtr).set(bytes);\n \n ctx.storagePtr += len;\n}\n\nfunction _lowerFlatVariant(meta) {\n const { variantSize32, variantAlign32, variantPayloadOffset32, caseMetas } = meta;\n \n let caseLookup = {};\n for (const [idx, meta] of caseMetas.entries()) {\n let tag = meta[0];\n caseLookup[tag] = { discriminant: idx, meta };\n }\n \n return function _lowerFlatVariantInner(ctx) {\n _debugLog('[_lowerFlatVariant()] args', { ctx });\n \n const { tag, val } = ctx.vals[0];\n const variantCase = caseLookup[tag];\n if (!variantCase) {\n throw new Error(`missing tag [${tag}] (valid tags: ${Object.keys(caseLookup)})`);\n }\n \n const [ _tag, lowerFn, caseSize32, caseAlign32, caseFlatCount ] = variantCase.meta;\n \n const originalPtr = ctx.storagePtr;\n ctx.vals = [variantCase.discriminant];\n let discLowerRes;\n if (caseMetas.length < 256) {\n discLowerRes = _lowerFlatU8(ctx);\n } else if (caseMetas.length >= 256 && caseMetas.length < 65536) {\n discLowerRes = _lowerFlatU16(ctx);\n } else if (caseMetas.length >= 65536 && caseMetas.length < 4_294_967_296) {\n discLowerRes = _lowerFlatU32(ctx);\n } else {\n throw new Error(`unsupported number of cases [${caseMetas.length}]`);\n }\n \n const payloadOffsetPtr = originalPtr + variantPayloadOffset32;\n ctx.storagePtr = payloadOffsetPtr;\n ctx.vals = [val];\n if (lowerFn) { lowerFn(ctx); }\n \n ctx.storagePtr = Math.max(ctx.storagePtr, originalPtr + variantSize32);\n \n const rem = ctx.storagePtr % variantAlign32;\n if (rem !== 0) { ctx.storagePtr += varianttAlign32 - rem; }\n }\n}\n\nfunction _lowerFlatList(meta) {\n const {\n elemLowerFn,\n knownLen,\n size32,\n align32,\n elemSize32,\n elemAlign32,\n } = meta;\n \n if (!elemLowerFn) { throw new TypeError(\"missing/invalid element lower fn for list\"); }\n \n return function _lowerFlatListInner(ctx) {\n _debugLog('[_lowerFlatList()] args', { ctx });\n \n if (ctx.useDirectParams) {\n if (ctx.params.length < 2) { throw new Error('insufficient params left to lower list'); }\n const storagePtr = ctx.params[0];\n const elemCount = ctx.params[1];\n ctx.params = ctx.params.slice(2);\n \n const list = ctx.vals[0];\n if (!list) { throw new Error(\"missing direct param value\"); }\n \n const lowerCtx = {\n storagePtr,\n memory: ctx.memory,\n stringEncoding: ctx.stringEncoding,\n };\n for (let idx = 0; idx < list.length; idx++) {\n const elemPtr = storagePtr + idx * elemSize32;\n lowerCtx.storagePtr = elemPtr;\n lowerCtx.vals = list.slice(idx, idx+1);\n elemLowerFn(lowerCtx);\n lowerCtx.storagePtr = Math.max(lowerCtx.storagePtr, elemPtr + elemSize32);\n }\n ctx.storagePtr = lowerCtx.storagePtr;\n \n // TODO: implement parma-only known-length processing\n \n return;\n }\n \n // TODO(fix): is it possible to get a vals that are a addr and length here from\n // a component lower?\n \n const elems = ctx.vals[0];\n if (knownLen === undefined) {\n // unknown length\n if (!ctx.realloc) { throw new Error('missing realloc during flat string lower'); }\n const dataPtr = ctx.realloc(0, 0, elemAlign32, elemSize32 * elems.length);\n \n ctx.vals[0] = dataPtr;\n _lowerFlatU32(ctx);\n \n ctx.vals[0] = elems.length;\n _lowerFlatU32(ctx);\n \n const origPtr = ctx.storagePtr;\n ctx.storagePtr = dataPtr;\n \n for (const [idx, elem] of elems.entries()) {\n const elemPtr = dataPtr + idx * elemSize32;\n ctx.storagePtr = elemPtr;\n ctx.vals = [elem];\n elemLowerFn(ctx);\n ctx.storagePtr = Math.max(ctx.storagePtr, elemPtr + elemSize32);\n }\n \n ctx.storagePtr = origPtr;\n \n } else {\n // known length\n \n if (elems.length !== knownLen) {\n throw new TypeError(`invalid list input of length [${elems.length}], must be length [${knownLen}]`);\n }\n \n const originalPtr = ctx.storagePtr;\n for (const [idx, elem] of elems.entries()) {\n const elemPtr = originalPtr + idx * elemSize32;\n ctx.storagePtr = elemPtr;\n ctx.vals = [elem];\n elemLowerFn(ctx);\n ctx.storagePtr = Math.max(ctx.storagePtr, elemPtr + elemSize32);\n }\n }\n \n // TODO(fix): special case for u8/u16/etc, we can do a direct copy\n \n const totalSizeBytes = elems.length * size32;\n if (ctx.storageLen !== undefined && totalSizeBytes > ctx.storageLen) {\n throw new Error('not enough storage remaining for list flat lower');\n }\n }\n}\n\nfunction _lowerFlatTuple(meta) {\n const { elemLowerMetas, size32: tupleSize32, align32: tupleAlign32 } = meta;\n return function _lowerFlatTupleInner(ctx) {\n _debugLog('[_lowerFlatTuple()] args', { ctx });\n const originalPtr = ctx.storagePtr;\n const tuple = ctx.vals[0];\n for (const [idx, [ lowerFn, size32, align32 ]] of elemLowerMetas.entries()) {\n const rem = ctx.storagePtr % align32;\n if (rem !== 0) { ctx.storagePtr += align32 - rem; }\n \n const elemPtr = ctx.storagePtr;\n ctx.vals = [tuple[idx]];\n lowerFn(ctx);\n ctx.storagePtr = Math.max(ctx.storagePtr, elemPtr + size32);\n }\n \n ctx.storagePtr = Math.max(ctx.storagePtr, originalPtr + tupleSize32);\n \n const rem = ctx.storagePtr % tupleAlign32;\n if (rem !== 0) {\n ctx.storagePtr += tupleAlign32 - rem;\n }\n }\n}\n\nfunction _lowerFlatOption(meta) {\n const f = _lowerFlatVariant(meta);\n return function _lowerFlatOptionInner(ctx) {\n _debugLog('[_lowerFlatOption()] args', { ctx });\n \n const v = ctx.vals[0];\n if (v === null || v === undefined) {\n ctx.vals[0] = { tag: 'none' };\n } else {\n const isNotOptionObject = typeof v !== 'object'\n || Object.keys(v).length !== 2\n || !('tag' in v)\n || !(v.tag === 'some' || v.tag === 'none')\n || !('val' in v);\n if (isNotOptionObject) {\n ctx.vals[0] = { tag: 'some', val: v };\n }\n }\n \n f(ctx);\n }\n}\n\nfunction _lowerFlatResult(meta) {\n const f = _lowerFlatVariant(meta);\n return function _lowerFlatResultInner(ctx) {\n _debugLog('[_lowerFlatResult()] args', { ctx });\n \n const v = ctx.vals[0];\n const isNotResultObject = typeof v !== 'object'\n || Object.keys(v).length !== 2\n || !('tag' in v)\n || !('ok' === v.tag || 'err' === v.tag)\n || !('val' in v);\n if (isNotResultObject) {\n ctx.vals[0] = { tag: 'ok', val: v };\n }\n \n f(ctx);\n };\n}\n\nfunction _lowerFlatOwn(meta) {\n const { lowerFn, componentIdx } = meta;\n \n return function _lowerFlatOwnInner(ctx) {\n _debugLog('[_lowerFlatOwn()] args', { ctx });\n const { createFn } = ctx;\n \n if (ctx.componentIdx !== componentIdx) {\n throw new Error(`component index mismatch (expected [${componentIdx}], lift called from [${ctx.componentIdx}])`);\n }\n \n const obj = ctx.vals[0];\n if (obj === undefined || obj === null) { throw new Error('missing resource'); }\n const handle = lowerFn(obj);\n \n ctx.vals[0] = handle;\n _lowerFlatU32(ctx);\n };\n}\n\nconst STREAMS = new RepTable({ target: 'global stream map' });\nconst ASYNC_STATE = new Map();\n\nfunction getOrCreateAsyncState(componentIdx, init) {\n if (!ASYNC_STATE.has(componentIdx)) {\n const newState = new ComponentAsyncState({ componentIdx });\n ASYNC_STATE.set(componentIdx, newState);\n }\n return ASYNC_STATE.get(componentIdx);\n}\n\nclass ComponentAsyncState {\n static EVENT_HANDLER_EVENTS = [ 'backpressure-change' ];\n \n #componentIdx;\n #callingAsyncImport = false;\n #syncImportWait = promiseWithResolvers();\n #locked = false;\n #parkedTasks = new Map();\n #suspendedTasksByTaskID = new Map();\n #suspendedTaskIDs = [];\n #errored = null;\n \n #backpressure = 0;\n #backpressureWaiters = 0n;\n \n #handlerMap = new Map();\n #nextHandlerID = 0n;\n \n #tickLoop = null;\n #tickLoopInterval = null;\n \n #onExclusiveReleaseHandlers = [];\n \n mayLeave = true;\n \n handles;\n subtasks;\n \n constructor(args) {\n this.#componentIdx = args.componentIdx;\n this.handles = new RepTable({ target: `component [${this.#componentIdx}] handles (waitable objects)` });\n this.subtasks = new RepTable({ target: `component [${this.#componentIdx}] subtasks` });\n };\n \n componentIdx() { return this.#componentIdx; }\n \n errored() { return this.#errored !== null; }\n setErrored(err) {\n _debugLog('[ComponentAsyncState#setErrored()] component errored', { err, componentIdx: this.#componentIdx });\n if (this.#errored) { return; }\n if (!err) {\n err = new Error('error elswehere (see other component instance error)')\n err.componentIdx = this.#componentIdx;\n }\n this.#errored = err;\n }\n \n callingSyncImport(val) {\n if (val === undefined) { return this.#callingAsyncImport; }\n if (typeof val !== 'boolean') { throw new TypeError('invalid setting for async import'); }\n const prev = this.#callingAsyncImport;\n this.#callingAsyncImport = val;\n if (prev === true && this.#callingAsyncImport === false) {\n this.#notifySyncImportEnd();\n }\n }\n \n #notifySyncImportEnd() {\n const existing = this.#syncImportWait;\n this.#syncImportWait = promiseWithResolvers();\n existing.resolve();\n }\n \n async waitForSyncImportCallEnd() {\n await this.#syncImportWait.promise;\n }\n \n setBackpressure(v) {\n this.#backpressure = v;\n return this.#backpressure\n }\n getBackpressure() { return this.#backpressure; }\n \n incrementBackpressure() {\n const current = this.#backpressure;\n if (current < 0 || current > 2**16) {\n throw new Error(`invalid current backpressure value [${current}]`);\n }\n const newValue = this.getBackpressure() + 1;\n if (newValue >= 2**16) {\n throw new Error(`invalid new backpressure value [${newValue}], overflow`);\n }\n return this.setBackpressure(newValue);\n }\n \n decrementBackpressure() {\n const current = this.#backpressure;\n if (current < 0 || current > 2**16) {\n throw new Error(`invalid current backpressure value [${current}]`);\n }\n const newValue = Math.max(0, current - 1);\n if (newValue < 0) {\n throw new Error(`invalid new backpressure value [${newValue}], underflow`);\n }\n return this.setBackpressure(newValue);\n }\n hasBackpressure() { return this.#backpressure > 0; }\n \n waitForBackpressure() {\n let backpressureCleared = false;\n const cstate = this;\n cstate.addBackpressureWaiter();\n const handlerID = this.registerHandler({\n event: 'backpressure-change',\n fn: (bp) => {\n if (bp === 0) {\n cstate.removeHandler(handlerID);\n backpressureCleared = true;\n }\n }\n });\n return new Promise((resolve) => {\n const interval = setInterval(() => {\n if (backpressureCleared) { return; }\n clearInterval(interval);\n cstate.removeBackpressureWaiter();\n resolve(null);\n }, 0);\n });\n }\n \n registerHandler(args) {\n const { event, fn } = args;\n if (!event) { throw new Error(\"missing handler event\"); }\n if (!fn) { throw new Error(\"missing handler fn\"); }\n \n if (!ComponentAsyncState.EVENT_HANDLER_EVENTS.includes(event)) {\n throw new Error(`unrecognized event handler [${event}]`);\n }\n \n const handlerID = this.#nextHandlerID++;\n let handlers = this.#handlerMap.get(event);\n if (!handlers) {\n handlers = [];\n this.#handlerMap.set(event, handlers)\n }\n \n handlers.push({ id: handlerID, fn, event });\n return handlerID;\n }\n \n removeHandler(args) {\n const { event, handlerID } = args;\n const registeredHandlers = this.#handlerMap.get(event);\n if (!registeredHandlers) { return; }\n const found = registeredHandlers.find(h => h.id === handlerID);\n if (!found) { return; }\n this.#handlerMap.set(event, this.#handlerMap.get(event).filter(h => h.id !== handlerID));\n }\n \n getBackpressureWaiters() { return this.#backpressureWaiters; }\n addBackpressureWaiter() { this.#backpressureWaiters++; }\n removeBackpressureWaiter() {\n this.#backpressureWaiters--;\n if (this.#backpressureWaiters < 0) {\n throw new Error(\"unexepctedly negative number of backpressure waiters\");\n }\n }\n \n isExclusivelyLocked() { return this.#locked === true; }\n setLocked(locked) {\n this.#locked = locked;\n }\n \n exclusiveLock() {\n _debugLog('[ComponentAsyncState#exclusiveLock()]', {\n locked: this.#locked,\n componentIdx: this.#componentIdx,\n });\n this.setLocked(true);\n }\n \n exclusiveRelease() {\n _debugLog('[ComponentAsyncState#exclusiveRelease()] args', {\n locked: this.#locked,\n componentIdx: this.#componentIdx,\n });\n this.setLocked(false);\n \n this.#onExclusiveReleaseHandlers = this.#onExclusiveReleaseHandlers.filter(v => !!v);\n for (const [idx, f] of this.#onExclusiveReleaseHandlers.entries()) {\n try {\n this.#onExclusiveReleaseHandlers[idx] = null;\n f();\n } catch (err) {\n _debugLog(\"error while executing handler for next exclusive release\", err);\n throw err;\n }\n }\n }\n \n onNextExclusiveRelease(fn) {\n _debugLog('[ComponentAsyncState#()onNextExclusiveRelease] registering');\n this.#onExclusiveReleaseHandlers.push(fn);\n }\n \n // nextTaskPromise & nextTaskQueue are used to await current task completion and queues\n // any tasks attempting to enter() and complete.\n //\n // see: nextTaskExecutionSlot()\n //\n // TODO(threads): this should be unnecessary once threads are properly implemented,\n // as the task.enter() logic should suffice (it should be guaranteed that we cannot re-enter\n // unless the task in question is the current task in the thread execution, and only one can\n // run at a time)\n #nextTaskPromise = Promise.resolve(true);\n #nextTaskQueue = [];\n \n async nextTaskExecutionSlot(args) {\n const { task } = args;\n \n const placeholder = {\n completed: false,\n task,\n promise: task.exitPromise().then(() => {\n placeholder.completed = true;\n }),\n };\n this.#nextTaskQueue.push(placeholder);\n \n let next;\n while (true) {\n await this.#nextTaskPromise;\n \n next = this.#nextTaskQueue.find(placeholder => !placeholder.completed);\n \n // This task is next in the queue, we can continue\n if (next === undefined || next === placeholder) {\n this.#nextTaskPromise = next.promise;\n if (this.#nextTaskQueue.length > 1000) {\n this.#nextTaskQueue = this.#nextTaskQueue.filter(p => !p.completed);\n if (this.#nextTaskQueue.length > 1000) {\n _debugLog('[ComponentAsyncState#()nextTaskExecutionSlot] next task queue length > 1000 even after cleanup, tasks may be leaking');\n }\n }\n break;\n }\n \n // If we get here, this task was *not* next in the queue, continue waiting\n // (at this point the task that *is* next will likely have already set itself\n // as this.#nextTaskPromise)\n }\n }\n \n #getSuspendedTaskMeta(taskID) {\n return this.#suspendedTasksByTaskID.get(taskID);\n }\n \n #removeSuspendedTaskMeta(taskID) {\n _debugLog('[ComponentAsyncState#removeSuspendedTaskMeta()] removing suspended task', {\n taskID,\n componentIdx: this.#componentIdx,\n });\n const idx = this.#suspendedTaskIDs.findIndex(t => t === taskID);\n const meta = this.#suspendedTasksByTaskID.get(taskID);\n this.#suspendedTaskIDs[idx] = null;\n this.#suspendedTasksByTaskID.delete(taskID);\n return meta;\n }\n \n #addSuspendedTaskMeta(meta) {\n if (!meta) { throw new Error('missing task meta'); }\n const taskID = meta.taskID;\n this.#suspendedTasksByTaskID.set(taskID, meta);\n this.#suspendedTaskIDs.push(taskID);\n if (this.#suspendedTasksByTaskID.size < this.#suspendedTaskIDs.length - 10) {\n this.#suspendedTaskIDs = this.#suspendedTaskIDs.filter(t => t !== null);\n }\n }\n \n // TODO(threads): readyFn is normally on the thread\n suspendTask(args) {\n const { task, readyFn } = args;\n const taskID = task.id();\n const componentIdx = task.componentIdx();\n _debugLog('[ComponentAsyncState#suspendTask()]', {\n taskID,\n componentIdx: this.#componentIdx,\n taskEntryFnName: task.entryFnName(),\n subtask: task.getParentSubtask(),\n });\n \n if (componentIdx !== this.#componentIdx) {\n throw new Error('assert: task component idx should match async state');\n }\n \n if (this.#getSuspendedTaskMeta(taskID)) {\n throw new Error(`task [${taskID}] already suspended`);\n }\n \n const { promise, resolve, reject } = promiseWithResolvers();\n this.#addSuspendedTaskMeta({\n task,\n taskID,\n readyFn,\n resume: () => {\n _debugLog('[ComponentAsyncState] resuming suspended task', {\n taskID,\n componentIdx: this.#componentIdx,\n });\n // TODO(threads): it's thread cancellation we should be checking for below, not task\n resolve(!task.isCancelled());\n },\n });\n \n this.runTickLoop();\n \n return promise;\n }\n \n resumeTaskByID(taskID) {\n const meta = this.#removeSuspendedTaskMeta(taskID);\n if (!meta) { return; }\n if (meta.taskID !== taskID) { throw new Error('task ID does not match'); }\n meta.resume();\n }\n \n async runTickLoop() {\n if (this.#tickLoop !== null) { return; }\n this.#tickLoop = 1;\n setTimeout(async () => {\n let done = this.tick();\n while (!done) {\n await new Promise((resolve) => setTimeout(resolve, 30));\n done = this.tick();\n }\n this.#tickLoop = null;\n }, 10);\n }\n \n tick() {\n // _debugLog('[ComponentAsyncState#tick()]', { suspendedTaskIDs: this.#suspendedTaskIDs });\n \n const resumableTasks = this.#suspendedTaskIDs.filter(t => t !== null);\n for (const taskID of resumableTasks) {\n const meta = this.#suspendedTasksByTaskID.get(taskID);\n if (!meta || !meta.readyFn) {\n throw new Error(`missing/invalid task despite ID [${taskID}] being present`);\n }\n \n // If the task failed via any means, allow the task to resume because\n // it's been cancelled -- the callback should immediately exit as well\n if (meta.task.isRejected()) {\n _debugLog('[ComponentAsyncState#tick()] detected task rejection, leaving early', { meta });\n this.resumeTaskByID(taskID);\n return;\n }\n \n const isReady = meta.readyFn();\n if (!isReady) { continue; }\n \n _debugLog('[ComponentAsyncState#tick()] resuming task via tick', {\n taskID,\n componentIdx: this.#componentIdx,\n });\n this.resumeTaskByID(taskID);\n }\n \n return this.#suspendedTaskIDs.filter(t => t !== null).length === 0;\n }\n \n addStreamEndToTable(args) {\n _debugLog('[ComponentAsyncState#addStreamEnd()] args', args);\n const { tableIdx, streamEnd } = args;\n if (typeof streamEnd === 'number') { throw new Error(\"INSERTING BAD STREAMEND\"); }\n \n let { table, componentIdx } = STREAM_TABLES[tableIdx];\n if (componentIdx === undefined || !table) {\n throw new Error(`invalid global stream table state for table [${tableIdx}]`);\n }\n \n const handle = table.insert(streamEnd);\n streamEnd.setHandle(handle);\n streamEnd.setStreamTableIdx(tableIdx);\n \n const cstate = getOrCreateAsyncState(componentIdx);\n const waitableIdx = cstate.handles.insert(streamEnd);\n streamEnd.setWaitableIdx(waitableIdx);\n \n _debugLog('[ComponentAsyncState#addStreamEnd()] added stream end', {\n tableIdx,\n table,\n handle,\n streamEnd,\n destComponentIdx: componentIdx,\n });\n \n return { handle, waitableIdx };\n }\n \n createWaitable(args) {\n return new Waitable({ target: args?.target, });\n }\n \n createReadableStreamEnd(args) {\n _debugLog('[ComponentAsyncState#createStreamEnd()] args', args);\n const { tableIdx, elemMeta, hostInjectFn } = args;\n \n const { table: localStreamTable, componentIdx } = STREAM_TABLES[tableIdx];\n if (!localStreamTable) {\n throw new Error(`missing global stream table lookup for table [${tableIdx}] while creating stream`);\n }\n if (componentIdx !== this.#componentIdx) {\n throw new Error('component idx mismatch while creating stream');\n }\n \n const waitable = this.createWaitable();\n const streamEnd = new StreamReadableEnd({\n tableIdx,\n elemMeta,\n hostInjectFn,\n pendingBufferMeta: {},\n target: `stream read end (lowered, @init)`,\n waitable,\n });\n \n streamEnd.setWaitableIdx(this.handles.insert(streamEnd));\n streamEnd.setHandle(localStreamTable.insert(streamEnd));\n if (streamEnd.streamTableIdx() !== tableIdx) {\n throw new Error(\"unexpectedly mismatched stream table\");\n }\n const streamEndWaitableIdx = streamEnd.waitableIdx();\n const streamEndHandle = streamEnd.handle();\n waitable.setTarget(`waitable for stream read end (lowered, waitable [${streamEndWaitableIdx}])`);\n streamEnd.setTarget(`stream read end (lowered, waitable [${streamEndWaitableIdx}])`);\n \n return {\n waitableIdx: streamEndWaitableIdx,\n handle: streamEndHandle,\n streamEnd,\n };\n }\n \n createStream(args) {\n _debugLog('[ComponentAsyncState#createStream()] args', args);\n const { tableIdx, elemMeta, hostInjectFn } = args;\n if (tableIdx === undefined) { throw new Error(\"missing table idx while adding stream\"); }\n if (elemMeta === undefined) { throw new Error(\"missing element metadata while adding stream\"); }\n \n const { table: localStreamTable, componentIdx } = STREAM_TABLES[tableIdx];\n if (!localStreamTable) {\n throw new Error(`missing global stream table lookup for table [${tableIdx}] while creating stream`);\n }\n if (componentIdx !== this.#componentIdx) {\n throw new Error('component idx mismatch while creating stream');\n }\n \n const readWaitable = this.createWaitable();\n const writeWaitable = this.createWaitable();\n \n const stream = new InternalStream({\n tableIdx,\n elemMeta,\n readWaitable,\n writeWaitable,\n hostInjectFn,\n });\n stream.setGlobalStreamMapRep(STREAMS.insert(stream));\n \n const writeEnd = stream.writeEnd();\n writeEnd.setWaitableIdx(this.handles.insert(writeEnd));\n writeEnd.setHandle(localStreamTable.insert(writeEnd));\n if (writeEnd.streamTableIdx() !== tableIdx) { throw new Error(\"unexpectedly mismatched stream table\"); }\n \n const writeEndWaitableIdx = writeEnd.waitableIdx();\n const writeEndHandle = writeEnd.handle();\n writeWaitable.setTarget(`waitable for stream write end (waitable [${writeEndWaitableIdx}])`);\n writeEnd.setTarget(`stream write end (waitable [${writeEndWaitableIdx}])`);\n \n const readEnd = stream.readEnd();\n readEnd.setWaitableIdx(this.handles.insert(readEnd));\n readEnd.setHandle(localStreamTable.insert(readEnd));\n if (readEnd.streamTableIdx() !== tableIdx) { throw new Error(\"unexpectedly mismatched stream table\"); }\n \n const readEndWaitableIdx = readEnd.waitableIdx();\n const readEndHandle = readEnd.handle();\n readWaitable.setTarget(`waitable for read end (waitable [${readEndWaitableIdx}])`);\n readEnd.setTarget(`stream read end (waitable [${readEndWaitableIdx}])`);\n \n return {\n writeEnd,\n writeEndWaitableIdx,\n writeEndHandle,\n readEndWaitableIdx,\n readEndHandle,\n readEnd,\n };\n }\n \n getStreamEnd(args) {\n _debugLog('[ComponentAsyncState#getStreamEnd()] args', args);\n const { tableIdx, streamEndHandle, streamEndWaitableIdx } = args;\n if (tableIdx === undefined) {\n throw new Error('missing table idx while getting stream end');\n }\n \n const { table, componentIdx } = STREAM_TABLES[tableIdx];\n const cstate = getOrCreateAsyncState(componentIdx);\n \n let streamEnd;\n if (streamEndWaitableIdx !== undefined) {\n streamEnd = cstate.handles.get(streamEndWaitableIdx);\n } else if (streamEndHandle !== undefined) {\n if (!table) { throw new Error(`missing/invalid table [${tableIdx}] while getting stream end`); }\n streamEnd = table.get(streamEndHandle);\n } else {\n throw new TypeError(\"must specify either waitable idx or handle to retrieve stream\");\n }\n \n if (!streamEnd) {\n throw new Error(`missing stream end (tableIdx [${tableIdx}], handle [${streamEndHandle}], waitableIdx [${streamEndWaitableIdx}])`);\n }\n if (tableIdx && streamEnd.streamTableIdx() !== tableIdx) {\n throw new Error(`stream end table idx [${streamEnd.streamTableIdx()}] does not match [${tableIdx}]`);\n }\n \n return streamEnd;\n }\n \n deleteStreamEnd(args) {\n _debugLog('[ComponentAsyncState#deleteStreamEnd()] args', args);\n const { tableIdx, streamEndWaitableIdx } = args;\n if (tableIdx === undefined) { throw new Error(\"missing table idx while removing stream end\"); }\n if (streamEndWaitableIdx === undefined) { throw new Error(\"missing stream idx while removing stream end\"); }\n \n const { table, componentIdx } = STREAM_TABLES[tableIdx];\n const cstate = getOrCreateAsyncState(componentIdx);\n \n const streamEnd = cstate.handles.get(streamEndWaitableIdx);\n if (!streamEnd) {\n throw new Error(`missing stream end [${streamEndWaitableIdx}] in component handles while deleting stream`);\n }\n if (streamEnd.streamTableIdx() !== tableIdx) {\n throw new Error(`stream end table idx [${streamEnd.streamTableIdx()}] does not match [${tableIdx}]`);\n }\n \n let removed = cstate.handles.remove(streamEnd.waitableIdx());\n if (!removed) {\n throw new Error(`failed to remove stream end [${streamEndWaitableIdx}] waitable obj in component [${componentIdx}]`);\n }\n \n removed = table.remove(streamEnd.handle());\n if (!removed) {\n throw new Error(`failed to remove stream end with handle [${streamEnd.handle()}] from stream table [${tableIdx}] in component [${componentIdx}]`);\n }\n \n return streamEnd;\n }\n \n removeStreamEndFromTable(args) {\n _debugLog('[ComponentAsyncState#removeStreamEndFromTable()] args', args);\n \n const { tableIdx, streamWaitableIdx } = args;\n if (tableIdx === undefined) { throw new Error(\"missing table idx while removing stream end\"); }\n if (streamWaitableIdx === undefined) {\n throw new Error(\"missing stream end waitable idx while removing stream end\");\n }\n \n const { table, componentIdx } = STREAM_TABLES[tableIdx];\n if (!table) { throw new Error(`missing/invalid table [${tableIdx}] while removing stream end`); }\n \n const cstate = getOrCreateAsyncState(componentIdx);\n \n const streamEnd = cstate.handles.get(streamWaitableIdx);\n if (!streamEnd) {\n throw new Error(`missing stream end (handle [${streamWaitableIdx}], table [${tableIdx}])`);\n }\n const handle = streamEnd.handle();\n \n let removed = cstate.handles.remove(streamWaitableIdx);\n if (!removed) {\n throw new Error(`failed to remove streamEnd from handles (waitable idx [${streamWaitableIdx}]), component [${componentIdx}])`);\n }\n \n removed = table.remove(handle);\n if (!removed) {\n throw new Error(`failed to remove streamEnd from table (handle [${handle}]), table [${tableIdx}], component [${componentIdx}])`);\n }\n \n return streamEnd;\n }\n \n createFuture(args) {\n _debugLog('[ComponentAsyncState#createFuture()] args', args);\n const { tableIdx, elemMeta, hostInjectFn } = args;\n if (tableIdx === undefined) { throw new Error(\"missing table idx while adding future\"); }\n if (elemMeta === undefined) { throw new Error(\"missing element metadata while adding future\"); }\n \n const { table: futureTable, componentIdx } = FUTURE_TABLES[tableIdx];\n if (!futureTable) {\n throw new Error(`missing global future table lookup for table [${tableIdx}] while creating future`);\n }\n if (componentIdx !== this.#componentIdx) {\n throw new Error('component idx mismatch while creating future');\n }\n \n const readWaitable = this.createWaitable();\n const writeWaitable = this.createWaitable();\n \n const future = new InternalFuture({\n tableIdx,\n componentIdx: this.#componentIdx,\n elemMeta,\n readWaitable,\n writeWaitable,\n hostInjectFn,\n });\n future.setGlobalFutureMapRep(FUTURES.insert(future));\n \n const writeEnd = future.writeEnd();\n writeEnd.setWaitableIdx(this.handles.insert(writeEnd));\n writeEnd.setHandle(futureTable.insert(writeEnd));\n if (writeEnd.futureTableIdx() !== tableIdx) { throw new Error(\"unexpectedly mismatched future table\"); }\n \n const writeEndWaitableIdx = writeEnd.waitableIdx();\n const writeEndHandle = writeEnd.handle();\n writeWaitable.setTarget(`waitable for future write end (waitable [${writeEndWaitableIdx}])`);\n writeEnd.setTarget(`future write end (waitable [${writeEndWaitableIdx}])`);\n \n const readEnd = future.readEnd();\n readEnd.setWaitableIdx(this.handles.insert(readEnd));\n readEnd.setHandle(futureTable.insert(readEnd));\n if (readEnd.futureTableIdx() !== tableIdx) { throw new Error(\"unexpectedly mismatched future table\"); }\n \n const readEndWaitableIdx = readEnd.waitableIdx();\n const readEndHandle = readEnd.handle();\n readWaitable.setTarget(`waitable for read end (waitable [${readEndWaitableIdx}])`);\n readEnd.setTarget(`future read end (waitable [${readEndWaitableIdx}])`);\n \n return {\n writeEnd,\n writeEndWaitableIdx,\n writeEndHandle,\n readEndWaitableIdx,\n readEndHandle,\n readEnd,\n };\n }\n \n getFutureEnd(args) {\n _debugLog('[ComponentAsyncState#getFutureEnd()] args', args);\n const { tableIdx, futureEndHandle, futureEndWaitableIdx } = args;\n if (tableIdx === undefined) {\n throw new Error('missing table idx while getting future end');\n }\n \n const { table, componentIdx } = FUTURE_TABLES[tableIdx];\n const cstate = getOrCreateAsyncState(componentIdx);\n \n let futureEnd;\n if (futureEndWaitableIdx !== undefined) {\n futureEnd = cstate.handles.get(futureEndWaitableIdx);\n } else if (futureEndHandle !== undefined) {\n if (!table) { throw new Error(`missing/invalid table [${tableIdx}] while getting future end`); }\n futureEnd = table.get(futureEndHandle);\n } else {\n throw new TypeError(\"must specify either waitable idx or handle to retrieve future\");\n }\n \n if (!futureEnd) {\n throw new Error(`missing future end (tableIdx [${tableIdx}], handle [${futureEndHandle}], waitableIdx [${futureEndWaitableIdx}])`);\n }\n if (tableIdx && futureEnd.futureTableIdx() !== tableIdx) {\n throw new Error(`future end table idx [${futureEnd.futureTableIdx()}] does not match [${tableIdx}]`);\n }\n \n return futureEnd;\n }\n \n removeFutureEndFromTable(args) {\n _debugLog('[ComponentAsyncState#removeFutureEndFromTable()] args', args);\n \n const { tableIdx, futureWaitableIdx } = args;\n if (tableIdx === undefined) { throw new Error(\"missing table idx while removing future end\"); }\n if (futureWaitableIdx === undefined) {\n throw new Error(\"missing future end waitable idx while removing future end\");\n }\n \n const { table, componentIdx } = FUTURE_TABLES[tableIdx];\n if (!table) { throw new Error(`missing/invalid table [${tableIdx}] while removing future end`); }\n \n const cstate = getOrCreateAsyncState(componentIdx);\n \n const futureEnd = cstate.handles.get(futureWaitableIdx);\n if (!futureEnd) {\n throw new Error(`missing future end (handle [${futureWaitableIdx}], table [${tableIdx}])`);\n }\n const handle = futureEnd.handle();\n \n let removed = cstate.handles.remove(futureWaitableIdx);\n if (!removed) {\n throw new Error(`failed to remove futureEnd from handles (waitable idx [${futureWaitableIdx}]), component [${componentIdx}])`);\n }\n \n removed = table.remove(handle);\n if (!removed) {\n throw new Error(`failed to remove futureEnd from table (handle [${handle}]), table [${tableIdx}], component [${componentIdx}])`);\n }\n \n return futureEnd;\n }\n \n}\n\nconst base64Compile = str => WebAssembly.compile(\ntypeof Buffer !== 'undefined'\n? Buffer.from(str, 'base64')\n: Uint8Array.from(atob(str), b => b.charCodeAt(0))\n);\n\n\nconst isNode = typeof process !== 'undefined' && process.versions && process.versions.node;\nlet _fs;\nasync function fetchCompile (url) {\n if (isNode) {\n _fs = _fs || await import('node:fs/promises');\n return WebAssembly.compile(await _fs.readFile(url));\n }\n return fetch(url).then(WebAssembly.compileStreaming);\n}\n\nconst symbolCabiDispose = Symbol.for('cabiDispose');\n\nconst symbolRscHandle = Symbol('handle');\n\nconst symbolRscRep = Symbol.for('cabiRep');\n\nconst HANDLE_TABLES= [];\n\n\nfunction finalizationRegistryCreate (unregister) {\n if (typeof FinalizationRegistry === 'undefined') {\n return { unregister () {} };\n }\n return new FinalizationRegistry(unregister);\n}\n\nclass ComponentError extends Error {\n constructor (value) {\n const enumerable = typeof value !== 'string';\n super(enumerable ? `${String(value)} (see error.payload)` : value);\n Object.defineProperty(this, 'payload', { value, enumerable });\n }\n}\n\nfunction getErrorPayload(e) {\n if (e && hasOwnProperty.call(e, 'payload')) return e.payload;\n if (e instanceof Error) throw e;\n return e;\n}\n\nconst isLE = new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\n\nconst instantiateCore = WebAssembly.instantiate;\n\n\nlet exports0;\n\nconst _trampoline0 = function() {\n _debugLog('[iface=\"wasi:random/random@0.2.9\", function=\"get-random-u64\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'getRandomU64',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'none',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => getRandomU64(),\n })\n ;\n } catch (err) {\n \n _debugLog('[Instruction::CallInterface] error during sync call', {\n taskID: task.id(),\n subtaskID: task.getParentSubtask()?.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n _debugLog('[iface=\"wasi:random/random@0.2.9\", function=\"get-random-u64\"][Instruction::Return]', {\n funcName: 'get-random-u64',\n paramCount: 1,\n async: false,\n postReturn: false\n });\n task.resolve([toUint64(ret)]);\n task.exit();\n return toUint64(ret);\n}\n_trampoline0.fnName = 'wasi:random/random@0.2.9#getRandomU64';\n\nconst _trampoline10 = function(arg0) {\n let variant0;\n switch (arg0) {\n case 0: {\n variant0= {\n tag: 'ok',\n val: undefined\n };\n break;\n }\n case 1: {\n variant0= {\n tag: 'err',\n val: undefined\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"wasi:cli/exit@0.2.9\", function=\"exit\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'exit',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'none',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n \n try {\n _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => exit(variant0),\n })\n ;\n } catch (err) {\n \n _debugLog('[Instruction::CallInterface] error during sync call', {\n taskID: task.id(),\n subtaskID: task.getParentSubtask()?.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n _debugLog('[iface=\"wasi:cli/exit@0.2.9\", function=\"exit\"][Instruction::Return]', {\n funcName: 'exit',\n paramCount: 0,\n async: false,\n postReturn: false\n });\n task.resolve([ret]);\n task.exit();\n}\n_trampoline10.fnName = 'wasi:cli/exit@0.2.9#exit';\n\nconst handleTable0 = [T_FLAG, 0];\nhandleTable0._createdReps = new Set();\n\n\nconst captureTable0= new Map();\nlet captureCnt0= 0;\n\nHANDLE_TABLES[0] = handleTable0;\n\nconst _trampoline11 = function(arg0) {\n var handle1 = arg0;\n \n var rep2 = handleTable0[(handle1 << 1) + 1] & ~T_FLAG;\n var rsc0 = captureTable0.get(rep2);\n if (!rsc0) {\n rsc0 = Object.create(Pollable.prototype);\n Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});\n Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});\n }\n \n curResourceBorrows.push(rsc0);\n _debugLog('[iface=\"wasi:io/poll@0.2.9\", function=\"[method]pollable.block\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'block',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'none',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n \n try {\n _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => rsc0.block(),\n })\n ;\n } catch (err) {\n \n _debugLog('[Instruction::CallInterface] error during sync call', {\n taskID: task.id(),\n subtaskID: task.getParentSubtask()?.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n for (const entry of curResourceBorrows) {\n const rsc = entry.rsc ?? entry;\n if (entry.drop) {\n if (rsc[symbolRscHandle]) {\n entry.drop(rsc[symbolRscHandle]);\n }\n }\n rsc[symbolRscHandle] = undefined;\n }\n curResourceBorrows = [];\n _debugLog('[iface=\"wasi:io/poll@0.2.9\", function=\"[method]pollable.block\"][Instruction::Return]', {\n funcName: '[method]pollable.block',\n paramCount: 0,\n async: false,\n postReturn: false\n });\n task.resolve([ret]);\n task.exit();\n}\n_trampoline11.fnName = 'wasi:io/poll@0.2.9#block';\n\nconst handleTable3 = [T_FLAG, 0];\nhandleTable3._createdReps = new Set();\n\n\nconst captureTable3= new Map();\nlet captureCnt3= 0;\n\nHANDLE_TABLES[3] = handleTable3;\n\nconst _trampoline12 = function(arg0) {\n var handle1 = arg0;\n \n var rep2 = handleTable3[(handle1 << 1) + 1] & ~T_FLAG;\n var rsc0 = captureTable3.get(rep2);\n if (!rsc0) {\n rsc0 = Object.create(OutputStream.prototype);\n Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});\n Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});\n }\n \n curResourceBorrows.push(rsc0);\n _debugLog('[iface=\"wasi:io/streams@0.2.9\", function=\"[method]output-stream.subscribe\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'subscribe',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'none',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => rsc0.subscribe(),\n })\n ;\n } catch (err) {\n \n _debugLog('[Instruction::CallInterface] error during sync call', {\n taskID: task.id(),\n subtaskID: task.getParentSubtask()?.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n for (const entry of curResourceBorrows) {\n const rsc = entry.rsc ?? entry;\n if (entry.drop) {\n if (rsc[symbolRscHandle]) {\n entry.drop(rsc[symbolRscHandle]);\n }\n }\n rsc[symbolRscHandle] = undefined;\n }\n curResourceBorrows = [];\n \n if (!(ret instanceof Pollable)) {\n throw new TypeError('Resource error: Not a valid \\\"Pollable\\\" resource.');\n }\n var handle3 = ret[symbolRscHandle];\n if (!handle3) {\n const rep = ret[symbolRscRep] || ++captureCnt0;\n captureTable0.set(rep, ret);\n handle3 = rscTableCreateOwn(handleTable0, rep);\n }\n \n _debugLog('[iface=\"wasi:io/streams@0.2.9\", function=\"[method]output-stream.subscribe\"][Instruction::Return]', {\n funcName: '[method]output-stream.subscribe',\n paramCount: 1,\n async: false,\n postReturn: false\n });\n task.resolve([handle3]);\n task.exit();\n return handle3;\n}\n_trampoline12.fnName = 'wasi:io/streams@0.2.9#subscribe';\n\nconst handleTable2 = [T_FLAG, 0];\nhandleTable2._createdReps = new Set();\n\n\nconst captureTable2= new Map();\nlet captureCnt2= 0;\n\nHANDLE_TABLES[2] = handleTable2;\n\nconst _trampoline13 = function() {\n _debugLog('[iface=\"wasi:cli/stdin@0.2.9\", function=\"get-stdin\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'getStdin',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'none',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => getStdin(),\n })\n ;\n } catch (err) {\n \n _debugLog('[Instruction::CallInterface] error during sync call', {\n taskID: task.id(),\n subtaskID: task.getParentSubtask()?.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n \n if (!(ret instanceof InputStream)) {\n throw new TypeError('Resource error: Not a valid \\\"InputStream\\\" resource.');\n }\n var handle0 = ret[symbolRscHandle];\n if (!handle0) {\n const rep = ret[symbolRscRep] || ++captureCnt2;\n captureTable2.set(rep, ret);\n handle0 = rscTableCreateOwn(handleTable2, rep);\n }\n \n _debugLog('[iface=\"wasi:cli/stdin@0.2.9\", function=\"get-stdin\"][Instruction::Return]', {\n funcName: 'get-stdin',\n paramCount: 1,\n async: false,\n postReturn: false\n });\n task.resolve([handle0]);\n task.exit();\n return handle0;\n}\n_trampoline13.fnName = 'wasi:cli/stdin@0.2.9#getStdin';\n\nconst _trampoline14 = function() {\n _debugLog('[iface=\"wasi:cli/stdout@0.2.9\", function=\"get-stdout\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'getStdout',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'none',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => getStdout(),\n })\n ;\n } catch (err) {\n \n _debugLog('[Instruction::CallInterface] error during sync call', {\n taskID: task.id(),\n subtaskID: task.getParentSubtask()?.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n \n if (!(ret instanceof OutputStream)) {\n throw new TypeError('Resource error: Not a valid \\\"OutputStream\\\" resource.');\n }\n var handle0 = ret[symbolRscHandle];\n if (!handle0) {\n const rep = ret[symbolRscRep] || ++captureCnt3;\n captureTable3.set(rep, ret);\n handle0 = rscTableCreateOwn(handleTable3, rep);\n }\n \n _debugLog('[iface=\"wasi:cli/stdout@0.2.9\", function=\"get-stdout\"][Instruction::Return]', {\n funcName: 'get-stdout',\n paramCount: 1,\n async: false,\n postReturn: false\n });\n task.resolve([handle0]);\n task.exit();\n return handle0;\n}\n_trampoline14.fnName = 'wasi:cli/stdout@0.2.9#getStdout';\n\nconst _trampoline15 = function() {\n _debugLog('[iface=\"wasi:cli/stderr@0.2.9\", function=\"get-stderr\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'getStderr',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'none',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => getStderr(),\n })\n ;\n } catch (err) {\n \n _debugLog('[Instruction::CallInterface] error during sync call', {\n taskID: task.id(),\n subtaskID: task.getParentSubtask()?.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n \n if (!(ret instanceof OutputStream)) {\n throw new TypeError('Resource error: Not a valid \\\"OutputStream\\\" resource.');\n }\n var handle0 = ret[symbolRscHandle];\n if (!handle0) {\n const rep = ret[symbolRscRep] || ++captureCnt3;\n captureTable3.set(rep, ret);\n handle0 = rscTableCreateOwn(handleTable3, rep);\n }\n \n _debugLog('[iface=\"wasi:cli/stderr@0.2.9\", function=\"get-stderr\"][Instruction::Return]', {\n funcName: 'get-stderr',\n paramCount: 1,\n async: false,\n postReturn: false\n });\n task.resolve([handle0]);\n task.exit();\n return handle0;\n}\n_trampoline15.fnName = 'wasi:cli/stderr@0.2.9#getStderr';\nlet exports1;\nlet memory0;\nlet realloc0;\nlet realloc0Async;\n\nconst _trampoline16 = function(arg0) {\n _debugLog('[iface=\"wasi:random/insecure-seed@0.2.9\", function=\"insecure-seed\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'insecureSeed',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'none',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => insecureSeed(),\n })\n ;\n } catch (err) {\n \n _debugLog('[Instruction::CallInterface] error during sync call', {\n taskID: task.id(),\n subtaskID: task.getParentSubtask()?.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n var [tuple0_0, tuple0_1] = ret;\n dataView(memory0).setBigInt64(arg0 + 0, toUint64(tuple0_0), true);\n dataView(memory0).setBigInt64(arg0 + 8, toUint64(tuple0_1), true);\n _debugLog('[iface=\"wasi:random/insecure-seed@0.2.9\", function=\"insecure-seed\"][Instruction::Return]', {\n funcName: 'insecure-seed',\n paramCount: 0,\n async: false,\n postReturn: false\n });\n task.resolve([ret]);\n task.exit();\n}\n_trampoline16.fnName = 'wasi:random/insecure-seed@0.2.9#insecureSeed';\n\nconst handleTable1 = [T_FLAG, 0];\nhandleTable1._createdReps = new Set();\n\n\nconst captureTable1= new Map();\nlet captureCnt1= 0;\n\nHANDLE_TABLES[1] = handleTable1;\n\nconst _trampoline17 = function(arg0, arg1) {\n var handle1 = arg0;\n \n var rep2 = handleTable3[(handle1 << 1) + 1] & ~T_FLAG;\n var rsc0 = captureTable3.get(rep2);\n if (!rsc0) {\n rsc0 = Object.create(OutputStream.prototype);\n Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});\n Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});\n }\n \n curResourceBorrows.push(rsc0);\n _debugLog('[iface=\"wasi:io/streams@0.2.9\", function=\"[method]output-stream.check-write\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'checkWrite',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'result-catch-handler',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n try {\n ret = { tag: 'ok', val: _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => rsc0.checkWrite(),\n })\n };\n} catch (e) {\n ret = { tag: 'err', val: getErrorPayload(e) };\n}\n\nfor (const entry of curResourceBorrows) {\n const rsc = entry.rsc ?? entry;\n if (entry.drop) {\n if (rsc[symbolRscHandle]) {\n entry.drop(rsc[symbolRscHandle]);\n }\n }\n rsc[symbolRscHandle] = undefined;\n}\ncurResourceBorrows = [];\nvar variant5 = ret;\nswitch (variant5.tag) {\n case 'ok': {\n const e = variant5.val;\n dataView(memory0).setInt8(arg1 + 0, 0, true);\n dataView(memory0).setBigInt64(arg1 + 8, toUint64(e), true);\n \n break;\n }\n case 'err': {\n const e = variant5.val;\n dataView(memory0).setInt8(arg1 + 0, 1, true);\n var variant4 = e;\n switch (variant4.tag) {\n case 'last-operation-failed': {\n const e = variant4.val;\n dataView(memory0).setInt8(arg1 + 8, 0, true);\n \n if (!(e instanceof Error$1)) {\n throw new TypeError('Resource error: Not a valid \\\"Error\\\" resource.');\n }\n var handle3 = e[symbolRscHandle];\n if (!handle3) {\n const rep = e[symbolRscRep] || ++captureCnt1;\n captureTable1.set(rep, e);\n handle3 = rscTableCreateOwn(handleTable1, rep);\n }\n \n dataView(memory0).setInt32(arg1 + 12, handle3, true);\n break;\n }\n case 'closed': {\n dataView(memory0).setInt8(arg1 + 8, 1, true);\n break;\n }\n default: {\n throw new TypeError(`invalid variant tag value \\`${JSON.stringify(variant4.tag)}\\` (received \\`${variant4}\\`) specified for \\`StreamError\\``);\n }\n }\n \n break;\n }\n default: {\n _debugLog(\"ERROR: invalid value (expected result as object with 'tag' member)\", { value: variant5, valueType: typeof variant5});\n throw new TypeError('invalid variant specified for result');\n }\n}\n_debugLog('[iface=\"wasi:io/streams@0.2.9\", function=\"[method]output-stream.check-write\"][Instruction::Return]', {\n funcName: '[method]output-stream.check-write',\n paramCount: 0,\n async: false,\n postReturn: false\n});\ntask.resolve([ret]);\ntask.exit();\n}\n_trampoline17.fnName = 'wasi:io/streams@0.2.9#checkWrite';\n\nconst _trampoline18 = function(arg0, arg1, arg2, arg3) {\n var handle1 = arg0;\n \n var rep2 = handleTable3[(handle1 << 1) + 1] & ~T_FLAG;\n var rsc0 = captureTable3.get(rep2);\n if (!rsc0) {\n rsc0 = Object.create(OutputStream.prototype);\n Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});\n Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});\n }\n \n curResourceBorrows.push(rsc0);\n var ptr3 = arg1;\n var len3 = arg2;\n var result3 = new Uint8Array(memory0.buffer.slice(ptr3, ptr3 + len3 * 1));\n _debugLog('[iface=\"wasi:io/streams@0.2.9\", function=\"[method]output-stream.write\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'write',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'result-catch-handler',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n try {\n ret = { tag: 'ok', val: _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => rsc0.write(result3),\n })\n };\n} catch (e) {\n ret = { tag: 'err', val: getErrorPayload(e) };\n}\n\nfor (const entry of curResourceBorrows) {\n const rsc = entry.rsc ?? entry;\n if (entry.drop) {\n if (rsc[symbolRscHandle]) {\n entry.drop(rsc[symbolRscHandle]);\n }\n }\n rsc[symbolRscHandle] = undefined;\n}\ncurResourceBorrows = [];\nvar variant6 = ret;\nswitch (variant6.tag) {\n case 'ok': {\n const e = variant6.val;\n dataView(memory0).setInt8(arg3 + 0, 0, true);\n \n break;\n }\n case 'err': {\n const e = variant6.val;\n dataView(memory0).setInt8(arg3 + 0, 1, true);\n var variant5 = e;\n switch (variant5.tag) {\n case 'last-operation-failed': {\n const e = variant5.val;\n dataView(memory0).setInt8(arg3 + 4, 0, true);\n \n if (!(e instanceof Error$1)) {\n throw new TypeError('Resource error: Not a valid \\\"Error\\\" resource.');\n }\n var handle4 = e[symbolRscHandle];\n if (!handle4) {\n const rep = e[symbolRscRep] || ++captureCnt1;\n captureTable1.set(rep, e);\n handle4 = rscTableCreateOwn(handleTable1, rep);\n }\n \n dataView(memory0).setInt32(arg3 + 8, handle4, true);\n break;\n }\n case 'closed': {\n dataView(memory0).setInt8(arg3 + 4, 1, true);\n break;\n }\n default: {\n throw new TypeError(`invalid variant tag value \\`${JSON.stringify(variant5.tag)}\\` (received \\`${variant5}\\`) specified for \\`StreamError\\``);\n }\n }\n \n break;\n }\n default: {\n _debugLog(\"ERROR: invalid value (expected result as object with 'tag' member)\", { value: variant6, valueType: typeof variant6});\n throw new TypeError('invalid variant specified for result');\n }\n}\n_debugLog('[iface=\"wasi:io/streams@0.2.9\", function=\"[method]output-stream.write\"][Instruction::Return]', {\n funcName: '[method]output-stream.write',\n paramCount: 0,\n async: false,\n postReturn: false\n});\ntask.resolve([ret]);\ntask.exit();\n}\n_trampoline18.fnName = 'wasi:io/streams@0.2.9#write';\n\nconst _trampoline19 = function(arg0, arg1) {\n var handle1 = arg0;\n \n var rep2 = handleTable3[(handle1 << 1) + 1] & ~T_FLAG;\n var rsc0 = captureTable3.get(rep2);\n if (!rsc0) {\n rsc0 = Object.create(OutputStream.prototype);\n Object.defineProperty(rsc0, symbolRscHandle, { writable: true, value: handle1});\n Object.defineProperty(rsc0, symbolRscRep, { writable: true, value: rep2});\n }\n \n curResourceBorrows.push(rsc0);\n _debugLog('[iface=\"wasi:io/streams@0.2.9\", function=\"[method]output-stream.blocking-flush\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'blockingFlush',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'result-catch-handler',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n try {\n ret = { tag: 'ok', val: _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => rsc0.blockingFlush(),\n })\n };\n} catch (e) {\n ret = { tag: 'err', val: getErrorPayload(e) };\n}\n\nfor (const entry of curResourceBorrows) {\n const rsc = entry.rsc ?? entry;\n if (entry.drop) {\n if (rsc[symbolRscHandle]) {\n entry.drop(rsc[symbolRscHandle]);\n }\n }\n rsc[symbolRscHandle] = undefined;\n}\ncurResourceBorrows = [];\nvar variant5 = ret;\nswitch (variant5.tag) {\n case 'ok': {\n const e = variant5.val;\n dataView(memory0).setInt8(arg1 + 0, 0, true);\n \n break;\n }\n case 'err': {\n const e = variant5.val;\n dataView(memory0).setInt8(arg1 + 0, 1, true);\n var variant4 = e;\n switch (variant4.tag) {\n case 'last-operation-failed': {\n const e = variant4.val;\n dataView(memory0).setInt8(arg1 + 4, 0, true);\n \n if (!(e instanceof Error$1)) {\n throw new TypeError('Resource error: Not a valid \\\"Error\\\" resource.');\n }\n var handle3 = e[symbolRscHandle];\n if (!handle3) {\n const rep = e[symbolRscRep] || ++captureCnt1;\n captureTable1.set(rep, e);\n handle3 = rscTableCreateOwn(handleTable1, rep);\n }\n \n dataView(memory0).setInt32(arg1 + 8, handle3, true);\n break;\n }\n case 'closed': {\n dataView(memory0).setInt8(arg1 + 4, 1, true);\n break;\n }\n default: {\n throw new TypeError(`invalid variant tag value \\`${JSON.stringify(variant4.tag)}\\` (received \\`${variant4}\\`) specified for \\`StreamError\\``);\n }\n }\n \n break;\n }\n default: {\n _debugLog(\"ERROR: invalid value (expected result as object with 'tag' member)\", { value: variant5, valueType: typeof variant5});\n throw new TypeError('invalid variant specified for result');\n }\n}\n_debugLog('[iface=\"wasi:io/streams@0.2.9\", function=\"[method]output-stream.blocking-flush\"][Instruction::Return]', {\n funcName: '[method]output-stream.blocking-flush',\n paramCount: 0,\n async: false,\n postReturn: false\n});\ntask.resolve([ret]);\ntask.exit();\n}\n_trampoline19.fnName = 'wasi:io/streams@0.2.9#blockingFlush';\n\nconst _trampoline20 = function(arg0) {\n _debugLog('[iface=\"wasi:cli/environment@0.2.9\", function=\"get-environment\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'getEnvironment',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'none',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => getEnvironment(),\n })\n ;\n } catch (err) {\n \n _debugLog('[Instruction::CallInterface] error during sync call', {\n taskID: task.id(),\n subtaskID: task.getParentSubtask()?.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n var vec3 = ret;\n var len3 = vec3.length;\n var result3 = realloc0(0, 0, 4, len3 * 16);\n for (let i = 0; i < vec3.length; i++) {\n const e = vec3[i];\n const base = result3 + i * 16;var [tuple0_0, tuple0_1] = e;\n \n var encodeRes = _utf8AllocateAndEncode(tuple0_0, realloc0, memory0);\n var ptr1= encodeRes.ptr;\n var len1 = encodeRes.len;\n \n dataView(memory0).setUint32(base + 4, len1, true);\n dataView(memory0).setUint32(base + 0, ptr1, true);\n \n var encodeRes = _utf8AllocateAndEncode(tuple0_1, realloc0, memory0);\n var ptr2= encodeRes.ptr;\n var len2 = encodeRes.len;\n \n dataView(memory0).setUint32(base + 12, len2, true);\n dataView(memory0).setUint32(base + 8, ptr2, true);\n }\n dataView(memory0).setUint32(arg0 + 4, len3, true);\n dataView(memory0).setUint32(arg0 + 0, result3, true);\n _debugLog('[iface=\"wasi:cli/environment@0.2.9\", function=\"get-environment\"][Instruction::Return]', {\n funcName: 'get-environment',\n paramCount: 0,\n async: false,\n postReturn: false\n });\n task.resolve([ret]);\n task.exit();\n}\n_trampoline20.fnName = 'wasi:cli/environment@0.2.9#getEnvironment';\n\nconst handleTable4 = [T_FLAG, 0];\nhandleTable4._createdReps = new Set();\n\n\nconst captureTable4= new Map();\nlet captureCnt4= 0;\n\nHANDLE_TABLES[4] = handleTable4;\n\nconst _trampoline21 = function(arg0) {\n _debugLog('[iface=\"wasi:cli/terminal-stdin@0.2.9\", function=\"get-terminal-stdin\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'getTerminalStdin',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'none',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => getTerminalStdin(),\n })\n ;\n } catch (err) {\n \n _debugLog('[Instruction::CallInterface] error during sync call', {\n taskID: task.id(),\n subtaskID: task.getParentSubtask()?.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n var variant1 = ret;\n if (variant1 === null || variant1=== undefined) {\n dataView(memory0).setInt8(arg0 + 0, 0, true);\n } else {\n const e = variant1;\n dataView(memory0).setInt8(arg0 + 0, 1, true);\n \n if (!(e instanceof TerminalInput)) {\n throw new TypeError('Resource error: Not a valid \\\"TerminalInput\\\" resource.');\n }\n var handle0 = e[symbolRscHandle];\n if (!handle0) {\n const rep = e[symbolRscRep] || ++captureCnt4;\n captureTable4.set(rep, e);\n handle0 = rscTableCreateOwn(handleTable4, rep);\n }\n \n dataView(memory0).setInt32(arg0 + 4, handle0, true);\n }\n _debugLog('[iface=\"wasi:cli/terminal-stdin@0.2.9\", function=\"get-terminal-stdin\"][Instruction::Return]', {\n funcName: 'get-terminal-stdin',\n paramCount: 0,\n async: false,\n postReturn: false\n });\n task.resolve([ret]);\n task.exit();\n}\n_trampoline21.fnName = 'wasi:cli/terminal-stdin@0.2.9#getTerminalStdin';\n\nconst handleTable5 = [T_FLAG, 0];\nhandleTable5._createdReps = new Set();\n\n\nconst captureTable5= new Map();\nlet captureCnt5= 0;\n\nHANDLE_TABLES[5] = handleTable5;\n\nconst _trampoline22 = function(arg0) {\n _debugLog('[iface=\"wasi:cli/terminal-stdout@0.2.9\", function=\"get-terminal-stdout\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'getTerminalStdout',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'none',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => getTerminalStdout(),\n })\n ;\n } catch (err) {\n \n _debugLog('[Instruction::CallInterface] error during sync call', {\n taskID: task.id(),\n subtaskID: task.getParentSubtask()?.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n var variant1 = ret;\n if (variant1 === null || variant1=== undefined) {\n dataView(memory0).setInt8(arg0 + 0, 0, true);\n } else {\n const e = variant1;\n dataView(memory0).setInt8(arg0 + 0, 1, true);\n \n if (!(e instanceof TerminalOutput)) {\n throw new TypeError('Resource error: Not a valid \\\"TerminalOutput\\\" resource.');\n }\n var handle0 = e[symbolRscHandle];\n if (!handle0) {\n const rep = e[symbolRscRep] || ++captureCnt5;\n captureTable5.set(rep, e);\n handle0 = rscTableCreateOwn(handleTable5, rep);\n }\n \n dataView(memory0).setInt32(arg0 + 4, handle0, true);\n }\n _debugLog('[iface=\"wasi:cli/terminal-stdout@0.2.9\", function=\"get-terminal-stdout\"][Instruction::Return]', {\n funcName: 'get-terminal-stdout',\n paramCount: 0,\n async: false,\n postReturn: false\n });\n task.resolve([ret]);\n task.exit();\n}\n_trampoline22.fnName = 'wasi:cli/terminal-stdout@0.2.9#getTerminalStdout';\n\nconst _trampoline23 = function(arg0) {\n _debugLog('[iface=\"wasi:cli/terminal-stderr@0.2.9\", function=\"get-terminal-stderr\"] [Instruction::CallInterface] (sync, @ enter)');\n const hostProvided = true;\n \n let parentTask;\n let task;\n let subtask;\n \n const createTask = () => {\n const results = createNewCurrentTask({\n componentIdx: -1,\n isAsync: false,\n entryFnName: 'getTerminalStderr',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'none',\n callingWasmExport: false,\n });\n task = results[0];\n };\n \n taskCreation: {\n parentTask = getCurrentTask(\n 0,\n _getGlobalCurrentTaskMeta(0)?.taskID,\n )?.task;\n \n if (!parentTask) {\n createTask();\n break taskCreation;\n }\n \n createTask();\n \n if (hostProvided) {\n subtask = parentTask.getLatestSubtask();\n if (!subtask) {\n throw new Error(`Missing subtask (in parent task [${parentTask.id()}]) for host import, has the import been lowered? (ensure asyncImports are set properly)`);\n }\n task.setParentSubtask(subtask);\n }\n }\n \n const started = task.enterSync();\n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n componentIdx: task.componentIdx(),\n taskID: task.id(),\n fn: () => getTerminalStderr(),\n })\n ;\n } catch (err) {\n \n _debugLog('[Instruction::CallInterface] error during sync call', {\n taskID: task.id(),\n subtaskID: task.getParentSubtask()?.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n var variant1 = ret;\n if (variant1 === null || variant1=== undefined) {\n dataView(memory0).setInt8(arg0 + 0, 0, true);\n } else {\n const e = variant1;\n dataView(memory0).setInt8(arg0 + 0, 1, true);\n \n if (!(e instanceof TerminalOutput)) {\n throw new TypeError('Resource error: Not a valid \\\"TerminalOutput\\\" resource.');\n }\n var handle0 = e[symbolRscHandle];\n if (!handle0) {\n const rep = e[symbolRscRep] || ++captureCnt5;\n captureTable5.set(rep, e);\n handle0 = rscTableCreateOwn(handleTable5, rep);\n }\n \n dataView(memory0).setInt32(arg0 + 4, handle0, true);\n }\n _debugLog('[iface=\"wasi:cli/terminal-stderr@0.2.9\", function=\"get-terminal-stderr\"][Instruction::Return]', {\n funcName: 'get-terminal-stderr',\n paramCount: 0,\n async: false,\n postReturn: false\n });\n task.resolve([ret]);\n task.exit();\n}\n_trampoline23.fnName = 'wasi:cli/terminal-stderr@0.2.9#getTerminalStderr';\nlet exports2;\nlet postReturn0;\nlet postReturn0Async;\nlet postReturn1;\nlet postReturn1Async;\n\nconst handleTable7 = [T_FLAG, 0];\nhandleTable7._createdReps = new Set();\nconst finalizationRegistry7 = finalizationRegistryCreate((handle) => {\n const { rep } = rscTableRemove(handleTable7, handle);\n exports0['9'](rep);\n});\n\nHANDLE_TABLES[7] = handleTable7;\nlet specStaticFrameFromJson;\n\nclass Frame{\n constructor () {\n throw new Error('\"Frame\" resource does not define a constructor');\n }\n}\n\nFrame.fromJson = function fromJson(arg0) {\n \n var encodeRes = _utf8AllocateAndEncode(arg0, realloc0, memory0);\n var ptr0= encodeRes.ptr;\n var len0 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]frame.from-json\"][Instruction::CallWasm] enter', {\n funcName: '[static]frame.from-json',\n paramCount: 2,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specStaticFrameFromJson',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specStaticFrameFromJson(ptr0, len0),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant4;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var handle2 = dataView(memory0).getInt32(ret + 4, true);\n var rsc1 = new.target === Frame ? this : Object.create(Frame.prototype);\n Object.defineProperty(rsc1, symbolRscHandle, { writable: true, value: handle2});\n finalizationRegistry7.register(rsc1, handle2, rsc1);\n Object.defineProperty(rsc1, symbolDispose, { writable: true, value: function () {\n finalizationRegistry7.unregister(rsc1);\n const handleEntry = rscTableRemove(handleTable7, handle2);\n rsc1[symbolDispose] = emptyFunc;\n rsc1[symbolRscHandle] = undefined;\n exports0['9'](handleEntry.rep);\n }});\n variant4= {\n tag: 'ok',\n val: rsc1\n };\n break;\n }\n case 1: {\n var ptr3 = dataView(memory0).getUint32(ret + 4, true);\n var len3 = dataView(memory0).getUint32(ret + 8, true);\n var result3 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr3, len3));\n variant4= {\n tag: 'err',\n val: result3\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]frame.from-json\"][Instruction::Return]', {\n funcName: '[static]frame.from-json',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant4;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn0(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet specStaticFrameDeleteColumns;\n\nFrame.deleteColumns = function deleteColumns(arg0) {\n \n var encodeRes = _utf8AllocateAndEncode(arg0, realloc0, memory0);\n var ptr0= encodeRes.ptr;\n var len0 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]frame.delete-columns\"][Instruction::CallWasm] enter', {\n funcName: '[static]frame.delete-columns',\n paramCount: 2,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specStaticFrameDeleteColumns',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specStaticFrameDeleteColumns(ptr0, len0),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant3;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var ptr1 = dataView(memory0).getUint32(ret + 4, true);\n var len1 = dataView(memory0).getUint32(ret + 8, true);\n var result1 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr1, len1));\n variant3= {\n tag: 'ok',\n val: result1\n };\n break;\n }\n case 1: {\n var ptr2 = dataView(memory0).getUint32(ret + 4, true);\n var len2 = dataView(memory0).getUint32(ret + 8, true);\n var result2 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr2, len2));\n variant3= {\n tag: 'err',\n val: result2\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]frame.delete-columns\"][Instruction::Return]', {\n funcName: '[static]frame.delete-columns',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant3;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn1(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet specStaticFrameBuildQuery;\n\nFrame.buildQuery = function buildQuery(arg0) {\n \n var encodeRes = _utf8AllocateAndEncode(arg0, realloc0, memory0);\n var ptr0= encodeRes.ptr;\n var len0 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]frame.build-query\"][Instruction::CallWasm] enter', {\n funcName: '[static]frame.build-query',\n paramCount: 2,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specStaticFrameBuildQuery',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specStaticFrameBuildQuery(ptr0, len0),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant3;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var ptr1 = dataView(memory0).getUint32(ret + 4, true);\n var len1 = dataView(memory0).getUint32(ret + 8, true);\n var result1 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr1, len1));\n variant3= {\n tag: 'ok',\n val: result1\n };\n break;\n }\n case 1: {\n var ptr2 = dataView(memory0).getUint32(ret + 4, true);\n var len2 = dataView(memory0).getUint32(ret + 8, true);\n var result2 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr2, len2));\n variant3= {\n tag: 'err',\n val: result2\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]frame.build-query\"][Instruction::Return]', {\n funcName: '[static]frame.build-query',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant3;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn1(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet specMethodFrameGetColumn;\n\nFrame.prototype.getColumn = function getColumn(arg1) {\n \n var handle1 = this[symbolRscHandle];\n if (!handle1 || (handleTable7[(handle1 << 1) + 1] & T_FLAG) === 0) {\n throw new TypeError('Resource error: Not a valid \\\"Frame\\\" resource.');\n }\n var handle0 = handleTable7[(handle1 << 1) + 1] & ~T_FLAG;\n \n \n var encodeRes = _utf8AllocateAndEncode(arg1, realloc0, memory0);\n var ptr2= encodeRes.ptr;\n var len2 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]frame.get-column\"][Instruction::CallWasm] enter', {\n funcName: '[method]frame.get-column',\n paramCount: 3,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specMethodFrameGetColumn',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specMethodFrameGetColumn(handle0, ptr2, len2),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant5;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var ptr3 = dataView(memory0).getUint32(ret + 4, true);\n var len3 = dataView(memory0).getUint32(ret + 8, true);\n var result3 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr3, len3));\n variant5= {\n tag: 'ok',\n val: result3\n };\n break;\n }\n case 1: {\n var ptr4 = dataView(memory0).getUint32(ret + 4, true);\n var len4 = dataView(memory0).getUint32(ret + 8, true);\n var result4 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr4, len4));\n variant5= {\n tag: 'err',\n val: result4\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]frame.get-column\"][Instruction::Return]', {\n funcName: '[method]frame.get-column',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant5;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn1(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet specMethodFrameListColumns;\n\nFrame.prototype.listColumns = function listColumns() {\n \n var handle1 = this[symbolRscHandle];\n if (!handle1 || (handleTable7[(handle1 << 1) + 1] & T_FLAG) === 0) {\n throw new TypeError('Resource error: Not a valid \\\"Frame\\\" resource.');\n }\n var handle0 = handleTable7[(handle1 << 1) + 1] & ~T_FLAG;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]frame.list-columns\"][Instruction::CallWasm] enter', {\n funcName: '[method]frame.list-columns',\n paramCount: 1,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specMethodFrameListColumns',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specMethodFrameListColumns(handle0),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant4;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var ptr2 = dataView(memory0).getUint32(ret + 4, true);\n var len2 = dataView(memory0).getUint32(ret + 8, true);\n var result2 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr2, len2));\n variant4= {\n tag: 'ok',\n val: result2\n };\n break;\n }\n case 1: {\n var ptr3 = dataView(memory0).getUint32(ret + 4, true);\n var len3 = dataView(memory0).getUint32(ret + 8, true);\n var result3 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr3, len3));\n variant4= {\n tag: 'err',\n val: result3\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]frame.list-columns\"][Instruction::Return]', {\n funcName: '[method]frame.list-columns',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant4;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn1(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet specMethodFrameDiscoverColumns;\n\nFrame.prototype.discoverColumns = function discoverColumns(arg1) {\n \n var handle1 = this[symbolRscHandle];\n if (!handle1 || (handleTable7[(handle1 << 1) + 1] & T_FLAG) === 0) {\n throw new TypeError('Resource error: Not a valid \\\"Frame\\\" resource.');\n }\n var handle0 = handleTable7[(handle1 << 1) + 1] & ~T_FLAG;\n \n \n var encodeRes = _utf8AllocateAndEncode(arg1, realloc0, memory0);\n var ptr2= encodeRes.ptr;\n var len2 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]frame.discover-columns\"][Instruction::CallWasm] enter', {\n funcName: '[method]frame.discover-columns',\n paramCount: 3,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specMethodFrameDiscoverColumns',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specMethodFrameDiscoverColumns(handle0, ptr2, len2),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant5;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var ptr3 = dataView(memory0).getUint32(ret + 4, true);\n var len3 = dataView(memory0).getUint32(ret + 8, true);\n var result3 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr3, len3));\n variant5= {\n tag: 'ok',\n val: result3\n };\n break;\n }\n case 1: {\n var ptr4 = dataView(memory0).getUint32(ret + 4, true);\n var len4 = dataView(memory0).getUint32(ret + 8, true);\n var result4 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr4, len4));\n variant5= {\n tag: 'err',\n val: result4\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]frame.discover-columns\"][Instruction::Return]', {\n funcName: '[method]frame.discover-columns',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant5;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn1(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet specMethodFrameFindColumns;\n\nFrame.prototype.findColumns = function findColumns(arg1) {\n \n var handle1 = this[symbolRscHandle];\n if (!handle1 || (handleTable7[(handle1 << 1) + 1] & T_FLAG) === 0) {\n throw new TypeError('Resource error: Not a valid \\\"Frame\\\" resource.');\n }\n var handle0 = handleTable7[(handle1 << 1) + 1] & ~T_FLAG;\n \n \n var encodeRes = _utf8AllocateAndEncode(arg1, realloc0, memory0);\n var ptr2= encodeRes.ptr;\n var len2 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]frame.find-columns\"][Instruction::CallWasm] enter', {\n funcName: '[method]frame.find-columns',\n paramCount: 3,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specMethodFrameFindColumns',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specMethodFrameFindColumns(handle0, ptr2, len2),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant5;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var ptr3 = dataView(memory0).getUint32(ret + 4, true);\n var len3 = dataView(memory0).getUint32(ret + 8, true);\n var result3 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr3, len3));\n variant5= {\n tag: 'ok',\n val: result3\n };\n break;\n }\n case 1: {\n var ptr4 = dataView(memory0).getUint32(ret + 4, true);\n var len4 = dataView(memory0).getUint32(ret + 8, true);\n var result4 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr4, len4));\n variant5= {\n tag: 'err',\n val: result4\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]frame.find-columns\"][Instruction::Return]', {\n funcName: '[method]frame.find-columns',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant5;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn1(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet specMethodFrameEvaluateQuery;\n\nFrame.prototype.evaluateQuery = function evaluateQuery(arg1) {\n \n var handle1 = this[symbolRscHandle];\n if (!handle1 || (handleTable7[(handle1 << 1) + 1] & T_FLAG) === 0) {\n throw new TypeError('Resource error: Not a valid \\\"Frame\\\" resource.');\n }\n var handle0 = handleTable7[(handle1 << 1) + 1] & ~T_FLAG;\n \n \n var encodeRes = _utf8AllocateAndEncode(arg1, realloc0, memory0);\n var ptr2= encodeRes.ptr;\n var len2 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]frame.evaluate-query\"][Instruction::CallWasm] enter', {\n funcName: '[method]frame.evaluate-query',\n paramCount: 3,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specMethodFrameEvaluateQuery',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specMethodFrameEvaluateQuery(handle0, ptr2, len2),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant5;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var ptr3 = dataView(memory0).getUint32(ret + 4, true);\n var len3 = dataView(memory0).getUint32(ret + 8, true);\n var result3 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr3, len3));\n variant5= {\n tag: 'ok',\n val: result3\n };\n break;\n }\n case 1: {\n var ptr4 = dataView(memory0).getUint32(ret + 4, true);\n var len4 = dataView(memory0).getUint32(ret + 8, true);\n var result4 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr4, len4));\n variant5= {\n tag: 'err',\n val: result4\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]frame.evaluate-query\"][Instruction::Return]', {\n funcName: '[method]frame.evaluate-query',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant5;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn1(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet specMethodFrameRewriteLegacyQuery;\n\nFrame.prototype.rewriteLegacyQuery = function rewriteLegacyQuery(arg1) {\n \n var handle1 = this[symbolRscHandle];\n if (!handle1 || (handleTable7[(handle1 << 1) + 1] & T_FLAG) === 0) {\n throw new TypeError('Resource error: Not a valid \\\"Frame\\\" resource.');\n }\n var handle0 = handleTable7[(handle1 << 1) + 1] & ~T_FLAG;\n \n \n var encodeRes = _utf8AllocateAndEncode(arg1, realloc0, memory0);\n var ptr2= encodeRes.ptr;\n var len2 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]frame.rewrite-legacy-query\"][Instruction::CallWasm] enter', {\n funcName: '[method]frame.rewrite-legacy-query',\n paramCount: 3,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specMethodFrameRewriteLegacyQuery',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specMethodFrameRewriteLegacyQuery(handle0, ptr2, len2),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant5;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var ptr3 = dataView(memory0).getUint32(ret + 4, true);\n var len3 = dataView(memory0).getUint32(ret + 8, true);\n var result3 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr3, len3));\n variant5= {\n tag: 'ok',\n val: result3\n };\n break;\n }\n case 1: {\n var ptr4 = dataView(memory0).getUint32(ret + 4, true);\n var len4 = dataView(memory0).getUint32(ret + 8, true);\n var result4 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr4, len4));\n variant5= {\n tag: 'err',\n val: result4\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]frame.rewrite-legacy-query\"][Instruction::Return]', {\n funcName: '[method]frame.rewrite-legacy-query',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant5;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn1(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet specStaticFrameRewriteLegacyFilters;\n\nFrame.rewriteLegacyFilters = function rewriteLegacyFilters(arg0) {\n \n var encodeRes = _utf8AllocateAndEncode(arg0, realloc0, memory0);\n var ptr0= encodeRes.ptr;\n var len0 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]frame.rewrite-legacy-filters\"][Instruction::CallWasm] enter', {\n funcName: '[static]frame.rewrite-legacy-filters',\n paramCount: 2,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specStaticFrameRewriteLegacyFilters',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specStaticFrameRewriteLegacyFilters(ptr0, len0),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant3;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var ptr1 = dataView(memory0).getUint32(ret + 4, true);\n var len1 = dataView(memory0).getUint32(ret + 8, true);\n var result1 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr1, len1));\n variant3= {\n tag: 'ok',\n val: result1\n };\n break;\n }\n case 1: {\n var ptr2 = dataView(memory0).getUint32(ret + 4, true);\n var len2 = dataView(memory0).getUint32(ret + 8, true);\n var result2 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr2, len2));\n variant3= {\n tag: 'err',\n val: result2\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]frame.rewrite-legacy-filters\"][Instruction::Return]', {\n funcName: '[static]frame.rewrite-legacy-filters',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant3;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn1(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\n\nconst handleTable8 = [T_FLAG, 0];\nhandleTable8._createdReps = new Set();\nconst finalizationRegistry8 = finalizationRegistryCreate((handle) => {\n const { rep } = rscTableRemove(handleTable8, handle);\n exports0['10'](rep);\n});\n\nHANDLE_TABLES[8] = handleTable8;\nlet specStaticTableFromJson;\n\nclass Table{\n constructor () {\n throw new Error('\"Table\" resource does not define a constructor');\n }\n}\n\nTable.fromJson = function fromJson(arg0) {\n \n var encodeRes = _utf8AllocateAndEncode(arg0, realloc0, memory0);\n var ptr0= encodeRes.ptr;\n var len0 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]table.from-json\"][Instruction::CallWasm] enter', {\n funcName: '[static]table.from-json',\n paramCount: 2,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specStaticTableFromJson',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specStaticTableFromJson(ptr0, len0),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant4;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var handle2 = dataView(memory0).getInt32(ret + 4, true);\n var rsc1 = new.target === Table ? this : Object.create(Table.prototype);\n Object.defineProperty(rsc1, symbolRscHandle, { writable: true, value: handle2});\n finalizationRegistry8.register(rsc1, handle2, rsc1);\n Object.defineProperty(rsc1, symbolDispose, { writable: true, value: function () {\n finalizationRegistry8.unregister(rsc1);\n const handleEntry = rscTableRemove(handleTable8, handle2);\n rsc1[symbolDispose] = emptyFunc;\n rsc1[symbolRscHandle] = undefined;\n exports0['10'](handleEntry.rep);\n }});\n variant4= {\n tag: 'ok',\n val: rsc1\n };\n break;\n }\n case 1: {\n var ptr3 = dataView(memory0).getUint32(ret + 4, true);\n var len3 = dataView(memory0).getUint32(ret + 8, true);\n var result3 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr3, len3));\n variant4= {\n tag: 'err',\n val: result3\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]table.from-json\"][Instruction::Return]', {\n funcName: '[static]table.from-json',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant4;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn0(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet specMethodTableFindColumn;\n\nTable.prototype.findColumn = function findColumn(arg1) {\n \n var handle1 = this[symbolRscHandle];\n if (!handle1 || (handleTable8[(handle1 << 1) + 1] & T_FLAG) === 0) {\n throw new TypeError('Resource error: Not a valid \\\"Table\\\" resource.');\n }\n var handle0 = handleTable8[(handle1 << 1) + 1] & ~T_FLAG;\n \n \n var encodeRes = _utf8AllocateAndEncode(arg1, realloc0, memory0);\n var ptr2= encodeRes.ptr;\n var len2 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]table.find-column\"][Instruction::CallWasm] enter', {\n funcName: '[method]table.find-column',\n paramCount: 3,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specMethodTableFindColumn',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specMethodTableFindColumn(handle0, ptr2, len2),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant5;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var ptr3 = dataView(memory0).getUint32(ret + 4, true);\n var len3 = dataView(memory0).getUint32(ret + 8, true);\n var result3 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr3, len3));\n variant5= {\n tag: 'ok',\n val: result3\n };\n break;\n }\n case 1: {\n var ptr4 = dataView(memory0).getUint32(ret + 4, true);\n var len4 = dataView(memory0).getUint32(ret + 8, true);\n var result4 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr4, len4));\n variant5= {\n tag: 'err',\n val: result4\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]table.find-column\"][Instruction::Return]', {\n funcName: '[method]table.find-column',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant5;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn1(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\n\nconst handleTable6 = [T_FLAG, 0];\nhandleTable6._createdReps = new Set();\nconst finalizationRegistry6 = finalizationRegistryCreate((handle) => {\n const { rep } = rscTableRemove(handleTable6, handle);\n exports0['8'](rep);\n});\n\nHANDLE_TABLES[6] = handleTable6;\nlet specStaticAxesFromJson;\n\nclass Axes{\n constructor () {\n throw new Error('\"Axes\" resource does not define a constructor');\n }\n}\n\nAxes.fromJson = function fromJson(arg0) {\n \n var encodeRes = _utf8AllocateAndEncode(arg0, realloc0, memory0);\n var ptr0= encodeRes.ptr;\n var len0 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]axes.from-json\"][Instruction::CallWasm] enter', {\n funcName: '[static]axes.from-json',\n paramCount: 2,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specStaticAxesFromJson',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specStaticAxesFromJson(ptr0, len0),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant4;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var handle2 = dataView(memory0).getInt32(ret + 4, true);\n var rsc1 = new.target === Axes ? this : Object.create(Axes.prototype);\n Object.defineProperty(rsc1, symbolRscHandle, { writable: true, value: handle2});\n finalizationRegistry6.register(rsc1, handle2, rsc1);\n Object.defineProperty(rsc1, symbolDispose, { writable: true, value: function () {\n finalizationRegistry6.unregister(rsc1);\n const handleEntry = rscTableRemove(handleTable6, handle2);\n rsc1[symbolDispose] = emptyFunc;\n rsc1[symbolRscHandle] = undefined;\n exports0['8'](handleEntry.rep);\n }});\n variant4= {\n tag: 'ok',\n val: rsc1\n };\n break;\n }\n case 1: {\n var ptr3 = dataView(memory0).getUint32(ret + 4, true);\n var len3 = dataView(memory0).getUint32(ret + 8, true);\n var result3 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr3, len3));\n variant4= {\n tag: 'err',\n val: result3\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]axes.from-json\"][Instruction::Return]', {\n funcName: '[static]axes.from-json',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant4;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn0(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet specStaticAxesCollapse;\n\nAxes.collapse = function collapse(arg0) {\n \n var encodeRes = _utf8AllocateAndEncode(arg0, realloc0, memory0);\n var ptr0= encodeRes.ptr;\n var len0 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]axes.collapse\"][Instruction::CallWasm] enter', {\n funcName: '[static]axes.collapse',\n paramCount: 2,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specStaticAxesCollapse',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specStaticAxesCollapse(ptr0, len0),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant3;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var ptr1 = dataView(memory0).getUint32(ret + 4, true);\n var len1 = dataView(memory0).getUint32(ret + 8, true);\n var result1 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr1, len1));\n variant3= {\n tag: 'ok',\n val: result1\n };\n break;\n }\n case 1: {\n var ptr2 = dataView(memory0).getUint32(ret + 4, true);\n var len2 = dataView(memory0).getUint32(ret + 8, true);\n var result2 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr2, len2));\n variant3= {\n tag: 'err',\n val: result2\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[static]axes.collapse\"][Instruction::Return]', {\n funcName: '[static]axes.collapse',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant3;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn1(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet specMethodAxesExpand;\n\nAxes.prototype.expand = function expand() {\n \n var handle1 = this[symbolRscHandle];\n if (!handle1 || (handleTable6[(handle1 << 1) + 1] & T_FLAG) === 0) {\n throw new TypeError('Resource error: Not a valid \\\"Axes\\\" resource.');\n }\n var handle0 = handleTable6[(handle1 << 1) + 1] & ~T_FLAG;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]axes.expand\"][Instruction::CallWasm] enter', {\n funcName: '[method]axes.expand',\n paramCount: 1,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specMethodAxesExpand',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specMethodAxesExpand(handle0),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant4;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var ptr2 = dataView(memory0).getUint32(ret + 4, true);\n var len2 = dataView(memory0).getUint32(ret + 8, true);\n var result2 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr2, len2));\n variant4= {\n tag: 'ok',\n val: result2\n };\n break;\n }\n case 1: {\n var ptr3 = dataView(memory0).getUint32(ret + 4, true);\n var len3 = dataView(memory0).getUint32(ret + 8, true);\n var result3 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr3, len3));\n variant4= {\n tag: 'err',\n val: result3\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]axes.expand\"][Instruction::Return]', {\n funcName: '[method]axes.expand',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant4;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn1(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet specMethodAxesFind;\n\nAxes.prototype.find = function find(arg1) {\n \n var handle1 = this[symbolRscHandle];\n if (!handle1 || (handleTable6[(handle1 << 1) + 1] & T_FLAG) === 0) {\n throw new TypeError('Resource error: Not a valid \\\"Axes\\\" resource.');\n }\n var handle0 = handleTable6[(handle1 << 1) + 1] & ~T_FLAG;\n \n \n var encodeRes = _utf8AllocateAndEncode(arg1, realloc0, memory0);\n var ptr2= encodeRes.ptr;\n var len2 = encodeRes.len;\n \n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]axes.find\"][Instruction::CallWasm] enter', {\n funcName: '[method]axes.find',\n paramCount: 3,\n async: false,\n postReturn: true,\n });\n const hostProvided = false;\n \n const [task, _wasm_call_currentTaskID] = createNewCurrentTask({\n componentIdx: 0,\n isAsync: false,\n isManualAsync: false,\n preserveFutureResult: false,\n entryFnName: 'specMethodAxesFind',\n getCallbackFn: () => null,\n callbackFnName: null,\n errHandling: 'throw-result-err',\n callingWasmExport: true,\n });\n \n const started = task.enterSync();\n \n if (0!== null) {\n task.setReturnMemoryIdx(0);\n task.setReturnMemory(() => memory0());\n }\n \n \n let ret;\n \n try {\n ret = _withGlobalCurrentTaskMeta({\n taskID: task.id(),\n componentIdx: task.componentIdx(),\n fn: () => specMethodAxesFind(handle0, ptr2, len2),\n });\n } catch (err) {\n \n _debugLog('[Instruction::CallWasm] error during sync call', {\n taskID: task.id(),\n err,\n });\n task.setErrored(err);\n task.reject(err);\n task.exit();\n throw err;\n \n }\n \n let variant5;\n switch (dataView(memory0).getUint8(ret + 0, true)) {\n case 0: {\n var ptr3 = dataView(memory0).getUint32(ret + 4, true);\n var len3 = dataView(memory0).getUint32(ret + 8, true);\n var result3 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr3, len3));\n variant5= {\n tag: 'ok',\n val: result3\n };\n break;\n }\n case 1: {\n var ptr4 = dataView(memory0).getUint32(ret + 4, true);\n var len4 = dataView(memory0).getUint32(ret + 8, true);\n var result4 = TEXT_DECODER_UTF8.decode(new Uint8Array(memory0.buffer, ptr4, len4));\n variant5= {\n tag: 'err',\n val: result4\n };\n break;\n }\n default: {\n throw new TypeError('invalid variant discriminant for expected');\n }\n }\n _debugLog('[iface=\"milaboratories:pframes/spec\", function=\"[method]axes.find\"][Instruction::Return]', {\n funcName: '[method]axes.find',\n paramCount: 1,\n async: false,\n postReturn: true\n });\n const retCopy = variant5;\n task.resolve([retCopy.val]);\n \n let cstate = getOrCreateAsyncState(0);\n cstate.mayLeave = false;\n postReturn1(ret);\n cstate.mayLeave = true;\n task.exit();\n \n \n \n if (typeof retCopy === 'object' && retCopy.tag === 'err') {\n throw new ComponentError(retCopy.val);\n }\n return retCopy.val;\n \n};\nlet trampoline0 = _trampoline0.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 0,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline0.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [_lowerFlatU64],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline0,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 0,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline0.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [_lowerFlatU64],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline0,\n},\n);\nconst trampoline1 = rscTableCreateOwn.bind(null, handleTable6);\nconst trampoline2 = rscTableCreateOwn.bind(null, handleTable7);\nconst trampoline3 = rscTableCreateOwn.bind(null, handleTable8);\nfunction trampoline4(handle) {\n const handleEntry = rscTableRemove(handleTable1, handle);\n if (handleEntry.own) {\n \n const rsc = captureTable1.get(handleEntry.rep);\n if (rsc) {\n if (rsc[symbolDispose]) rsc[symbolDispose]();\n captureTable1.delete(handleEntry.rep);\n } else if (Error$1[symbolCabiDispose]) {\n Error$1[symbolCabiDispose](handleEntry.rep);\n }\n }\n}\nfunction trampoline5(handle) {\n const handleEntry = rscTableRemove(handleTable0, handle);\n if (handleEntry.own) {\n \n const rsc = captureTable0.get(handleEntry.rep);\n if (rsc) {\n if (rsc[symbolDispose]) rsc[symbolDispose]();\n captureTable0.delete(handleEntry.rep);\n } else if (Pollable[symbolCabiDispose]) {\n Pollable[symbolCabiDispose](handleEntry.rep);\n }\n }\n}\nfunction trampoline6(handle) {\n const handleEntry = rscTableRemove(handleTable2, handle);\n if (handleEntry.own) {\n \n const rsc = captureTable2.get(handleEntry.rep);\n if (rsc) {\n if (rsc[symbolDispose]) rsc[symbolDispose]();\n captureTable2.delete(handleEntry.rep);\n } else if (InputStream[symbolCabiDispose]) {\n InputStream[symbolCabiDispose](handleEntry.rep);\n }\n }\n}\nfunction trampoline7(handle) {\n const handleEntry = rscTableRemove(handleTable3, handle);\n if (handleEntry.own) {\n \n const rsc = captureTable3.get(handleEntry.rep);\n if (rsc) {\n if (rsc[symbolDispose]) rsc[symbolDispose]();\n captureTable3.delete(handleEntry.rep);\n } else if (OutputStream[symbolCabiDispose]) {\n OutputStream[symbolCabiDispose](handleEntry.rep);\n }\n }\n}\nfunction trampoline8(handle) {\n const handleEntry = rscTableRemove(handleTable4, handle);\n if (handleEntry.own) {\n \n const rsc = captureTable4.get(handleEntry.rep);\n if (rsc) {\n if (rsc[symbolDispose]) rsc[symbolDispose]();\n captureTable4.delete(handleEntry.rep);\n } else if (TerminalInput[symbolCabiDispose]) {\n TerminalInput[symbolCabiDispose](handleEntry.rep);\n }\n }\n}\nfunction trampoline9(handle) {\n const handleEntry = rscTableRemove(handleTable5, handle);\n if (handleEntry.own) {\n \n const rsc = captureTable5.get(handleEntry.rep);\n if (rsc) {\n if (rsc[symbolDispose]) rsc[symbolDispose]();\n captureTable5.delete(handleEntry.rep);\n } else if (TerminalOutput[symbolCabiDispose]) {\n TerminalOutput[symbolCabiDispose](handleEntry.rep);\n }\n }\n}\nlet trampoline10 = _trampoline10.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 10,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline10.manuallyAsync,\n paramLiftFns: [\n _liftFlatResult({\n caseMetas: [['ok', null, 0, 0, 0],['err', null, 0, 0, 0],],\n variantSize32: 1,\n variantAlign32: 1,\n variantPayloadOffset32: 1,\n variantFlatCount: 1,\n })\n ],\n resultLowerFns: [],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline10,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 10,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline10.manuallyAsync,\n paramLiftFns: [\n _liftFlatResult({\n caseMetas: [['ok', null, 0, 0, 0],['err', null, 0, 0, 0],],\n variantSize32: 1,\n variantAlign32: 1,\n variantPayloadOffset32: 1,\n variantFlatCount: 1,\n })\n ],\n resultLowerFns: [],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline10,\n},\n);\nlet trampoline11 = _trampoline11.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 11,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline11.manuallyAsync,\n paramLiftFns: [_liftFlatBorrow.bind(null, 0)],\n resultLowerFns: [],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline11,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 11,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline11.manuallyAsync,\n paramLiftFns: [_liftFlatBorrow.bind(null, 0)],\n resultLowerFns: [],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline11,\n},\n);\nlet trampoline12 = _trampoline12.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 12,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline12.manuallyAsync,\n paramLiftFns: [_liftFlatBorrow.bind(null, 3)],\n resultLowerFns: [_lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_Pollable(obj) {\n if (!(obj instanceof Pollable)) {\n throw new TypeError('Resource error: Not a valid \\\"Pollable\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt0;\n captureTable0.set(rep, obj);\n handle = rscTableCreateOwn(handleTable0, rep);\n }\n return handle;\n }\n ,\n })],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline12,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 12,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline12.manuallyAsync,\n paramLiftFns: [_liftFlatBorrow.bind(null, 3)],\n resultLowerFns: [_lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_Pollable(obj) {\n if (!(obj instanceof Pollable)) {\n throw new TypeError('Resource error: Not a valid \\\"Pollable\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt0;\n captureTable0.set(rep, obj);\n handle = rscTableCreateOwn(handleTable0, rep);\n }\n return handle;\n }\n ,\n })],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline12,\n},\n);\nlet trampoline13 = _trampoline13.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 13,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline13.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [_lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_InputStream(obj) {\n if (!(obj instanceof InputStream)) {\n throw new TypeError('Resource error: Not a valid \\\"InputStream\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt2;\n captureTable2.set(rep, obj);\n handle = rscTableCreateOwn(handleTable2, rep);\n }\n return handle;\n }\n ,\n })],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline13,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 13,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline13.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [_lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_InputStream(obj) {\n if (!(obj instanceof InputStream)) {\n throw new TypeError('Resource error: Not a valid \\\"InputStream\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt2;\n captureTable2.set(rep, obj);\n handle = rscTableCreateOwn(handleTable2, rep);\n }\n return handle;\n }\n ,\n })],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline13,\n},\n);\nlet trampoline14 = _trampoline14.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 14,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline14.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [_lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_OutputStream(obj) {\n if (!(obj instanceof OutputStream)) {\n throw new TypeError('Resource error: Not a valid \\\"OutputStream\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt3;\n captureTable3.set(rep, obj);\n handle = rscTableCreateOwn(handleTable3, rep);\n }\n return handle;\n }\n ,\n })],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline14,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 14,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline14.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [_lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_OutputStream(obj) {\n if (!(obj instanceof OutputStream)) {\n throw new TypeError('Resource error: Not a valid \\\"OutputStream\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt3;\n captureTable3.set(rep, obj);\n handle = rscTableCreateOwn(handleTable3, rep);\n }\n return handle;\n }\n ,\n })],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline14,\n},\n);\nlet trampoline15 = _trampoline15.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 15,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline15.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [_lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_OutputStream(obj) {\n if (!(obj instanceof OutputStream)) {\n throw new TypeError('Resource error: Not a valid \\\"OutputStream\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt3;\n captureTable3.set(rep, obj);\n handle = rscTableCreateOwn(handleTable3, rep);\n }\n return handle;\n }\n ,\n })],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline15,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 15,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline15.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [_lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_OutputStream(obj) {\n if (!(obj instanceof OutputStream)) {\n throw new TypeError('Resource error: Not a valid \\\"OutputStream\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt3;\n captureTable3.set(rep, obj);\n handle = rscTableCreateOwn(handleTable3, rep);\n }\n return handle;\n }\n ,\n })],\n hasResultPointer: false,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: null,\n stringEncoding: 'utf8',\n getMemoryFn: () => null,\n getReallocFn: undefined,\n importFn: _trampoline15,\n},\n);\nlet trampoline16 = _trampoline16.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 16,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline16.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [_lowerFlatTuple({ elemLowerMetas: [[_lowerFlatU64, 8, 8],[_lowerFlatU64, 8, 8],], size32: 16, align32: 8 })],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline16,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 16,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline16.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [_lowerFlatTuple({ elemLowerMetas: [[_lowerFlatU64, 8, 8],[_lowerFlatU64, 8, 8],], size32: 16, align32: 8 })],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline16,\n},\n);\nlet trampoline17 = _trampoline17.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 17,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline17.manuallyAsync,\n paramLiftFns: [_liftFlatBorrow.bind(null, 3)],\n resultLowerFns: [\n _lowerFlatResult({\n caseMetas: [\n [ 'ok', _lowerFlatU64, 16, 8, 8 ],\n [ 'err', _lowerFlatVariant({\n caseMetas: [[ 'last-operation-failed', _lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_Error$1(obj) {\n if (!(obj instanceof Error$1)) {\n throw new TypeError('Resource error: Not a valid \\\"Error$1\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt1;\n captureTable1.set(rep, obj);\n handle = rscTableCreateOwn(handleTable1, rep);\n }\n return handle;\n }\n ,\n }), 4, 4, 1 ],[ 'closed', null, 0, 0, 0 ],],\n variantSize32: 8,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 2,\n } ), 16, 8, 8 ],\n ],\n variantSize32: 16,\n variantAlign32: 8,\n variantPayloadOffset32: 8,\n variantFlatCount: 3,\n })\n ],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline17,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 17,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline17.manuallyAsync,\n paramLiftFns: [_liftFlatBorrow.bind(null, 3)],\n resultLowerFns: [\n _lowerFlatResult({\n caseMetas: [\n [ 'ok', _lowerFlatU64, 16, 8, 8 ],\n [ 'err', _lowerFlatVariant({\n caseMetas: [[ 'last-operation-failed', _lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_Error$1(obj) {\n if (!(obj instanceof Error$1)) {\n throw new TypeError('Resource error: Not a valid \\\"Error$1\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt1;\n captureTable1.set(rep, obj);\n handle = rscTableCreateOwn(handleTable1, rep);\n }\n return handle;\n }\n ,\n }), 4, 4, 1 ],[ 'closed', null, 0, 0, 0 ],],\n variantSize32: 8,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 2,\n } ), 16, 8, 8 ],\n ],\n variantSize32: 16,\n variantAlign32: 8,\n variantPayloadOffset32: 8,\n variantFlatCount: 3,\n })\n ],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline17,\n},\n);\nlet trampoline18 = _trampoline18.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 18,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline18.manuallyAsync,\n paramLiftFns: [_liftFlatBorrow.bind(null, 3),_liftFlatList({\n elemLiftFn: _liftFlatU8,\n elemAlign32: 1,\n elemSize32: 1,\n typedArray: Uint8Array,\n })],\n resultLowerFns: [\n _lowerFlatResult({\n caseMetas: [\n [ 'ok', null, 12, 4, 4 ],\n [ 'err', _lowerFlatVariant({\n caseMetas: [[ 'last-operation-failed', _lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_Error$1(obj) {\n if (!(obj instanceof Error$1)) {\n throw new TypeError('Resource error: Not a valid \\\"Error$1\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt1;\n captureTable1.set(rep, obj);\n handle = rscTableCreateOwn(handleTable1, rep);\n }\n return handle;\n }\n ,\n }), 4, 4, 1 ],[ 'closed', null, 0, 0, 0 ],],\n variantSize32: 8,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 2,\n } ), 12, 4, 4 ],\n ],\n variantSize32: 12,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 3,\n })\n ],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline18,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 18,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline18.manuallyAsync,\n paramLiftFns: [_liftFlatBorrow.bind(null, 3),_liftFlatList({\n elemLiftFn: _liftFlatU8,\n elemAlign32: 1,\n elemSize32: 1,\n typedArray: Uint8Array,\n })],\n resultLowerFns: [\n _lowerFlatResult({\n caseMetas: [\n [ 'ok', null, 12, 4, 4 ],\n [ 'err', _lowerFlatVariant({\n caseMetas: [[ 'last-operation-failed', _lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_Error$1(obj) {\n if (!(obj instanceof Error$1)) {\n throw new TypeError('Resource error: Not a valid \\\"Error$1\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt1;\n captureTable1.set(rep, obj);\n handle = rscTableCreateOwn(handleTable1, rep);\n }\n return handle;\n }\n ,\n }), 4, 4, 1 ],[ 'closed', null, 0, 0, 0 ],],\n variantSize32: 8,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 2,\n } ), 12, 4, 4 ],\n ],\n variantSize32: 12,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 3,\n })\n ],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline18,\n},\n);\nlet trampoline19 = _trampoline19.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 19,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline19.manuallyAsync,\n paramLiftFns: [_liftFlatBorrow.bind(null, 3)],\n resultLowerFns: [\n _lowerFlatResult({\n caseMetas: [\n [ 'ok', null, 12, 4, 4 ],\n [ 'err', _lowerFlatVariant({\n caseMetas: [[ 'last-operation-failed', _lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_Error$1(obj) {\n if (!(obj instanceof Error$1)) {\n throw new TypeError('Resource error: Not a valid \\\"Error$1\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt1;\n captureTable1.set(rep, obj);\n handle = rscTableCreateOwn(handleTable1, rep);\n }\n return handle;\n }\n ,\n }), 4, 4, 1 ],[ 'closed', null, 0, 0, 0 ],],\n variantSize32: 8,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 2,\n } ), 12, 4, 4 ],\n ],\n variantSize32: 12,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 3,\n })\n ],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline19,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 19,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline19.manuallyAsync,\n paramLiftFns: [_liftFlatBorrow.bind(null, 3)],\n resultLowerFns: [\n _lowerFlatResult({\n caseMetas: [\n [ 'ok', null, 12, 4, 4 ],\n [ 'err', _lowerFlatVariant({\n caseMetas: [[ 'last-operation-failed', _lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_Error$1(obj) {\n if (!(obj instanceof Error$1)) {\n throw new TypeError('Resource error: Not a valid \\\"Error$1\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt1;\n captureTable1.set(rep, obj);\n handle = rscTableCreateOwn(handleTable1, rep);\n }\n return handle;\n }\n ,\n }), 4, 4, 1 ],[ 'closed', null, 0, 0, 0 ],],\n variantSize32: 8,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 2,\n } ), 12, 4, 4 ],\n ],\n variantSize32: 12,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 3,\n })\n ],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline19,\n},\n);\nlet trampoline20 = _trampoline20.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 20,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline20.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [_lowerFlatList({\n elemLowerFn: _lowerFlatTuple({ elemLowerMetas: [[_lowerFlatStringAny, 8, 4],[_lowerFlatStringAny, 8, 4],], size32: 16, align32: 4 }),\n elemSize32: 16,\n elemAlign32: 4,\n })],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: () => realloc0,\n importFn: _trampoline20,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 20,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline20.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [_lowerFlatList({\n elemLowerFn: _lowerFlatTuple({ elemLowerMetas: [[_lowerFlatStringAny, 8, 4],[_lowerFlatStringAny, 8, 4],], size32: 16, align32: 4 }),\n elemSize32: 16,\n elemAlign32: 4,\n })],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: () => realloc0,\n importFn: _trampoline20,\n},\n);\nlet trampoline21 = _trampoline21.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 21,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline21.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [\n _lowerFlatOption({\n caseMetas: [\n [ 'none', null, 0, 0, 0 ],\n [ 'some', _lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_TerminalInput(obj) {\n if (!(obj instanceof TerminalInput)) {\n throw new TypeError('Resource error: Not a valid \\\"TerminalInput\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt4;\n captureTable4.set(rep, obj);\n handle = rscTableCreateOwn(handleTable4, rep);\n }\n return handle;\n }\n ,\n }), 4, 4, 1],\n ],\n variantSize32: 8,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 2,\n })\n ],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline21,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 21,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline21.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [\n _lowerFlatOption({\n caseMetas: [\n [ 'none', null, 0, 0, 0 ],\n [ 'some', _lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_TerminalInput(obj) {\n if (!(obj instanceof TerminalInput)) {\n throw new TypeError('Resource error: Not a valid \\\"TerminalInput\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt4;\n captureTable4.set(rep, obj);\n handle = rscTableCreateOwn(handleTable4, rep);\n }\n return handle;\n }\n ,\n }), 4, 4, 1],\n ],\n variantSize32: 8,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 2,\n })\n ],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline21,\n},\n);\nlet trampoline22 = _trampoline22.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 22,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline22.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [\n _lowerFlatOption({\n caseMetas: [\n [ 'none', null, 0, 0, 0 ],\n [ 'some', _lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_TerminalOutput(obj) {\n if (!(obj instanceof TerminalOutput)) {\n throw new TypeError('Resource error: Not a valid \\\"TerminalOutput\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt5;\n captureTable5.set(rep, obj);\n handle = rscTableCreateOwn(handleTable5, rep);\n }\n return handle;\n }\n ,\n }), 4, 4, 1],\n ],\n variantSize32: 8,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 2,\n })\n ],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline22,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 22,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline22.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [\n _lowerFlatOption({\n caseMetas: [\n [ 'none', null, 0, 0, 0 ],\n [ 'some', _lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_TerminalOutput(obj) {\n if (!(obj instanceof TerminalOutput)) {\n throw new TypeError('Resource error: Not a valid \\\"TerminalOutput\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt5;\n captureTable5.set(rep, obj);\n handle = rscTableCreateOwn(handleTable5, rep);\n }\n return handle;\n }\n ,\n }), 4, 4, 1],\n ],\n variantSize32: 8,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 2,\n })\n ],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline22,\n},\n);\nlet trampoline23 = _trampoline23.manuallyAsync ? new WebAssembly.Suspending(_lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 23,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline23.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [\n _lowerFlatOption({\n caseMetas: [\n [ 'none', null, 0, 0, 0 ],\n [ 'some', _lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_TerminalOutput(obj) {\n if (!(obj instanceof TerminalOutput)) {\n throw new TypeError('Resource error: Not a valid \\\"TerminalOutput\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt5;\n captureTable5.set(rep, obj);\n handle = rscTableCreateOwn(handleTable5, rep);\n }\n return handle;\n }\n ,\n }), 4, 4, 1],\n ],\n variantSize32: 8,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 2,\n })\n ],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline23,\n},\n)) : _lowerImportBackwardsCompat.bind(\nnull,\n{\n trampolineIdx: 23,\n componentIdx: 0,\n isAsync: false,\n isManualAsync: _trampoline23.manuallyAsync,\n paramLiftFns: [],\n resultLowerFns: [\n _lowerFlatOption({\n caseMetas: [\n [ 'none', null, 0, 0, 0 ],\n [ 'some', _lowerFlatOwn({\n componentIdx: 0,\n lowerFn: \n function lowerImportedOwnedHost_TerminalOutput(obj) {\n if (!(obj instanceof TerminalOutput)) {\n throw new TypeError('Resource error: Not a valid \\\"TerminalOutput\\\" resource.');\n }\n let handle = obj[symbolRscHandle];\n if (!handle) {\n const rep = obj[symbolRscRep] || ++captureCnt5;\n captureTable5.set(rep, obj);\n handle = rscTableCreateOwn(handleTable5, rep);\n }\n return handle;\n }\n ,\n }), 4, 4, 1],\n ],\n variantSize32: 8,\n variantAlign32: 4,\n variantPayloadOffset32: 4,\n variantFlatCount: 2,\n })\n ],\n hasResultPointer: true,\n funcTypeIsAsync: false,\n getCallbackFn: () => null,\n getPostReturnFn: () => null,\n isCancellable: false,\n memoryIdx: 0,\n stringEncoding: 'utf8',\n getMemoryFn: () => memory0,\n getReallocFn: undefined,\n importFn: _trampoline23,\n},\n);\n\nconst $init = (() => {\n let gen = (function* _initGenerator () {\n const module0 = fetchCompile(new URL('./pframes_rs_wasip2.core.wasm', import.meta.url));\n const module1 = base64Compile('AGFzbQEAAAABEQNgAX8AYAJ/fwBgBH9/f38AAwwLAAECAQAAAAAAAAAEBQFwAQsLBzkMATAAAAExAAEBMgACATMAAwE0AAQBNQAFATYABgE3AAcBOAAIATkACQIxMAAKCCRpbXBvcnRzAQAKeQsJACAAQQARAAALCwAgACABQQERAQALDwAgACABIAIgA0ECEQIACwsAIAAgAUEDEQEACwkAIABBBBEAAAsJACAAQQURAAALCQAgAEEGEQAACwkAIABBBxEAAAsJACAAQQgRAAALCQAgAEEJEQAACwkAIABBChEAAAsALwlwcm9kdWNlcnMBDHByb2Nlc3NlZC1ieQENd2l0LWNvbXBvbmVudAcwLjI0Ni4y');\n const module2 = base64Compile('AGFzbQEAAAABEQNgAX8AYAJ/fwBgBH9/f38AAkgMAAEwAAAAATEAAQABMgACAAEzAAEAATQAAAABNQAAAAE2AAAAATcAAAABOAAAAAE5AAAAAjEwAAAACCRpbXBvcnRzAXABCwsJEQEAQQALCwABAgMEBQYHCAkKAC8JcHJvZHVjZXJzAQxwcm9jZXNzZWQtYnkBDXdpdC1jb21wb25lbnQHMC4yNDYuMg');\n ({ exports: exports0 } = yield instantiateCore(yield module1));\n ({ exports: exports1 } = yield instantiateCore(yield module0, {\n '[export]milaboratories:pframes/spec': {\n '[resource-new]axes': trampoline1,\n '[resource-new]frame': trampoline2,\n '[resource-new]table': trampoline3,\n },\n 'wasi:cli/environment@0.2.0': {\n 'get-environment': exports0['4'],\n },\n 'wasi:cli/exit@0.2.0': {\n exit: trampoline10,\n },\n 'wasi:cli/stderr@0.2.0': {\n 'get-stderr': trampoline15,\n },\n 'wasi:cli/stdin@0.2.0': {\n 'get-stdin': trampoline13,\n },\n 'wasi:cli/stdout@0.2.0': {\n 'get-stdout': trampoline14,\n },\n 'wasi:cli/terminal-input@0.2.0': {\n '[resource-drop]terminal-input': trampoline8,\n },\n 'wasi:cli/terminal-output@0.2.0': {\n '[resource-drop]terminal-output': trampoline9,\n },\n 'wasi:cli/terminal-stderr@0.2.0': {\n 'get-terminal-stderr': exports0['7'],\n },\n 'wasi:cli/terminal-stdin@0.2.0': {\n 'get-terminal-stdin': exports0['5'],\n },\n 'wasi:cli/terminal-stdout@0.2.0': {\n 'get-terminal-stdout': exports0['6'],\n },\n 'wasi:io/error@0.2.0': {\n '[resource-drop]error': trampoline4,\n },\n 'wasi:io/poll@0.2.0': {\n '[method]pollable.block': trampoline11,\n '[resource-drop]pollable': trampoline5,\n },\n 'wasi:io/streams@0.2.0': {\n '[method]output-stream.blocking-flush': exports0['3'],\n '[method]output-stream.check-write': exports0['1'],\n '[method]output-stream.subscribe': trampoline12,\n '[method]output-stream.write': exports0['2'],\n '[resource-drop]input-stream': trampoline6,\n '[resource-drop]output-stream': trampoline7,\n },\n 'wasi:random/insecure-seed@0.2.4': {\n 'insecure-seed': exports0['0'],\n },\n 'wasi:random/random@0.2.9': {\n 'get-random-u64': trampoline0,\n },\n }));\n memory0 = exports1.memory;\n realloc0 = exports1.cabi_realloc;\n \n try {\n realloc0Async = WebAssembly.promising(exports1.cabi_realloc);\n } catch(err) {\n realloc0Async = exports1.cabi_realloc;\n }\n \n ({ exports: exports2 } = yield instantiateCore(yield module2, {\n '': {\n $imports: exports0.$imports,\n '0': trampoline16,\n '1': trampoline17,\n '10': exports1['milaboratories:pframes/spec#[dtor]table'],\n '2': trampoline18,\n '3': trampoline19,\n '4': trampoline20,\n '5': trampoline21,\n '6': trampoline22,\n '7': trampoline23,\n '8': exports1['milaboratories:pframes/spec#[dtor]axes'],\n '9': exports1['milaboratories:pframes/spec#[dtor]frame'],\n },\n }));\n postReturn0 = exports1['cabi_post_milaboratories:pframes/spec#[static]axes.from-json'];\n \n try {\n postReturn0Async = WebAssembly.promising(exports1['cabi_post_milaboratories:pframes/spec#[static]axes.from-json']);\n } catch(err) {\n postReturn0Async = exports1['cabi_post_milaboratories:pframes/spec#[static]axes.from-json'];\n }\n \n postReturn1 = exports1['cabi_post_milaboratories:pframes/spec#[method]axes.expand'];\n \n try {\n postReturn1Async = WebAssembly.promising(exports1['cabi_post_milaboratories:pframes/spec#[method]axes.expand']);\n } catch(err) {\n postReturn1Async = exports1['cabi_post_milaboratories:pframes/spec#[method]axes.expand'];\n }\n \n specStaticFrameFromJson = exports1['milaboratories:pframes/spec#[static]frame.from-json'];\n specStaticFrameDeleteColumns = exports1['milaboratories:pframes/spec#[static]frame.delete-columns'];\n specStaticFrameBuildQuery = exports1['milaboratories:pframes/spec#[static]frame.build-query'];\n specMethodFrameGetColumn = exports1['milaboratories:pframes/spec#[method]frame.get-column'];\n specMethodFrameListColumns = exports1['milaboratories:pframes/spec#[method]frame.list-columns'];\n specMethodFrameDiscoverColumns = exports1['milaboratories:pframes/spec#[method]frame.discover-columns'];\n specMethodFrameFindColumns = exports1['milaboratories:pframes/spec#[method]frame.find-columns'];\n specMethodFrameEvaluateQuery = exports1['milaboratories:pframes/spec#[method]frame.evaluate-query'];\n specMethodFrameRewriteLegacyQuery = exports1['milaboratories:pframes/spec#[method]frame.rewrite-legacy-query'];\n specStaticFrameRewriteLegacyFilters = exports1['milaboratories:pframes/spec#[static]frame.rewrite-legacy-filters'];\n specStaticTableFromJson = exports1['milaboratories:pframes/spec#[static]table.from-json'];\n specMethodTableFindColumn = exports1['milaboratories:pframes/spec#[method]table.find-column'];\n specStaticAxesFromJson = exports1['milaboratories:pframes/spec#[static]axes.from-json'];\n specStaticAxesCollapse = exports1['milaboratories:pframes/spec#[static]axes.collapse'];\n specMethodAxesExpand = exports1['milaboratories:pframes/spec#[method]axes.expand'];\n specMethodAxesFind = exports1['milaboratories:pframes/spec#[method]axes.find'];\n })();\n let promise, resolve, reject;\n function runNext (value) {\n try {\n let done;\n do {\n ({ value, done } = gen.next(value));\n } while (!(value instanceof Promise) && !done);\n if (done) {\n if (resolve) resolve(value);\n else return value;\n }\n if (!promise) promise = new Promise((_resolve, _reject) => (resolve = _resolve, reject = _reject));\n value.then(runNext, reject);\n }\n catch (e) {\n if (reject) reject(e);\n else throw e;\n }\n }\n const maybeSyncReturn = runNext(null);\n return promise || maybeSyncReturn;\n})();\n\nawait $init;\nconst spec = {\n Axes: Axes,\n Frame: Frame,\n Table: Table,\n \n};\n\nexport { spec, }\nexport const _util = {\n \n}\n\n"],"mappings":"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"}
|