@subframe7536/fonttools
Version:
[ESM only] fonttools for nodejs or web with vite plugin, powered by pyodide
8 lines • 923 kB
JavaScript
var Ee=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Q_=Object.getOwnPropertyNames,ve=(e=>typeof Ee<"u"?Ee:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof Ee<"u"?Ee:t)[r]}):e)(function(e){if(typeof Ee<"u")return Ee.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),$_=(e,t)=>function(){return t||(0, e[Q_(e)[0]])((t={exports:{}}).exports,t),t.exports},Z_=$_({"../../node_modules/.pnpm/pyodide@0.27.5/node_modules/pyodide/pyodide.asm.js"(exports,module){var _createPyodideModule=(()=>{var _scriptName=typeof document<"u"?document.currentScript?.src:void 0;return function(moduleArg={}){var moduleRtn,Module=Object.assign({},moduleArg),readyPromiseResolve,readyPromiseReject,readyPromise=new Promise((e,t)=>{readyPromiseResolve=e,readyPromiseReject=t;}),ENVIRONMENT_IS_WEB=typeof window=="object",ENVIRONMENT_IS_WORKER=typeof importScripts=="function",ENVIRONMENT_IS_NODE=false,moduleOverrides=Object.assign({},Module),arguments_=[],thisProgram="./this.program",quit_=(e,t)=>{throw t},scriptDirectory="";function locateFile(e){return Module.locateFile?Module.locateFile(e,scriptDirectory):scriptDirectory+e}var read_,readAsync,readBinary;(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)&&(ENVIRONMENT_IS_WORKER?scriptDirectory=self.location.href:typeof document<"u"&&document.currentScript&&(scriptDirectory=document.currentScript.src),_scriptName&&(scriptDirectory=_scriptName),scriptDirectory.startsWith("blob:")?scriptDirectory="":scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1),read_=e=>{var t=new XMLHttpRequest;return t.open("GET",e,false),t.send(null),t.responseText},ENVIRONMENT_IS_WORKER&&(readBinary=e=>{var t=new XMLHttpRequest;return t.open("GET",e,false),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),readAsync=(e,t,r)=>{var _=new XMLHttpRequest;_.open("GET",e,true),_.responseType="arraybuffer",_.onload=()=>{if(_.status==200||_.status==0&&_.response){t(_.response);return}r();},_.onerror=r,_.send(null);});var out=Module.print||console.log.bind(console),err=Module.printErr||console.error.bind(console);Object.assign(Module,moduleOverrides),moduleOverrides=null,Module.arguments&&(arguments_=Module.arguments),Module.thisProgram&&(thisProgram=Module.thisProgram),Module.quit&&(quit_=Module.quit),Module.wrapException||(Module.wrapException=e=>e);var dynamicLibraries=Module.dynamicLibraries||[],wasmBinary;Module.wasmBinary&&(wasmBinary=Module.wasmBinary);var wasmMemory,ABORT=false,EXITSTATUS;function assert(e,t){e||abort(t);}var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAP64,HEAPU64,HEAPF64;function updateMemoryViews(){var e=wasmMemory.buffer;Module.HEAP8=HEAP8=new Int8Array(e),Module.HEAP16=HEAP16=new Int16Array(e),Module.HEAPU8=HEAPU8=new Uint8Array(e),Module.HEAPU16=HEAPU16=new Uint16Array(e),Module.HEAP32=HEAP32=new Int32Array(e),Module.HEAPU32=HEAPU32=new Uint32Array(e),Module.HEAPF32=HEAPF32=new Float32Array(e),Module.HEAPF64=HEAPF64=new Float64Array(e),Module.HEAP64=HEAP64=new BigInt64Array(e),Module.HEAPU64=HEAPU64=new BigUint64Array(e);}if(Module.wasmMemory)wasmMemory=Module.wasmMemory;else {var INITIAL_MEMORY=Module.INITIAL_MEMORY||20971520;wasmMemory=new WebAssembly.Memory({initial:INITIAL_MEMORY/65536,maximum:65536});}updateMemoryViews();var __ATPRERUN__=[],__ATINIT__=[],__ATMAIN__=[],__ATPOSTRUN__=[],__RELOC_FUNCS__=[],runtimeInitialized=false;function preRun(){if(Module.preRun)for(typeof Module.preRun=="function"&&(Module.preRun=[Module.preRun]);Module.preRun.length;)addOnPreRun(Module.preRun.shift());callRuntimeCallbacks(__ATPRERUN__);}function initRuntime(){runtimeInitialized=true,callRuntimeCallbacks(__RELOC_FUNCS__),!Module.noFSInit&&!FS.init.initialized&&FS.init(),FS.ignorePermissions=false,TTY.init(),SOCKFS.root=FS.mount(SOCKFS,{},null),PIPEFS.root=FS.mount(PIPEFS,{},null),callRuntimeCallbacks(__ATINIT__);}function preMain(){callRuntimeCallbacks(__ATMAIN__);}function postRun(){if(Module.postRun)for(typeof Module.postRun=="function"&&(Module.postRun=[Module.postRun]);Module.postRun.length;)addOnPostRun(Module.postRun.shift());callRuntimeCallbacks(__ATPOSTRUN__);}function addOnPreRun(e){__ATPRERUN__.unshift(e);}function addOnInit(e){__ATINIT__.unshift(e);}function addOnPostRun(e){__ATPOSTRUN__.unshift(e);}var runDependencies=0,dependenciesFulfilled=null;function addRunDependency(e){runDependencies++,Module.monitorRunDependencies?.(runDependencies);}function removeRunDependency(e){if(runDependencies--,Module.monitorRunDependencies?.(runDependencies),runDependencies==0&&dependenciesFulfilled){var t=dependenciesFulfilled;dependenciesFulfilled=null,t();}}function abort(e){Module.onAbort?.(e),e="Aborted("+e+")",err(e),ABORT=true,EXITSTATUS=1,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw readyPromiseReject(t),t}var dataURIPrefix="data:application/octet-stream;base64,",isDataURI=e=>e.startsWith(dataURIPrefix),isFileURI=e=>e.startsWith("file://"),wasmBinaryFile;wasmBinaryFile="pyodide.asm.wasm",isDataURI(wasmBinaryFile)||(wasmBinaryFile=locateFile(wasmBinaryFile));function getBinarySync(e){if(e==wasmBinaryFile&&wasmBinary)return new Uint8Array(wasmBinary);if(readBinary)return readBinary(e);throw "both async and sync fetching of the wasm failed"}function getBinaryPromise(e){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"&&!isFileURI(e))return fetch(e,{credentials:"same-origin"}).then(t=>{if(!t.ok)throw `failed to load wasm binary file at '${e}'`;return t.arrayBuffer()}).catch(()=>getBinarySync(e));if(readAsync)return new Promise((t,r)=>{readAsync(e,_=>t(new Uint8Array(_)),r);})}return Promise.resolve().then(()=>getBinarySync(e))}function instantiateArrayBuffer(e,t,r){return getBinaryPromise(e).then(_=>WebAssembly.instantiate(_,t)).then(r,_=>{err(`failed to asynchronously prepare wasm: ${_}`),abort(_);})}function instantiateAsync(e,t,r,_){return !e&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(t)&&!isFileURI(t)&&typeof fetch=="function"?fetch(t,{credentials:"same-origin"}).then(o=>{var a=WebAssembly.instantiateStreaming(o,r);return a.then(_,function(n){return err(`wasm streaming compile failed: ${n}`),err("falling back to ArrayBuffer instantiation"),instantiateArrayBuffer(t,r,_)})}):instantiateArrayBuffer(t,r,_)}function getWasmImports(){return {env:wasmImports,wasi_snapshot_preview1:wasmImports,"GOT.mem":new Proxy(wasmImports,GOTHandler),"GOT.func":new Proxy(wasmImports,GOTHandler)}}function createWasm(){var e=getWasmImports();Module.adjustWasmImports&&Module.adjustWasmImports(e);function t(_,o){wasmExports=_.exports,wasmExports=relocateExports(wasmExports,1024);var a=getDylinkMetadata(o);return a.neededDynlibs&&(dynamicLibraries=a.neededDynlibs.concat(dynamicLibraries)),mergeLibSymbols(wasmExports),LDSO.init(),loadDylibs(),wasmExports=applySignatureConversions(wasmExports),addOnInit(wasmExports.__wasm_call_ctors),__RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs),removeRunDependency(),wasmExports}addRunDependency();function r(_){t(_.instance,_.module);}if(Module.instantiateWasm)try{return Module.instantiateWasm(e,t)}catch(_){err(`Module.instantiateWasm callback failed with error: ${_}`),readyPromiseReject(_);}return instantiateAsync(wasmBinary,wasmBinaryFile,e,r).catch(readyPromiseReject),{}}var ASM_CONSTS={4580244:()=>{throw new Error("intentionally triggered fatal error!")},4580301:()=>{wasmImports.open64=wasmImports.open;},4580350:()=>jspiSupported};function new_error(e,t,r){return new API.PythonError(UTF8ToString(e),t,r)}new_error.sig="eiei";function fail_test(){API.fail_test=true;}fail_test.sig="v";function capture_stderr(){API.capture_stderr();}capture_stderr.sig="v";function restore_stderr(){return API.restore_stderr()}restore_stderr.sig="e";function raw_call_js(e){e();}raw_call_js.sig="ve";function hiwire_invalid_ref(e,t){if(API.fail_test=true,e===1&&!t)if(_PyErr_Occurred()){let o=_wrap_exception();throw console.error("Pyodide internal error: Argument to hiwire_get is falsy. This was probably because the Python error indicator was set when get_value was called. The Python error that caused this was:",o),o}else {let o="Pyodide internal error: Argument to hiwire_get is falsy (but error indicator is not set).";throw console.error(o),new Error(o)}let _=`hiwire_${{1:"get",2:"incref",3:"decref"}[e]} on invalid reference ${t}. This is most likely due to use after free. It may also be due to memory corruption.`;throw console.error(_),new Error(_)}hiwire_invalid_ref.sig="vii";function set_pyodide_module(e){API._pyodide=e;}set_pyodide_module.sig="ve";function js2python_immutable_js(e){try{let t=Module.js2python_convertImmutable(e);return t!==void 0?t:0}catch(t){return Module.handle_js_error(t),0}errNoRet();}js2python_immutable_js.sig="ie";function js2python_js(e){try{let t=Module.js2python_convertImmutable(e);return t!==void 0?t:_JsProxy_create(e)}catch(t){return Module.handle_js_error(t),0}errNoRet();}js2python_js.sig="ie";function js2python_convert(e,t,r){try{return Module.js2python_convert(e,{depth:t,defaultConverter:r})}catch(_){return Module.handle_js_error(_),0}errNoRet();}js2python_convert.sig="ieie";function isReservedWord(e){return Module.pythonReservedWords||(Module.pythonReservedWords=new Set(["False","await","else","import","pass","None","break","except","in","raise","True","class","finally","is","return","and","continue","for","lambda","try","as","def","from","nonlocal","while","assert","del","global","not","with","async","elif","if","or","yield"])),Module.pythonReservedWords.has(e)}function normalizeReservedWords(e){let t=e.replace(/_*$/,"");return isReservedWord(t)&&t!==e?e.slice(0,-1):e}function JsProxy_GetAttr_js(e,t){try{let r=normalizeReservedWords(UTF8ToString(t)),_=e[r];return _===void 0&&!(r in e)?null:nullToUndefined(_)}catch(r){return Module.handle_js_error(r),null}errNoRet();}JsProxy_GetAttr_js.sig="eei";function JsProxy_SetAttr_js(e,t,r){try{let _=normalizeReservedWords(UTF8ToString(t));e[_]=r;}catch(_){return Module.handle_js_error(_),-1}return 0}JsProxy_SetAttr_js.sig="ieie";function JsProxy_DelAttr_js(e,t){try{let r=normalizeReservedWords(UTF8ToString(t));delete e[r];}catch(r){return Module.handle_js_error(r),-1}return 0}JsProxy_DelAttr_js.sig="iei";function JsProxy_GetIter_js(e){try{return e[Symbol.iterator]()}catch(t){return Module.handle_js_error(t),null}errNoRet();}JsProxy_GetIter_js.sig="ee";function handle_next_result_js(e,t,r){try{let _;return typeof e!="object"?_=`Result should have type "object" not "${typeof e}"`:typeof e.done>"u"&&(typeof e.then=="function"?_="Result was a promise, use anext() / asend() / athrow() instead.":_='Result has no "done" field.'),_&&(HEAPU32[(r>>2)+0>>>0]=stringToNewUTF8(_),HEAPU32[(t>>2)+0>>>0]=-1),HEAPU32[(t>>2)+0>>>0]=e.done,e.value}catch(_){return Module.handle_js_error(_),-1}return 0}handle_next_result_js.sig="eeii";function JsException_new_helper(e,t,r){try{let _=UTF8ToString(e),o=UTF8ToString(t),a=UTF8ToString(r);return API.deserializeError(_,o,a)}catch(_){return Module.handle_js_error(_),null}errNoRet();}JsException_new_helper.sig="eiii";function JsProxy_GetAsyncIter_js(e){try{return e[Symbol.asyncIterator]()}catch(t){return Module.handle_js_error(t),null}errNoRet();}JsProxy_GetAsyncIter_js.sig="ee";function _agen_handle_result_js(e,t,r,_,o){try{let a;return typeof e!="object"?a=`Result of anext() should be object not ${typeof e}`:typeof e.then!="function"&&(typeof e.done=="boolean"?a="Result of anext() was not a promise, use next() instead.":a="Result of anext() was not a promise."),a?(HEAPU32[(t>>2)+0>>>0]=stringToNewUTF8(a),-1):(_Py_IncRef(r),_Py_IncRef(_),e.then(({done:n,value:d})=>{__agen_handle_result_js_c(r,_,n,d,o);},n=>{__agen_handle_result_js_c(r,_,-1,n,o);}).finally(()=>{_Py_DecRef(r),_Py_DecRef(_);}),0)}catch(a){return Module.handle_js_error(a),-1}return 0}_agen_handle_result_js.sig="ieiiii";function get_length_helper(e){try{let t;if(typeof e.size=="number")t=e.size;else if(typeof e.length=="number")t=e.length;else return -2;return t<0?-3:t>2147483647?-4:t}catch(t){return Module.handle_js_error(t),-1}return 0}get_length_helper.sig="ie";function get_length_string(e){try{let t;return typeof e.size=="number"?t=e.size:typeof e.length=="number"&&(t=e.length),stringToNewUTF8(" "+t.toString())}catch(t){return Module.handle_js_error(t),0}errNoRet();}get_length_string.sig="ie";function destroy_jsarray_entries(e){for(let t of e)try{typeof t.destroy=="function"&&t.destroy();}catch(r){console.warn("Weird error:",r);}}destroy_jsarray_entries.sig="ve";function JsArray_repeat_js(e,t){try{return Array.from({length:t},()=>e).flat()}catch(r){return Module.handle_js_error(r),null}errNoRet();}JsArray_repeat_js.sig="eei";function JsArray_inplace_repeat_js(e,t){try{e.splice(0,e.length,...Array.from({length:t},()=>e).flat());}catch(r){return Module.handle_js_error(r),-1}return 0}JsArray_inplace_repeat_js.sig="iei";function JsArray_reversed_iterator(e){return new ReversedIterator(e)}class ReversedIterator{constructor(t){this._array=t,this._i=t.length-1;}__length_hint__(){return this._array.length}[Symbol.toStringTag](){return "ReverseIterator"}next(){let t=this._i,r=this._array,_=t<0,o=_?void 0:r[t];return this._i--,{done:_,value:o}}}JsArray_reversed_iterator.sig="ee";function JsArray_index_js(e,t,r,_){try{for(let o=r;o<_;o++)if(e[o]===t)return o;return -1}catch(o){return Module.handle_js_error(o),-1}return 0}JsArray_index_js.sig="ieeii";function JsArray_count_js(e,t){try{let r=0;for(let _=0;_<e.length;_++)e[_]===t&&r++;return r}catch(r){return Module.handle_js_error(r),-1}return 0}JsArray_count_js.sig="iee";function JsArray_reverse_js(e){try{e.reverse();}catch(t){return Module.handle_js_error(t),-1}return 0}JsArray_reverse_js.sig="ie";function JsProxy_subscript_js(e,t){try{let r=e.get(t);return r===void 0&&e.has&&typeof e.has=="function"&&!e.has(t)?null:nullToUndefined(r)}catch(r){return Module.handle_js_error(r),null}errNoRet();}JsProxy_subscript_js.sig="eee";function JsMap_GetIter_js(e){try{let t;return typeof e.keys=="function"?t=e.keys():t=e[Symbol.iterator](),t}catch(t){return Module.handle_js_error(t),null}errNoRet();}JsMap_GetIter_js.sig="ee";function JsMap_clear_js(e){try{return e&&typeof e.clear=="function"?(e.clear(),1):0}catch(t){return Module.handle_js_error(t),-1}return 0}JsMap_clear_js.sig="ie";function JsProxy_Dir_js(e){try{let t=[];do{let r=Object.getOwnPropertyNames(e);t.push(...r.filter(_=>{let o=_.charCodeAt(0);return o<48||o>57}).map(_=>isReservedWord(_.replace(/_*$/,""))?_+"_":_));}while(e=Object.getPrototypeOf(e));return t}catch(t){return Module.handle_js_error(t),null}errNoRet();}JsProxy_Dir_js.sig="ee";function JsProxy_Bool_js(e){try{return e?e.size===0?!!/HTML[A-Za-z]*Element/.test(getTypeTag(e)):!(e.length===0&&JsvArray_Check(e)||e.byteLength===0):!1}catch{return false}}JsProxy_Bool_js.sig="ie";function JsObjMap_GetIter_js(e){try{return Module.iterObject(e)}catch(t){return Module.handle_js_error(t),null}errNoRet();}JsObjMap_GetIter_js.sig="ee";function JsObjMap_length_js(e){try{let t=0;for(let r of Module.iterObject(e))t++;return t}catch(t){return Module.handle_js_error(t),-1}return 0}JsObjMap_length_js.sig="ie";function JsObjMap_subscript_js(e,t){try{return Object.prototype.hasOwnProperty.call(e,t)?e[t]:null}catch(r){return Module.handle_js_error(r),null}errNoRet();}JsObjMap_subscript_js.sig="eee";function JsObjMap_ass_subscript_js(e,t,r){try{if(r===null){if(!Object.prototype.hasOwnProperty.call(e,t))return -1;delete e[t];}else e[t]=r;return 0}catch(_){return Module.handle_js_error(_),-1}return 0}JsObjMap_ass_subscript_js.sig="ieee";function JsObjMap_contains_js(e,t){try{return Object.prototype.hasOwnProperty.call(e,t)}catch(r){return Module.handle_js_error(r),-1}return 0}JsObjMap_contains_js.sig="iee";function JsModule_GetAll_js(e){try{return Object.getOwnPropertyNames(e)}catch(t){return Module.handle_js_error(t),null}errNoRet();}JsModule_GetAll_js.sig="ee";function JsBuffer_DecodeString_js(e,t){try{let r;t&&(r=UTF8ToString(t));let _=new TextDecoder(r,{fatal:!0,ignoreBOM:!0}),o;try{o=_.decode(e);}catch(a){if(a instanceof TypeError)return null;throw a}return o}catch(r){return Module.handle_js_error(r),null}errNoRet();}JsBuffer_DecodeString_js.sig="eei";function JsBuffer_get_info(e,t,r,_,o){let[a,n,d]=Module.get_buffer_datatype(e);HEAPU32[(t>>2)+0>>>0]=e.byteLength,HEAPU32[(r>>2)+0>>>0]=a,HEAPU32[(_>>2)+0>>>0]=n,HEAPU8[o+0>>>0]=d;}JsBuffer_get_info.sig="veiiii";function JsDoubleProxy_unwrap_helper(e){try{return Module.PyProxy_getPtr(e)}catch(t){return Module.handle_js_error(t),0}errNoRet();}JsDoubleProxy_unwrap_helper.sig="ie";function JsProxy_compute_typeflags(e,t){try{let r=function(c){try{return c()}catch{return !1}},_=0;if(API.isPyProxy(e)&&!pyproxyIsAlive(e))return 0;let o=getTypeTag(e),a=r(()=>ArrayBuffer.isView(e)),n=r(()=>Array.isArray(e)),d=r(()=>e.constructor.name)||"";return typeof e=="function"&&(_|=512),hasMethod(e,"then")&&(_|=128),hasMethod(e,Symbol.iterator)&&(_|=1),hasMethod(e,Symbol.asyncIterator)&&(_|=32768),hasMethod(e,"next")&&(hasMethod(e,Symbol.iterator)||!hasMethod(e,Symbol.asyncIterator))&&(_|=2),hasMethod(e,"next")&&(!hasMethod(e,Symbol.iterator)||hasMethod(e,Symbol.asyncIterator))&&(_|=262144),(hasProperty(e,"size")||hasProperty(e,"length")&&typeof e!="function")&&(_|=4),hasMethod(e,"get")&&(_|=8),hasMethod(e,"set")&&(_|=16),hasMethod(e,"has")&&(_|=32),hasMethod(e,"includes")&&(_|=64),(a||o==="[object ArrayBuffer]")&&!(_&512)&&(_|=256),API.isPyProxy(e)&&(_|=8192),n&&(_|=1024),(o==="[object HTMLCollection]"||o==="[object NodeList]")&&(_|=2048),a&&o!=="[object DataView]"&&(_|=4096),o==="[object Generator]"&&(_|=65536),o==="[object AsyncGenerator]"&&(_|=131072),hasProperty(e,"name")&&hasProperty(e,"message")&&(hasProperty(e,"stack")||d==="DOMException")&&!(_&768)&&(_|=524288),t&&_&3074&&(_|=2097152),t&&!(_&540418)&&(_|=1048576),_}catch(r){return Module.handle_js_error(r),-1}return 0}JsProxy_compute_typeflags.sig="iei";function is_comlink_proxy(e){try{return !!(API.Comlink&&value[API.Comlink.createEndpoint])}catch{return false}}is_comlink_proxy.sig="ie";function can_run_sync_js(){return !!validSuspender.value}can_run_sync_js.sig="i";function my_dict_converter(){return Object.fromEntries}my_dict_converter.sig="e";function get_async_js_call_done_callback(e){try{return function(t){let r="This borrowed proxy was automatically destroyed at the end of an asynchronous function call. Try using create_proxy or create_once_callable.";for(let _ of e)Module.pyproxy_destroy(_,r,!1);API.isPyProxy(t)&&Module.pyproxy_destroy(t,r,!1);}}catch(t){return Module.handle_js_error(t),null}errNoRet();}get_async_js_call_done_callback.sig="ee";function wrap_generator(e,t){try{let r=function(){t.forEach(a=>Module.pyproxy_destroy(a,o));},_=function(a){return function(n){API.isPyProxy(n)&&(n=n.copy(),t.add(n));let d;try{d=e[a](n);}catch(c){throw r(),c}return d.done&&(t.delete(d.value),r()),d}};t=new Set(t);let o="This borrowed proxy was automatically destroyed when a generator completed execution. Try using create_proxy or create_once_callable.";return {get[Symbol.toStringTag](){return "Generator"},[Symbol.iterator](){return this},next:_("next"),throw:_("throw"),return:_("return")}}catch(r){return Module.handle_js_error(r),null}errNoRet();}wrap_generator.sig="eee";function wrap_async_generator(e,t){try{let r=function(){t.forEach(a=>Module.pyproxy_destroy(a,o));},_=function(a){return async function(n){API.isPyProxy(n)&&(n=n.copy(),t.add(n));let d;try{d=await e[a](n);}catch(c){throw r(),c}return d.done&&(t.delete(d.value),r()),d}};t=new Set(t);let o="This borrowed proxy was automatically destroyed when an asynchronous generator completed execution. Try using create_proxy or create_once_callable.";return {get[Symbol.toStringTag](){return "AsyncGenerator"},[Symbol.asyncIterator](){return this},next:_("next"),throw:_("throw"),return:_("return")}}catch(r){return Module.handle_js_error(r),null}errNoRet();}wrap_async_generator.sig="eee";function throw_no_gil(){throw new API.NoGilError("Attempted to use PyProxy when Python GIL not held")}throw_no_gil.sig="v";function pyproxy_Check(e){return API.isPyProxy(e)}pyproxy_Check.sig="ie";function pyproxy_AsPyObject(e){return !API.isPyProxy(e)||!pyproxyIsAlive(e)?0:Module.PyProxy_getPtr(e)}pyproxy_AsPyObject.sig="ie";function destroy_proxies(e,t){let r;t&&(r=_JsvString_FromId(t));for(let _ of e)Module.pyproxy_destroy(_,r,false);}destroy_proxies.sig="vei";function gc_register_proxies(e){for(let t of e)Module.gc_register_proxy(Module.PyProxy_getAttrs(t).shared);}gc_register_proxies.sig="ve";function destroy_proxy(e,t){let{shared:r,props:_}=Module.PyProxy_getAttrsQuiet(e);if(!r.ptr||_.roundtrip)return;let o;t&&(o=_JsvString_FromId(t)),Module.pyproxy_destroy(e,o,false);}destroy_proxy.sig="vei";function proxy_cache_get(e,t){let r=e.get(t);return r?pyproxyIsAlive(r)?r:(e.delete(t),null):null}proxy_cache_get.sig="eei";function proxy_cache_set(e,t,r){e.set(t,r);}proxy_cache_set.sig="veie";function _pyproxyGen_make_result(e,t){return {done:!!e,value:t}}_pyproxyGen_make_result.sig="eie";function array_to_js(e,t){return Array.from(HEAP32.subarray(e/4>>>0,e/4+t>>>0))}array_to_js.sig="eii";function _pyproxy_get_buffer_result(e,t,r,_,o,a,n,d,c,m,M,f){return o=UTF8ToString(o),{start_ptr:e,smallest_ptr:t,largest_ptr:r,readonly:_,format:o,itemsize:a,shape:n,strides:d,view:c,c_contiguous:m,f_contiguous:M}}_pyproxy_get_buffer_result.sig="eiiiiiieeiiii";function pyproxy_new_ex(e,t,r,_,o){try{return Module.pyproxy_new(e,{props:{captureThis:!!t,roundtrip:!!r},gcRegister:_,jsonAdaptor:o})}catch(a){return Module.handle_js_error(a),null}errNoRet();}pyproxy_new_ex.sig="eiiiii";function pyproxy_new(e){try{return Module.pyproxy_new(e)}catch(t){return Module.handle_js_error(t),null}errNoRet();}pyproxy_new.sig="ei";function create_once_callable(e,t){try{let r=function(...o){if(_)throw new Error("OnceProxy can only be called once");try{return t?Module.callPyObjectMaybePromising(e,o):Module.callPyObject(e,o)}finally{r.destroy();}};_Py_IncRef(e);let _=!1;return r.destroy=function(){if(_)throw new Error("OnceProxy has already been destroyed");_=!0,Module.finalizationRegistry.unregister(r),_Py_DecRef(e);},Module.finalizationRegistry.register(r,[e,void 0],r),r}catch(r){return Module.handle_js_error(r),null}errNoRet();}create_once_callable.sig="eii";function create_promise_handles(e,t,r,_){try{let o=function(){if(c)throw new Error("One of the promise handles has already been called.")},a=function(){o(),c=!0,e&&_Py_DecRef(e),t&&_Py_DecRef(t),_&&_Py_DecRef(_);},n=function(m){o();try{if(e)return _create_promise_handles_result_helper(e,_,m)}finally{r(m),a();}},d=function(m){o();try{if(t)return Module.callPyObjectMaybePromising(t,[m])}finally{r(void 0),a();}};e&&_Py_IncRef(e),t&&_Py_IncRef(t),_&&_Py_IncRef(_),r||(r=m=>{});let c=!1;return n.destroy=a,d.destroy=a,[n,d]}catch(o){return Module.handle_js_error(o),null}errNoRet();}create_promise_handles.sig="eiiei";function _python2js_buffer_inner(e,t,r,_,o,a,n){try{let d=Module.get_converter(_,t);return Module._python2js_buffer_recursive(e,0,{ndim:r,format:_,itemsize:t,shape:o,strides:a,suboffsets:n,converter:d})}catch(d){return Module.handle_js_error(d),null}errNoRet();}_python2js_buffer_inner.sig="eiiiiiii";function jslib_init_js(){try{return HEAP32[_Jsr_undefined/4>>>0]=_hiwire_intern(void 0),HEAP32[_Jsr_true/4>>>0]=_hiwire_intern(!0),HEAP32[_Jsr_false/4>>>0]=_hiwire_intern(!1),HEAP32[_Jsr_novalue/4>>>0]=_hiwire_intern({noValueMarker:1}),Module.novalue=_hiwire_get(HEAP32[_Jsr_novalue/4>>>0]),Hiwire.num_keys=_hiwire_num_refs,0}catch(e){return Module.handle_js_error(e),-1}return 0}jslib_init_js.sig="i";function JsvNoValue_Check(e){return e===Module.novalue}JsvNoValue_Check.sig="ie";function JsvNum_fromInt(e){return e}JsvNum_fromInt.sig="ei";function JsvNum_fromDouble(e){return e}JsvNum_fromDouble.sig="ed";function JsvNum_fromDigits(e,t){let r=BigInt(0);for(let _=0;_<t;_++)r+=BigInt(HEAPU32[(e>>2)+_>>>0])<<BigInt(32*_);return r+=BigInt(HEAPU32[(e>>2)+t-1>>>0]&2147483648)<<BigInt(1+32*(t-1)),-Number.MAX_SAFE_INTEGER<r&&r<Number.MAX_SAFE_INTEGER&&(r=Number(r)),r}JsvNum_fromDigits.sig="eii";function Jsv_to_bool(e){return !!e}Jsv_to_bool.sig="ie";function Jsv_typeof(e){return typeof e}Jsv_typeof.sig="ee";function Jsv_constructorName(e){try{return stringToNewUTF8(e.constructor.name)}catch(t){return Module.handle_js_error(t),0}errNoRet();}Jsv_constructorName.sig="ie";function JsvUTF8ToString(e){return UTF8ToString(e)}JsvUTF8ToString.sig="ei";function JsvArray_New(){return []}JsvArray_New.sig="e";function JsvArray_Check(e){try{if(Array.isArray(e))return !0;let t=getTypeTag(e);return !!(t==="[object HTMLCollection]"||t==="[object NodeList]"||ArrayBuffer.isView(e)&&e.constructor.name!=="DataView")}catch{return false}}JsvArray_Check.sig="ie";function JsvArray_Get(e,t){try{let r=e[t];return r===void 0&&!(t in e)?null:nullToUndefined(r)}catch(r){return Module.handle_js_error(r),null}errNoRet();}JsvArray_Get.sig="eei";function JsvArray_Set(e,t,r){try{e[t]=r;}catch(_){return Module.handle_js_error(_),-1}return 0}JsvArray_Set.sig="ieie";function JsvArray_Delete(e,t){try{return t<0||t>=e.length?null:e.splice(t,1)[0]}catch(r){return Module.handle_js_error(r),null}errNoRet();}JsvArray_Delete.sig="eei";function JsvArray_Push(e,t){return e.push(t)}JsvArray_Push.sig="iee";function JsvArray_Extend(e,t){e.push(...t);}JsvArray_Extend.sig="vee";function JsvArray_Insert(e,t,r){try{e.splice(t,0,r);}catch(_){return Module.handle_js_error(_),-1}return 0}JsvArray_Insert.sig="ieie";function JsvArray_ShallowCopy(e){try{return "slice"in e?e.slice():Array.from(e)}catch(t){return Module.handle_js_error(t),-1}return 0}JsvArray_ShallowCopy.sig="ee";function JsvArray_slice(e,t,r,_,o){try{let a;return o===1?a=e.slice(r,_):a=Array.from({length:t},(n,d)=>e[r+d*o]),a}catch(a){return Module.handle_js_error(a),null}errNoRet();}JsvArray_slice.sig="eeiiii";function JsvArray_slice_assign(e,t,r,_,o,a,n){try{let d=[];for(let c=0;c<a;c++){let m=_python2js(HEAPU32[(n>>2)+c>>>0]);if(m===null)return -1;d.push(m);}if(o===1)e.splice(r,t,...d);else if(n!==0)for(let c=0;c<t;c++)e.splice(r+c*o,1,d[c]);else for(let c=t-1;c>=0;c--)e.splice(r+c*o,1);}catch(d){return Module.handle_js_error(d),-1}return 0}JsvArray_slice_assign.sig="ieiiiiii";function JsvObject_New(){return {}}JsvObject_New.sig="e";function JsvObject_SetAttr(e,t,r){try{e[t]=r;}catch(_){return Module.handle_js_error(_),-1}return 0}JsvObject_SetAttr.sig="ieee";function JsvObject_Entries(e){try{return Object.entries(e)}catch(t){return Module.handle_js_error(t),null}errNoRet();}JsvObject_Entries.sig="ee";function JsvObject_Keys(e){try{return Object.keys(e)}catch(t){return Module.handle_js_error(t),null}errNoRet();}JsvObject_Keys.sig="ee";function JsvObject_Values(e){try{return Object.values(e)}catch(t){return Module.handle_js_error(t),null}errNoRet();}JsvObject_Values.sig="ee";function JsvObject_toString(e){try{return hasMethod(e,"toString")?e.toString():Object.prototype.toString.call(e)}catch(t){return Module.handle_js_error(t),null}errNoRet();}JsvObject_toString.sig="ee";function JsvObject_CallMethod(e,t,r){try{return nullToUndefined(e[t](...r))}catch(_){return Module.handle_js_error(_),null}errNoRet();}JsvObject_CallMethod.sig="eeee";function JsvObject_CallMethod_NoArgs(e,t){try{return nullToUndefined(e[t]())}catch(r){return Module.handle_js_error(r),null}errNoRet();}JsvObject_CallMethod_NoArgs.sig="eee";function JsvObject_CallMethod_OneArg(e,t,r){try{return nullToUndefined(e[t](r))}catch(_){return Module.handle_js_error(_),null}errNoRet();}JsvObject_CallMethod_OneArg.sig="eeee";function JsvObject_CallMethod_TwoArgs(e,t,r,_){try{return nullToUndefined(e[t](r,_))}catch(o){return Module.handle_js_error(o),null}errNoRet();}JsvObject_CallMethod_TwoArgs.sig="eeeee";function JsvFunction_Check(e){try{return typeof e=="function"}catch{return false}}JsvFunction_Check.sig="ie";function JsvFunction_CallBound(e,t,r){try{return nullToUndefined(Function.prototype.apply.apply(e,[t,r]))}catch(_){return Module.handle_js_error(_),null}errNoRet();}JsvFunction_CallBound.sig="eeee";function JsvFunction_Call_OneArg(e,t){try{return nullToUndefined(e(t))}catch(r){return Module.handle_js_error(r),null}errNoRet();}JsvFunction_Call_OneArg.sig="eee";function JsvFunction_Construct(e,t){try{return nullToUndefined(Reflect.construct(e,t))}catch(r){return Module.handle_js_error(r),null}errNoRet();}JsvFunction_Construct.sig="eee";function JsvPromise_Check(e){try{return isPromise(e)}catch{return false}}JsvPromise_Check.sig="ie";function JsvPromise_Resolve(e){try{return Promise.resolve(e)}catch(t){return Module.handle_js_error(t),null}errNoRet();}JsvPromise_Resolve.sig="ee";function jslib_init_buffers_js(){try{let e=Array.from("bBhHiIqQfd").join("\0"),t=stringToNewUTF8(e),r=Object.fromEntries(Object.entries(e).map(([o,a])=>[a,t+ +o])),_=new Map([["Int8Array",[r.b,1,!0]],["Uint8Array",[r.B,1,!0]],["Uint8ClampedArray",[r.B,1,!0]],["Int16Array",[r.h,2,!0]],["Uint16Array",[r.H,2,!0]],["Int32Array",[r.i,4,!0]],["Uint32Array",[r.I,4,!0]],["Float32Array",[r.f,4,!0]],["Float64Array",[r.d,8,!0]],["BigInt64Array",[r.q,8,!0]],["BigUint64Array",[r.Q,8,!0]],["DataView",[r.B,1,!1]],["ArrayBuffer",[r.B,1,!1]]]);Module.get_buffer_datatype=function(o){return _.get(o.constructor.name)||[0,0,!1]};}catch(e){return Module.handle_js_error(e),-1}return 0}jslib_init_buffers_js.sig="i";function JsvBuffer_assignToPtr(e,t){try{Module.HEAPU8.set(bufferAsUint8Array(e),t);}catch(r){return Module.handle_js_error(r),-1}return 0}JsvBuffer_assignToPtr.sig="iei";function JsvBuffer_assignFromPtr(e,t){try{bufferAsUint8Array(e).set(Module.HEAPU8.subarray(t,t+e.byteLength));}catch(r){return Module.handle_js_error(r),-1}return 0}JsvBuffer_assignFromPtr.sig="iei";function JsvBuffer_readFromFile(e,t){try{let r=bufferAsUint8Array(e),_=Module.FS.streams[t];Module.FS.read(_,r,0,r.byteLength);}catch(r){return Module.handle_js_error(r),-1}return 0}JsvBuffer_readFromFile.sig="iei";function JsvBuffer_writeToFile(e,t){try{let r=bufferAsUint8Array(e),_=Module.FS.streams[t];Module.FS.write(_,r,0,r.byteLength);}catch(r){return Module.handle_js_error(r),-1}return 0}JsvBuffer_writeToFile.sig="iei";function JsvBuffer_intoFile(e,t){try{let r=bufferAsUint8Array(e),_=Module.FS.streams[t];Module.FS.write(_,r,0,r.byteLength,void 0,!0);}catch(r){return Module.handle_js_error(r),-1}return 0}JsvBuffer_intoFile.sig="iei";function JsvGenerator_Check(e){try{return getTypeTag(e)==="[object Generator]"}catch{return false}}JsvGenerator_Check.sig="ie";function JsvAsyncGenerator_Check(e){try{return getTypeTag(e)==="[object AsyncGenerator]"}catch{return false}}JsvAsyncGenerator_Check.sig="ie";function JsvError_Throw(e){throw e}JsvError_Throw.sig="ve";function Jsv_less_than(e,t){try{return e<t}catch{return false}}Jsv_less_than.sig="iee";function Jsv_less_than_equal(e,t){try{return e<=t}catch{return false}}Jsv_less_than_equal.sig="iee";function Jsv_equal(e,t){try{return e===t}catch{return false}}Jsv_equal.sig="iee";function Jsv_not_equal(e,t){try{return e!==t}catch{return false}}Jsv_not_equal.sig="iee";function Jsv_greater_than(e,t){try{return e>t}catch{return false}}Jsv_greater_than.sig="iee";function Jsv_greater_than_equal(e,t){try{return e>=t}catch{return false}}Jsv_greater_than_equal.sig="iee";function JsvMap_New(){try{return new Map}catch(e){return Module.handle_js_error(e),null}errNoRet();}JsvMap_New.sig="e";function JsvLiteralMap_New(){try{return new API.LiteralMap}catch(e){return Module.handle_js_error(e),null}errNoRet();}JsvLiteralMap_New.sig="e";function JsvMap_Set(e,t,r){try{e.set(t,r);}catch(_){return Module.handle_js_error(_),-1}return 0}JsvMap_Set.sig="ieee";function JsvSet_New(){try{return new Set}catch(e){return Module.handle_js_error(e),null}errNoRet();}JsvSet_New.sig="e";function JsvSet_Add(e,t){try{e.add(t);}catch(r){return Module.handle_js_error(r),-1}return 0}JsvSet_Add.sig="iee";function _python2js_addto_postprocess_list(e,t,r,_){e.push([t,r,_]);}_python2js_addto_postprocess_list.sig="veeei";function _python2js_handle_postprocess_list(e,t){for(let[r,_,o]of e){let a=t.get(o);r.constructor.name==="LiteralMap"?r.set(_,a):r[_]=a;}}_python2js_handle_postprocess_list.sig="vee";function _python2js_ucs1(e,t){try{let r="";for(let _=0;_<t;++_)r+=String.fromCharCode(HEAPU8[e+_>>>0]);return r}catch(r){return Module.handle_js_error(r),null}errNoRet();}_python2js_ucs1.sig="eii";function _python2js_ucs2(e,t){try{let r="";for(let _=0;_<t;++_)r+=String.fromCharCode(HEAPU16[(e>>1)+_>>>0]);return r}catch(r){return Module.handle_js_error(r),null}errNoRet();}_python2js_ucs2.sig="eii";function _python2js_ucs4(e,t){try{let r="";for(let _=0;_<t;++_)r+=String.fromCodePoint(HEAPU32[(e>>2)+_>>>0]);return r}catch(r){return Module.handle_js_error(r),null}errNoRet();}_python2js_ucs4.sig="eii";function _python2js_add_to_cache(e,t,r){try{e.set(t,r);}catch(_){return Module.handle_js_error(_),-1}return 0}_python2js_add_to_cache.sig="ieie";function _python2js_cache_lookup(e,t){return e.get(t)||null}_python2js_cache_lookup.sig="eei";function _JsArray_PushEntry_helper(e,t,r){try{e.push([t,r]);}catch(_){return Module.handle_js_error(_),-1}return 0}_JsArray_PushEntry_helper.sig="ieee";function _JsArray_PostProcess_helper(e,t){try{return e.dict_converter(t)}catch(r){return Module.handle_js_error(r),null}errNoRet();}_JsArray_PostProcess_helper.sig="eee";function python2js__default_converter_js(e,t){try{let r=Module.pyproxy_new(t),_=e.default_converter(r,e.converter,e.cacheConversion);return r.destroy(),_}catch(r){return Module.handle_js_error(r),null}errNoRet();}python2js__default_converter_js.sig="eei";function python2js_custom__create_jscontext(e,t,r,_){try{let o={};return r&&(o.dict_converter=r),_&&(o.default_converter=_,o.cacheConversion=function(a,n){if(!API.isPyProxy(a))throw new TypeError("The first argument to cacheConversion must be a PyProxy.");let d=Module.PyProxy_getPtr(a);t.set(d,n);},o.converter=function(a){if(!API.isPyProxy(a))return a;let n=Module.PyProxy_getPtr(a);return __python2js(e,n)}),o}catch(o){return Module.handle_js_error(o),null}errNoRet();}python2js_custom__create_jscontext.sig="eieee";function destroy_proxies_js(e){try{for(let t of e)t.destroy();}catch(t){return Module.handle_js_error(t),-1}return 0}destroy_proxies_js.sig="ie";function pyodide_js_init(){(()=>{var e=Object.defineProperty,t=(l,u)=>e(l,"name",{value:u,configurable:true});(l=>typeof ve<"u"?ve:typeof Proxy<"u"?new Proxy(l,{get:(u,p)=>(typeof ve<"u"?ve:u)[p]}):l)(function(l){if(typeof ve<"u")return ve.apply(this,arguments);throw new Error('Dynamic require of "'+l+'" is not supported')});var r=(l,u,p)=>{if(!u.has(l))throw TypeError("Cannot "+p)},_=(l,u,p)=>(r(l,u,"read from private field"),p?p.call(l):u.get(l)),o=(l,u,p)=>{if(u.has(l))throw TypeError("Cannot add the same private member more than once");u instanceof WeakSet?u.add(l):u.set(l,p);},a=(l,u,p,y)=>(r(l,u,"write to private field"),u.set(l,p),p);function n(l){return !isNaN(parseFloat(l))&&isFinite(l)}t(n,"_isNumber");function d(l){return l.charAt(0).toUpperCase()+l.substring(1)}t(d,"_capitalize");function c(l){return function(){return this[l]}}t(c,"_getter");var m=["isConstructor","isEval","isNative","isToplevel"],M=["columnNumber","lineNumber"],f=["fileName","functionName","source"],w=["args"],E=["evalOrigin"],P=m.concat(M,f,w,E);function h(l){if(l)for(var u=0;u<P.length;u++)l[P[u]]!==void 0&&this["set"+d(P[u])](l[P[u]]);}for(t(h,"StackFrame"),h.prototype={getArgs:function(){return this.args},setArgs:function(l){if(Object.prototype.toString.call(l)!=="[object Array]")throw new TypeError("Args must be an Array");this.args=l;},getEvalOrigin:function(){return this.evalOrigin},setEvalOrigin:function(l){if(l instanceof h)this.evalOrigin=l;else if(l instanceof Object)this.evalOrigin=new h(l);else throw new TypeError("Eval Origin must be an Object or StackFrame")},toString:function(){var l=this.getFileName()||"",u=this.getLineNumber()||"",p=this.getColumnNumber()||"",y=this.getFunctionName()||"";return this.getIsEval()?l?"[eval] ("+l+":"+u+":"+p+")":"[eval]:"+u+":"+p:y?y+" ("+l+":"+u+":"+p+")":l+":"+u+":"+p}},h.fromString=t(function(l){var u=l.indexOf("("),p=l.lastIndexOf(")"),y=l.substring(0,u),g=l.substring(u+1,p).split(","),v=l.substring(p+1);if(v.indexOf("@")===0)var S=/@(.+?)(?::(\d+))?(?::(\d+))?$/.exec(v,""),T=S[1],U=S[2],W=S[3];return new h({functionName:y,args:g||void 0,fileName:T,lineNumber:U||void 0,columnNumber:W||void 0})},"StackFrame$$fromString"),A=0;A<m.length;A++)h.prototype["get"+d(m[A])]=c(m[A]),h.prototype["set"+d(m[A])]=function(l){return function(u){this[l]=!!u;}}(m[A]);var A;for(b=0;b<M.length;b++)h.prototype["get"+d(M[b])]=c(M[b]),h.prototype["set"+d(M[b])]=function(l){return function(u){if(!n(u))throw new TypeError(l+" must be a Number");this[l]=Number(u);}}(M[b]);var b;for(x=0;x<f.length;x++)h.prototype["get"+d(f[x])]=c(f[x]),h.prototype["set"+d(f[x])]=function(l){return function(u){this[l]=String(u);}}(f[x]);var x,D=h;function k(){var l=/^\s*at .*(\S+:\d+|\(native\))/m,u=/^(eval@)?(\[native code])?$/;return {parse:t(function(p){if(p.stack&&p.stack.match(l))return this.parseV8OrIE(p);if(p.stack)return this.parseFFOrSafari(p);throw new Error("Cannot parse given Error object")},"ErrorStackParser$$parse"),extractLocation:t(function(p){if(p.indexOf(":")===-1)return [p];var y=/(.+?)(?::(\d+))?(?::(\d+))?$/,g=y.exec(p.replace(/[()]/g,""));return [g[1],g[2]||void 0,g[3]||void 0]},"ErrorStackParser$$extractLocation"),parseV8OrIE:t(function(p){var y=p.stack.split(`
`).filter(function(g){return !!g.match(l)},this);return y.map(function(g){g.indexOf("(eval ")>-1&&(g=g.replace(/eval code/g,"eval").replace(/(\(eval at [^()]*)|(,.*$)/g,""));var v=g.replace(/^\s+/,"").replace(/\(eval code/g,"(").replace(/^.*?\s+/,""),S=v.match(/ (\(.+\)$)/);v=S?v.replace(S[0],""):v;var T=this.extractLocation(S?S[1]:v),U=S&&v||void 0,W=["eval","<anonymous>"].indexOf(T[0])>-1?void 0:T[0];return new D({functionName:U,fileName:W,lineNumber:T[1],columnNumber:T[2],source:g})},this)},"ErrorStackParser$$parseV8OrIE"),parseFFOrSafari:t(function(p){var y=p.stack.split(`
`).filter(function(g){return !g.match(u)},this);return y.map(function(g){if(g.indexOf(" > eval")>-1&&(g=g.replace(/ line (\d+)(?: > eval line \d+)* > eval:\d+:\d+/g,":$1")),g.indexOf("@")===-1&&g.indexOf(":")===-1)return new D({functionName:g});var v=/((.*".+"[^@]*)?[^@]*)(?:@)/,S=g.match(v),T=S&&S[1]?S[1]:void 0,U=this.extractLocation(g.replace(v,""));return new D({functionName:T,fileName:U[0],lineNumber:U[1],columnNumber:U[2],source:g})},this)},"ErrorStackParser$$parseFFOrSafari")}}t(k,"ErrorStackParser");var C=new k,F=C;function L(l){if(typeof l=="string")l=new Error(l);else if(l&&typeof l=="object"&&l.name==="ExitStatus"){let u=l.status;l=new G(l.message),l.status=u;}else if(typeof l!="object"||l===null||typeof l.stack!="string"||typeof l.message!="string"){let u=API.getTypeTag(l),p=`A value of type ${typeof l} with tag ${u} was thrown as an error!`;try{p+=`
String interpolation of the thrown value gives """${l}""".`;}catch{p+=`
String interpolation of the thrown value fails.`;}try{p+=`
The thrown value's toString method returns """${l.toString()}""".`;}catch{p+=`
The thrown value's toString method fails.`;}l=new Error(p);}return l}t(L,"ensureCaughtObjectIsError");var H=class extends Error{constructor(l,u,p){u||(u=`The exception is an object of type ${l} at address ${p} which does not inherit from std::exception`),super(u),this.ty=l;}};t(H,"CppException"),Object.defineProperty(H.prototype,"name",{get(){return `${this.constructor.name} ${this.ty}`}});var z=WebAssembly.Exception||function(){},O=t(l=>l instanceof z,"isWasmException");function V(l){if(O(l))if(l.is(Module.jsWrapperTag))l=l.getArg(Module.jsWrapperTag,0);else return l;let[u,p]=Module.getExceptionMessage(l);return new H(u,p,l)}t(V,"convertCppException"),Tests.convertCppException=V;var R=false;API.fatal_error=function(l){if(l&&l.pyodide_fatal_error)return;if(R){console.error("Recursive call to fatal_error. Inner error was:"),console.error(l);return}if(l instanceof j)throw l;typeof l=="number"||O(l)?l=V(l):l=L(l),l.pyodide_fatal_error=true,R=true;let u=l instanceof G;u||(console.error("Pyodide has suffered a fatal error. Please report this to the Pyodide maintainers."),console.error("The cause of the fatal error was:"),API.inTestHoist?(console.error(l.toString()),console.error(l.stack)):console.error(l));try{u||_dump_traceback();let p=`Pyodide already ${u?"exited":"fatally failed"} and can no longer be used.`;for(let y of Reflect.ownKeys(API.public_api))typeof y=="string"&&y.startsWith("_")||y==="version"||Object.defineProperty(API.public_api,y,{enumerable:!0,configurable:!0,get:()=>{throw new Error(p)}});API.on_fatal&&API.on_fatal(l);}catch(p){console.error("Another error occurred while handling the fatal error:"),console.error(p);}throw l},API.maybe_fatal_error=function(l){API._skip_unwind_fatal_error&&l==="unwind"||API.fatal_error(l);};var B=[];API.capture_stderr=function(){B=[],FS.createDevice("/dev","capture_stderr",null,l=>B.push(l)),FS.closeStream(2),FS.open("/dev/capture_stderr",1);},API.restore_stderr=function(){return FS.closeStream(2),FS.unlink("/dev/capture_stderr"),FS.open("/dev/stderr",1),new TextDecoder().decode(new Uint8Array(B))},API.fatal_loading_error=function(...l){let u=l.join(" ");if(_PyErr_Occurred()){API.capture_stderr(),_PyErr_Print();let p=API.restore_stderr();u+=`
`+p;}throw new I(u)};function q(l){if(!l)return false;let u=l.fileName||"";if(u.includes("wasm-function"))return true;if(!u.includes("pyodide.asm.js"))return false;let p=l.functionName||"";return p.startsWith("Object.")&&(p=p.slice(7)),API.public_api&&p in API.public_api&&p!=="PythonError"?(l.functionName=p,false):true}t(q,"isPyodideFrame");function Y(l){return q(l)&&l.functionName==="new_error"}t(Y,"isErrorStart"),Module.handle_js_error=function(l){if(l&&l.pyodide_fatal_error)throw l;if(l instanceof J)return;let u=false;l instanceof N&&(u=_restore_sys_last_exception(l.__error_address));let p,y;try{p=F.parse(l);}catch{y=true;}if(y&&(l=L(l)),!u){let g=_JsProxy_create(l);_set_error(g),_Py_DecRef(g);}if(!y){if(Y(p[0])||Y(p[1]))for(;q(p[0]);)p.shift();for(let g of p){if(q(g))break;let v=stringToNewUTF8(g.functionName||"???"),S=stringToNewUTF8(g.fileName||"???.js");__PyTraceback_Add(v,S,g.lineNumber),_free(v),_free(S);}}};var N=class extends Error{constructor(l,u,p){let y=Error.stackTraceLimit;Error.stackTraceLimit=1/0,super(u),Error.stackTraceLimit=y,this.type=l,this.__error_address=p;}};t(N,"PythonError"),API.PythonError=N;var J=class extends Error{constructor(){super("If you are seeing this message, an internal Pyodide error has occurred. Please report it to the Pyodide maintainers.");}};t(J,"_PropagatePythonError");function ee(l){Object.defineProperty(l.prototype,"name",{value:l.name});}t(ee,"setName");var I=class extends Error{};t(I,"FatalPyodideError");var G=class extends Error{};t(G,"Exit");var j=class extends Error{};t(j,"NoGilError"),[J,I,G,N,j].forEach(ee),API.NoGilError=j,API.errorConstructors=new Map([EvalError,RangeError,ReferenceError,SyntaxError,TypeError,URIError,globalThis.DOMException,globalThis.AssertionError,globalThis.SystemError].filter(l=>l).map(l=>[l.constructor.name,l])),API.deserializeError=function(l,u,p){let y=API.errorConstructors.get(l)||Error,g=new y(u);return API.errorConstructors.has(l)||(g.name=l),g.message=u,g.stack=p,g};function Z(l){let u=0,p=0;for(let v of l){p++;let S=v.codePointAt(0);u=S>u?S:u;}let y=_PyUnicode_New(p,u);if(y===0)throw new J;let g=_PyUnicode_Data(y);if(u>65535)for(let v of l)HEAPU32[g/4>>>0]=v.codePointAt(0),g+=4;else if(u>255)for(let v of l)HEAPU16[g/2>>>0]=v.codePointAt(0),g+=2;else for(let v of l)HEAPU8[g>>>0]=v.codePointAt(0),g+=1;return y}t(Z,"js2python_string");function $(l){let u=l,p=0;for(l<0&&(l=-l),l<<=BigInt(1);l;)p++,l>>=BigInt(32);let y=stackSave(),g=stackAlloc(p*4);l=u;for(let S=0;S<p;S++)HEAPU32[(g>>2)+S>>>0]=Number(l&BigInt(4294967295)),l>>=BigInt(32);let v=__PyLong_FromByteArray(g,p*4,true,true);return stackRestore(y),v}t($,"js2python_bigint");function le(l){let u=Ue(l);if(u===0)throw new J;return u}t(le,"js2python_convertImmutable"),Module.js2python_convertImmutable=le;function Ue(l){let u=typeof l;if(u==="string")return Z(l);if(u==="number")return Number.isSafeInteger(l)?_PyLong_FromDouble(l):_PyFloat_FromDouble(l);if(u==="bigint")return $(l);if(l==null)return __js2python_none();if(l===true)return __js2python_true();if(l===false)return __js2python_false();if(API.isPyProxy(l)){let{props:p,shared:y}=Module.PyProxy_getAttrs(l);return p.roundtrip?_JsProxy_create(l):__js2python_pyproxy(y.ptr)}}t(Ue,"js2python_convertImmutableInner");function Oe(l,u){let p=_PyList_New(l.length);if(p===0)return 0;let y=0;try{u.cache.set(l,p);for(let g=0;g<l.length;g++){if(y=ie(l[g],u),_Py_IncRef(y),_PyList_SetItem(p,g,y)===-1)throw new J;_Py_DecRef(y),y=0;}}catch(g){throw _Py_DecRef(y),_Py_DecRef(p),g}return p}t(Oe,"js2python_convertList");function Se(l,u,p){let y=_PyDict_New();if(y===0)return 0;let g=0,v=0;try{p.cache.set(l,y);for(let[S,T]of u){if(g=le(S),g===void 0){let U=S.constructor&&S.constructor.name||typeof S;throw new Error(`Cannot use key of type ${U} as a key to a Python dict`)}if(v=ie(T,p),_PyDict_SetItem(y,g,v)===-1)throw new J;_Py_DecRef(g),g=0,_Py_DecRef(v),v=0;}}catch(S){throw _Py_DecRef(g),_Py_DecRef(v),_Py_DecRef(y),S}return y}t(Se,"js2python_convertMap");function Re(l,u){let p=_PySet_New(0);if(p===0)return 0;let y=0;try{u.cache.set(l,p);for(let g of l){if(y=le(g),y===void 0){let v=g.constructor&&g.constructor.name||typeof g;throw new Error(`Cannot use key of type ${v} as a key to a Python set`)}if(_PySet_Add(p,y)===-1)throw new J;_Py_DecRef(y),y=0;}}catch(g){throw _Py_DecRef(y),_Py_DecRef(p),g}return p}t(Re,"js2python_convertSet");function be(l,u){if(l.has(1)&&l.has(true))throw new Error(`Cannot faithfully convert ${u} into Python since it contains both 1 and true as keys.`);if(l.has(0)&&l.has(false))throw new Error(`Cannot faithfully convert ${u} into Python since it contains both 0 and false as keys.`)}t(be,"checkBoolIntCollision");function Be(l,u){let p=getTypeTag(l);if(Array.isArray(l)||l==="[object HTMLCollection]"||l==="[object NodeList]")return Oe(l,u);if(p==="[object Map]"||l instanceof Map)return be(l,"Map"),Se(l,l.entries(),u);if(p==="[object Set]"||l instanceof Set)return be(l,"Set"),Re(l,u);if(p==="[object Object]"&&(l.constructor===void 0||l.constructor.name==="Object"))return Se(l,Object.entries(l),u);if(p==="[object ArrayBuffer]"||ArrayBuffer.isView(l)){let[y,g]=Module.get_buffer_datatype(l);return _JsBuffer_CopyIntoMemoryView(l,l.byteLength,y,g)}}t(Be,"js2python_convertOther");function ie(l,u){let p=le(l);if(p!==void 0)return p;if(u.depth===0)return _JsProxy_create(l);if(p=u.cache.get(l),p!==void 0)return p;u.depth--;try{if(p=Be(l,u),p!==void 0)return p;if(!u.defaultConverter)return _JsProxy_create(l);let y=u.defaultConverter(l,u.converter,u.cacheConversion);return p=le(y),API.isPyProxy(y)&&Module.pyproxy_destroy(y,"",!1),p!==void 0?p:_JsProxy_create(y)}finally{u.depth++;}}t(ie,"js2python_convert_with_context");function je(l,{depth:u,defaultConverter:p}){let y={cache:new Map,depth:u,defaultConverter:p,converter:g=>Module.pyproxy_new(ie(g,y)),cacheConversion(g,v){if(API.isPyProxy(v))y.cache.set(g,Module.PyProxy_getPtr(v));else throw new Error("Second argument should be a PyProxy!")}};return ie(l,y)}t(je,"js2python_convert"),Module.js2python_convert=je,Module.processBufferFormatString=function(l,u=""){if(l.length>2)throw new Error(`Expected format string to have length <= 2, got '${l}'.`+u);let p=l.slice(-1),y=l.slice(0,-1),g;switch(y){case "!":case ">":g=true;break;case "<":case "@":case "=":case "":g=false;break;default:throw new Error(`Unrecognized alignment character ${y}.`+u)}let v;switch(p){case "b":v=Int8Array;break;case "s":case "p":case "c":case "B":case "?":v=Uint8Array;break;case "h":v=Int16Array;break;case "H":v=Uint16Array;break;case "i":case "l":case "n":v=Int32Array;break;case "I":case "L":case "N":case "P":v=Uint32Array;break;case "q":if(globalThis.BigInt64Array===void 0)throw new Error("BigInt64Array is not supported on this browser."+u);v=BigInt64Array;break;case "Q":if(globalThis.BigUint64Array===void 0)throw new Error("BigUint64Array is not supported on this browser."+u);v=BigUint64Array;break;case "f":v=Float32Array;break;case "d":v=Float64Array;break;case "e":throw new Error("Javascript has no Float16 support.");default:throw new Error(`Unrecognized format character '${p}'.`+u)}return [v,g]},Module.python2js_buffer_1d_contiguous=function(l,u,p){let y=u*p;return HEAP8.slice(l,l+y).buffer},Module.python2js_buffer_1d_noncontiguous=function(l,u,p,y,g){let v=g*y,S=new Uint8Array(v);for(let T=0;T<y;++T){let U=l+T*u;p>=0&&(U=HEAPU32[(U>>2)+0>>>0]+p),S.set(HEAP8.subarray(U>>>0,U+g>>>0),T*g);}return S.buffer},Module._python2js_buffer_recursive=function(l,u,p){let{shape:y,strides:g,ndim:v,converter:S,itemsize:T,suboffsets:U}=p,W=HEAPU32[(y>>2)+u>>>0],K=HEAP32[(g>>2)+u>>>0],X=-1;if(v===0)return S(Module.python2js_buffer_1d_contiguous(l,T,1));if(U!==0&&(X=HEAP32[(U>>2)+u>>>0]),u===v-1){let ae;return K===T&&X<0?ae=Module.python2js_buffer_1d_contiguous(l,K,W):ae=Module.python2js_buffer_1d_noncontiguous(l,K,X,W,T),S(ae)}let se=[];for(let ae=0;ae<W;++ae){let pe=l+ae*K;X>=0&&(curptr=HEAPU32[(curptr>>2)+0>>>0]+X),se.push(Module._python2js_buffer_recursive(pe,u+1,p));}return se},Module.get_converter=function(l,u){let p=UTF8ToString(l),[y,g]=Module.processBufferFormatString(p);switch(p.slice(-1)){case "s":let U=new TextDecoder("utf8",{ignoreBOM:true});return W=>U.decode(W);case "?":return W=>Array.from(new Uint8Array(W),K=>!!K)}if(!g)return U=>new y(U);let v,S;switch(u){case 2:v="getUint16",S="setUin