From 0a18222462ce6405499c07ed64ae00f6727410d3 Mon Sep 17 00:00:00 2001 From: ICheered Date: Wed, 2 Aug 2023 21:28:44 +0200 Subject: [PATCH 01/23] Add build files and documentation --- .gitignore | 2 - README.md | 121 ++++++++++++++++++++++++++++++++++++++++++-- package.json | 28 +++++++++- ui/libapi.mjs | 16 ++++++ ui/libapi.wasm | Bin 0 -> 1791650 bytes ui/libapi.worker.js | 1 + 6 files changed, 162 insertions(+), 6 deletions(-) create mode 100644 ui/libapi.mjs create mode 100755 ui/libapi.wasm create mode 100644 ui/libapi.worker.js diff --git a/.gitignore b/.gitignore index cb4d36e..242d092 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,4 @@ /.vscode/c_cpp_properties.json -/ui/libapi.* -!/ui/libapi.mjs.d.ts /node_modules /deps/* !/deps/libgphoto2 diff --git a/README.md b/README.md index d447459..ea1d865 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,124 @@ -This is a [demo app](https://web.dev/porting-libusb-to-webusb/) running gPhoto2 on the Web: - -![A picture of DSLR camera connected via a USB cable to a laptop. The laptop is running the Web demo mentioned in the article, which mirrors a live video feed from the camera as well as allows to tweak its settings via form controls.](https://web-dev.imgix.net/image/9oK23mr86lhFOwKaoYZ4EySNFp02/MR4YGRvl0Z9AWT6vv3sQ.jpg?auto=format&w=1600) +# Web-gPhoto2 +A gPhoto2 implementation using WASM to control DSLR cameras from the browser. Powered by a [custom fork](https://github.com/RReverser/libgphoto2) of [libgphoto2](https://github.com/gphoto/libgphoto2), the [WebUSB](https://github.com/WICG/webusb) backend of [libusb](https://github.com/libusb/libusb), and WebAssembly via [Emscripten](https://emscripten.org/). +# NPM +## Installation +```bash +npm install web-gphoto2 +// or +yarn add web-gphoto2 +``` + +## Usage +**Note: This package ONLY runs in the browser context**. It will not work in NodeJS. If you are using a build-tool make sure to dynamically import this package so it is only imported in the browser context. + +```ts +let initModule: any; + +if (typeof window !== 'undefined') { + import('web-gphoto2').then((module) => { + initModule = module.default; + }).catch((error) => { + console.error("Error loading web-gphoto2", error); + }); +} else { + console.warn("web-gphoto2 is only available in the browser"); +} +``` + +A short example on how to use this package to obtain the camera config: +```ts +// After importing the initModule from web-gphoto2 +const ModulePromise = initModule(); + +export function rethrowIfCritical(err) { + if (err.constructor !== Error) throw err; +} + +export async function connect() { + const Module = await ModulePromise; + + let context = await new Module.Context(); + let supportedOps = await context.supportedOps(); + + let queue = Promise.resolve(); + + function schedule(op) { + let res = queue.then(() => op(context)); + queue = res.catch(rethrowIfCritical); + return res; + } + + return { + supportedOps, + schedule, + disconnect() { + context.delete(); + } + }; +} + +// Select the camera, connect, and obtain the config. Error handling is omitted for brevity but should be included, check the example for details. +await navigator.usb.requestDevice({ + filters: [ + { + classCode: 6, // PTP + subclassCode: 1 // MTP + } + ] +}); +let connection = await connect(); +let config = await connection.schedule((context: any) => context.configToJS()); +console.log('Obtained config: ', config); +``` + +More information can be found in the example included in the Github repository. + +## Common Issues +### SharedArrayBuffer can not be found +SharedArrayBuffer has been disabled across all browsers due to the Spectre vulnerability. This package uses SharedArrayBuffer to communicate with the WASM module. To work around this issue, you need to set two response headers for your document: +``` +Cross-Origin-Opener-Policy: same-origin +Cross-Origin-Embedder-Policy: require-corp +``` + +Information from [Stackoverflow](https://stackoverflow.com/questions/64650119/react-error-sharedarraybuffer-is-not-defined-in-firefox) + +### Error: Not found: /node_modules/.vite/deps/libapi.wasm +Vite tries to optimize the dependencies by default. This causes the WASM module to be moved to a different location. To prevent this, you need to exclude the web-gphoto2 package from the optimization. + +In vite, both of the above mentioned issues are solved by adding the following to your vite.config.js: +```ts +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vite'; + +/** @type {import('vite').Plugin} */ +const viteServerConfig = { + name: 'add headers', + configureServer: (server) => { + server.middlewares.use((req, res, next) => { + res.setHeader("Cross-Origin-Opener-Policy", "same-origin"); + res.setHeader("Cross-Origin-Embedder-Policy", "require-corp"); + next(); + }); + } +}; + +export default defineConfig({ + plugins: [sveltekit(), viteServerConfig], + optimizeDeps: { + exclude: ['web-gphoto2'] + } +}); +``` + + +# Demo +This repository also contains a [demo app](https://web.dev/porting-libusb-to-webusb/) running gPhoto2 on the Web: +![A picture of DSLR camera connected via a USB cable to a laptop. The laptop is running the Web demo mentioned in the article, which mirrors a live video feed from the camera as well as allows to tweak its settings via form controls.](https://web-dev.imgix.net/image/9oK23mr86lhFOwKaoYZ4EySNFp02/MR4YGRvl0Z9AWT6vv3sQ.jpg?auto=format&w=1600) + For the detailed technical write-up, see [the official blog post](https://web.dev/porting-libusb-to-webusb/). To see the demo in action, visit the hosted version [here](https://web-gphoto2.rreverser.com/) (but make sure to read the [cross-platform compatibility notes](https://web.dev/porting-libusb-to-webusb/#important-cross-platform-compatibility-notes) first). If you don't have a DSLR, you can check out a recording of the demo below: diff --git a/package.json b/package.json index 59d9283..c19e19e 100644 --- a/package.json +++ b/package.json @@ -1,8 +1,34 @@ { + "name": "web-gphoto2-npm-test", + "version": "0.2.0", + "description": "WASM implementation of gphoto2 and libusb to control DSLR cameras over USB on the Web", + "main": "ui/libapi.mjs", + "types": "ui/libapi.mjs.d.ts", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/GoogleChromeLabs/web-gphoto2" + }, + "keywords": [ + "gphoto2", + "libusb", + "wasm" + ], + "author": "Ingvar Stepanyan - RReverser - me@rreverser.com", + "license": "LGPLv2.1", + "bugs": { + "url": "https://github.com/GoogleChromeLabs/web-gphoto2/issues" + }, + "homepage": "https://github.com/GoogleChromeLabs/web-gphoto2#readme", + "files": [ + "ui/libapi.*" + ], "devDependencies": { "@types/emscripten": "^1.39.5", "@types/requestidlecallback": "^0.3.4", "@types/stats.js": "^0.17.0", "preact": "^10.5.14" } -} +} \ No newline at end of file diff --git a/ui/libapi.mjs b/ui/libapi.mjs new file mode 100644 index 0000000..4d61006 --- /dev/null +++ b/ui/libapi.mjs @@ -0,0 +1,16 @@ + +var Module = (() => { + var _scriptDir = import.meta.url; + + return ( +function(Module) { + Module = Module || {}; + +function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU8}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP16}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU16}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU32}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF64}var Module=typeof Module!=="undefined"?Module:{};var objAssign=Object.assign;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=objAssign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";var ENVIRONMENT_IS_PTHREAD=Module["ENVIRONMENT_IS_PTHREAD"]||false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}requireNodeFS=(()=>{if(!nodePath){fs=require("fs");nodePath=require("path")}});read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?null:"utf8")};readBinary=(filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret});readAsync=((filename,onload,onerror)=>{requireNodeFS();filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})});if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=((status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)});Module["inspect"]=function(){return"[Emscripten Module object]"};let nodeWorkerThreads;try{nodeWorkerThreads=require("worker_threads")}catch(e){console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?');throw e}global.Worker=nodeWorkerThreads.Worker}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!ENVIRONMENT_IS_NODE){read_=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText});if(ENVIRONMENT_IS_WORKER){readBinary=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)})}readAsync=((url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=(()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()});xhr.onerror=onerror;xhr.send(null)})}setWindowTitle=(title=>document.title=title)}else{}if(ENVIRONMENT_IS_NODE){if(typeof performance==="undefined"){global.performance=require("perf_hooks").performance}}var defaultPrint=console.log.bind(console);var defaultPrintErr=console.warn.bind(console);if(ENVIRONMENT_IS_NODE){requireNodeFS();defaultPrint=(str=>fs.writeSync(1,str+"\n"));defaultPrintErr=(str=>fs.writeSync(2,str+"\n"))}var out=Module["print"]||defaultPrint;var err=Module["printErr"]||defaultPrintErr;objAssign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=value=>{tempRet0=value};var getTempRet0=()=>tempRet0;var Atomics_load=Atomics.load;var Atomics_store=Atomics.store;var Atomics_compareExchange=Atomics.compareExchange;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}function TextDecoderWrapper(encoding){var textDecoder=new TextDecoder(encoding);this.decode=(data=>{if(data.buffer instanceof SharedArrayBuffer){data=new Uint8Array(data)}return textDecoder.decode.call(textDecoder,data)})}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoderWrapper("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoderWrapper("utf-16le"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&GROWABLE_HEAP_U16()[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(GROWABLE_HEAP_U8().subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=GROWABLE_HEAP_I16()[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}GROWABLE_HEAP_I16()[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=GROWABLE_HEAP_I32()[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}GROWABLE_HEAP_I32()[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}GROWABLE_HEAP_I32()[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,GROWABLE_HEAP_I8(),ret,size);return ret}function writeArrayToMemory(array,buffer){GROWABLE_HEAP_I8().set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)GROWABLE_HEAP_I8()[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;if(ENVIRONMENT_IS_PTHREAD){buffer=Module["buffer"]}function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(ENVIRONMENT_IS_PTHREAD){wasmMemory=Module["wasmMemory"];buffer=Module["buffer"]}else{if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536,"shared":true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)")}throw Error("bad memory")}}}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;if(!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 exitRuntime(){if(ENVIRONMENT_IS_PTHREAD)return;PThread.terminateAllThreads();runtimeExited=true}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(ENVIRONMENT_IS_PTHREAD){postMessage({"cmd":"onAbort","arg":what})}else{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;if(Module["locateFile"]){wasmBinaryFile="libapi.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{wasmBinaryFile=new URL("libapi.wasm",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;exports=Asyncify.instrumentWasmExports(exports);Module["asm"]=exports;registerTlsInit(Module["asm"]["rb"]);wasmTable=Module["asm"]["wb"];addOnInit(Module["asm"]["kb"]);wasmModule=module;if(!ENVIRONMENT_IS_PTHREAD){removeRunDependency("wasm-instantiate")}}if(!ENVIRONMENT_IS_PTHREAD){addRunDependency("wasm-instantiate")}function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);exports=Asyncify.instrumentWasmExports(exports);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;var ASM_CONSTS={477425:function($0,$1,$2){return stringToUTF16(Emval.toValue($0),$1,$2)}};function __asyncjs__em_libusb_wait(timeout){return Asyncify.handleAsync(async()=>{let onEvent,timeoutId;try{return await new Promise(resolve=>{onEvent=(()=>resolve(0));addEventListener("em-libusb",onEvent);timeoutId=setTimeout(resolve,timeout,-1)})}finally{removeEventListener("em-libusb",onEvent);clearTimeout(timeoutId)}})}function em_libusb_notify(){dispatchEvent(new Event("em-libusb"))}function em_promise_catch_impl(handle){let promise=Emval.toValue(handle);promise=promise.then(value=>({error:0,value:value}),error=>{const ERROR_CODES={NetworkError:-1,DataError:-2,TypeMismatchError:-2,IndexSizeError:-2,SecurityError:-3,NotFoundError:-5,InvalidStateError:-6,TimeoutError:-7,AbortError:-10,NotSupportedError:-12};console.error(error);let errorCode=-99;if(error instanceof DOMException){errorCode=(ERROR_CODES[error.name]??errorCode)}else if(error instanceof RangeError||error instanceof TypeError){errorCode=-2}return{error:errorCode,value:undefined}});return Emval.toHandle(promise)}function em_start_transfer_impl(transfer,handle){Emval.toValue(handle).then(result=>{_em_signal_transfer_completion(transfer,Emval.toHandle(result))})}function throw_msg(msg){throw new Error(UTF8ToString(msg))}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){(function(){dynCall_v.call(null,func)})()}else{(function(a1){dynCall_vi.apply(null,[func,a1])})(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}function killThread(pthread_ptr){GROWABLE_HEAP_I32()[pthread_ptr>>2]=0;var pthread=PThread.pthreads[pthread_ptr];delete PThread.pthreads[pthread_ptr];pthread.worker.terminate();__emscripten_thread_free_data(pthread_ptr);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(pthread.worker),1);pthread.worker.pthread=undefined}function cancelThread(pthread_ptr){var pthread=PThread.pthreads[pthread_ptr];pthread.worker.postMessage({"cmd":"cancel"})}function cleanupThread(pthread_ptr){var pthread=PThread.pthreads[pthread_ptr];if(pthread){GROWABLE_HEAP_I32()[pthread_ptr>>2]=0;var worker=pthread.worker;PThread.returnWorkerToPool(worker)}}function zeroMemory(address,size){GROWABLE_HEAP_U8().fill(0,address,address+size)}function _exit(status){exit(status)}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],initMainThread:function(){},initWorker:function(){},pthreads:{},setExitStatus:function(status){EXITSTATUS=status},terminateAllThreads:function(){for(var t in PThread.pthreads){var pthread=PThread.pthreads[t];if(pthread&&pthread.worker){PThread.returnWorkerToPool(pthread.worker)}}for(var i=0;i>2]=0;try{func()}finally{GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls>>2]=1}},receiveObjectTransfer:function(data){},threadInit:function(){for(var i in PThread.tlsInitFunctions){PThread.tlsInitFunctions[i]()}},loadWasmModuleToWorker:function(worker,onFinishedLoading){worker.onmessage=(e=>{var d=e["data"];var cmd=d["cmd"];if(worker.pthread)PThread.currentProxiedOperationCallerThread=worker.pthread.threadInfoStruct;if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var thread=PThread.pthreads[d.targetThread];if(thread){thread.worker.postMessage(d,d["transferList"])}else{err('Internal error! Worker sent a message "'+cmd+'" to target pthread '+d["targetThread"]+", but that thread no longer exists!")}PThread.currentProxiedOperationCallerThread=undefined;return}if(cmd==="processQueuedMainThreadWork"){_emscripten_main_thread_process_queued_calls()}else if(cmd==="spawnThread"){spawnThread(d)}else if(cmd==="cleanupThread"){cleanupThread(d["thread"])}else if(cmd==="killThread"){killThread(d["thread"])}else if(cmd==="cancelThread"){cancelThread(d["thread"])}else if(cmd==="loaded"){worker.loaded=true;if(onFinishedLoading)onFinishedLoading(worker);if(worker.runPthread){worker.runPthread();delete worker.runPthread}}else if(cmd==="print"){out("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="printErr"){err("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="alert"){alert("Thread "+d["threadId"]+": "+d["text"])}else if(d.target==="setimmediate"){worker.postMessage(d)}else if(cmd==="onAbort"){if(Module["onAbort"]){Module["onAbort"](d["arg"])}}else{err("worker sent an unknown command "+cmd)}PThread.currentProxiedOperationCallerThread=undefined});worker.onerror=(e=>{var message="worker sent an error!";err(message+" "+e.filename+":"+e.lineno+": "+e.message);throw e});if(ENVIRONMENT_IS_NODE){worker.on("message",function(data){worker.onmessage({data:data})});worker.on("error",function(e){worker.onerror(e)});worker.on("detachedExit",function(){})}worker.postMessage({"cmd":"load","urlOrBlob":Module["mainScriptUrlOrBlob"],"wasmMemory":wasmMemory,"wasmModule":wasmModule})},allocateUnusedWorker:function(){if(!Module["locateFile"]){PThread.unusedWorkers.push(new Worker(new URL("libapi.worker.js",import.meta.url)));return}var pthreadMainJs=locateFile("libapi.worker.js");PThread.unusedWorkers.push(new Worker(pthreadMainJs))},getNewWorker:function(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()}};function establishStackSpace(){var pthread_ptr=_pthread_self();var stackTop=GROWABLE_HEAP_I32()[pthread_ptr+44>>2];var stackSize=GROWABLE_HEAP_I32()[pthread_ptr+48>>2];var stackMax=stackTop-stackSize;_emscripten_stack_set_limits(stackTop,stackMax);stackRestore(stackTop)}Module["establishStackSpace"]=establishStackSpace;function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,0,returnCode);try{_exit(returnCode)}catch(e){handleException(e)}}function invokeEntryPoint(ptr,arg){return function(a1){return dynCall_ii.apply(null,[ptr,a1])}(arg)}Module["invokeEntryPoint"]=invokeEntryPoint;function registerTlsInit(tlsInitFunc,moduleExports,metadata){PThread.tlsInitFunctions.push(tlsInitFunc)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=(()=>{var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6})}else if(ENVIRONMENT_IS_PTHREAD){_emscripten_get_now=(()=>performance.now()-Module["__performance_now_clock_drift"])}else _emscripten_get_now=(()=>performance.now());var _emscripten_get_now_is_monotonic=true;function setErrNo(value){GROWABLE_HEAP_I32()[___errno_location()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}GROWABLE_HEAP_I32()[tp>>2]=now/1e3|0;GROWABLE_HEAP_I32()[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(a0,a1){return _clock_gettime(a0,a1)}function ___cxa_allocate_exception(size){return _malloc(size+16)+16}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-16;this.set_type=function(type){GROWABLE_HEAP_I32()[this.ptr+4>>2]=type};this.get_type=function(){return GROWABLE_HEAP_I32()[this.ptr+4>>2]};this.set_destructor=function(destructor){GROWABLE_HEAP_I32()[this.ptr+8>>2]=destructor};this.get_destructor=function(){return GROWABLE_HEAP_I32()[this.ptr+8>>2]};this.set_refcount=function(refcount){GROWABLE_HEAP_I32()[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+12>>0]=caught};this.get_caught=function(){return GROWABLE_HEAP_I8()[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return GROWABLE_HEAP_I8()[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){Atomics.add(GROWABLE_HEAP_I32(),this.ptr+0>>2,1)};this.release_ref=function(){var prev=Atomics.sub(GROWABLE_HEAP_I32(),this.ptr+0>>2,1);return prev===1}}function CatchInfo(ptr){this.free=function(){_free(this.ptr);this.ptr=0};this.set_base_ptr=function(basePtr){GROWABLE_HEAP_I32()[this.ptr>>2]=basePtr};this.get_base_ptr=function(){return GROWABLE_HEAP_I32()[this.ptr>>2]};this.set_adjusted_ptr=function(adjustedPtr){GROWABLE_HEAP_I32()[this.ptr+4>>2]=adjustedPtr};this.get_adjusted_ptr_addr=function(){return this.ptr+4};this.get_adjusted_ptr=function(){return GROWABLE_HEAP_I32()[this.ptr+4>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_exception_info().get_type());if(isPointer){return GROWABLE_HEAP_I32()[this.get_base_ptr()>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.get_base_ptr()};this.get_exception_info=function(){return new ExceptionInfo(this.get_base_ptr())};if(ptr===undefined){this.ptr=_malloc(8);this.set_adjusted_ptr(0)}else{this.ptr=ptr}}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var catchInfo=new CatchInfo(ptr);var info=catchInfo.get_exception_info();if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(catchInfo);exception_addRef(info);return catchInfo.get_exception_ptr()}function ___cxa_call_unexpected(exception){err("Unexpected exception thrown, this is not properly supported - aborting");ABORT=true;throw exception}var exceptionLast=0;function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){(function(a1){return dynCall_ii.apply(null,[destructor,a1])})(info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_end_catch(){_setThrew(0);var catchInfo=exceptionCaught.pop();exception_decRef(catchInfo.get_exception_info());catchInfo.free();exceptionLast=0}function ___resumeException(catchInfoPtr){var catchInfo=new CatchInfo(catchInfoPtr);var ptr=catchInfo.get_base_ptr();if(!exceptionLast){exceptionLast=ptr}catchInfo.free();throw ptr}function ___cxa_find_matching_catch_2(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i{msg.time=performance.now();worker.postMessage(msg,threadParams.transferList)});if(worker.loaded){worker.runPthread();delete worker.runPthread}return 0}function ___pthread_create_js(pthread_ptr,attr,start_routine,arg){if(typeof SharedArrayBuffer==="undefined"){err("Current environment does not support SharedArrayBuffer, pthreads are not available!");return 6}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(transferList.length===0||error)){return _emscripten_sync_run_in_main_thread_4(687865856,pthread_ptr,attr,start_routine,arg)}if(error)return error;var threadParams={startRoutine:start_routine,pthread_ptr:pthread_ptr,arg:arg,transferList:transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList);return 0}return spawnThread(threadParams)}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function alignMemory(size,alignment){return Math.ceil(size/alignment)*alignment}function mmapAlloc(size){size=alignMemory(size,65536);var ptr=_memalign(65536,size);if(!ptr)return 0;zeroMemory(ptr,size);return ptr}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{path=PATH_FS.resolve(FS.cwd(),path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(p=>!!p),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode,fd_start,fd_end)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,address,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,address,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{return null}},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent==="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=((stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=(()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)});openRequest.onsuccess=(()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=(()=>{ok++;if(ok+fail==total)finish()});putRequest.onerror=(()=>{fail++;if(ok+fail==total)finish()})});transaction.onerror=onerror});openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=(()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=(()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()});getRequest.onerror=(()=>{fail++;if(ok+fail==total)finish()})});transaction.onerror=onerror});openRequest.onerror=onerror}};var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(path[0]==="/"){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}GROWABLE_HEAP_I32()[buf>>2]=stat.dev;GROWABLE_HEAP_I32()[buf+4>>2]=0;GROWABLE_HEAP_I32()[buf+8>>2]=stat.ino;GROWABLE_HEAP_I32()[buf+12>>2]=stat.mode;GROWABLE_HEAP_I32()[buf+16>>2]=stat.nlink;GROWABLE_HEAP_I32()[buf+20>>2]=stat.uid;GROWABLE_HEAP_I32()[buf+24>>2]=stat.gid;GROWABLE_HEAP_I32()[buf+28>>2]=stat.rdev;GROWABLE_HEAP_I32()[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+40>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+44>>2]=tempI64[1];GROWABLE_HEAP_I32()[buf+48>>2]=4096;GROWABLE_HEAP_I32()[buf+52>>2]=stat.blocks;GROWABLE_HEAP_I32()[buf+56>>2]=stat.atime.getTime()/1e3|0;GROWABLE_HEAP_I32()[buf+60>>2]=0;GROWABLE_HEAP_I32()[buf+64>>2]=stat.mtime.getTime()/1e3|0;GROWABLE_HEAP_I32()[buf+68>>2]=0;GROWABLE_HEAP_I32()[buf+72>>2]=stat.ctime.getTime()/1e3|0;GROWABLE_HEAP_I32()[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+80>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=GROWABLE_HEAP_U8().slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=GROWABLE_HEAP_I8()[buf+len];stringToUTF8(ret,buf,bufsize+1);GROWABLE_HEAP_I8()[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=GROWABLE_HEAP_I32()[iov+(i*8+4)>>2];var curr=FS.read(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=GROWABLE_HEAP_I32()[iov+(i*8+4)>>2];var curr=FS.write(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=GROWABLE_HEAP_I32()[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,1,nfds,readfds,writefds,exceptfds,timeout);try{var total=0;var srcReadLow=readfds?GROWABLE_HEAP_I32()[readfds>>2]:0,srcReadHigh=readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0;var srcWriteLow=writefds?GROWABLE_HEAP_I32()[writefds>>2]:0,srcWriteHigh=writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0;var srcExceptLow=exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0,srcExceptHigh=exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?GROWABLE_HEAP_I32()[readfds>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0);var allHigh=(readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd>2]=dstReadLow;GROWABLE_HEAP_I32()[readfds+4>>2]=dstReadHigh}if(writefds){GROWABLE_HEAP_I32()[writefds>>2]=dstWriteLow;GROWABLE_HEAP_I32()[writefds+4>>2]=dstWriteHigh}if(exceptfds){GROWABLE_HEAP_I32()[exceptfds>>2]=dstExceptLow;GROWABLE_HEAP_I32()[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_access(path,amode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(3,1,path,amode);try{path=SYSCALLS.getStr(path);return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var SOCKFS={mount:function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket:function(family,type,protocol){type&=~526336;var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket:function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll:function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl:function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read:function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write:function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close:function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer:function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data==="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}else{data=new Uint8Array(data)}}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,flags){if(!flags.binary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}GROWABLE_HEAP_I32()[arg>>2]=bytes;return 0;default:return 28}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function inetNtop6(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word>1];var port=_ntohs(GROWABLE_HEAP_U16()[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=GROWABLE_HEAP_I32()[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[GROWABLE_HEAP_I32()[sa+8>>2],GROWABLE_HEAP_I32()[sa+12>>2],GROWABLE_HEAP_I32()[sa+16>>2],GROWABLE_HEAP_I32()[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function inetPton4(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ftruncate64(fd,low,high){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(6,1,fd,low,high);try{var length=SYSCALLS.get64(low,high);FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_getsockopt(fd,level,optname,optval,optlen){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(7,1,fd,level,optname,optval,optlen);try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){GROWABLE_HEAP_I32()[optval>>2]=sock.error;GROWABLE_HEAP_I32()[optlen>>2]=4;sock.error=null;return 0}}return-50}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(8,1,fd,op,varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();GROWABLE_HEAP_I32()[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_mkdir(path,mode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(9,1,path,mode);try{path=SYSCALLS.getStr(path);return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_open(path,flags,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(10,1,path,flags,varargs);SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount:function(mount){return FS.createNode(null,"/",16384|511,0)},createPipe:function(){var pipe={buckets:[],refcnt:2};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll:function(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}else{if(pipe.buckets.length>0){for(var i=0;i0){return 64|1}}}}return 0},ioctl:function(stream,request,varargs){return 28},fsync:function(stream){return 28},read:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close:function(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname:function(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(11,1,fdPtr);try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();GROWABLE_HEAP_I32()[fdPtr>>2]=res.readable_fd;GROWABLE_HEAP_I32()[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_poll(fds,nfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(12,1,fds,nfds,timeout);try{var nonzero=0;for(var i=0;i>2];var events=GROWABLE_HEAP_I16()[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream)}}mask&=events|8|16;if(mask)nonzero++;GROWABLE_HEAP_I16()[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(13,1,domain,type,protocol);try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_stat64(path,buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(14,1,path,buf);try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_unlink(path){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(15,1,path);try{path=SYSCALLS.getStr(path);FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __dlopen_js(filename,flag){abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")}function __dlsym_js(handle,symbol){abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(GROWABLE_HEAP_U8()[c]){ret+=embind_charCodes[GROWABLE_HEAP_U8()[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return function(){null;return body.apply(this,arguments)}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationGroup=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function attachFinalizer(handle){if("undefined"===typeof FinalizationGroup){attachFinalizer=(handle=>handle);return handle}finalizationGroup=new FinalizationGroup(function(iter){for(var result=iter.next();!result.done;result=iter.next()){var $$=result.value;if(!$$.ptr){console.warn("object already deleted: "+$$.ptr)}else{releaseClassHandle($$)}}});attachFinalizer=(handle=>{finalizationGroup.register(handle,handle.$$,handle.$$);return handle});detachFinalizer=(handle=>{finalizationGroup.unregister(handle.$$)});return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}var delayFunction=undefined;var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](GROWABLE_HEAP_U32()[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){return dynCallLegacy(sig,ptr,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>2)+i])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=(()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)});whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function runAndAbortIfError(func){try{return func()}catch(e){abort(e)}}function maybeExit(){if(!keepRuntimeAlive()){try{if(ENVIRONMENT_IS_PTHREAD)__emscripten_thread_exit(EXITSTATUS);else _exit(EXITSTATUS)}catch(e){handleException(e)}}}function callUserCallback(func,synchronous){if(runtimeExited||ABORT){return}if(synchronous){func();return}try{func();if(ENVIRONMENT_IS_PTHREAD)maybeExit()}catch(e){handleException(e)}}function runtimeKeepalivePush(){runtimeKeepaliveCounter+=1}function runtimeKeepalivePop(){runtimeKeepaliveCounter-=1}var Asyncify={State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId:function(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},instrumentWasmExports:function(exports){var ret={};for(var x in exports){(function(x){var original=exports[x];if(typeof original==="function"){ret[x]=function(){Asyncify.exportCallStack.push(x);try{return original.apply(null,arguments)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();assert(y===x);Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}})(x)}return ret},maybeStopUnwind:function(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){runtimeKeepalivePush();Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(Module["_asyncify_stop_unwind"]);if(typeof Fibers!=="undefined"){Fibers.trampoline()}}},whenDone:function(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve:resolve,reject:reject}})},allocateData:function(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader:function(ptr,stack,stackSize){GROWABLE_HEAP_I32()[ptr>>2]=stack;GROWABLE_HEAP_I32()[ptr+4>>2]=stack+stackSize},setDataRewindFunc:function(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);GROWABLE_HEAP_I32()[ptr+8>>2]=rewindId},getDataRewindFunc:function(ptr){var id=GROWABLE_HEAP_I32()[ptr+8>>2];var name=Asyncify.callStackIdToName[id];var func=Module["asm"][name];return func},doRewind:function(ptr){var start=Asyncify.getDataRewindFunc(ptr);runtimeKeepalivePop();return start()},handleSleep:function(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync(handleSleepReturnValue=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue||0;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>Module["_asyncify_start_rewind"](Asyncify.currData));if(typeof Browser!=="undefined"&&Browser.mainLoop.func){Browser.mainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();runAndAbortIfError(()=>Module["_asyncify_start_unwind"](Asyncify.currData));if(typeof Browser!=="undefined"&&Browser.mainLoop.func){Browser.mainLoop.pause()}}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(Module["_asyncify_stop_rewind"]);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(func=>callUserCallback(func))}else{abort("invalid state: "+Asyncify.state)}return Asyncify.handleSleepReturnValue},handleAsync:function(startAsync){return Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})}};function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F64()[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return GROWABLE_HEAP_I8()[pointer]}:function readU8FromPointer(pointer){return GROWABLE_HEAP_U8()[pointer]};case 1:return signed?function readS16FromPointer(pointer){return GROWABLE_HEAP_I16()[pointer>>1]}:function readU16FromPointer(pointer){return GROWABLE_HEAP_U16()[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return GROWABLE_HEAP_I32()[pointer>>2]}:function readU32FromPointer(pointer){return GROWABLE_HEAP_U32()[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=(value=>value<>>bitshift)}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=GROWABLE_HEAP_U32();var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=GROWABLE_HEAP_U32()[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||GROWABLE_HEAP_U8()[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;ilengthBytesUTF8(value))}else{getLength=(()=>value.length)}var length=getLength();var ptr=_malloc(4+length+1);GROWABLE_HEAP_U32()[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}GROWABLE_HEAP_U8()[ptr+4+i]=charCode}}else{for(var i=0;iGROWABLE_HEAP_U16());shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=(()=>GROWABLE_HEAP_U32());shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=GROWABLE_HEAP_U32()[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);GROWABLE_HEAP_U32()[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emscripten_futex_wait_non_blocking(addr,val,timeout){var tNow=performance.now();var tEnd=tNow+timeout;var lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr);while(1){tNow=performance.now();if(tNow>tEnd){lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);return-73}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);if(lastAddr==0){break}_emscripten_main_thread_process_queued_calls();if(Atomics.load(GROWABLE_HEAP_I32(),addr>>2)!=val){return-6}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr)}return 0}function __emscripten_notify_thread_queue(targetThreadId,mainThreadId){if(targetThreadId==mainThreadId){postMessage({"cmd":"processQueuedMainThreadWork"})}else if(ENVIRONMENT_IS_PTHREAD){postMessage({"targetThread":targetThreadId,"cmd":"processThreadQueue"})}else{var pthread=PThread.pthreads[targetThreadId];var worker=pthread&&pthread.worker;if(!worker){return}worker.postMessage({"cmd":"processThreadQueue"})}return 1}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);GROWABLE_HEAP_I32()[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_await(promise){return Asyncify.handleAsync(function(){promise=Emval.toValue(promise);return promise.then(Emval.toHandle)})}function __emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=Emval.toValue(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i>2]=Emval.toHandle(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}function testGlobal(obj){obj["$$$embind_global$$$"]=obj;var success=typeof $$$embind_global$$$==="object"&&obj["$$$embind_global$$$"]===obj;if(!success){delete obj["$$$embind_global$$$"]}return success}if(typeof $$$embind_global$$$==="object"){return $$$embind_global$$$}if(typeof global==="object"&&testGlobal(global)){$$$embind_global$$$=global}else if(typeof self==="object"&&testGlobal(self)){$$$embind_global$$$=self}if(typeof $$$embind_global$$$==="object"){return $$$embind_global$$$}throw Error("unable to get global object.")}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var argN=new Array(argCount-1);var invokerFunction=(handle,name,destructors,args)=>{var offset=0;for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function __emval_is_string(handle){handle=Emval.toValue(handle);return typeof handle==="string"}function craftEmvalAllocator(argCount){var argsList=new Array(argCount+1);return function(constructor,argTypes,args){argsList[0]=constructor;for(var i=0;i>2)+i],"parameter "+i);argsList[i+1]=argType["readValueFromPointer"](args);args+=argType["argPackAdvance"]}var obj=new(constructor.bind.apply(constructor,argsList));return Emval.toHandle(obj)}}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_array(){return Emval.toHandle([])}function __emval_new_cstring(v){return Emval.toHandle(getStringOrSymbol(v))}function __emval_new_object(){return Emval.toHandle({})}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return Emval.toHandle(v)}function __gmtime_js(time,tmPtr){var date=new Date(GROWABLE_HEAP_I32()[time>>2]*1e3);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getUTCSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getUTCMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getUTCHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getUTCDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getUTCMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getUTCFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday}function __localtime_js(time,tmPtr){var date=new Date(GROWABLE_HEAP_I32()[time>>2]*1e3);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday;GROWABLE_HEAP_I32()[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;GROWABLE_HEAP_I32()[tmPtr+32>>2]=dst}function __mktime_js(tmPtr){var date=new Date(GROWABLE_HEAP_I32()[tmPtr+20>>2]+1900,GROWABLE_HEAP_I32()[tmPtr+16>>2],GROWABLE_HEAP_I32()[tmPtr+12>>2],GROWABLE_HEAP_I32()[tmPtr+8>>2],GROWABLE_HEAP_I32()[tmPtr+4>>2],GROWABLE_HEAP_I32()[tmPtr>>2],0);var dst=GROWABLE_HEAP_I32()[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){GROWABLE_HEAP_I32()[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday;GROWABLE_HEAP_I32()[tmPtr>>2]=date.getSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getMonth();return date.getTime()/1e3|0}function _tzset_impl(timezone,daylight,tzname){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(16,1,timezone,daylight,tzname);var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);GROWABLE_HEAP_I32()[timezone>>2]=stdTimezoneOffset*60;GROWABLE_HEAP_I32()[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset>2]=winterNamePtr;GROWABLE_HEAP_I32()[tzname+4>>2]=summerNamePtr}else{GROWABLE_HEAP_I32()[tzname>>2]=summerNamePtr;GROWABLE_HEAP_I32()[tzname+4>>2]=winterNamePtr}}function __tzset_js(timezone,daylight,tzname){if(__tzset_js.called)return;__tzset_js.called=true;_tzset_impl(timezone,daylight,tzname)}function _abort(){abort("")}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=GROWABLE_HEAP_U8()[sigPtr++]){var readAsmConstArgsDouble=ch<105;if(readAsmConstArgsDouble&&buf&1)buf++;readAsmConstArgsArray.push(readAsmConstArgsDouble?GROWABLE_HEAP_F64()[buf++>>1]:GROWABLE_HEAP_I32()[buf]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_check_blocking_allowed(){if(ENVIRONMENT_IS_NODE)return;if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function _emscripten_memcpy_big(dest,src,num){GROWABLE_HEAP_U8().copyWithin(dest,src,src+num)}function _emscripten_proxy_to_main_thread_js(index,sync){var numCallArgs=arguments.length-2;var outerArgs=arguments;return withStackSave(function(){var serializedNumCallArgs=numCallArgs;var args=stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i>3;for(var i=0;i>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=GROWABLE_HEAP_U8().length;requestedSize=requestedSize>>>0;if(requestedSize<=oldSize){return false}var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence>2]=eventTypeId;GROWABLE_HEAP_I32()[varargs+4>>2]=eventData;GROWABLE_HEAP_I32()[varargs+8>>2]=userData;_emscripten_dispatch_to_thread_(targetThread,637534208,eventHandlerFunc,eventData,varargs)})},getTargetThreadForEventCallback:function(targetThread){switch(targetThread){case 1:return 0;case 2:return PThread.currentProxiedOperationCallerThread;default:return targetThread}},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height){withStackSave(function(){var varargs=stackAlloc(12);var targetCanvasPtr=0;if(targetCanvas){targetCanvasPtr=stringToNewUTF8(targetCanvas)}GROWABLE_HEAP_I32()[varargs>>2]=targetCanvasPtr;GROWABLE_HEAP_I32()[varargs+4>>2]=width;GROWABLE_HEAP_I32()[varargs+8>>2]=height;_emscripten_dispatch_to_thread_(targetThread,657457152,0,targetCanvasPtr,varargs)})}function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread,targetCanvas,width,height){targetCanvas=targetCanvas?UTF8ToString(targetCanvas):"";_emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height)}function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_set_canvas_element_size_calling_thread(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;if(canvas.canvasSharedPtr){GROWABLE_HEAP_I32()[canvas.canvasSharedPtr>>2]=width;GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+4>>2]=height}if(canvas.offscreenCanvas||!canvas.controlTransferredOffscreen){if(canvas.offscreenCanvas)canvas=canvas.offscreenCanvas;var autoResizeViewport=false;if(canvas.GLctxObject&&canvas.GLctxObject.GLctx){var prevViewport=canvas.GLctxObject.GLctx.getParameter(2978);autoResizeViewport=prevViewport[0]===0&&prevViewport[1]===0&&prevViewport[2]===canvas.width&&prevViewport[3]===canvas.height}canvas.width=width;canvas.height=height;if(autoResizeViewport){canvas.GLctxObject.GLctx.viewport(0,0,width,height)}}else if(canvas.canvasSharedPtr){var targetThread=GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+8>>2];_emscripten_set_offscreencanvas_size_on_target_thread(targetThread,target,width,height);return 1}else{return-4}return 0}function _emscripten_set_canvas_element_size_main_thread(target,width,height){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(17,1,target,width,height);return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(canvas){return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}else{return _emscripten_set_canvas_element_size_main_thread(target,width,height)}}function _emscripten_unwind_to_js_event_loop(){throw"unwind"}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(GROWABLE_HEAP_I32()[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;canvas.getContext=function(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);GROWABLE_HEAP_I32()[handle+4>>2]=_pthread_self();var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle].handle);GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){var a=attributes>>2;var powerPreference=GROWABLE_HEAP_I32()[a+(24>>2)];var contextAttributes={"alpha":!!GROWABLE_HEAP_I32()[a+(0>>2)],"depth":!!GROWABLE_HEAP_I32()[a+(4>>2)],"stencil":!!GROWABLE_HEAP_I32()[a+(8>>2)],"antialias":!!GROWABLE_HEAP_I32()[a+(12>>2)],"premultipliedAlpha":!!GROWABLE_HEAP_I32()[a+(16>>2)],"preserveDrawingBuffer":!!GROWABLE_HEAP_I32()[a+(20>>2)],"powerPreference":__emscripten_webgl_power_preferences[powerPreference],"failIfMajorPerformanceCaveat":!!GROWABLE_HEAP_I32()[a+(28>>2)],majorVersion:GROWABLE_HEAP_I32()[a+(32>>2)],minorVersion:GROWABLE_HEAP_I32()[a+(36>>2)],enableExtensionsByDefault:GROWABLE_HEAP_I32()[a+(40>>2)],explicitSwapControl:GROWABLE_HEAP_I32()[a+(44>>2)],proxyContextToMainThread:GROWABLE_HEAP_I32()[a+(48>>2)],renderViaOffscreenBackBuffer:GROWABLE_HEAP_I32()[a+(52>>2)]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(18,1,__environ,environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;GROWABLE_HEAP_I32()[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(19,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_I32()[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});GROWABLE_HEAP_I32()[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(20,1,fd);try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(21,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);GROWABLE_HEAP_I32()[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(22,1,fd,offset_low,offset_high,whence,newOffset);try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[newOffset>>2]=tempI64[0],GROWABLE_HEAP_I32()[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(23,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);GROWABLE_HEAP_I32()[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _getTempRet0(){return getTempRet0()}function _gettimeofday(ptr){var now=Date.now();GROWABLE_HEAP_I32()[ptr>>2]=now/1e3|0;GROWABLE_HEAP_I32()[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_eh_typeid_for(type){return type}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=GROWABLE_HEAP_I32()[tm+40>>2];var date={tm_sec:GROWABLE_HEAP_I32()[tm>>2],tm_min:GROWABLE_HEAP_I32()[tm+4>>2],tm_hour:GROWABLE_HEAP_I32()[tm+8>>2],tm_mday:GROWABLE_HEAP_I32()[tm+12>>2],tm_mon:GROWABLE_HEAP_I32()[tm+16>>2],tm_year:GROWABLE_HEAP_I32()[tm+20>>2],tm_wday:GROWABLE_HEAP_I32()[tm+24>>2],tm_yday:GROWABLE_HEAP_I32()[tm+28>>2],tm_isdst:GROWABLE_HEAP_I32()[tm+32>>2],tm_gmtoff:GROWABLE_HEAP_I32()[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){GROWABLE_HEAP_I32()[ptr>>2]=ret}return ret}if(!ENVIRONMENT_IS_PTHREAD)PThread.initMainThread();var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();init_embind();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var GLctx;var proxiedFunctionTable=[null,exitOnMainThread,___syscall__newselect,___syscall_access,___syscall_connect,___syscall_fcntl64,___syscall_ftruncate64,___syscall_getsockopt,___syscall_ioctl,___syscall_mkdir,___syscall_open,___syscall_pipe,___syscall_poll,___syscall_socket,___syscall_stat64,___syscall_unlink,_tzset_impl,_emscripten_set_canvas_element_size_main_thread,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write];function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"k":___assert_fail,"Ua":__asyncjs__em_libusb_wait,"na":___clock_gettime,"u":___cxa_allocate_exception,"p":___cxa_begin_catch,"da":___cxa_call_unexpected,"G":___cxa_end_catch,"c":___cxa_find_matching_catch_2,"m":___cxa_find_matching_catch_3,"D":___cxa_free_exception,"Q":___cxa_rethrow,"y":___cxa_throw,"fa":___cxa_uncaught_exceptions,"wa":___emscripten_init_main_thread_js,"ma":___emscripten_thread_cleanup,"va":___pthread_create_js,"d":___resumeException,"ka":___syscall__newselect,"La":___syscall_access,"ca":___syscall_connect,"L":___syscall_fcntl64,"Aa":___syscall_ftruncate64,"ba":___syscall_getsockopt,"Ca":___syscall_ioctl,"ra":___syscall_mkdir,"Da":___syscall_open,"qa":___syscall_pipe,"pa":___syscall_poll,"aa":___syscall_socket,"ja":___syscall_stat64,"ia":___syscall_unlink,"T":__dlopen_js,"Ka":__dlsym_js,"db":__embind_register_bigint,"Na":__embind_register_bool,"_a":__embind_register_class,"Za":__embind_register_class_constructor,"O":__embind_register_class_function,"Ma":__embind_register_emval,"U":__embind_register_float,"v":__embind_register_integer,"n":__embind_register_memory_view,"V":__embind_register_std_string,"N":__embind_register_std_wstring,"Oa":__embind_register_void,"Ja":__emscripten_futex_wait_non_blocking,"xa":__emscripten_notify_thread_queue,"C":__emval_as,"Sa":__emval_await,"$a":__emval_call,"w":__emval_call_method,"Z":__emval_call_void_method,"W":__emval_decref,"Va":__emval_get_global,"t":__emval_get_method_caller,"s":__emval_get_property,"Y":__emval_incref,"Pa":__emval_is_string,"H":__emval_new,"bb":__emval_new_array,"$":__emval_new_cstring,"ha":__emval_new_object,"ab":__emval_run_destructors,"F":__emval_set_property,"A":__emval_take_value,"Fa":__gmtime_js,"Ga":__localtime_js,"Ha":__mktime_js,"Ia":__tzset_js,"K":_abort,"Xa":_clock_gettime,"Wa":em_libusb_notify,"Ta":em_promise_catch_impl,"Ra":em_start_transfer_impl,"Qa":_emscripten_asm_const_int,"oa":_emscripten_check_blocking_allowed,"x":_emscripten_get_now,"Ea":_emscripten_memcpy_big,"sa":_emscripten_receive_on_main_thread_js,"ga":_emscripten_resize_heap,"ta":_emscripten_set_canvas_element_size,"la":_emscripten_unwind_to_js_event_loop,"ua":_emscripten_webgl_create_context,"ya":_environ_get,"za":_environ_sizes_get,"X":_exit,"M":_fd_close,"S":_fd_read,"cb":_fd_seek,"R":_fd_write,"b":_getTempRet0,"Ya":_gettimeofday,"ib":invoke_di,"jb":invoke_fi,"fb":invoke_i,"e":invoke_ii,"gb":invoke_iid,"P":invoke_iif,"f":invoke_iii,"r":invoke_iiii,"z":invoke_iiiiiii,"_":invoke_iiiiiiii,"J":invoke_iiiiiiiiiiii,"h":invoke_v,"i":invoke_vi,"hb":invoke_vid,"g":invoke_vii,"j":invoke_viii,"o":invoke_viiii,"q":invoke_viiiiiii,"E":invoke_viiiiiiiiii,"I":invoke_viiiiiiiiiiiiiii,"B":_llvm_eh_typeid_for,"a":wasmMemory||Module["wasmMemory"],"eb":_setTempRet0,"ea":_strftime_l,"Ba":throw_msg,"l":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["kb"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["lb"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["mb"]).apply(null,arguments)};var _htons=Module["_htons"]=function(){return(_htons=Module["_htons"]=Module["asm"]["nb"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ob"]).apply(null,arguments)};var _pthread_self=Module["_pthread_self"]=function(){return(_pthread_self=Module["_pthread_self"]=Module["asm"]["pb"]).apply(null,arguments)};var _em_signal_transfer_completion=Module["_em_signal_transfer_completion"]=function(){return(_em_signal_transfer_completion=Module["_em_signal_transfer_completion"]=Module["asm"]["qb"]).apply(null,arguments)};var _emscripten_tls_init=Module["_emscripten_tls_init"]=function(){return(_emscripten_tls_init=Module["_emscripten_tls_init"]=Module["asm"]["rb"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["sb"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["tb"]).apply(null,arguments)};var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=function(){return(_emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=Module["asm"]["ub"]).apply(null,arguments)};var __emscripten_thread_init=Module["__emscripten_thread_init"]=function(){return(__emscripten_thread_init=Module["__emscripten_thread_init"]=Module["asm"]["vb"]).apply(null,arguments)};var _emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=function(){return(_emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=Module["asm"]["xb"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=function(){return(_emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=Module["asm"]["yb"]).apply(null,arguments)};var _emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=function(){return(_emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=Module["asm"]["zb"]).apply(null,arguments)};var _emscripten_dispatch_to_thread_=Module["_emscripten_dispatch_to_thread_"]=function(){return(_emscripten_dispatch_to_thread_=Module["_emscripten_dispatch_to_thread_"]=Module["asm"]["Ab"]).apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return(_ntohs=Module["_ntohs"]=Module["asm"]["Bb"]).apply(null,arguments)};var __emscripten_thread_free_data=Module["__emscripten_thread_free_data"]=function(){return(__emscripten_thread_free_data=Module["__emscripten_thread_free_data"]=Module["asm"]["Cb"]).apply(null,arguments)};var __emscripten_thread_exit=Module["__emscripten_thread_exit"]=function(){return(__emscripten_thread_exit=Module["__emscripten_thread_exit"]=Module["asm"]["Db"]).apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return(_memalign=Module["_memalign"]=Module["asm"]["Eb"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["Fb"]).apply(null,arguments)};var _emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=function(){return(_emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=Module["asm"]["Gb"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["Hb"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["Ib"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["Jb"]).apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return(___cxa_can_catch=Module["___cxa_can_catch"]=Module["asm"]["Kb"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["Lb"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["Mb"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["Nb"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["Ob"]).apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return(dynCall_viii=Module["dynCall_viii"]=Module["asm"]["Pb"]).apply(null,arguments)};var dynCall_i=Module["dynCall_i"]=function(){return(dynCall_i=Module["dynCall_i"]=Module["asm"]["Qb"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["Rb"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["Sb"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["Tb"]).apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return(dynCall_iiiii=Module["dynCall_iiiii"]=Module["asm"]["Ub"]).apply(null,arguments)};var dynCall_fi=Module["dynCall_fi"]=function(){return(dynCall_fi=Module["dynCall_fi"]=Module["asm"]["Vb"]).apply(null,arguments)};var dynCall_di=Module["dynCall_di"]=function(){return(dynCall_di=Module["dynCall_di"]=Module["asm"]["Wb"]).apply(null,arguments)};var dynCall_vid=Module["dynCall_vid"]=function(){return(dynCall_vid=Module["dynCall_vid"]=Module["asm"]["Xb"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["Yb"]).apply(null,arguments)};var dynCall_iif=Module["dynCall_iif"]=function(){return(dynCall_iif=Module["dynCall_iif"]=Module["asm"]["Zb"]).apply(null,arguments)};var dynCall_iid=Module["dynCall_iid"]=function(){return(dynCall_iid=Module["dynCall_iid"]=Module["asm"]["_b"]).apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=Module["asm"]["$b"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["ac"]).apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return(dynCall_iiiiii=Module["dynCall_iiiiii"]=Module["asm"]["bc"]).apply(null,arguments)};var dynCall_iiiji=Module["dynCall_iiiji"]=function(){return(dynCall_iiiji=Module["dynCall_iiiji"]=Module["asm"]["cc"]).apply(null,arguments)};var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=function(){return(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=Module["asm"]["dc"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["ec"]).apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=Module["asm"]["fc"]).apply(null,arguments)};var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=Module["asm"]["gc"]).apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){return(dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=Module["asm"]["hc"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=Module["asm"]["ic"]).apply(null,arguments)};var dynCall_iiiiijiiii=Module["dynCall_iiiiijiiii"]=function(){return(dynCall_iiiiijiiii=Module["dynCall_iiiiijiiii"]=Module["asm"]["jc"]).apply(null,arguments)};var dynCall_iiijiii=Module["dynCall_iiijiii"]=function(){return(dynCall_iiijiii=Module["dynCall_iiijiii"]=Module["asm"]["kc"]).apply(null,arguments)};var dynCall_iiijii=Module["dynCall_iiijii"]=function(){return(dynCall_iiijii=Module["dynCall_iiijii"]=Module["asm"]["lc"]).apply(null,arguments)};var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=function(){return(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=Module["asm"]["mc"]).apply(null,arguments)};var dynCall_iiiiiijii=Module["dynCall_iiiiiijii"]=function(){return(dynCall_iiiiiijii=Module["dynCall_iiiiiijii"]=Module["asm"]["nc"]).apply(null,arguments)};var dynCall_iiijjii=Module["dynCall_iiijjii"]=function(){return(dynCall_iiijjii=Module["dynCall_iiijjii"]=Module["asm"]["oc"]).apply(null,arguments)};var dynCall_iiij=Module["dynCall_iiij"]=function(){return(dynCall_iiij=Module["dynCall_iiij"]=Module["asm"]["pc"]).apply(null,arguments)};var dynCall_iiiijii=Module["dynCall_iiiijii"]=function(){return(dynCall_iiiijii=Module["dynCall_iiiijii"]=Module["asm"]["qc"]).apply(null,arguments)};var dynCall_iiiiji=Module["dynCall_iiiiji"]=function(){return(dynCall_iiiiji=Module["dynCall_iiiiji"]=Module["asm"]["rc"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["sc"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["tc"]).apply(null,arguments)};var dynCall_iiiiid=Module["dynCall_iiiiid"]=function(){return(dynCall_iiiiid=Module["dynCall_iiiiid"]=Module["asm"]["uc"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["vc"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["wc"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["xc"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["yc"]).apply(null,arguments)};var _asyncify_start_unwind=Module["_asyncify_start_unwind"]=function(){return(_asyncify_start_unwind=Module["_asyncify_start_unwind"]=Module["asm"]["zc"]).apply(null,arguments)};var _asyncify_stop_unwind=Module["_asyncify_stop_unwind"]=function(){return(_asyncify_stop_unwind=Module["_asyncify_stop_unwind"]=Module["asm"]["Ac"]).apply(null,arguments)};var _asyncify_start_rewind=Module["_asyncify_start_rewind"]=function(){return(_asyncify_start_rewind=Module["_asyncify_start_rewind"]=Module["asm"]["Bc"]).apply(null,arguments)};var _asyncify_stop_rewind=Module["_asyncify_stop_rewind"]=function(){return(_asyncify_stop_rewind=Module["_asyncify_stop_rewind"]=Module["asm"]["Cc"]).apply(null,arguments)};var __emscripten_main_thread_futex=Module["__emscripten_main_thread_futex"]=870912;var __emscripten_allow_main_runtime_queued_calls=Module["__emscripten_allow_main_runtime_queued_calls"]=475692;function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fi(index,a1){var sp=stackSave();try{return dynCall_fi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_di(index,a1){var sp=stackSave();try{return dynCall_di(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vid(index,a1,a2){var sp=stackSave();try{dynCall_vid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iif(index,a1,a2){var sp=stackSave();try{return dynCall_iif(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iid(index,a1,a2){var sp=stackSave();try{return dynCall_iid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}Module["keepRuntimeAlive"]=keepRuntimeAlive;Module["PThread"]=PThread;Module["PThread"]=PThread;Module["wasmMemory"]=wasmMemory;Module["ExitStatus"]=ExitStatus;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve(Module);initRuntime();postMessage({"cmd":"loaded"});return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;if(!implicit){if(ENVIRONMENT_IS_PTHREAD){exitOnMainThread(status);throw"unwind"}else{}}if(keepRuntimeAlive()){}else{exitRuntime()}procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){PThread.terminateAllThreads();if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}if(ENVIRONMENT_IS_PTHREAD){noExitRuntime=false;PThread.initWorker()}run(); + + + return Module.ready +} +); +})(); +export default Module; \ No newline at end of file diff --git a/ui/libapi.wasm b/ui/libapi.wasm new file mode 100755 index 0000000000000000000000000000000000000000..5b22b553263f268a8a6cbff61542b8e466268831 GIT binary patch literal 1791650 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

C?;$Ua{f0a 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
9fssNcC0?wL%7!bKJLb99tX+c-e4Wkae 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 instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports});self.onmessage=(e=>{try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;(e.data.urlOrBlob?import(e.data.urlOrBlob):import("./libapi.mjs")).then(function(exports){return exports.default(Module)}).then(function(instance){Module=instance})}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;Module["__emscripten_thread_init"](e.data.threadInfoStruct,0,0,1);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInit();if(!initializedJS){Module["___embind_register_native_and_builtin_types"]();initializedJS=true}try{var result=Module["invokeEntryPoint"](e.data.start_routine,e.data.arg);if(Module["keepRuntimeAlive"]()){Module["PThread"].setExitStatus(result)}else{Module["__emscripten_thread_exit"](result)}}catch(ex){if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["__emscripten_thread_exit"](ex.status)}}else{throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processThreadQueue"){if(Module["_pthread_self"]()){Module["_emscripten_current_thread_process_queued_calls"]()}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex&&ex.stack)err(ex.stack);throw ex}}); From ea674be2ff1b2b1bd5079b2aea26056dc2f56729 Mon Sep 17 00:00:00 2001 From: ICheered Date: Wed, 2 Aug 2023 21:29:26 +0200 Subject: [PATCH 02/23] Change npm package name and version number --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index c19e19e..44929bc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "web-gphoto2-npm-test", - "version": "0.2.0", + "name": "web-gphoto2", + "version": "0.1.0", "description": "WASM implementation of gphoto2 and libusb to control DSLR cameras over USB on the Web", "main": "ui/libapi.mjs", "types": "ui/libapi.mjs.d.ts", From 6358e6c7ef74816e3215d310c202a0cfcf5edb5a Mon Sep 17 00:00:00 2001 From: ICheered Date: Thu, 3 Aug 2023 17:18:38 +0200 Subject: [PATCH 03/23] WASM => WebAssembly --- README.md | 6 +++--- package.json | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index ea1d865..319e7a1 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # Web-gPhoto2 -A gPhoto2 implementation using WASM to control DSLR cameras from the browser. +A gPhoto2 implementation using WebAssembly to control DSLR cameras from the browser. Powered by a [custom fork](https://github.com/RReverser/libgphoto2) of [libgphoto2](https://github.com/gphoto/libgphoto2), the [WebUSB](https://github.com/WICG/webusb) backend of [libusb](https://github.com/libusb/libusb), and WebAssembly via [Emscripten](https://emscripten.org/). @@ -78,7 +78,7 @@ More information can be found in the example included in the Github repository. ## Common Issues ### SharedArrayBuffer can not be found -SharedArrayBuffer has been disabled across all browsers due to the Spectre vulnerability. This package uses SharedArrayBuffer to communicate with the WASM module. To work around this issue, you need to set two response headers for your document: +SharedArrayBuffer has been disabled across all browsers due to the Spectre vulnerability. This package uses SharedArrayBuffer to communicate with the WebAssembly module. To work around this issue, you need to set two response headers for your document: ``` Cross-Origin-Opener-Policy: same-origin Cross-Origin-Embedder-Policy: require-corp @@ -87,7 +87,7 @@ Cross-Origin-Embedder-Policy: require-corp Information from [Stackoverflow](https://stackoverflow.com/questions/64650119/react-error-sharedarraybuffer-is-not-defined-in-firefox) ### Error: Not found: /node_modules/.vite/deps/libapi.wasm -Vite tries to optimize the dependencies by default. This causes the WASM module to be moved to a different location. To prevent this, you need to exclude the web-gphoto2 package from the optimization. +Vite tries to optimize the dependencies by default. This causes the WebAssembly module to be moved to a different location. To prevent this, you need to exclude the web-gphoto2 package from the optimization. In vite, both of the above mentioned issues are solved by adding the following to your vite.config.js: ```ts diff --git a/package.json b/package.json index 44929bc..f94cae1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "web-gphoto2", "version": "0.1.0", - "description": "WASM implementation of gphoto2 and libusb to control DSLR cameras over USB on the Web", + "description": "WebAssembly implementation of gphoto2 and libusb to control DSLR cameras over USB on the Web", "main": "ui/libapi.mjs", "types": "ui/libapi.mjs.d.ts", "scripts": { @@ -14,7 +14,7 @@ "keywords": [ "gphoto2", "libusb", - "wasm" + "webassembly" ], "author": "Ingvar Stepanyan - RReverser - me@rreverser.com", "license": "LGPLv2.1", From 6e09c9d03795f4ca40e2eea5451c327f0b5f4862 Mon Sep 17 00:00:00 2001 From: ICheered Date: Thu, 3 Aug 2023 18:18:43 +0200 Subject: [PATCH 04/23] Create camera wrapper around functions --- package.json | 5 +- ui/camera.js | 114 +++++++++++++++++++++++++++++++++++++++++++++ ui/libapi.mjs.d.ts | 39 ++++++++++++---- 3 files changed, 148 insertions(+), 10 deletions(-) create mode 100644 ui/camera.js diff --git a/package.json b/package.json index f94cae1..ccee349 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "web-gphoto2", "version": "0.1.0", "description": "WebAssembly implementation of gphoto2 and libusb to control DSLR cameras over USB on the Web", - "main": "ui/libapi.mjs", + "main": "ui/camera.js", "types": "ui/libapi.mjs.d.ts", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" @@ -23,7 +23,8 @@ }, "homepage": "https://github.com/GoogleChromeLabs/web-gphoto2#readme", "files": [ - "ui/libapi.*" + "ui/libapi.*", + "ui/camera.js" ], "devDependencies": { "@types/emscripten": "^1.39.5", diff --git a/ui/camera.js b/ui/camera.js new file mode 100644 index 0000000..7c4a1e1 --- /dev/null +++ b/ui/camera.js @@ -0,0 +1,114 @@ +/* + * Copyright 2021 Google LLC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + + +/** @typedef {import('./libapi.mjs').Context} Context */ + +// To avoid errors for users who use SSR or Hybrid rendering (e.g. Nuxt.js), we need to check if we're in the browser. +let initModule; + +async function initializeModule() { + if (typeof window !== 'undefined') { + const module = await import('./libapi.mjs'); + initModule = module.default; + return initModule; + } else { + console.warn("web-gphoto2 is only available in the browser"); + return null; + } +} + +const ModulePromise = initializeModule().then(initModule => { + if (initModule) { + return initModule(); + } else { + return null; + } +}); + +class Camera { + constructor() { + /** @type {Promise} */ + this.queue = Promise.resolve(); + this.Module = null; + this.context = null; + } + + rethrowIfCritical(err) { + // If it's precisely Error, it's a custom error; anything else - SyntaxError, + // WebAssembly.RuntimeError, TypeError, etc. - is treated as critical here. + if (err.constructor !== Error) { + throw err; + } + } + + async connect() { + this.Module = await ModulePromise; + this.context = await new this.Module.Context(); + } + + /** Schedules an exclusive async operation on the global context. + * @template T + * @param {(ctx: Context) => Promise} op + * @returns {Promise} + */ + async schedule(op) { + let res = this.queue.then(() => op(this.context)); + this.queue = res.catch(this.rethrowIfCritical); + return res; + } + + async disconnect() { + if (!this.context.isDeleted()) { + this.context.delete(); + } + } + + async getConfig() { + return this.schedule((context) => context.configToJS()); + } + + async getSupportedOps() { + if (this.context) { + return await this.context.supportedOps(); + } + throw new Error("You need to connect to the camera first"); + } + + async setConfigValue(name, value) { + const uiTimeout = new Promise((resolve) => setTimeout(resolve, 800)); + const setResult = this.schedule((context) => context.setConfigValue(name, value)); + // wait for both the config set operation and the timeout to complete + return Promise.all([setResult, uiTimeout]); + } + + + async capturePreviewAsBlob() { + return this.schedule((context) => context.capturePreviewAsBlob()); + } + + async captureImageAsFile() { + return this.schedule((context) => context.captureImageAsFile()); + } + + async consumeEvents() { + return this.schedule((context) => context.consumeEvents()); + } +} + +export default Camera; diff --git a/ui/libapi.mjs.d.ts b/ui/libapi.mjs.d.ts index b94c6ca..855202d 100644 --- a/ui/libapi.mjs.d.ts +++ b/ui/libapi.mjs.d.ts @@ -22,14 +22,14 @@ export type Config = { label: string; readonly: boolean; } & ( - | { type: 'range'; value: number; min: number; max: number; step: number } - | { type: 'menu' | 'radio'; value: string; choices: string[] } - | { type: 'toggle'; value: boolean } - | { type: 'text'; value: string } - | { type: 'window'; children: Record } - | { type: 'section'; children: Record } - | { type: 'datetime'; value: number } -); + | { type: 'range'; value: number; min: number; max: number; step: number } + | { type: 'menu' | 'radio'; value: string; choices: string[] } + | { type: 'toggle'; value: boolean } + | { type: 'text'; value: string } + | { type: 'window'; children: Record } + | { type: 'section'; children: Record } + | { type: 'datetime'; value: number } + ); declare interface SupportedOps { captureImage: boolean; @@ -41,6 +41,9 @@ declare interface SupportedOps { } declare class Context { + context(): Promise { + throw new Error('Method not implemented.'); + } configToJS(): Promise; setConfigValue( name: string, @@ -55,6 +58,26 @@ declare class Context { isDeleted(): boolean; } +export declare class Camera { + constructor(); + + connect(): Promise; + disconnect(): Promise; + + getConfig(): Promise; // replace "any" with the actual type of the config if you have it + + getSupportedOps(): SupportedOps; + + setConfigValue(name: string, value: number | string | boolean): Promise; + + capturePreviewAsBlob(): Promise; + captureImageAsFile(): Promise; + consumeEvents(): Promise; + + private rethrowIfCritical(err: any): void; // any error type can be replaced by more specific if available + private schedule(op: (ctx: any) => Promise): Promise; // ctx and T types can be replaced by more specific if available +} + export interface Module extends EmscriptenModule { Context: typeof Context; } From 8c21f708be56d57cbd32b90e65e13715bc04a78a Mon Sep 17 00:00:00 2001 From: ICheered Date: Thu, 3 Aug 2023 18:23:21 +0200 Subject: [PATCH 05/23] Update readme --- README.md | 90 ++++++++++++++++++++----------------------------------- 1 file changed, 33 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index 319e7a1..f681f72 100644 --- a/README.md +++ b/README.md @@ -12,70 +12,46 @@ yarn add web-gphoto2 ``` ## Usage -**Note: This package ONLY runs in the browser context**. It will not work in NodeJS. If you are using a build-tool make sure to dynamically import this package so it is only imported in the browser context. +A short example on how to use this package: ```ts -let initModule: any; +import Camera from 'web-gphoto2'; -if (typeof window !== 'undefined') { - import('web-gphoto2').then((module) => { - initModule = module.default; - }).catch((error) => { - console.error("Error loading web-gphoto2", error); +let camera = new Camera(); + +async function connectCamera() { + // @ts-ignore + await navigator.usb.requestDevice({ + filters: [{ classCode: 6, subclassCode: 1 }] }); -} else { - console.warn("web-gphoto2 is only available in the browser"); + await camera.connect(); +} + +async function getSupportedOps() { + const ops = await camera.getSupportedOps(); + console.log('Supported Ops:', ops); +} + +async function getCameraConfig() { + const config = await camera.getConfig(); + console.log('Config:', config); +} + +async function updateConfig() { + await camera.setConfigValue('iso', '800'); +} + +async function capturePreviewAsBlob() { + const blob = await camera.capturePreviewAsBlob(); + console.log('Blob:', blob); +} + +async function captureImageAsFile() { + const file = await camera.captureImageAsFile(); + console.log('File:', file); } ``` -A short example on how to use this package to obtain the camera config: -```ts -// After importing the initModule from web-gphoto2 -const ModulePromise = initModule(); - -export function rethrowIfCritical(err) { - if (err.constructor !== Error) throw err; -} - -export async function connect() { - const Module = await ModulePromise; - - let context = await new Module.Context(); - let supportedOps = await context.supportedOps(); - - let queue = Promise.resolve(); - - function schedule(op) { - let res = queue.then(() => op(context)); - queue = res.catch(rethrowIfCritical); - return res; - } - - return { - supportedOps, - schedule, - disconnect() { - context.delete(); - } - }; -} - -// Select the camera, connect, and obtain the config. Error handling is omitted for brevity but should be included, check the example for details. -await navigator.usb.requestDevice({ - filters: [ - { - classCode: 6, // PTP - subclassCode: 1 // MTP - } - ] -}); -let connection = await connect(); -let config = await connection.schedule((context: any) => context.configToJS()); -console.log('Obtained config: ', config); -``` - -More information can be found in the example included in the Github repository. - ## Common Issues ### SharedArrayBuffer can not be found SharedArrayBuffer has been disabled across all browsers due to the Spectre vulnerability. This package uses SharedArrayBuffer to communicate with the WebAssembly module. To work around this issue, you need to set two response headers for your document: From d0841c4c853b3758c2a4e8d60456d0f4bba246aa Mon Sep 17 00:00:00 2001 From: ICheered Date: Fri, 4 Aug 2023 14:15:01 +0200 Subject: [PATCH 06/23] Lazily load ModulePromise, make rethrowIfCritical standalone --- ui/camera.js | 34 ++++++++++++++++++---------------- 1 file changed, 18 insertions(+), 16 deletions(-) diff --git a/ui/camera.js b/ui/camera.js index 7c4a1e1..8d315b5 100644 --- a/ui/camera.js +++ b/ui/camera.js @@ -33,13 +33,13 @@ async function initializeModule() { } } -const ModulePromise = initializeModule().then(initModule => { - if (initModule) { - return initModule(); - } else { - return null; +export function rethrowIfCritical(err) { + // If it's precisely Error, it's a custom error; anything else - SyntaxError, + // WebAssembly.RuntimeError, TypeError, etc. - is treated as critical here. + if (err.constructor !== Error) { + throw err; } -}); +} class Camera { constructor() { @@ -47,18 +47,20 @@ class Camera { this.queue = Promise.resolve(); this.Module = null; this.context = null; - } - - rethrowIfCritical(err) { - // If it's precisely Error, it's a custom error; anything else - SyntaxError, - // WebAssembly.RuntimeError, TypeError, etc. - is treated as critical here. - if (err.constructor !== Error) { - throw err; - } + this.ModulePromise = null; } async connect() { - this.Module = await ModulePromise; + if (!this.ModulePromise) { + this.ModulePromise = initializeModule().then(initModule => { + if (initModule) { + return initModule(); + } else { + return null; + } + }); + } + this.Module = await this.ModulePromise; this.context = await new this.Module.Context(); } @@ -69,7 +71,7 @@ class Camera { */ async schedule(op) { let res = this.queue.then(() => op(this.context)); - this.queue = res.catch(this.rethrowIfCritical); + this.queue = res.catch(rethrowIfCritical); return res; } From 97210914c939518681841d831e1f248408894eb4 Mon Sep 17 00:00:00 2001 From: ICheered Date: Fri, 4 Aug 2023 17:49:09 +0200 Subject: [PATCH 07/23] Improve folder structure --- .gitattributes | 2 + Makefile | 2 +- {ui => build}/libapi.mjs | 0 {ui => build}/libapi.wasm | Bin {ui => build}/libapi.worker.js | 0 {ui => examples/preact}/.prettierrc | 0 examples/preact/build | 1 + {ui => examples/preact}/capture-button.js | 0 {ui => examples/preact}/index-fallback.js | 0 {ui => examples/preact}/index.html | 0 {ui => examples/preact}/index.js | 6 +- {ui => examples/preact}/ops.js | 8 +- {ui => examples/preact}/preview.js | 0 {ui => examples/preact}/serve.json | 0 {ui => examples/preact}/widget.js | 2 +- package.json | 10 +- src/camera.js | 116 ++++++++++++++++++++++ {ui => src}/libapi.mjs.d.ts | 0 ui/camera.js | 116 ---------------------- 19 files changed, 134 insertions(+), 129 deletions(-) create mode 100644 .gitattributes rename {ui => build}/libapi.mjs (100%) rename {ui => build}/libapi.wasm (100%) rename {ui => build}/libapi.worker.js (100%) rename {ui => examples/preact}/.prettierrc (100%) create mode 120000 examples/preact/build rename {ui => examples/preact}/capture-button.js (100%) rename {ui => examples/preact}/index-fallback.js (100%) rename {ui => examples/preact}/index.html (100%) rename {ui => examples/preact}/index.js (97%) rename {ui => examples/preact}/ops.js (94%) rename {ui => examples/preact}/preview.js (100%) rename {ui => examples/preact}/serve.json (100%) rename {ui => examples/preact}/widget.js (98%) create mode 100644 src/camera.js rename {ui => src}/libapi.mjs.d.ts (100%) delete mode 100644 ui/camera.js diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..d2f5c59 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +build/* binary +build/* linguist-generated=true \ No newline at end of file diff --git a/Makefile b/Makefile index c5600e6..ecddebf 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ export LDFLAGS += $(COMMON_FLAGS) ## Main API module -ui/libapi.mjs: api.o $(SYSROOT)/lib/libltdl.la $(SYSROOT)/lib/libgphoto2.la +build/libapi.mjs: api.o $(SYSROOT)/lib/libltdl.la $(SYSROOT)/lib/libgphoto2.la libtool --verbose --mode=link $(LD) $(LDFLAGS) -o $@ $+ \ -fexceptions --bind -s ASYNCIFY -s ALLOW_MEMORY_GROWTH \ -dlpreopen $(SYSROOT)/lib/libgphoto2/2.5.28.1/ptp2.la \ diff --git a/ui/libapi.mjs b/build/libapi.mjs similarity index 100% rename from ui/libapi.mjs rename to build/libapi.mjs diff --git a/ui/libapi.wasm b/build/libapi.wasm similarity index 100% rename from ui/libapi.wasm rename to build/libapi.wasm diff --git a/ui/libapi.worker.js b/build/libapi.worker.js similarity index 100% rename from ui/libapi.worker.js rename to build/libapi.worker.js diff --git a/ui/.prettierrc b/examples/preact/.prettierrc similarity index 100% rename from ui/.prettierrc rename to examples/preact/.prettierrc diff --git a/examples/preact/build b/examples/preact/build new file mode 120000 index 0000000..8fdb6a2 --- /dev/null +++ b/examples/preact/build @@ -0,0 +1 @@ +../../build \ No newline at end of file diff --git a/ui/capture-button.js b/examples/preact/capture-button.js similarity index 100% rename from ui/capture-button.js rename to examples/preact/capture-button.js diff --git a/ui/index-fallback.js b/examples/preact/index-fallback.js similarity index 100% rename from ui/index-fallback.js rename to examples/preact/index-fallback.js diff --git a/ui/index.html b/examples/preact/index.html similarity index 100% rename from ui/index.html rename to examples/preact/index.html diff --git a/ui/index.js b/examples/preact/index.js similarity index 97% rename from ui/index.js rename to examples/preact/index.js index 45821f4..0ff1563 100644 --- a/ui/index.js +++ b/examples/preact/index.js @@ -22,9 +22,9 @@ import { connect, rethrowIfCritical } from './ops.js'; import { Preview } from './preview.js'; import { Widget } from './widget.js'; -/** @typedef {import('../libapi.mjs').Context} Context */ -/** @typedef {import('../libapi.mjs').Config} Config */ -/** @typedef {import('./ops').Connection} Connection */ +/** @typedef {import('./build/libapi.mjs').Context} Context */ +/** @typedef {import('./build/libapi.mjs').Config} Config */ +/** @typedef {import('./ops.js').Connection} Connection */ export const isDebug = new URLSearchParams(location.search).has('debug'); diff --git a/ui/ops.js b/examples/preact/ops.js similarity index 94% rename from ui/ops.js rename to examples/preact/ops.js index e3e18f7..566e264 100644 --- a/ui/ops.js +++ b/examples/preact/ops.js @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ -import initModule from '../libapi.mjs'; +import initModule from './build/libapi.mjs'; /** @typedef {import('../libapi.mjs').Context} Context */ @@ -25,7 +25,8 @@ const ModulePromise = initModule(); export function rethrowIfCritical(err) { // If it's precisely Error, it's a custom error; anything else - SyntaxError, // WebAssembly.RuntimeError, TypeError, etc. - is treated as critical here. - if (err.constructor !== Error) { + if (err.constructor !== Error) + { throw err; } } @@ -44,7 +45,8 @@ export async function connect() { * @param {(ctx: Context) => Promise} op * @returns {Promise} */ - function schedule(op) { + function schedule(op) + { let res = queue.then(() => op(context)); queue = res.catch(rethrowIfCritical); return res; diff --git a/ui/preview.js b/examples/preact/preview.js similarity index 100% rename from ui/preview.js rename to examples/preact/preview.js diff --git a/ui/serve.json b/examples/preact/serve.json similarity index 100% rename from ui/serve.json rename to examples/preact/serve.json diff --git a/ui/widget.js b/examples/preact/widget.js similarity index 98% rename from ui/widget.js rename to examples/preact/widget.js index 350cbc2..3bd8c26 100644 --- a/ui/widget.js +++ b/examples/preact/widget.js @@ -18,7 +18,7 @@ import { h, Component, createRef } from 'preact'; -/** @typedef {import('../libapi.mjs').Config} Config */ +/** @typedef {import('./build/libapi.mjs').Config} Config */ /** * @param {Config} config diff --git a/package.json b/package.json index ccee349..a318f09 100644 --- a/package.json +++ b/package.json @@ -2,8 +2,8 @@ "name": "web-gphoto2", "version": "0.1.0", "description": "WebAssembly implementation of gphoto2 and libusb to control DSLR cameras over USB on the Web", - "main": "ui/camera.js", - "types": "ui/libapi.mjs.d.ts", + "main": "src/camera.js", + "types": "src/libapi.mjs.d.ts", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, @@ -23,8 +23,8 @@ }, "homepage": "https://github.com/GoogleChromeLabs/web-gphoto2#readme", "files": [ - "ui/libapi.*", - "ui/camera.js" + "src/*", + "build/*" ], "devDependencies": { "@types/emscripten": "^1.39.5", @@ -32,4 +32,4 @@ "@types/stats.js": "^0.17.0", "preact": "^10.5.14" } -} \ No newline at end of file +} diff --git a/src/camera.js b/src/camera.js new file mode 100644 index 0000000..066bf51 --- /dev/null +++ b/src/camera.js @@ -0,0 +1,116 @@ +/* + * Copyright 2021 Google LLC + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA + */ + +/** @typedef {import('./libapi.mjs.d.ts').Context} Context */ + +// To avoid errors for users who use SSR or Hybrid rendering (e.g. Nuxt.js), we need to check if we're in the browser. +let initModule; + +async function initializeModule() { + if (typeof window !== "undefined") { + const module = await import("../build/libapi.mjs"); + initModule = module.default; + return initModule; + } else { + console.warn("web-gphoto2 is only available in the browser"); + return null; + } +} + +export function rethrowIfCritical(err) { + // If it's precisely Error, it's a custom error; anything else - SyntaxError, + // WebAssembly.RuntimeError, TypeError, etc. - is treated as critical here. + if (err.constructor !== Error) { + throw err; + } +} + +class Camera { + constructor() { + /** @type {Promise} */ + this.queue = Promise.resolve(); + this.Module = null; + this.context = null; + this.ModulePromise = null; + } + + async connect() { + if (!this.ModulePromise) { + this.ModulePromise = initializeModule().then((initModule) => { + if (initModule) { + return initModule(); + } else { + return null; + } + }); + } + this.Module = await this.ModulePromise; + this.context = await new this.Module.Context(); + } + + /** Schedules an exclusive async operation on the global context. + * @template T + * @param {(ctx: Context) => Promise} op + * @returns {Promise} + */ + async schedule(op) { + let res = this.queue.then(() => op(this.context)); + this.queue = res.catch(rethrowIfCritical); + return res; + } + + async disconnect() { + if (!this.context.isDeleted()) { + this.context.delete(); + } + } + + async getConfig() { + return this.schedule((context) => context.configToJS()); + } + + async getSupportedOps() { + if (this.context) { + return await this.context.supportedOps(); + } + throw new Error("You need to connect to the camera first"); + } + + async setConfigValue(name, value) { + const uiTimeout = new Promise((resolve) => setTimeout(resolve, 800)); + const setResult = this.schedule((context) => + context.setConfigValue(name, value) + ); + // wait for both the config set operation and the timeout to complete + return Promise.all([setResult, uiTimeout]); + } + + async capturePreviewAsBlob() { + return this.schedule((context) => context.capturePreviewAsBlob()); + } + + async captureImageAsFile() { + return this.schedule((context) => context.captureImageAsFile()); + } + + async consumeEvents() { + return this.schedule((context) => context.consumeEvents()); + } +} + +export default Camera; diff --git a/ui/libapi.mjs.d.ts b/src/libapi.mjs.d.ts similarity index 100% rename from ui/libapi.mjs.d.ts rename to src/libapi.mjs.d.ts diff --git a/ui/camera.js b/ui/camera.js deleted file mode 100644 index 8d315b5..0000000 --- a/ui/camera.js +++ /dev/null @@ -1,116 +0,0 @@ -/* - * Copyright 2021 Google LLC - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA - */ - - -/** @typedef {import('./libapi.mjs').Context} Context */ - -// To avoid errors for users who use SSR or Hybrid rendering (e.g. Nuxt.js), we need to check if we're in the browser. -let initModule; - -async function initializeModule() { - if (typeof window !== 'undefined') { - const module = await import('./libapi.mjs'); - initModule = module.default; - return initModule; - } else { - console.warn("web-gphoto2 is only available in the browser"); - return null; - } -} - -export function rethrowIfCritical(err) { - // If it's precisely Error, it's a custom error; anything else - SyntaxError, - // WebAssembly.RuntimeError, TypeError, etc. - is treated as critical here. - if (err.constructor !== Error) { - throw err; - } -} - -class Camera { - constructor() { - /** @type {Promise} */ - this.queue = Promise.resolve(); - this.Module = null; - this.context = null; - this.ModulePromise = null; - } - - async connect() { - if (!this.ModulePromise) { - this.ModulePromise = initializeModule().then(initModule => { - if (initModule) { - return initModule(); - } else { - return null; - } - }); - } - this.Module = await this.ModulePromise; - this.context = await new this.Module.Context(); - } - - /** Schedules an exclusive async operation on the global context. - * @template T - * @param {(ctx: Context) => Promise} op - * @returns {Promise} - */ - async schedule(op) { - let res = this.queue.then(() => op(this.context)); - this.queue = res.catch(rethrowIfCritical); - return res; - } - - async disconnect() { - if (!this.context.isDeleted()) { - this.context.delete(); - } - } - - async getConfig() { - return this.schedule((context) => context.configToJS()); - } - - async getSupportedOps() { - if (this.context) { - return await this.context.supportedOps(); - } - throw new Error("You need to connect to the camera first"); - } - - async setConfigValue(name, value) { - const uiTimeout = new Promise((resolve) => setTimeout(resolve, 800)); - const setResult = this.schedule((context) => context.setConfigValue(name, value)); - // wait for both the config set operation and the timeout to complete - return Promise.all([setResult, uiTimeout]); - } - - - async capturePreviewAsBlob() { - return this.schedule((context) => context.capturePreviewAsBlob()); - } - - async captureImageAsFile() { - return this.schedule((context) => context.captureImageAsFile()); - } - - async consumeEvents() { - return this.schedule((context) => context.consumeEvents()); - } -} - -export default Camera; From f93004f8e7659e1ab59169659fc733c7051e6edd Mon Sep 17 00:00:00 2001 From: ICheered Date: Fri, 4 Aug 2023 17:52:14 +0200 Subject: [PATCH 08/23] Add environment flag to makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ecddebf..e9585c9 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ export LDFLAGS += -L$(SYSROOT)/lib export ACLOCAL_PATH := $(SYSROOT)/share/aclocal:$(ACLOCAL_PATH) # Common linking flags for all targets. -export LDFLAGS += -s DYNAMIC_EXECUTION=0 -s AUTO_JS_LIBRARIES=0 -s AUTO_NATIVE_LIBRARIES=0 +export LDFLAGS += -s DYNAMIC_EXECUTION=0 -s AUTO_JS_LIBRARIES=0 -s AUTO_NATIVE_LIBRARIES=0 -s ENVIRONMENT=web,worker # Common compilation & linking flags for all langs and targets. COMMON_FLAGS = -Os -flto From 8b10757e92ae4cc370804da30133a910179bb3ff Mon Sep 17 00:00:00 2001 From: ICheered Date: Fri, 4 Aug 2023 17:59:42 +0200 Subject: [PATCH 09/23] Move navigator.usb.requestDevice to package --- README.md | 68 ++++++++++++++++++++++++--------------------- src/camera.js | 15 ++++++++++ src/libapi.mjs.d.ts | 1 + 3 files changed, 53 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index f681f72..8e1a544 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,13 @@ # Web-gPhoto2 + A gPhoto2 implementation using WebAssembly to control DSLR cameras from the browser. Powered by a [custom fork](https://github.com/RReverser/libgphoto2) of [libgphoto2](https://github.com/gphoto/libgphoto2), the [WebUSB](https://github.com/WICG/webusb) backend of [libusb](https://github.com/libusb/libusb), and WebAssembly via [Emscripten](https://emscripten.org/). # NPM + ## Installation + ```bash npm install web-gphoto2 // or @@ -14,47 +17,48 @@ yarn add web-gphoto2 ## Usage A short example on how to use this package: + ```ts -import Camera from 'web-gphoto2'; +import Camera from "web-gphoto2"; let camera = new Camera(); async function connectCamera() { - // @ts-ignore - await navigator.usb.requestDevice({ - filters: [{ classCode: 6, subclassCode: 1 }] - }); - await camera.connect(); + await camera.showCameraPicker(); + await camera.connect(); } async function getSupportedOps() { - const ops = await camera.getSupportedOps(); - console.log('Supported Ops:', ops); + const ops = await camera.getSupportedOps(); + console.log("Supported Ops:", ops); } async function getCameraConfig() { - const config = await camera.getConfig(); - console.log('Config:', config); + const config = await camera.getConfig(); + console.log("Config:", config); } async function updateConfig() { - await camera.setConfigValue('iso', '800'); + await camera.setConfigValue("iso", "800"); } async function capturePreviewAsBlob() { - const blob = await camera.capturePreviewAsBlob(); - console.log('Blob:', blob); + const blob = await camera.capturePreviewAsBlob(); + console.log("Blob:", blob); } async function captureImageAsFile() { - const file = await camera.captureImageAsFile(); - console.log('File:', file); + const file = await camera.captureImageAsFile(); + console.log("File:", file); } ``` ## Common Issues -### SharedArrayBuffer can not be found + +### SharedArrayBuffer can not be found + SharedArrayBuffer has been disabled across all browsers due to the Spectre vulnerability. This package uses SharedArrayBuffer to communicate with the WebAssembly module. To work around this issue, you need to set two response headers for your document: + ``` Cross-Origin-Opener-Policy: same-origin Cross-Origin-Embedder-Policy: require-corp @@ -63,35 +67,37 @@ Cross-Origin-Embedder-Policy: require-corp Information from [Stackoverflow](https://stackoverflow.com/questions/64650119/react-error-sharedarraybuffer-is-not-defined-in-firefox) ### Error: Not found: /node_modules/.vite/deps/libapi.wasm + Vite tries to optimize the dependencies by default. This causes the WebAssembly module to be moved to a different location. To prevent this, you need to exclude the web-gphoto2 package from the optimization. In vite, both of the above mentioned issues are solved by adding the following to your vite.config.js: + ```ts -import { sveltekit } from '@sveltejs/kit/vite'; -import { defineConfig } from 'vite'; +import { sveltekit } from "@sveltejs/kit/vite"; +import { defineConfig } from "vite"; /** @type {import('vite').Plugin} */ const viteServerConfig = { - name: 'add headers', - configureServer: (server) => { - server.middlewares.use((req, res, next) => { - res.setHeader("Cross-Origin-Opener-Policy", "same-origin"); - res.setHeader("Cross-Origin-Embedder-Policy", "require-corp"); - next(); - }); - } + name: "add headers", + configureServer: (server) => { + server.middlewares.use((req, res, next) => { + res.setHeader("Cross-Origin-Opener-Policy", "same-origin"); + res.setHeader("Cross-Origin-Embedder-Policy", "require-corp"); + next(); + }); + }, }; export default defineConfig({ - plugins: [sveltekit(), viteServerConfig], - optimizeDeps: { - exclude: ['web-gphoto2'] - } + plugins: [sveltekit(), viteServerConfig], + optimizeDeps: { + exclude: ["web-gphoto2"], + }, }); ``` - # Demo + This repository also contains a [demo app](https://web.dev/porting-libusb-to-webusb/) running gPhoto2 on the Web: ![A picture of DSLR camera connected via a USB cable to a laptop. The laptop is running the Web demo mentioned in the article, which mirrors a live video feed from the camera as well as allows to tweak its settings via form controls.](https://web-dev.imgix.net/image/9oK23mr86lhFOwKaoYZ4EySNFp02/MR4YGRvl0Z9AWT6vv3sQ.jpg?auto=format&w=1600) diff --git a/src/camera.js b/src/camera.js index 066bf51..d6c7585 100644 --- a/src/camera.js +++ b/src/camera.js @@ -40,6 +40,9 @@ export function rethrowIfCritical(err) { } } +const INTERFACE_CLASS = 6; // PTP +const INTERFACE_SUBCLASS = 1; // MTP + class Camera { constructor() { /** @type {Promise} */ @@ -49,6 +52,18 @@ class Camera { this.ModulePromise = null; } + async showCameraPicker() { + // @ts-ignore + await navigator.usb.requestDevice({ + filters: [ + { + classCode: INTERFACE_CLASS, + subclassCode: INTERFACE_SUBCLASS, + }, + ], + }); + } + async connect() { if (!this.ModulePromise) { this.ModulePromise = initializeModule().then((initModule) => { diff --git a/src/libapi.mjs.d.ts b/src/libapi.mjs.d.ts index 855202d..c73dbc9 100644 --- a/src/libapi.mjs.d.ts +++ b/src/libapi.mjs.d.ts @@ -61,6 +61,7 @@ declare class Context { export declare class Camera { constructor(); + showCameraPicker(): Promise; connect(): Promise; disconnect(): Promise; From 9c97e6e5ab1481da93fdff7d60f56c437d749040 Mon Sep 17 00:00:00 2001 From: ICheered Date: Fri, 4 Aug 2023 18:02:27 +0200 Subject: [PATCH 10/23] Update package.json --- package.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index a318f09..27dfe8a 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,18 @@ "libusb", "webassembly" ], - "author": "Ingvar Stepanyan - RReverser - me@rreverser.com", + "author": { + "name": "Ingvar Stepanyan", + "email": "me@rreverser.com", + "url": "https://rreverser.com" + }, + "contributers": [ + { + "name": "Tjeerd Bakker", + "email": "tjeerd992@gmail.com", + "url": "https://icheered.com" + } + ], "license": "LGPLv2.1", "bugs": { "url": "https://github.com/GoogleChromeLabs/web-gphoto2/issues" From 635210113105f713518f51591e13406e9a045d02 Mon Sep 17 00:00:00 2001 From: ICheered Date: Fri, 4 Aug 2023 18:09:43 +0200 Subject: [PATCH 11/23] Rebuild files with ENVIRONMENT=web,worker flags in Makefile --- build/libapi.mjs | 2 +- build/libapi.worker.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build/libapi.mjs b/build/libapi.mjs index 4d61006..70e7089 100644 --- a/build/libapi.mjs +++ b/build/libapi.mjs @@ -6,7 +6,7 @@ var Module = (() => { function(Module) { Module = Module || {}; -function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU8}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP16}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU16}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU32}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF64}var Module=typeof Module!=="undefined"?Module:{};var objAssign=Object.assign;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=objAssign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";var ENVIRONMENT_IS_PTHREAD=Module["ENVIRONMENT_IS_PTHREAD"]||false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;function logExceptionOnExit(e){if(e instanceof ExitStatus)return;let toLog=e;err("exiting due to exception: "+toLog)}var fs;var nodePath;var requireNodeFS;if(ENVIRONMENT_IS_NODE){if(ENVIRONMENT_IS_WORKER){scriptDirectory=require("path").dirname(scriptDirectory)+"/"}else{scriptDirectory=__dirname+"/"}requireNodeFS=(()=>{if(!nodePath){fs=require("fs");nodePath=require("path")}});read_=function shell_read(filename,binary){requireNodeFS();filename=nodePath["normalize"](filename);return fs.readFileSync(filename,binary?null:"utf8")};readBinary=(filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret});readAsync=((filename,onload,onerror)=>{requireNodeFS();filename=nodePath["normalize"](filename);fs.readFile(filename,function(err,data){if(err)onerror(err);else onload(data.buffer)})});if(process["argv"].length>1){thisProgram=process["argv"][1].replace(/\\/g,"/")}arguments_=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",function(reason){throw reason});quit_=((status,toThrow)=>{if(keepRuntimeAlive()){process["exitCode"]=status;throw toThrow}logExceptionOnExit(toThrow);process["exit"](status)});Module["inspect"]=function(){return"[Emscripten Module object]"};let nodeWorkerThreads;try{nodeWorkerThreads=require("worker_threads")}catch(e){console.error('The "worker_threads" module is not supported in this node.js build - perhaps a newer version is needed?');throw e}global.Worker=nodeWorkerThreads.Worker}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}if(!ENVIRONMENT_IS_NODE){read_=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText});if(ENVIRONMENT_IS_WORKER){readBinary=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)})}readAsync=((url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=(()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()});xhr.onerror=onerror;xhr.send(null)})}setWindowTitle=(title=>document.title=title)}else{}if(ENVIRONMENT_IS_NODE){if(typeof performance==="undefined"){global.performance=require("perf_hooks").performance}}var defaultPrint=console.log.bind(console);var defaultPrintErr=console.warn.bind(console);if(ENVIRONMENT_IS_NODE){requireNodeFS();defaultPrint=(str=>fs.writeSync(1,str+"\n"));defaultPrintErr=(str=>fs.writeSync(2,str+"\n"))}var out=Module["print"]||defaultPrint;var err=Module["printErr"]||defaultPrintErr;objAssign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=value=>{tempRet0=value};var getTempRet0=()=>tempRet0;var Atomics_load=Atomics.load;var Atomics_store=Atomics.store;var Atomics_compareExchange=Atomics.compareExchange;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}function TextDecoderWrapper(encoding){var textDecoder=new TextDecoder(encoding);this.decode=(data=>{if(data.buffer instanceof SharedArrayBuffer){data=new Uint8Array(data)}return textDecoder.decode.call(textDecoder,data)})}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoderWrapper("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoderWrapper("utf-16le"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&GROWABLE_HEAP_U16()[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(GROWABLE_HEAP_U8().subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=GROWABLE_HEAP_I16()[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}GROWABLE_HEAP_I16()[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=GROWABLE_HEAP_I32()[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}GROWABLE_HEAP_I32()[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}GROWABLE_HEAP_I32()[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,GROWABLE_HEAP_I8(),ret,size);return ret}function writeArrayToMemory(array,buffer){GROWABLE_HEAP_I8().set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)GROWABLE_HEAP_I8()[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;if(ENVIRONMENT_IS_PTHREAD){buffer=Module["buffer"]}function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(ENVIRONMENT_IS_PTHREAD){wasmMemory=Module["wasmMemory"];buffer=Module["buffer"]}else{if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536,"shared":true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)")}throw Error("bad memory")}}}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;if(!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 exitRuntime(){if(ENVIRONMENT_IS_PTHREAD)return;PThread.terminateAllThreads();runtimeExited=true}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(ENVIRONMENT_IS_PTHREAD){postMessage({"cmd":"onAbort","arg":what})}else{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith("file://")}var wasmBinaryFile;if(Module["locateFile"]){wasmBinaryFile="libapi.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{wasmBinaryFile=new URL("libapi.wasm",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"&&!isFileURI(wasmBinaryFile)){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}else{if(readAsync){return new Promise(function(resolve,reject){readAsync(wasmBinaryFile,function(response){resolve(new Uint8Array(response))},reject)})}}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;exports=Asyncify.instrumentWasmExports(exports);Module["asm"]=exports;registerTlsInit(Module["asm"]["rb"]);wasmTable=Module["asm"]["wb"];addOnInit(Module["asm"]["kb"]);wasmModule=module;if(!ENVIRONMENT_IS_PTHREAD){removeRunDependency("wasm-instantiate")}}if(!ENVIRONMENT_IS_PTHREAD){addRunDependency("wasm-instantiate")}function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&!isFileURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);exports=Asyncify.instrumentWasmExports(exports);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;var ASM_CONSTS={477425:function($0,$1,$2){return stringToUTF16(Emval.toValue($0),$1,$2)}};function __asyncjs__em_libusb_wait(timeout){return Asyncify.handleAsync(async()=>{let onEvent,timeoutId;try{return await new Promise(resolve=>{onEvent=(()=>resolve(0));addEventListener("em-libusb",onEvent);timeoutId=setTimeout(resolve,timeout,-1)})}finally{removeEventListener("em-libusb",onEvent);clearTimeout(timeoutId)}})}function em_libusb_notify(){dispatchEvent(new Event("em-libusb"))}function em_promise_catch_impl(handle){let promise=Emval.toValue(handle);promise=promise.then(value=>({error:0,value:value}),error=>{const ERROR_CODES={NetworkError:-1,DataError:-2,TypeMismatchError:-2,IndexSizeError:-2,SecurityError:-3,NotFoundError:-5,InvalidStateError:-6,TimeoutError:-7,AbortError:-10,NotSupportedError:-12};console.error(error);let errorCode=-99;if(error instanceof DOMException){errorCode=(ERROR_CODES[error.name]??errorCode)}else if(error instanceof RangeError||error instanceof TypeError){errorCode=-2}return{error:errorCode,value:undefined}});return Emval.toHandle(promise)}function em_start_transfer_impl(transfer,handle){Emval.toValue(handle).then(result=>{_em_signal_transfer_completion(transfer,Emval.toHandle(result))})}function throw_msg(msg){throw new Error(UTF8ToString(msg))}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){(function(){dynCall_v.call(null,func)})()}else{(function(a1){dynCall_vi.apply(null,[func,a1])})(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}function killThread(pthread_ptr){GROWABLE_HEAP_I32()[pthread_ptr>>2]=0;var pthread=PThread.pthreads[pthread_ptr];delete PThread.pthreads[pthread_ptr];pthread.worker.terminate();__emscripten_thread_free_data(pthread_ptr);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(pthread.worker),1);pthread.worker.pthread=undefined}function cancelThread(pthread_ptr){var pthread=PThread.pthreads[pthread_ptr];pthread.worker.postMessage({"cmd":"cancel"})}function cleanupThread(pthread_ptr){var pthread=PThread.pthreads[pthread_ptr];if(pthread){GROWABLE_HEAP_I32()[pthread_ptr>>2]=0;var worker=pthread.worker;PThread.returnWorkerToPool(worker)}}function zeroMemory(address,size){GROWABLE_HEAP_U8().fill(0,address,address+size)}function _exit(status){exit(status)}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],initMainThread:function(){},initWorker:function(){},pthreads:{},setExitStatus:function(status){EXITSTATUS=status},terminateAllThreads:function(){for(var t in PThread.pthreads){var pthread=PThread.pthreads[t];if(pthread&&pthread.worker){PThread.returnWorkerToPool(pthread.worker)}}for(var i=0;i>2]=0;try{func()}finally{GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls>>2]=1}},receiveObjectTransfer:function(data){},threadInit:function(){for(var i in PThread.tlsInitFunctions){PThread.tlsInitFunctions[i]()}},loadWasmModuleToWorker:function(worker,onFinishedLoading){worker.onmessage=(e=>{var d=e["data"];var cmd=d["cmd"];if(worker.pthread)PThread.currentProxiedOperationCallerThread=worker.pthread.threadInfoStruct;if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var thread=PThread.pthreads[d.targetThread];if(thread){thread.worker.postMessage(d,d["transferList"])}else{err('Internal error! Worker sent a message "'+cmd+'" to target pthread '+d["targetThread"]+", but that thread no longer exists!")}PThread.currentProxiedOperationCallerThread=undefined;return}if(cmd==="processQueuedMainThreadWork"){_emscripten_main_thread_process_queued_calls()}else if(cmd==="spawnThread"){spawnThread(d)}else if(cmd==="cleanupThread"){cleanupThread(d["thread"])}else if(cmd==="killThread"){killThread(d["thread"])}else if(cmd==="cancelThread"){cancelThread(d["thread"])}else if(cmd==="loaded"){worker.loaded=true;if(onFinishedLoading)onFinishedLoading(worker);if(worker.runPthread){worker.runPthread();delete worker.runPthread}}else if(cmd==="print"){out("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="printErr"){err("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="alert"){alert("Thread "+d["threadId"]+": "+d["text"])}else if(d.target==="setimmediate"){worker.postMessage(d)}else if(cmd==="onAbort"){if(Module["onAbort"]){Module["onAbort"](d["arg"])}}else{err("worker sent an unknown command "+cmd)}PThread.currentProxiedOperationCallerThread=undefined});worker.onerror=(e=>{var message="worker sent an error!";err(message+" "+e.filename+":"+e.lineno+": "+e.message);throw e});if(ENVIRONMENT_IS_NODE){worker.on("message",function(data){worker.onmessage({data:data})});worker.on("error",function(e){worker.onerror(e)});worker.on("detachedExit",function(){})}worker.postMessage({"cmd":"load","urlOrBlob":Module["mainScriptUrlOrBlob"],"wasmMemory":wasmMemory,"wasmModule":wasmModule})},allocateUnusedWorker:function(){if(!Module["locateFile"]){PThread.unusedWorkers.push(new Worker(new URL("libapi.worker.js",import.meta.url)));return}var pthreadMainJs=locateFile("libapi.worker.js");PThread.unusedWorkers.push(new Worker(pthreadMainJs))},getNewWorker:function(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()}};function establishStackSpace(){var pthread_ptr=_pthread_self();var stackTop=GROWABLE_HEAP_I32()[pthread_ptr+44>>2];var stackSize=GROWABLE_HEAP_I32()[pthread_ptr+48>>2];var stackMax=stackTop-stackSize;_emscripten_stack_set_limits(stackTop,stackMax);stackRestore(stackTop)}Module["establishStackSpace"]=establishStackSpace;function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,0,returnCode);try{_exit(returnCode)}catch(e){handleException(e)}}function invokeEntryPoint(ptr,arg){return function(a1){return dynCall_ii.apply(null,[ptr,a1])}(arg)}Module["invokeEntryPoint"]=invokeEntryPoint;function registerTlsInit(tlsInitFunc,moduleExports,metadata){PThread.tlsInitFunctions.push(tlsInitFunc)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var _emscripten_get_now;if(ENVIRONMENT_IS_NODE){_emscripten_get_now=(()=>{var t=process["hrtime"]();return t[0]*1e3+t[1]/1e6})}else if(ENVIRONMENT_IS_PTHREAD){_emscripten_get_now=(()=>performance.now()-Module["__performance_now_clock_drift"])}else _emscripten_get_now=(()=>performance.now());var _emscripten_get_now_is_monotonic=true;function setErrNo(value){GROWABLE_HEAP_I32()[___errno_location()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}GROWABLE_HEAP_I32()[tp>>2]=now/1e3|0;GROWABLE_HEAP_I32()[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(a0,a1){return _clock_gettime(a0,a1)}function ___cxa_allocate_exception(size){return _malloc(size+16)+16}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-16;this.set_type=function(type){GROWABLE_HEAP_I32()[this.ptr+4>>2]=type};this.get_type=function(){return GROWABLE_HEAP_I32()[this.ptr+4>>2]};this.set_destructor=function(destructor){GROWABLE_HEAP_I32()[this.ptr+8>>2]=destructor};this.get_destructor=function(){return GROWABLE_HEAP_I32()[this.ptr+8>>2]};this.set_refcount=function(refcount){GROWABLE_HEAP_I32()[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+12>>0]=caught};this.get_caught=function(){return GROWABLE_HEAP_I8()[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return GROWABLE_HEAP_I8()[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){Atomics.add(GROWABLE_HEAP_I32(),this.ptr+0>>2,1)};this.release_ref=function(){var prev=Atomics.sub(GROWABLE_HEAP_I32(),this.ptr+0>>2,1);return prev===1}}function CatchInfo(ptr){this.free=function(){_free(this.ptr);this.ptr=0};this.set_base_ptr=function(basePtr){GROWABLE_HEAP_I32()[this.ptr>>2]=basePtr};this.get_base_ptr=function(){return GROWABLE_HEAP_I32()[this.ptr>>2]};this.set_adjusted_ptr=function(adjustedPtr){GROWABLE_HEAP_I32()[this.ptr+4>>2]=adjustedPtr};this.get_adjusted_ptr_addr=function(){return this.ptr+4};this.get_adjusted_ptr=function(){return GROWABLE_HEAP_I32()[this.ptr+4>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_exception_info().get_type());if(isPointer){return GROWABLE_HEAP_I32()[this.get_base_ptr()>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.get_base_ptr()};this.get_exception_info=function(){return new ExceptionInfo(this.get_base_ptr())};if(ptr===undefined){this.ptr=_malloc(8);this.set_adjusted_ptr(0)}else{this.ptr=ptr}}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var catchInfo=new CatchInfo(ptr);var info=catchInfo.get_exception_info();if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(catchInfo);exception_addRef(info);return catchInfo.get_exception_ptr()}function ___cxa_call_unexpected(exception){err("Unexpected exception thrown, this is not properly supported - aborting");ABORT=true;throw exception}var exceptionLast=0;function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){(function(a1){return dynCall_ii.apply(null,[destructor,a1])})(info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_end_catch(){_setThrew(0);var catchInfo=exceptionCaught.pop();exception_decRef(catchInfo.get_exception_info());catchInfo.free();exceptionLast=0}function ___resumeException(catchInfoPtr){var catchInfo=new CatchInfo(catchInfoPtr);var ptr=catchInfo.get_base_ptr();if(!exceptionLast){exceptionLast=ptr}catchInfo.free();throw ptr}function ___cxa_find_matching_catch_2(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i{msg.time=performance.now();worker.postMessage(msg,threadParams.transferList)});if(worker.loaded){worker.runPthread();delete worker.runPthread}return 0}function ___pthread_create_js(pthread_ptr,attr,start_routine,arg){if(typeof SharedArrayBuffer==="undefined"){err("Current environment does not support SharedArrayBuffer, pthreads are not available!");return 6}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(transferList.length===0||error)){return _emscripten_sync_run_in_main_thread_4(687865856,pthread_ptr,attr,start_routine,arg)}if(error)return error;var threadParams={startRoutine:start_routine,pthread_ptr:pthread_ptr,arg:arg,transferList:transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList);return 0}return spawnThread(threadParams)}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require("crypto");return function(){return crypto_module["randomBytes"](1)[0]}}catch(e){}}return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){result=buf.slice(0,bytesRead).toString("utf-8")}else{result=null}}else if(typeof window!="undefined"&&typeof window.prompt=="function"){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else if(typeof readline=="function"){result=readline();if(result!==null){result+="\n"}}if(!result){return null}tty.input=intArrayFromString(result,true)}return tty.input.shift()},put_char:function(tty,val){if(val===null||val===10){out(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function alignMemory(size,alignment){return Math.ceil(size/alignment)*alignment}function mmapAlloc(size){size=alignMemory(size,65536);var ptr=_memalign(65536,size);if(!ptr)return 0;zeroMemory(ptr,size);return ptr}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{path=PATH_FS.resolve(FS.cwd(),path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(p=>!!p),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode,fd_start,fd_end)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,address,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,address,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{return null}},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent==="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=((stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=(()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)});openRequest.onsuccess=(()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=(()=>{ok++;if(ok+fail==total)finish()});putRequest.onerror=(()=>{fail++;if(ok+fail==total)finish()})});transaction.onerror=onerror});openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=(()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=(()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()});getRequest.onerror=(()=>{fail++;if(ok+fail==total)finish()})});transaction.onerror=onerror});openRequest.onerror=onerror}};var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(path[0]==="/"){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}GROWABLE_HEAP_I32()[buf>>2]=stat.dev;GROWABLE_HEAP_I32()[buf+4>>2]=0;GROWABLE_HEAP_I32()[buf+8>>2]=stat.ino;GROWABLE_HEAP_I32()[buf+12>>2]=stat.mode;GROWABLE_HEAP_I32()[buf+16>>2]=stat.nlink;GROWABLE_HEAP_I32()[buf+20>>2]=stat.uid;GROWABLE_HEAP_I32()[buf+24>>2]=stat.gid;GROWABLE_HEAP_I32()[buf+28>>2]=stat.rdev;GROWABLE_HEAP_I32()[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+40>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+44>>2]=tempI64[1];GROWABLE_HEAP_I32()[buf+48>>2]=4096;GROWABLE_HEAP_I32()[buf+52>>2]=stat.blocks;GROWABLE_HEAP_I32()[buf+56>>2]=stat.atime.getTime()/1e3|0;GROWABLE_HEAP_I32()[buf+60>>2]=0;GROWABLE_HEAP_I32()[buf+64>>2]=stat.mtime.getTime()/1e3|0;GROWABLE_HEAP_I32()[buf+68>>2]=0;GROWABLE_HEAP_I32()[buf+72>>2]=stat.ctime.getTime()/1e3|0;GROWABLE_HEAP_I32()[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+80>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=GROWABLE_HEAP_U8().slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=GROWABLE_HEAP_I8()[buf+len];stringToUTF8(ret,buf,bufsize+1);GROWABLE_HEAP_I8()[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=GROWABLE_HEAP_I32()[iov+(i*8+4)>>2];var curr=FS.read(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=GROWABLE_HEAP_I32()[iov+(i*8+4)>>2];var curr=FS.write(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=GROWABLE_HEAP_I32()[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,1,nfds,readfds,writefds,exceptfds,timeout);try{var total=0;var srcReadLow=readfds?GROWABLE_HEAP_I32()[readfds>>2]:0,srcReadHigh=readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0;var srcWriteLow=writefds?GROWABLE_HEAP_I32()[writefds>>2]:0,srcWriteHigh=writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0;var srcExceptLow=exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0,srcExceptHigh=exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?GROWABLE_HEAP_I32()[readfds>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0);var allHigh=(readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd>2]=dstReadLow;GROWABLE_HEAP_I32()[readfds+4>>2]=dstReadHigh}if(writefds){GROWABLE_HEAP_I32()[writefds>>2]=dstWriteLow;GROWABLE_HEAP_I32()[writefds+4>>2]=dstWriteHigh}if(exceptfds){GROWABLE_HEAP_I32()[exceptfds>>2]=dstExceptLow;GROWABLE_HEAP_I32()[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_access(path,amode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(3,1,path,amode);try{path=SYSCALLS.getStr(path);return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var SOCKFS={mount:function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket:function(family,type,protocol){type&=~526336;var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket:function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll:function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl:function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read:function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write:function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close:function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer:function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;if(ENVIRONMENT_IS_NODE){WebSocketConstructor=require("ws")}else{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data==="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}else{data=new Uint8Array(data)}}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,flags){if(!flags.binary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}GROWABLE_HEAP_I32()[arg>>2]=bytes;return 0;default:return 28}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function inetNtop6(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word>1];var port=_ntohs(GROWABLE_HEAP_U16()[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=GROWABLE_HEAP_I32()[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[GROWABLE_HEAP_I32()[sa+8>>2],GROWABLE_HEAP_I32()[sa+12>>2],GROWABLE_HEAP_I32()[sa+16>>2],GROWABLE_HEAP_I32()[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function inetPton4(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ftruncate64(fd,low,high){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(6,1,fd,low,high);try{var length=SYSCALLS.get64(low,high);FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_getsockopt(fd,level,optname,optval,optlen){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(7,1,fd,level,optname,optval,optlen);try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){GROWABLE_HEAP_I32()[optval>>2]=sock.error;GROWABLE_HEAP_I32()[optlen>>2]=4;sock.error=null;return 0}}return-50}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(8,1,fd,op,varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();GROWABLE_HEAP_I32()[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_mkdir(path,mode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(9,1,path,mode);try{path=SYSCALLS.getStr(path);return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_open(path,flags,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(10,1,path,flags,varargs);SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount:function(mount){return FS.createNode(null,"/",16384|511,0)},createPipe:function(){var pipe={buckets:[],refcnt:2};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll:function(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}else{if(pipe.buckets.length>0){for(var i=0;i0){return 64|1}}}}return 0},ioctl:function(stream,request,varargs){return 28},fsync:function(stream){return 28},read:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close:function(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname:function(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(11,1,fdPtr);try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();GROWABLE_HEAP_I32()[fdPtr>>2]=res.readable_fd;GROWABLE_HEAP_I32()[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_poll(fds,nfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(12,1,fds,nfds,timeout);try{var nonzero=0;for(var i=0;i>2];var events=GROWABLE_HEAP_I16()[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream)}}mask&=events|8|16;if(mask)nonzero++;GROWABLE_HEAP_I16()[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(13,1,domain,type,protocol);try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_stat64(path,buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(14,1,path,buf);try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_unlink(path){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(15,1,path);try{path=SYSCALLS.getStr(path);FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __dlopen_js(filename,flag){abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")}function __dlsym_js(handle,symbol){abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(GROWABLE_HEAP_U8()[c]){ret+=embind_charCodes[GROWABLE_HEAP_U8()[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return function(){null;return body.apply(this,arguments)}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationGroup=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function attachFinalizer(handle){if("undefined"===typeof FinalizationGroup){attachFinalizer=(handle=>handle);return handle}finalizationGroup=new FinalizationGroup(function(iter){for(var result=iter.next();!result.done;result=iter.next()){var $$=result.value;if(!$$.ptr){console.warn("object already deleted: "+$$.ptr)}else{releaseClassHandle($$)}}});attachFinalizer=(handle=>{finalizationGroup.register(handle,handle.$$,handle.$$);return handle});detachFinalizer=(handle=>{finalizationGroup.unregister(handle.$$)});return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}var delayFunction=undefined;var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](GROWABLE_HEAP_U32()[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){return dynCallLegacy(sig,ptr,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>2)+i])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=(()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)});whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function runAndAbortIfError(func){try{return func()}catch(e){abort(e)}}function maybeExit(){if(!keepRuntimeAlive()){try{if(ENVIRONMENT_IS_PTHREAD)__emscripten_thread_exit(EXITSTATUS);else _exit(EXITSTATUS)}catch(e){handleException(e)}}}function callUserCallback(func,synchronous){if(runtimeExited||ABORT){return}if(synchronous){func();return}try{func();if(ENVIRONMENT_IS_PTHREAD)maybeExit()}catch(e){handleException(e)}}function runtimeKeepalivePush(){runtimeKeepaliveCounter+=1}function runtimeKeepalivePop(){runtimeKeepaliveCounter-=1}var Asyncify={State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId:function(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},instrumentWasmExports:function(exports){var ret={};for(var x in exports){(function(x){var original=exports[x];if(typeof original==="function"){ret[x]=function(){Asyncify.exportCallStack.push(x);try{return original.apply(null,arguments)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();assert(y===x);Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}})(x)}return ret},maybeStopUnwind:function(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){runtimeKeepalivePush();Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(Module["_asyncify_stop_unwind"]);if(typeof Fibers!=="undefined"){Fibers.trampoline()}}},whenDone:function(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve:resolve,reject:reject}})},allocateData:function(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader:function(ptr,stack,stackSize){GROWABLE_HEAP_I32()[ptr>>2]=stack;GROWABLE_HEAP_I32()[ptr+4>>2]=stack+stackSize},setDataRewindFunc:function(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);GROWABLE_HEAP_I32()[ptr+8>>2]=rewindId},getDataRewindFunc:function(ptr){var id=GROWABLE_HEAP_I32()[ptr+8>>2];var name=Asyncify.callStackIdToName[id];var func=Module["asm"][name];return func},doRewind:function(ptr){var start=Asyncify.getDataRewindFunc(ptr);runtimeKeepalivePop();return start()},handleSleep:function(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync(handleSleepReturnValue=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue||0;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>Module["_asyncify_start_rewind"](Asyncify.currData));if(typeof Browser!=="undefined"&&Browser.mainLoop.func){Browser.mainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();runAndAbortIfError(()=>Module["_asyncify_start_unwind"](Asyncify.currData));if(typeof Browser!=="undefined"&&Browser.mainLoop.func){Browser.mainLoop.pause()}}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(Module["_asyncify_stop_rewind"]);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(func=>callUserCallback(func))}else{abort("invalid state: "+Asyncify.state)}return Asyncify.handleSleepReturnValue},handleAsync:function(startAsync){return Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})}};function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F64()[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return GROWABLE_HEAP_I8()[pointer]}:function readU8FromPointer(pointer){return GROWABLE_HEAP_U8()[pointer]};case 1:return signed?function readS16FromPointer(pointer){return GROWABLE_HEAP_I16()[pointer>>1]}:function readU16FromPointer(pointer){return GROWABLE_HEAP_U16()[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return GROWABLE_HEAP_I32()[pointer>>2]}:function readU32FromPointer(pointer){return GROWABLE_HEAP_U32()[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=(value=>value<>>bitshift)}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=GROWABLE_HEAP_U32();var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=GROWABLE_HEAP_U32()[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||GROWABLE_HEAP_U8()[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;ilengthBytesUTF8(value))}else{getLength=(()=>value.length)}var length=getLength();var ptr=_malloc(4+length+1);GROWABLE_HEAP_U32()[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}GROWABLE_HEAP_U8()[ptr+4+i]=charCode}}else{for(var i=0;iGROWABLE_HEAP_U16());shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=(()=>GROWABLE_HEAP_U32());shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=GROWABLE_HEAP_U32()[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);GROWABLE_HEAP_U32()[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emscripten_futex_wait_non_blocking(addr,val,timeout){var tNow=performance.now();var tEnd=tNow+timeout;var lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr);while(1){tNow=performance.now();if(tNow>tEnd){lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);return-73}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);if(lastAddr==0){break}_emscripten_main_thread_process_queued_calls();if(Atomics.load(GROWABLE_HEAP_I32(),addr>>2)!=val){return-6}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr)}return 0}function __emscripten_notify_thread_queue(targetThreadId,mainThreadId){if(targetThreadId==mainThreadId){postMessage({"cmd":"processQueuedMainThreadWork"})}else if(ENVIRONMENT_IS_PTHREAD){postMessage({"targetThread":targetThreadId,"cmd":"processThreadQueue"})}else{var pthread=PThread.pthreads[targetThreadId];var worker=pthread&&pthread.worker;if(!worker){return}worker.postMessage({"cmd":"processThreadQueue"})}return 1}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);GROWABLE_HEAP_I32()[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_await(promise){return Asyncify.handleAsync(function(){promise=Emval.toValue(promise);return promise.then(Emval.toHandle)})}function __emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=Emval.toValue(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i>2]=Emval.toHandle(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}function testGlobal(obj){obj["$$$embind_global$$$"]=obj;var success=typeof $$$embind_global$$$==="object"&&obj["$$$embind_global$$$"]===obj;if(!success){delete obj["$$$embind_global$$$"]}return success}if(typeof $$$embind_global$$$==="object"){return $$$embind_global$$$}if(typeof global==="object"&&testGlobal(global)){$$$embind_global$$$=global}else if(typeof self==="object"&&testGlobal(self)){$$$embind_global$$$=self}if(typeof $$$embind_global$$$==="object"){return $$$embind_global$$$}throw Error("unable to get global object.")}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var argN=new Array(argCount-1);var invokerFunction=(handle,name,destructors,args)=>{var offset=0;for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function __emval_is_string(handle){handle=Emval.toValue(handle);return typeof handle==="string"}function craftEmvalAllocator(argCount){var argsList=new Array(argCount+1);return function(constructor,argTypes,args){argsList[0]=constructor;for(var i=0;i>2)+i],"parameter "+i);argsList[i+1]=argType["readValueFromPointer"](args);args+=argType["argPackAdvance"]}var obj=new(constructor.bind.apply(constructor,argsList));return Emval.toHandle(obj)}}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_array(){return Emval.toHandle([])}function __emval_new_cstring(v){return Emval.toHandle(getStringOrSymbol(v))}function __emval_new_object(){return Emval.toHandle({})}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return Emval.toHandle(v)}function __gmtime_js(time,tmPtr){var date=new Date(GROWABLE_HEAP_I32()[time>>2]*1e3);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getUTCSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getUTCMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getUTCHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getUTCDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getUTCMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getUTCFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday}function __localtime_js(time,tmPtr){var date=new Date(GROWABLE_HEAP_I32()[time>>2]*1e3);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday;GROWABLE_HEAP_I32()[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;GROWABLE_HEAP_I32()[tmPtr+32>>2]=dst}function __mktime_js(tmPtr){var date=new Date(GROWABLE_HEAP_I32()[tmPtr+20>>2]+1900,GROWABLE_HEAP_I32()[tmPtr+16>>2],GROWABLE_HEAP_I32()[tmPtr+12>>2],GROWABLE_HEAP_I32()[tmPtr+8>>2],GROWABLE_HEAP_I32()[tmPtr+4>>2],GROWABLE_HEAP_I32()[tmPtr>>2],0);var dst=GROWABLE_HEAP_I32()[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){GROWABLE_HEAP_I32()[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday;GROWABLE_HEAP_I32()[tmPtr>>2]=date.getSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getMonth();return date.getTime()/1e3|0}function _tzset_impl(timezone,daylight,tzname){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(16,1,timezone,daylight,tzname);var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);GROWABLE_HEAP_I32()[timezone>>2]=stdTimezoneOffset*60;GROWABLE_HEAP_I32()[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset>2]=winterNamePtr;GROWABLE_HEAP_I32()[tzname+4>>2]=summerNamePtr}else{GROWABLE_HEAP_I32()[tzname>>2]=summerNamePtr;GROWABLE_HEAP_I32()[tzname+4>>2]=winterNamePtr}}function __tzset_js(timezone,daylight,tzname){if(__tzset_js.called)return;__tzset_js.called=true;_tzset_impl(timezone,daylight,tzname)}function _abort(){abort("")}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=GROWABLE_HEAP_U8()[sigPtr++]){var readAsmConstArgsDouble=ch<105;if(readAsmConstArgsDouble&&buf&1)buf++;readAsmConstArgsArray.push(readAsmConstArgsDouble?GROWABLE_HEAP_F64()[buf++>>1]:GROWABLE_HEAP_I32()[buf]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_check_blocking_allowed(){if(ENVIRONMENT_IS_NODE)return;if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function _emscripten_memcpy_big(dest,src,num){GROWABLE_HEAP_U8().copyWithin(dest,src,src+num)}function _emscripten_proxy_to_main_thread_js(index,sync){var numCallArgs=arguments.length-2;var outerArgs=arguments;return withStackSave(function(){var serializedNumCallArgs=numCallArgs;var args=stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i>3;for(var i=0;i>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=GROWABLE_HEAP_U8().length;requestedSize=requestedSize>>>0;if(requestedSize<=oldSize){return false}var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence>2]=eventTypeId;GROWABLE_HEAP_I32()[varargs+4>>2]=eventData;GROWABLE_HEAP_I32()[varargs+8>>2]=userData;_emscripten_dispatch_to_thread_(targetThread,637534208,eventHandlerFunc,eventData,varargs)})},getTargetThreadForEventCallback:function(targetThread){switch(targetThread){case 1:return 0;case 2:return PThread.currentProxiedOperationCallerThread;default:return targetThread}},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height){withStackSave(function(){var varargs=stackAlloc(12);var targetCanvasPtr=0;if(targetCanvas){targetCanvasPtr=stringToNewUTF8(targetCanvas)}GROWABLE_HEAP_I32()[varargs>>2]=targetCanvasPtr;GROWABLE_HEAP_I32()[varargs+4>>2]=width;GROWABLE_HEAP_I32()[varargs+8>>2]=height;_emscripten_dispatch_to_thread_(targetThread,657457152,0,targetCanvasPtr,varargs)})}function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread,targetCanvas,width,height){targetCanvas=targetCanvas?UTF8ToString(targetCanvas):"";_emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height)}function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_set_canvas_element_size_calling_thread(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;if(canvas.canvasSharedPtr){GROWABLE_HEAP_I32()[canvas.canvasSharedPtr>>2]=width;GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+4>>2]=height}if(canvas.offscreenCanvas||!canvas.controlTransferredOffscreen){if(canvas.offscreenCanvas)canvas=canvas.offscreenCanvas;var autoResizeViewport=false;if(canvas.GLctxObject&&canvas.GLctxObject.GLctx){var prevViewport=canvas.GLctxObject.GLctx.getParameter(2978);autoResizeViewport=prevViewport[0]===0&&prevViewport[1]===0&&prevViewport[2]===canvas.width&&prevViewport[3]===canvas.height}canvas.width=width;canvas.height=height;if(autoResizeViewport){canvas.GLctxObject.GLctx.viewport(0,0,width,height)}}else if(canvas.canvasSharedPtr){var targetThread=GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+8>>2];_emscripten_set_offscreencanvas_size_on_target_thread(targetThread,target,width,height);return 1}else{return-4}return 0}function _emscripten_set_canvas_element_size_main_thread(target,width,height){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(17,1,target,width,height);return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(canvas){return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}else{return _emscripten_set_canvas_element_size_main_thread(target,width,height)}}function _emscripten_unwind_to_js_event_loop(){throw"unwind"}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(GROWABLE_HEAP_I32()[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;canvas.getContext=function(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);GROWABLE_HEAP_I32()[handle+4>>2]=_pthread_self();var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle].handle);GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){var a=attributes>>2;var powerPreference=GROWABLE_HEAP_I32()[a+(24>>2)];var contextAttributes={"alpha":!!GROWABLE_HEAP_I32()[a+(0>>2)],"depth":!!GROWABLE_HEAP_I32()[a+(4>>2)],"stencil":!!GROWABLE_HEAP_I32()[a+(8>>2)],"antialias":!!GROWABLE_HEAP_I32()[a+(12>>2)],"premultipliedAlpha":!!GROWABLE_HEAP_I32()[a+(16>>2)],"preserveDrawingBuffer":!!GROWABLE_HEAP_I32()[a+(20>>2)],"powerPreference":__emscripten_webgl_power_preferences[powerPreference],"failIfMajorPerformanceCaveat":!!GROWABLE_HEAP_I32()[a+(28>>2)],majorVersion:GROWABLE_HEAP_I32()[a+(32>>2)],minorVersion:GROWABLE_HEAP_I32()[a+(36>>2)],enableExtensionsByDefault:GROWABLE_HEAP_I32()[a+(40>>2)],explicitSwapControl:GROWABLE_HEAP_I32()[a+(44>>2)],proxyContextToMainThread:GROWABLE_HEAP_I32()[a+(48>>2)],renderViaOffscreenBackBuffer:GROWABLE_HEAP_I32()[a+(52>>2)]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(18,1,__environ,environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;GROWABLE_HEAP_I32()[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(19,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_I32()[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});GROWABLE_HEAP_I32()[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(20,1,fd);try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(21,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);GROWABLE_HEAP_I32()[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(22,1,fd,offset_low,offset_high,whence,newOffset);try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[newOffset>>2]=tempI64[0],GROWABLE_HEAP_I32()[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(23,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);GROWABLE_HEAP_I32()[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _getTempRet0(){return getTempRet0()}function _gettimeofday(ptr){var now=Date.now();GROWABLE_HEAP_I32()[ptr>>2]=now/1e3|0;GROWABLE_HEAP_I32()[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_eh_typeid_for(type){return type}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=GROWABLE_HEAP_I32()[tm+40>>2];var date={tm_sec:GROWABLE_HEAP_I32()[tm>>2],tm_min:GROWABLE_HEAP_I32()[tm+4>>2],tm_hour:GROWABLE_HEAP_I32()[tm+8>>2],tm_mday:GROWABLE_HEAP_I32()[tm+12>>2],tm_mon:GROWABLE_HEAP_I32()[tm+16>>2],tm_year:GROWABLE_HEAP_I32()[tm+20>>2],tm_wday:GROWABLE_HEAP_I32()[tm+24>>2],tm_yday:GROWABLE_HEAP_I32()[tm+28>>2],tm_isdst:GROWABLE_HEAP_I32()[tm+32>>2],tm_gmtoff:GROWABLE_HEAP_I32()[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){GROWABLE_HEAP_I32()[ptr>>2]=ret}return ret}if(!ENVIRONMENT_IS_PTHREAD)PThread.initMainThread();var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();init_embind();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var GLctx;var proxiedFunctionTable=[null,exitOnMainThread,___syscall__newselect,___syscall_access,___syscall_connect,___syscall_fcntl64,___syscall_ftruncate64,___syscall_getsockopt,___syscall_ioctl,___syscall_mkdir,___syscall_open,___syscall_pipe,___syscall_poll,___syscall_socket,___syscall_stat64,___syscall_unlink,_tzset_impl,_emscripten_set_canvas_element_size_main_thread,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write];function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"k":___assert_fail,"Ua":__asyncjs__em_libusb_wait,"na":___clock_gettime,"u":___cxa_allocate_exception,"p":___cxa_begin_catch,"da":___cxa_call_unexpected,"G":___cxa_end_catch,"c":___cxa_find_matching_catch_2,"m":___cxa_find_matching_catch_3,"D":___cxa_free_exception,"Q":___cxa_rethrow,"y":___cxa_throw,"fa":___cxa_uncaught_exceptions,"wa":___emscripten_init_main_thread_js,"ma":___emscripten_thread_cleanup,"va":___pthread_create_js,"d":___resumeException,"ka":___syscall__newselect,"La":___syscall_access,"ca":___syscall_connect,"L":___syscall_fcntl64,"Aa":___syscall_ftruncate64,"ba":___syscall_getsockopt,"Ca":___syscall_ioctl,"ra":___syscall_mkdir,"Da":___syscall_open,"qa":___syscall_pipe,"pa":___syscall_poll,"aa":___syscall_socket,"ja":___syscall_stat64,"ia":___syscall_unlink,"T":__dlopen_js,"Ka":__dlsym_js,"db":__embind_register_bigint,"Na":__embind_register_bool,"_a":__embind_register_class,"Za":__embind_register_class_constructor,"O":__embind_register_class_function,"Ma":__embind_register_emval,"U":__embind_register_float,"v":__embind_register_integer,"n":__embind_register_memory_view,"V":__embind_register_std_string,"N":__embind_register_std_wstring,"Oa":__embind_register_void,"Ja":__emscripten_futex_wait_non_blocking,"xa":__emscripten_notify_thread_queue,"C":__emval_as,"Sa":__emval_await,"$a":__emval_call,"w":__emval_call_method,"Z":__emval_call_void_method,"W":__emval_decref,"Va":__emval_get_global,"t":__emval_get_method_caller,"s":__emval_get_property,"Y":__emval_incref,"Pa":__emval_is_string,"H":__emval_new,"bb":__emval_new_array,"$":__emval_new_cstring,"ha":__emval_new_object,"ab":__emval_run_destructors,"F":__emval_set_property,"A":__emval_take_value,"Fa":__gmtime_js,"Ga":__localtime_js,"Ha":__mktime_js,"Ia":__tzset_js,"K":_abort,"Xa":_clock_gettime,"Wa":em_libusb_notify,"Ta":em_promise_catch_impl,"Ra":em_start_transfer_impl,"Qa":_emscripten_asm_const_int,"oa":_emscripten_check_blocking_allowed,"x":_emscripten_get_now,"Ea":_emscripten_memcpy_big,"sa":_emscripten_receive_on_main_thread_js,"ga":_emscripten_resize_heap,"ta":_emscripten_set_canvas_element_size,"la":_emscripten_unwind_to_js_event_loop,"ua":_emscripten_webgl_create_context,"ya":_environ_get,"za":_environ_sizes_get,"X":_exit,"M":_fd_close,"S":_fd_read,"cb":_fd_seek,"R":_fd_write,"b":_getTempRet0,"Ya":_gettimeofday,"ib":invoke_di,"jb":invoke_fi,"fb":invoke_i,"e":invoke_ii,"gb":invoke_iid,"P":invoke_iif,"f":invoke_iii,"r":invoke_iiii,"z":invoke_iiiiiii,"_":invoke_iiiiiiii,"J":invoke_iiiiiiiiiiii,"h":invoke_v,"i":invoke_vi,"hb":invoke_vid,"g":invoke_vii,"j":invoke_viii,"o":invoke_viiii,"q":invoke_viiiiiii,"E":invoke_viiiiiiiiii,"I":invoke_viiiiiiiiiiiiiii,"B":_llvm_eh_typeid_for,"a":wasmMemory||Module["wasmMemory"],"eb":_setTempRet0,"ea":_strftime_l,"Ba":throw_msg,"l":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["kb"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["lb"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["mb"]).apply(null,arguments)};var _htons=Module["_htons"]=function(){return(_htons=Module["_htons"]=Module["asm"]["nb"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ob"]).apply(null,arguments)};var _pthread_self=Module["_pthread_self"]=function(){return(_pthread_self=Module["_pthread_self"]=Module["asm"]["pb"]).apply(null,arguments)};var _em_signal_transfer_completion=Module["_em_signal_transfer_completion"]=function(){return(_em_signal_transfer_completion=Module["_em_signal_transfer_completion"]=Module["asm"]["qb"]).apply(null,arguments)};var _emscripten_tls_init=Module["_emscripten_tls_init"]=function(){return(_emscripten_tls_init=Module["_emscripten_tls_init"]=Module["asm"]["rb"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["sb"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["tb"]).apply(null,arguments)};var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=function(){return(_emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=Module["asm"]["ub"]).apply(null,arguments)};var __emscripten_thread_init=Module["__emscripten_thread_init"]=function(){return(__emscripten_thread_init=Module["__emscripten_thread_init"]=Module["asm"]["vb"]).apply(null,arguments)};var _emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=function(){return(_emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=Module["asm"]["xb"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=function(){return(_emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=Module["asm"]["yb"]).apply(null,arguments)};var _emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=function(){return(_emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=Module["asm"]["zb"]).apply(null,arguments)};var _emscripten_dispatch_to_thread_=Module["_emscripten_dispatch_to_thread_"]=function(){return(_emscripten_dispatch_to_thread_=Module["_emscripten_dispatch_to_thread_"]=Module["asm"]["Ab"]).apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return(_ntohs=Module["_ntohs"]=Module["asm"]["Bb"]).apply(null,arguments)};var __emscripten_thread_free_data=Module["__emscripten_thread_free_data"]=function(){return(__emscripten_thread_free_data=Module["__emscripten_thread_free_data"]=Module["asm"]["Cb"]).apply(null,arguments)};var __emscripten_thread_exit=Module["__emscripten_thread_exit"]=function(){return(__emscripten_thread_exit=Module["__emscripten_thread_exit"]=Module["asm"]["Db"]).apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return(_memalign=Module["_memalign"]=Module["asm"]["Eb"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["Fb"]).apply(null,arguments)};var _emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=function(){return(_emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=Module["asm"]["Gb"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["Hb"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["Ib"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["Jb"]).apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return(___cxa_can_catch=Module["___cxa_can_catch"]=Module["asm"]["Kb"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["Lb"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["Mb"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["Nb"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["Ob"]).apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return(dynCall_viii=Module["dynCall_viii"]=Module["asm"]["Pb"]).apply(null,arguments)};var dynCall_i=Module["dynCall_i"]=function(){return(dynCall_i=Module["dynCall_i"]=Module["asm"]["Qb"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["Rb"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["Sb"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["Tb"]).apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return(dynCall_iiiii=Module["dynCall_iiiii"]=Module["asm"]["Ub"]).apply(null,arguments)};var dynCall_fi=Module["dynCall_fi"]=function(){return(dynCall_fi=Module["dynCall_fi"]=Module["asm"]["Vb"]).apply(null,arguments)};var dynCall_di=Module["dynCall_di"]=function(){return(dynCall_di=Module["dynCall_di"]=Module["asm"]["Wb"]).apply(null,arguments)};var dynCall_vid=Module["dynCall_vid"]=function(){return(dynCall_vid=Module["dynCall_vid"]=Module["asm"]["Xb"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["Yb"]).apply(null,arguments)};var dynCall_iif=Module["dynCall_iif"]=function(){return(dynCall_iif=Module["dynCall_iif"]=Module["asm"]["Zb"]).apply(null,arguments)};var dynCall_iid=Module["dynCall_iid"]=function(){return(dynCall_iid=Module["dynCall_iid"]=Module["asm"]["_b"]).apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=Module["asm"]["$b"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["ac"]).apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return(dynCall_iiiiii=Module["dynCall_iiiiii"]=Module["asm"]["bc"]).apply(null,arguments)};var dynCall_iiiji=Module["dynCall_iiiji"]=function(){return(dynCall_iiiji=Module["dynCall_iiiji"]=Module["asm"]["cc"]).apply(null,arguments)};var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=function(){return(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=Module["asm"]["dc"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["ec"]).apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=Module["asm"]["fc"]).apply(null,arguments)};var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=Module["asm"]["gc"]).apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){return(dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=Module["asm"]["hc"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=Module["asm"]["ic"]).apply(null,arguments)};var dynCall_iiiiijiiii=Module["dynCall_iiiiijiiii"]=function(){return(dynCall_iiiiijiiii=Module["dynCall_iiiiijiiii"]=Module["asm"]["jc"]).apply(null,arguments)};var dynCall_iiijiii=Module["dynCall_iiijiii"]=function(){return(dynCall_iiijiii=Module["dynCall_iiijiii"]=Module["asm"]["kc"]).apply(null,arguments)};var dynCall_iiijii=Module["dynCall_iiijii"]=function(){return(dynCall_iiijii=Module["dynCall_iiijii"]=Module["asm"]["lc"]).apply(null,arguments)};var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=function(){return(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=Module["asm"]["mc"]).apply(null,arguments)};var dynCall_iiiiiijii=Module["dynCall_iiiiiijii"]=function(){return(dynCall_iiiiiijii=Module["dynCall_iiiiiijii"]=Module["asm"]["nc"]).apply(null,arguments)};var dynCall_iiijjii=Module["dynCall_iiijjii"]=function(){return(dynCall_iiijjii=Module["dynCall_iiijjii"]=Module["asm"]["oc"]).apply(null,arguments)};var dynCall_iiij=Module["dynCall_iiij"]=function(){return(dynCall_iiij=Module["dynCall_iiij"]=Module["asm"]["pc"]).apply(null,arguments)};var dynCall_iiiijii=Module["dynCall_iiiijii"]=function(){return(dynCall_iiiijii=Module["dynCall_iiiijii"]=Module["asm"]["qc"]).apply(null,arguments)};var dynCall_iiiiji=Module["dynCall_iiiiji"]=function(){return(dynCall_iiiiji=Module["dynCall_iiiiji"]=Module["asm"]["rc"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["sc"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["tc"]).apply(null,arguments)};var dynCall_iiiiid=Module["dynCall_iiiiid"]=function(){return(dynCall_iiiiid=Module["dynCall_iiiiid"]=Module["asm"]["uc"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["vc"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["wc"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["xc"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["yc"]).apply(null,arguments)};var _asyncify_start_unwind=Module["_asyncify_start_unwind"]=function(){return(_asyncify_start_unwind=Module["_asyncify_start_unwind"]=Module["asm"]["zc"]).apply(null,arguments)};var _asyncify_stop_unwind=Module["_asyncify_stop_unwind"]=function(){return(_asyncify_stop_unwind=Module["_asyncify_stop_unwind"]=Module["asm"]["Ac"]).apply(null,arguments)};var _asyncify_start_rewind=Module["_asyncify_start_rewind"]=function(){return(_asyncify_start_rewind=Module["_asyncify_start_rewind"]=Module["asm"]["Bc"]).apply(null,arguments)};var _asyncify_stop_rewind=Module["_asyncify_stop_rewind"]=function(){return(_asyncify_stop_rewind=Module["_asyncify_stop_rewind"]=Module["asm"]["Cc"]).apply(null,arguments)};var __emscripten_main_thread_futex=Module["__emscripten_main_thread_futex"]=870912;var __emscripten_allow_main_runtime_queued_calls=Module["__emscripten_allow_main_runtime_queued_calls"]=475692;function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fi(index,a1){var sp=stackSave();try{return dynCall_fi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_di(index,a1){var sp=stackSave();try{return dynCall_di(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vid(index,a1,a2){var sp=stackSave();try{dynCall_vid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iif(index,a1,a2){var sp=stackSave();try{return dynCall_iif(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iid(index,a1,a2){var sp=stackSave();try{return dynCall_iid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}Module["keepRuntimeAlive"]=keepRuntimeAlive;Module["PThread"]=PThread;Module["PThread"]=PThread;Module["wasmMemory"]=wasmMemory;Module["ExitStatus"]=ExitStatus;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve(Module);initRuntime();postMessage({"cmd":"loaded"});return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;if(!implicit){if(ENVIRONMENT_IS_PTHREAD){exitOnMainThread(status);throw"unwind"}else{}}if(keepRuntimeAlive()){}else{exitRuntime()}procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){PThread.terminateAllThreads();if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}if(ENVIRONMENT_IS_PTHREAD){noExitRuntime=false;PThread.initWorker()}run(); +function GROWABLE_HEAP_I8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP8}function GROWABLE_HEAP_U8(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU8}function GROWABLE_HEAP_I16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP16}function GROWABLE_HEAP_U16(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU16}function GROWABLE_HEAP_I32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAP32}function GROWABLE_HEAP_U32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPU32}function GROWABLE_HEAP_F32(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF32}function GROWABLE_HEAP_F64(){if(wasmMemory.buffer!=buffer){updateGlobalBufferAndViews(wasmMemory.buffer)}return HEAPF64}var Module=typeof Module!=="undefined"?Module:{};var objAssign=Object.assign;var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=objAssign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=typeof window==="object";var ENVIRONMENT_IS_WORKER=typeof importScripts==="function";var ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string";var ENVIRONMENT_IS_PTHREAD=Module["ENVIRONMENT_IS_PTHREAD"]||false;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText});if(ENVIRONMENT_IS_WORKER){readBinary=(url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)})}readAsync=((url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=(()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}onerror()});xhr.onerror=onerror;xhr.send(null)})}setWindowTitle=(title=>document.title=title)}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);objAssign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var tempRet0=0;var setTempRet0=value=>{tempRet0=value};var getTempRet0=()=>tempRet0;var Atomics_load=Atomics.load;var Atomics_store=Atomics.store;var Atomics_compareExchange=Atomics.compareExchange;var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!=="object"){abort("no native wasm support detected")}var wasmMemory;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}function TextDecoderWrapper(encoding){var textDecoder=new TextDecoder(encoding);this.decode=(data=>{if(data.buffer instanceof SharedArrayBuffer){data=new Uint8Array(data)}return textDecoder.decode.call(textDecoder,data)})}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoderWrapper("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(GROWABLE_HEAP_U8(),ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,GROWABLE_HEAP_U8(),outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoderWrapper("utf-16le"):undefined;function UTF16ToString(ptr,maxBytesToRead){var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&GROWABLE_HEAP_U16()[idx])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder){return UTF16Decoder.decode(GROWABLE_HEAP_U8().subarray(ptr,endPtr))}else{var str="";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=GROWABLE_HEAP_I16()[ptr+i*2>>1];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str}}function stringToUTF16(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite>1]=codeUnit;outPtr+=2}GROWABLE_HEAP_I16()[outPtr>>1]=0;return outPtr-startPtr}function lengthBytesUTF16(str){return str.length*2}function UTF32ToString(ptr,maxBytesToRead){var i=0;var str="";while(!(i>=maxBytesToRead/4)){var utf32=GROWABLE_HEAP_I32()[ptr+i*4>>2];if(utf32==0)break;++i;if(utf32>=65536){var ch=utf32-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}else{str+=String.fromCharCode(utf32)}}return str}function stringToUTF32(str,outPtr,maxBytesToWrite){if(maxBytesToWrite===undefined){maxBytesToWrite=2147483647}if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}GROWABLE_HEAP_I32()[outPtr>>2]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}GROWABLE_HEAP_I32()[outPtr>>2]=0;return outPtr-startPtr}function lengthBytesUTF32(str){var len=0;for(var i=0;i=55296&&codeUnit<=57343)++i;len+=4}return len}function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,GROWABLE_HEAP_I8(),ret,size);return ret}function writeArrayToMemory(array,buffer){GROWABLE_HEAP_I8().set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i>0]=str.charCodeAt(i)}if(!dontAddNull)GROWABLE_HEAP_I8()[buffer>>0]=0}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;if(ENVIRONMENT_IS_PTHREAD){buffer=Module["buffer"]}function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;if(ENVIRONMENT_IS_PTHREAD){wasmMemory=Module["wasmMemory"];buffer=Module["buffer"]}else{if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{wasmMemory=new WebAssembly.Memory({"initial":INITIAL_MEMORY/65536,"maximum":2147483648/65536,"shared":true});if(!(wasmMemory.buffer instanceof SharedArrayBuffer)){err("requested a shared WebAssembly.Memory but the returned buffer is not a SharedArrayBuffer, indicating that while the browser has SharedArrayBuffer it does not have WebAssembly threads support - you may need to set a flag");if(ENVIRONMENT_IS_NODE){console.log("(on node you may need: --experimental-wasm-threads --experimental-wasm-bulk-memory and also use a recent version)")}throw Error("bad memory")}}}if(wasmMemory){buffer=wasmMemory.buffer}INITIAL_MEMORY=buffer.byteLength;updateGlobalBufferAndViews(buffer);var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return;if(!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 exitRuntime(){if(ENVIRONMENT_IS_PTHREAD)return;PThread.terminateAllThreads();runtimeExited=true}function postRun(){if(ENVIRONMENT_IS_PTHREAD)return;if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function getUniqueRunDependency(id){return id}function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){if(ENVIRONMENT_IS_PTHREAD){postMessage({"cmd":"onAbort","arg":what})}else{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;if(Module["locateFile"]){wasmBinaryFile="libapi.wasm";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}}else{wasmBinaryFile=new URL("libapi.wasm",import.meta.url).toString()}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;exports=Asyncify.instrumentWasmExports(exports);Module["asm"]=exports;registerTlsInit(Module["asm"]["rb"]);wasmTable=Module["asm"]["wb"];addOnInit(Module["asm"]["kb"]);wasmModule=module;if(!ENVIRONMENT_IS_PTHREAD){removeRunDependency("wasm-instantiate")}}if(!ENVIRONMENT_IS_PTHREAD){addRunDependency("wasm-instantiate")}function receiveInstantiationResult(result){receiveInstance(result["instance"],result["module"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming==="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch==="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);exports=Asyncify.instrumentWasmExports(exports);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}var tempDouble;var tempI64;var ASM_CONSTS={477425:function($0,$1,$2){return stringToUTF16(Emval.toValue($0),$1,$2)}};function __asyncjs__em_libusb_wait(timeout){return Asyncify.handleAsync(async()=>{let onEvent,timeoutId;try{return await new Promise(resolve=>{onEvent=(()=>resolve(0));addEventListener("em-libusb",onEvent);timeoutId=setTimeout(resolve,timeout,-1)})}finally{removeEventListener("em-libusb",onEvent);clearTimeout(timeoutId)}})}function em_libusb_notify(){dispatchEvent(new Event("em-libusb"))}function em_promise_catch_impl(handle){let promise=Emval.toValue(handle);promise=promise.then(value=>({error:0,value:value}),error=>{const ERROR_CODES={NetworkError:-1,DataError:-2,TypeMismatchError:-2,IndexSizeError:-2,SecurityError:-3,NotFoundError:-5,InvalidStateError:-6,TimeoutError:-7,AbortError:-10,NotSupportedError:-12};console.error(error);let errorCode=-99;if(error instanceof DOMException){errorCode=(ERROR_CODES[error.name]??errorCode)}else if(error instanceof RangeError||error instanceof TypeError){errorCode=-2}return{error:errorCode,value:undefined}});return Emval.toHandle(promise)}function em_start_transfer_impl(transfer,handle){Emval.toValue(handle).then(result=>{_em_signal_transfer_completion(transfer,Emval.toHandle(result))})}function throw_msg(msg){throw new Error(UTF8ToString(msg))}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){(function(){dynCall_v.call(null,func)})()}else{(function(a1){dynCall_vi.apply(null,[func,a1])})(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}function withStackSave(f){var stack=stackSave();var ret=f();stackRestore(stack);return ret}function killThread(pthread_ptr){GROWABLE_HEAP_I32()[pthread_ptr>>2]=0;var pthread=PThread.pthreads[pthread_ptr];delete PThread.pthreads[pthread_ptr];pthread.worker.terminate();__emscripten_thread_free_data(pthread_ptr);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(pthread.worker),1);pthread.worker.pthread=undefined}function cancelThread(pthread_ptr){var pthread=PThread.pthreads[pthread_ptr];pthread.worker.postMessage({"cmd":"cancel"})}function cleanupThread(pthread_ptr){var pthread=PThread.pthreads[pthread_ptr];if(pthread){GROWABLE_HEAP_I32()[pthread_ptr>>2]=0;var worker=pthread.worker;PThread.returnWorkerToPool(worker)}}function zeroMemory(address,size){GROWABLE_HEAP_U8().fill(0,address,address+size)}function _exit(status){exit(status)}function handleException(e){if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)}var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],initMainThread:function(){},initWorker:function(){},pthreads:{},setExitStatus:function(status){EXITSTATUS=status},terminateAllThreads:function(){for(var t in PThread.pthreads){var pthread=PThread.pthreads[t];if(pthread&&pthread.worker){PThread.returnWorkerToPool(pthread.worker)}}for(var i=0;i>2]=0;try{func()}finally{GROWABLE_HEAP_I32()[__emscripten_allow_main_runtime_queued_calls>>2]=1}},receiveObjectTransfer:function(data){},threadInit:function(){for(var i in PThread.tlsInitFunctions){PThread.tlsInitFunctions[i]()}},loadWasmModuleToWorker:function(worker,onFinishedLoading){worker.onmessage=(e=>{var d=e["data"];var cmd=d["cmd"];if(worker.pthread)PThread.currentProxiedOperationCallerThread=worker.pthread.threadInfoStruct;if(d["targetThread"]&&d["targetThread"]!=_pthread_self()){var thread=PThread.pthreads[d.targetThread];if(thread){thread.worker.postMessage(d,d["transferList"])}else{err('Internal error! Worker sent a message "'+cmd+'" to target pthread '+d["targetThread"]+", but that thread no longer exists!")}PThread.currentProxiedOperationCallerThread=undefined;return}if(cmd==="processQueuedMainThreadWork"){_emscripten_main_thread_process_queued_calls()}else if(cmd==="spawnThread"){spawnThread(d)}else if(cmd==="cleanupThread"){cleanupThread(d["thread"])}else if(cmd==="killThread"){killThread(d["thread"])}else if(cmd==="cancelThread"){cancelThread(d["thread"])}else if(cmd==="loaded"){worker.loaded=true;if(onFinishedLoading)onFinishedLoading(worker);if(worker.runPthread){worker.runPthread();delete worker.runPthread}}else if(cmd==="print"){out("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="printErr"){err("Thread "+d["threadId"]+": "+d["text"])}else if(cmd==="alert"){alert("Thread "+d["threadId"]+": "+d["text"])}else if(d.target==="setimmediate"){worker.postMessage(d)}else if(cmd==="onAbort"){if(Module["onAbort"]){Module["onAbort"](d["arg"])}}else{err("worker sent an unknown command "+cmd)}PThread.currentProxiedOperationCallerThread=undefined});worker.onerror=(e=>{var message="worker sent an error!";err(message+" "+e.filename+":"+e.lineno+": "+e.message);throw e});worker.postMessage({"cmd":"load","urlOrBlob":Module["mainScriptUrlOrBlob"],"wasmMemory":wasmMemory,"wasmModule":wasmModule})},allocateUnusedWorker:function(){if(!Module["locateFile"]){PThread.unusedWorkers.push(new Worker(new URL("libapi.worker.js",import.meta.url)));return}var pthreadMainJs=locateFile("libapi.worker.js");PThread.unusedWorkers.push(new Worker(pthreadMainJs))},getNewWorker:function(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()}};function establishStackSpace(){var pthread_ptr=_pthread_self();var stackTop=GROWABLE_HEAP_I32()[pthread_ptr+44>>2];var stackSize=GROWABLE_HEAP_I32()[pthread_ptr+48>>2];var stackMax=stackTop-stackSize;_emscripten_stack_set_limits(stackTop,stackMax);stackRestore(stackTop)}Module["establishStackSpace"]=establishStackSpace;function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(1,0,returnCode);try{_exit(returnCode)}catch(e){handleException(e)}}function invokeEntryPoint(ptr,arg){return function(a1){return dynCall_ii.apply(null,[ptr,a1])}(arg)}Module["invokeEntryPoint"]=invokeEntryPoint;function registerTlsInit(tlsInitFunc,moduleExports,metadata){PThread.tlsInitFunctions.push(tlsInitFunc)}function ___assert_fail(condition,filename,line,func){abort("Assertion failed: "+UTF8ToString(condition)+", at: "+[filename?UTF8ToString(filename):"unknown filename",line,func?UTF8ToString(func):"unknown function"])}var _emscripten_get_now;if(ENVIRONMENT_IS_PTHREAD){_emscripten_get_now=(()=>performance.now()-Module["__performance_now_clock_drift"])}else _emscripten_get_now=(()=>performance.now());var _emscripten_get_now_is_monotonic=true;function setErrNo(value){GROWABLE_HEAP_I32()[___errno_location()>>2]=value;return value}function _clock_gettime(clk_id,tp){var now;if(clk_id===0){now=Date.now()}else if((clk_id===1||clk_id===4)&&_emscripten_get_now_is_monotonic){now=_emscripten_get_now()}else{setErrNo(28);return-1}GROWABLE_HEAP_I32()[tp>>2]=now/1e3|0;GROWABLE_HEAP_I32()[tp+4>>2]=now%1e3*1e3*1e3|0;return 0}function ___clock_gettime(a0,a1){return _clock_gettime(a0,a1)}function ___cxa_allocate_exception(size){return _malloc(size+16)+16}function ExceptionInfo(excPtr){this.excPtr=excPtr;this.ptr=excPtr-16;this.set_type=function(type){GROWABLE_HEAP_I32()[this.ptr+4>>2]=type};this.get_type=function(){return GROWABLE_HEAP_I32()[this.ptr+4>>2]};this.set_destructor=function(destructor){GROWABLE_HEAP_I32()[this.ptr+8>>2]=destructor};this.get_destructor=function(){return GROWABLE_HEAP_I32()[this.ptr+8>>2]};this.set_refcount=function(refcount){GROWABLE_HEAP_I32()[this.ptr>>2]=refcount};this.set_caught=function(caught){caught=caught?1:0;GROWABLE_HEAP_I8()[this.ptr+12>>0]=caught};this.get_caught=function(){return GROWABLE_HEAP_I8()[this.ptr+12>>0]!=0};this.set_rethrown=function(rethrown){rethrown=rethrown?1:0;GROWABLE_HEAP_I8()[this.ptr+13>>0]=rethrown};this.get_rethrown=function(){return GROWABLE_HEAP_I8()[this.ptr+13>>0]!=0};this.init=function(type,destructor){this.set_type(type);this.set_destructor(destructor);this.set_refcount(0);this.set_caught(false);this.set_rethrown(false)};this.add_ref=function(){Atomics.add(GROWABLE_HEAP_I32(),this.ptr+0>>2,1)};this.release_ref=function(){var prev=Atomics.sub(GROWABLE_HEAP_I32(),this.ptr+0>>2,1);return prev===1}}function CatchInfo(ptr){this.free=function(){_free(this.ptr);this.ptr=0};this.set_base_ptr=function(basePtr){GROWABLE_HEAP_I32()[this.ptr>>2]=basePtr};this.get_base_ptr=function(){return GROWABLE_HEAP_I32()[this.ptr>>2]};this.set_adjusted_ptr=function(adjustedPtr){GROWABLE_HEAP_I32()[this.ptr+4>>2]=adjustedPtr};this.get_adjusted_ptr_addr=function(){return this.ptr+4};this.get_adjusted_ptr=function(){return GROWABLE_HEAP_I32()[this.ptr+4>>2]};this.get_exception_ptr=function(){var isPointer=___cxa_is_pointer_type(this.get_exception_info().get_type());if(isPointer){return GROWABLE_HEAP_I32()[this.get_base_ptr()>>2]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.get_base_ptr()};this.get_exception_info=function(){return new ExceptionInfo(this.get_base_ptr())};if(ptr===undefined){this.ptr=_malloc(8);this.set_adjusted_ptr(0)}else{this.ptr=ptr}}var exceptionCaught=[];function exception_addRef(info){info.add_ref()}var uncaughtExceptionCount=0;function ___cxa_begin_catch(ptr){var catchInfo=new CatchInfo(ptr);var info=catchInfo.get_exception_info();if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(catchInfo);exception_addRef(info);return catchInfo.get_exception_ptr()}function ___cxa_call_unexpected(exception){err("Unexpected exception thrown, this is not properly supported - aborting");ABORT=true;throw exception}var exceptionLast=0;function ___cxa_free_exception(ptr){return _free(new ExceptionInfo(ptr).ptr)}function exception_decRef(info){if(info.release_ref()&&!info.get_rethrown()){var destructor=info.get_destructor();if(destructor){(function(a1){return dynCall_ii.apply(null,[destructor,a1])})(info.excPtr)}___cxa_free_exception(info.excPtr)}}function ___cxa_end_catch(){_setThrew(0);var catchInfo=exceptionCaught.pop();exception_decRef(catchInfo.get_exception_info());catchInfo.free();exceptionLast=0}function ___resumeException(catchInfoPtr){var catchInfo=new CatchInfo(catchInfoPtr);var ptr=catchInfo.get_base_ptr();if(!exceptionLast){exceptionLast=ptr}catchInfo.free();throw ptr}function ___cxa_find_matching_catch_2(){var thrown=exceptionLast;if(!thrown){setTempRet0(0);return 0|0}var info=new ExceptionInfo(thrown);var thrownType=info.get_type();var catchInfo=new CatchInfo;catchInfo.set_base_ptr(thrown);catchInfo.set_adjusted_ptr(thrown);if(!thrownType){setTempRet0(0);return catchInfo.ptr|0}var typeArray=Array.prototype.slice.call(arguments);for(var i=0;i{msg.time=performance.now();worker.postMessage(msg,threadParams.transferList)});if(worker.loaded){worker.runPthread();delete worker.runPthread}return 0}function ___pthread_create_js(pthread_ptr,attr,start_routine,arg){if(typeof SharedArrayBuffer==="undefined"){err("Current environment does not support SharedArrayBuffer, pthreads are not available!");return 6}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(transferList.length===0||error)){return _emscripten_sync_run_in_main_thread_4(687865856,pthread_ptr,attr,start_routine,arg)}if(error)return error;var threadParams={startRoutine:start_routine,pthread_ptr:pthread_ptr,arg:arg,transferList:transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList);return 0}return spawnThread(threadParams)}var PATH={splitPath:function(filename){var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:function(parts,allowAboveRoot){var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.substr(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:function(path){var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.substr(0,dir.length-1)}return root+dir},basename:function(path){if(path==="/")return"/";path=PATH.normalize(path);path=path.replace(/\/$/,"");var lastSlash=path.lastIndexOf("/");if(lastSlash===-1)return path;return path.substr(lastSlash+1)},extname:function(path){return PATH.splitPath(path)[3]},join:function(){var paths=Array.prototype.slice.call(arguments,0);return PATH.normalize(paths.join("/"))},join2:function(l,r){return PATH.normalize(l+"/"+r)}};function getRandomDevice(){if(typeof crypto==="object"&&typeof crypto["getRandomValues"]==="function"){var randomBuffer=new Uint8Array(1);return function(){crypto.getRandomValues(randomBuffer);return randomBuffer[0]}}else return function(){abort("randomDevice")}}var PATH_FS={resolve:function(){var resolvedPath="",resolvedAbsolute=false;for(var i=arguments.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?arguments[i]:FS.cwd();if(typeof path!=="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=path.charAt(0)==="/"}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(function(p){return!!p}),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:function(from,to){from=PATH_FS.resolve(from).substr(1);to=PATH_FS.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i0){out(UTF8ArrayToString(tty.output,0));tty.output=[]}}},default_tty1_ops:{put_char:function(tty,val){if(val===null||val===10){err(UTF8ArrayToString(tty.output,0));tty.output=[]}else{if(val!=0)tty.output.push(val)}},flush:function(tty){if(tty.output&&tty.output.length>0){err(UTF8ArrayToString(tty.output,0));tty.output=[]}}}};function alignMemory(size,alignment){return Math.ceil(size/alignment)*alignment}function mmapAlloc(size){size=alignMemory(size,65536);var ptr=_memalign(65536,size);if(!ptr)return 0;zeroMemory(ptr,size);return ptr}var MEMFS={ops_table:null,mount:function(mount){return MEMFS.createNode(null,"/",16384|511,0)},createNode:function(parent,name,mode,dev){if(FS.isBlkdev(mode)||FS.isFIFO(mode)){throw new FS.ErrnoError(63)}if(!MEMFS.ops_table){MEMFS.ops_table={dir:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,lookup:MEMFS.node_ops.lookup,mknod:MEMFS.node_ops.mknod,rename:MEMFS.node_ops.rename,unlink:MEMFS.node_ops.unlink,rmdir:MEMFS.node_ops.rmdir,readdir:MEMFS.node_ops.readdir,symlink:MEMFS.node_ops.symlink},stream:{llseek:MEMFS.stream_ops.llseek}},file:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:{llseek:MEMFS.stream_ops.llseek,read:MEMFS.stream_ops.read,write:MEMFS.stream_ops.write,allocate:MEMFS.stream_ops.allocate,mmap:MEMFS.stream_ops.mmap,msync:MEMFS.stream_ops.msync}},link:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr,readlink:MEMFS.node_ops.readlink},stream:{}},chrdev:{node:{getattr:MEMFS.node_ops.getattr,setattr:MEMFS.node_ops.setattr},stream:FS.chrdev_stream_ops}}}var node=FS.createNode(parent,name,mode,dev);if(FS.isDir(node.mode)){node.node_ops=MEMFS.ops_table.dir.node;node.stream_ops=MEMFS.ops_table.dir.stream;node.contents={}}else if(FS.isFile(node.mode)){node.node_ops=MEMFS.ops_table.file.node;node.stream_ops=MEMFS.ops_table.file.stream;node.usedBytes=0;node.contents=null}else if(FS.isLink(node.mode)){node.node_ops=MEMFS.ops_table.link.node;node.stream_ops=MEMFS.ops_table.link.stream}else if(FS.isChrdev(node.mode)){node.node_ops=MEMFS.ops_table.chrdev.node;node.stream_ops=MEMFS.ops_table.chrdev.stream}node.timestamp=Date.now();if(parent){parent.contents[name]=node;parent.timestamp=node.timestamp}return node},getFileDataAsTypedArray:function(node){if(!node.contents)return new Uint8Array(0);if(node.contents.subarray)return node.contents.subarray(0,node.usedBytes);return new Uint8Array(node.contents)},expandFileStorage:function(node,newCapacity){var prevCapacity=node.contents?node.contents.length:0;if(prevCapacity>=newCapacity)return;var CAPACITY_DOUBLING_MAX=1024*1024;newCapacity=Math.max(newCapacity,prevCapacity*(prevCapacity>>0);if(prevCapacity!=0)newCapacity=Math.max(newCapacity,256);var oldContents=node.contents;node.contents=new Uint8Array(newCapacity);if(node.usedBytes>0)node.contents.set(oldContents.subarray(0,node.usedBytes),0)},resizeFileStorage:function(node,newSize){if(node.usedBytes==newSize)return;if(newSize==0){node.contents=null;node.usedBytes=0}else{var oldContents=node.contents;node.contents=new Uint8Array(newSize);if(oldContents){node.contents.set(oldContents.subarray(0,Math.min(newSize,node.usedBytes)))}node.usedBytes=newSize}},node_ops:{getattr:function(node){var attr={};attr.dev=FS.isChrdev(node.mode)?node.id:1;attr.ino=node.id;attr.mode=node.mode;attr.nlink=1;attr.uid=0;attr.gid=0;attr.rdev=node.rdev;if(FS.isDir(node.mode)){attr.size=4096}else if(FS.isFile(node.mode)){attr.size=node.usedBytes}else if(FS.isLink(node.mode)){attr.size=node.link.length}else{attr.size=0}attr.atime=new Date(node.timestamp);attr.mtime=new Date(node.timestamp);attr.ctime=new Date(node.timestamp);attr.blksize=4096;attr.blocks=Math.ceil(attr.size/attr.blksize);return attr},setattr:function(node,attr){if(attr.mode!==undefined){node.mode=attr.mode}if(attr.timestamp!==undefined){node.timestamp=attr.timestamp}if(attr.size!==undefined){MEMFS.resizeFileStorage(node,attr.size)}},lookup:function(parent,name){throw FS.genericErrors[44]},mknod:function(parent,name,mode,dev){return MEMFS.createNode(parent,name,mode,dev)},rename:function(old_node,new_dir,new_name){if(FS.isDir(old_node.mode)){var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(new_node){for(var i in new_node.contents){throw new FS.ErrnoError(55)}}}delete old_node.parent.contents[old_node.name];old_node.parent.timestamp=Date.now();old_node.name=new_name;new_dir.contents[new_name]=old_node;new_dir.timestamp=old_node.parent.timestamp;old_node.parent=new_dir},unlink:function(parent,name){delete parent.contents[name];parent.timestamp=Date.now()},rmdir:function(parent,name){var node=FS.lookupNode(parent,name);for(var i in node.contents){throw new FS.ErrnoError(55)}delete parent.contents[name];parent.timestamp=Date.now()},readdir:function(node){var entries=[".",".."];for(var key in node.contents){if(!node.contents.hasOwnProperty(key)){continue}entries.push(key)}return entries},symlink:function(parent,newname,oldpath){var node=MEMFS.createNode(parent,newname,511|40960,0);node.link=oldpath;return node},readlink:function(node){if(!FS.isLink(node.mode)){throw new FS.ErrnoError(28)}return node.link}},stream_ops:{read:function(stream,buffer,offset,length,position){var contents=stream.node.contents;if(position>=stream.node.usedBytes)return 0;var size=Math.min(stream.node.usedBytes-position,length);if(size>8&&contents.subarray){buffer.set(contents.subarray(position,position+size),offset)}else{for(var i=0;i0||position+length{path=PATH_FS.resolve(FS.cwd(),path);if(!path)return{path:"",node:null};var defaults={follow_mount:true,recurse_count:0};for(var key in defaults){if(opts[key]===undefined){opts[key]=defaults[key]}}if(opts.recurse_count>8){throw new FS.ErrnoError(32)}var parts=PATH.normalizeArray(path.split("/").filter(p=>!!p),false);var current=FS.root;var current_path="/";for(var i=0;i40){throw new FS.ErrnoError(32)}}}}return{path:current_path,node:current}},getPath:node=>{var path;while(true){if(FS.isRoot(node)){var mount=node.mount.mountpoint;if(!path)return mount;return mount[mount.length-1]!=="/"?mount+"/"+path:mount+path}path=path?node.name+"/"+path:node.name;node=node.parent}},hashName:(parentid,name)=>{var hash=0;for(var i=0;i>>0)%FS.nameTable.length},hashAddNode:node=>{var hash=FS.hashName(node.parent.id,node.name);node.name_next=FS.nameTable[hash];FS.nameTable[hash]=node},hashRemoveNode:node=>{var hash=FS.hashName(node.parent.id,node.name);if(FS.nameTable[hash]===node){FS.nameTable[hash]=node.name_next}else{var current=FS.nameTable[hash];while(current){if(current.name_next===node){current.name_next=node.name_next;break}current=current.name_next}}},lookupNode:(parent,name)=>{var errCode=FS.mayLookup(parent);if(errCode){throw new FS.ErrnoError(errCode,parent)}var hash=FS.hashName(parent.id,name);for(var node=FS.nameTable[hash];node;node=node.name_next){var nodeName=node.name;if(node.parent.id===parent.id&&nodeName===name){return node}}return FS.lookup(parent,name)},createNode:(parent,name,mode,rdev)=>{var node=new FS.FSNode(parent,name,mode,rdev);FS.hashAddNode(node);return node},destroyNode:node=>{FS.hashRemoveNode(node)},isRoot:node=>{return node===node.parent},isMountpoint:node=>{return!!node.mounted},isFile:mode=>{return(mode&61440)===32768},isDir:mode=>{return(mode&61440)===16384},isLink:mode=>{return(mode&61440)===40960},isChrdev:mode=>{return(mode&61440)===8192},isBlkdev:mode=>{return(mode&61440)===24576},isFIFO:mode=>{return(mode&61440)===4096},isSocket:mode=>{return(mode&49152)===49152},flagModes:{"r":0,"r+":2,"w":577,"w+":578,"a":1089,"a+":1090},modeStringToFlags:str=>{var flags=FS.flagModes[str];if(typeof flags==="undefined"){throw new Error("Unknown file open mode: "+str)}return flags},flagsToPermissionString:flag=>{var perms=["r","w","rw"][flag&3];if(flag&512){perms+="w"}return perms},nodePermissions:(node,perms)=>{if(FS.ignorePermissions){return 0}if(perms.includes("r")&&!(node.mode&292)){return 2}else if(perms.includes("w")&&!(node.mode&146)){return 2}else if(perms.includes("x")&&!(node.mode&73)){return 2}return 0},mayLookup:dir=>{var errCode=FS.nodePermissions(dir,"x");if(errCode)return errCode;if(!dir.node_ops.lookup)return 2;return 0},mayCreate:(dir,name)=>{try{var node=FS.lookupNode(dir,name);return 20}catch(e){}return FS.nodePermissions(dir,"wx")},mayDelete:(dir,name,isdir)=>{var node;try{node=FS.lookupNode(dir,name)}catch(e){return e.errno}var errCode=FS.nodePermissions(dir,"wx");if(errCode){return errCode}if(isdir){if(!FS.isDir(node.mode)){return 54}if(FS.isRoot(node)||FS.getPath(node)===FS.cwd()){return 10}}else{if(FS.isDir(node.mode)){return 31}}return 0},mayOpen:(node,flags)=>{if(!node){return 44}if(FS.isLink(node.mode)){return 32}else if(FS.isDir(node.mode)){if(FS.flagsToPermissionString(flags)!=="r"||flags&512){return 31}}return FS.nodePermissions(node,FS.flagsToPermissionString(flags))},MAX_OPEN_FDS:4096,nextfd:(fd_start=0,fd_end=FS.MAX_OPEN_FDS)=>{for(var fd=fd_start;fd<=fd_end;fd++){if(!FS.streams[fd]){return fd}}throw new FS.ErrnoError(33)},getStream:fd=>FS.streams[fd],createStream:(stream,fd_start,fd_end)=>{if(!FS.FSStream){FS.FSStream=function(){};FS.FSStream.prototype={object:{get:function(){return this.node},set:function(val){this.node=val}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}}var newStream=new FS.FSStream;for(var p in stream){newStream[p]=stream[p]}stream=newStream;var fd=FS.nextfd(fd_start,fd_end);stream.fd=fd;FS.streams[fd]=stream;return stream},closeStream:fd=>{FS.streams[fd]=null},chrdev_stream_ops:{open:stream=>{var device=FS.getDevice(stream.node.rdev);stream.stream_ops=device.stream_ops;if(stream.stream_ops.open){stream.stream_ops.open(stream)}},llseek:()=>{throw new FS.ErrnoError(70)}},major:dev=>dev>>8,minor:dev=>dev&255,makedev:(ma,mi)=>ma<<8|mi,registerDevice:(dev,ops)=>{FS.devices[dev]={stream_ops:ops}},getDevice:dev=>FS.devices[dev],getMounts:mount=>{var mounts=[];var check=[mount];while(check.length){var m=check.pop();mounts.push(m);check.push.apply(check,m.mounts)}return mounts},syncfs:(populate,callback)=>{if(typeof populate==="function"){callback=populate;populate=false}FS.syncFSRequests++;if(FS.syncFSRequests>1){err("warning: "+FS.syncFSRequests+" FS.syncfs operations in flight at once, probably just doing extra work")}var mounts=FS.getMounts(FS.root.mount);var completed=0;function doCallback(errCode){FS.syncFSRequests--;return callback(errCode)}function done(errCode){if(errCode){if(!done.errored){done.errored=true;return doCallback(errCode)}return}if(++completed>=mounts.length){doCallback(null)}}mounts.forEach(mount=>{if(!mount.type.syncfs){return done(null)}mount.type.syncfs(mount,populate,done)})},mount:(type,opts,mountpoint)=>{var root=mountpoint==="/";var pseudo=!mountpoint;var node;if(root&&FS.root){throw new FS.ErrnoError(10)}else if(!root&&!pseudo){var lookup=FS.lookupPath(mountpoint,{follow_mount:false});mountpoint=lookup.path;node=lookup.node;if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}if(!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}}var mount={type:type,opts:opts,mountpoint:mountpoint,mounts:[]};var mountRoot=type.mount(mount);mountRoot.mount=mount;mount.root=mountRoot;if(root){FS.root=mountRoot}else if(node){node.mounted=mount;if(node.mount){node.mount.mounts.push(mount)}}return mountRoot},unmount:mountpoint=>{var lookup=FS.lookupPath(mountpoint,{follow_mount:false});if(!FS.isMountpoint(lookup.node)){throw new FS.ErrnoError(28)}var node=lookup.node;var mount=node.mounted;var mounts=FS.getMounts(mount);Object.keys(FS.nameTable).forEach(hash=>{var current=FS.nameTable[hash];while(current){var next=current.name_next;if(mounts.includes(current.mount)){FS.destroyNode(current)}current=next}});node.mounted=null;var idx=node.mount.mounts.indexOf(mount);node.mount.mounts.splice(idx,1)},lookup:(parent,name)=>{return parent.node_ops.lookup(parent,name)},mknod:(path,mode,dev)=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);if(!name||name==="."||name===".."){throw new FS.ErrnoError(28)}var errCode=FS.mayCreate(parent,name);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.mknod){throw new FS.ErrnoError(63)}return parent.node_ops.mknod(parent,name,mode,dev)},create:(path,mode)=>{mode=mode!==undefined?mode:438;mode&=4095;mode|=32768;return FS.mknod(path,mode,0)},mkdir:(path,mode)=>{mode=mode!==undefined?mode:511;mode&=511|512;mode|=16384;return FS.mknod(path,mode,0)},mkdirTree:(path,mode)=>{var dirs=path.split("/");var d="";for(var i=0;i{if(typeof dev==="undefined"){dev=mode;mode=438}mode|=8192;return FS.mknod(path,mode,dev)},symlink:(oldpath,newpath)=>{if(!PATH_FS.resolve(oldpath)){throw new FS.ErrnoError(44)}var lookup=FS.lookupPath(newpath,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var newname=PATH.basename(newpath);var errCode=FS.mayCreate(parent,newname);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.symlink){throw new FS.ErrnoError(63)}return parent.node_ops.symlink(parent,newname,oldpath)},rename:(old_path,new_path)=>{var old_dirname=PATH.dirname(old_path);var new_dirname=PATH.dirname(new_path);var old_name=PATH.basename(old_path);var new_name=PATH.basename(new_path);var lookup,old_dir,new_dir;lookup=FS.lookupPath(old_path,{parent:true});old_dir=lookup.node;lookup=FS.lookupPath(new_path,{parent:true});new_dir=lookup.node;if(!old_dir||!new_dir)throw new FS.ErrnoError(44);if(old_dir.mount!==new_dir.mount){throw new FS.ErrnoError(75)}var old_node=FS.lookupNode(old_dir,old_name);var relative=PATH_FS.relative(old_path,new_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(28)}relative=PATH_FS.relative(new_path,old_dirname);if(relative.charAt(0)!=="."){throw new FS.ErrnoError(55)}var new_node;try{new_node=FS.lookupNode(new_dir,new_name)}catch(e){}if(old_node===new_node){return}var isdir=FS.isDir(old_node.mode);var errCode=FS.mayDelete(old_dir,old_name,isdir);if(errCode){throw new FS.ErrnoError(errCode)}errCode=new_node?FS.mayDelete(new_dir,new_name,isdir):FS.mayCreate(new_dir,new_name);if(errCode){throw new FS.ErrnoError(errCode)}if(!old_dir.node_ops.rename){throw new FS.ErrnoError(63)}if(FS.isMountpoint(old_node)||new_node&&FS.isMountpoint(new_node)){throw new FS.ErrnoError(10)}if(new_dir!==old_dir){errCode=FS.nodePermissions(old_dir,"w");if(errCode){throw new FS.ErrnoError(errCode)}}FS.hashRemoveNode(old_node);try{old_dir.node_ops.rename(old_node,new_dir,new_name)}catch(e){throw e}finally{FS.hashAddNode(old_node)}},rmdir:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,true);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.rmdir){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.rmdir(parent,name);FS.destroyNode(node)},readdir:path=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node.node_ops.readdir){throw new FS.ErrnoError(54)}return node.node_ops.readdir(node)},unlink:path=>{var lookup=FS.lookupPath(path,{parent:true});var parent=lookup.node;if(!parent){throw new FS.ErrnoError(44)}var name=PATH.basename(path);var node=FS.lookupNode(parent,name);var errCode=FS.mayDelete(parent,name,false);if(errCode){throw new FS.ErrnoError(errCode)}if(!parent.node_ops.unlink){throw new FS.ErrnoError(63)}if(FS.isMountpoint(node)){throw new FS.ErrnoError(10)}parent.node_ops.unlink(parent,name);FS.destroyNode(node)},readlink:path=>{var lookup=FS.lookupPath(path);var link=lookup.node;if(!link){throw new FS.ErrnoError(44)}if(!link.node_ops.readlink){throw new FS.ErrnoError(28)}return PATH_FS.resolve(FS.getPath(link.parent),link.node_ops.readlink(link))},stat:(path,dontFollow)=>{var lookup=FS.lookupPath(path,{follow:!dontFollow});var node=lookup.node;if(!node){throw new FS.ErrnoError(44)}if(!node.node_ops.getattr){throw new FS.ErrnoError(63)}return node.node_ops.getattr(node)},lstat:path=>{return FS.stat(path,true)},chmod:(path,mode,dontFollow)=>{var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{mode:mode&4095|node.mode&~4095,timestamp:Date.now()})},lchmod:(path,mode)=>{FS.chmod(path,mode,true)},fchmod:(fd,mode)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chmod(stream.node,mode)},chown:(path,uid,gid,dontFollow)=>{var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:!dontFollow});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}node.node_ops.setattr(node,{timestamp:Date.now()})},lchown:(path,uid,gid)=>{FS.chown(path,uid,gid,true)},fchown:(fd,uid,gid)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}FS.chown(stream.node,uid,gid)},truncate:(path,len)=>{if(len<0){throw new FS.ErrnoError(28)}var node;if(typeof path==="string"){var lookup=FS.lookupPath(path,{follow:true});node=lookup.node}else{node=path}if(!node.node_ops.setattr){throw new FS.ErrnoError(63)}if(FS.isDir(node.mode)){throw new FS.ErrnoError(31)}if(!FS.isFile(node.mode)){throw new FS.ErrnoError(28)}var errCode=FS.nodePermissions(node,"w");if(errCode){throw new FS.ErrnoError(errCode)}node.node_ops.setattr(node,{size:len,timestamp:Date.now()})},ftruncate:(fd,len)=>{var stream=FS.getStream(fd);if(!stream){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(28)}FS.truncate(stream.node,len)},utime:(path,atime,mtime)=>{var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;node.node_ops.setattr(node,{timestamp:Math.max(atime,mtime)})},open:(path,flags,mode,fd_start,fd_end)=>{if(path===""){throw new FS.ErrnoError(44)}flags=typeof flags==="string"?FS.modeStringToFlags(flags):flags;mode=typeof mode==="undefined"?438:mode;if(flags&64){mode=mode&4095|32768}else{mode=0}var node;if(typeof path==="object"){node=path}else{path=PATH.normalize(path);try{var lookup=FS.lookupPath(path,{follow:!(flags&131072)});node=lookup.node}catch(e){}}var created=false;if(flags&64){if(node){if(flags&128){throw new FS.ErrnoError(20)}}else{node=FS.mknod(path,mode,0);created=true}}if(!node){throw new FS.ErrnoError(44)}if(FS.isChrdev(node.mode)){flags&=~512}if(flags&65536&&!FS.isDir(node.mode)){throw new FS.ErrnoError(54)}if(!created){var errCode=FS.mayOpen(node,flags);if(errCode){throw new FS.ErrnoError(errCode)}}if(flags&512){FS.truncate(node,0)}flags&=~(128|512|131072);var stream=FS.createStream({node:node,path:FS.getPath(node),flags:flags,seekable:true,position:0,stream_ops:node.stream_ops,ungotten:[],error:false},fd_start,fd_end);if(stream.stream_ops.open){stream.stream_ops.open(stream)}if(Module["logReadFiles"]&&!(flags&1)){if(!FS.readFiles)FS.readFiles={};if(!(path in FS.readFiles)){FS.readFiles[path]=1}}return stream},close:stream=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(stream.getdents)stream.getdents=null;try{if(stream.stream_ops.close){stream.stream_ops.close(stream)}}catch(e){throw e}finally{FS.closeStream(stream.fd)}stream.fd=null},isClosed:stream=>{return stream.fd===null},llseek:(stream,offset,whence)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(!stream.seekable||!stream.stream_ops.llseek){throw new FS.ErrnoError(70)}if(whence!=0&&whence!=1&&whence!=2){throw new FS.ErrnoError(28)}stream.position=stream.stream_ops.llseek(stream,offset,whence);stream.ungotten=[];return stream.position},read:(stream,buffer,offset,length,position)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.read){throw new FS.ErrnoError(28)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesRead=stream.stream_ops.read(stream,buffer,offset,length,position);if(!seeking)stream.position+=bytesRead;return bytesRead},write:(stream,buffer,offset,length,position,canOwn)=>{if(length<0||position<0){throw new FS.ErrnoError(28)}if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(FS.isDir(stream.node.mode)){throw new FS.ErrnoError(31)}if(!stream.stream_ops.write){throw new FS.ErrnoError(28)}if(stream.seekable&&stream.flags&1024){FS.llseek(stream,0,2)}var seeking=typeof position!=="undefined";if(!seeking){position=stream.position}else if(!stream.seekable){throw new FS.ErrnoError(70)}var bytesWritten=stream.stream_ops.write(stream,buffer,offset,length,position,canOwn);if(!seeking)stream.position+=bytesWritten;return bytesWritten},allocate:(stream,offset,length)=>{if(FS.isClosed(stream)){throw new FS.ErrnoError(8)}if(offset<0||length<=0){throw new FS.ErrnoError(28)}if((stream.flags&2097155)===0){throw new FS.ErrnoError(8)}if(!FS.isFile(stream.node.mode)&&!FS.isDir(stream.node.mode)){throw new FS.ErrnoError(43)}if(!stream.stream_ops.allocate){throw new FS.ErrnoError(138)}stream.stream_ops.allocate(stream,offset,length)},mmap:(stream,address,length,position,prot,flags)=>{if((prot&2)!==0&&(flags&2)===0&&(stream.flags&2097155)!==2){throw new FS.ErrnoError(2)}if((stream.flags&2097155)===1){throw new FS.ErrnoError(2)}if(!stream.stream_ops.mmap){throw new FS.ErrnoError(43)}return stream.stream_ops.mmap(stream,address,length,position,prot,flags)},msync:(stream,buffer,offset,length,mmapFlags)=>{if(!stream||!stream.stream_ops.msync){return 0}return stream.stream_ops.msync(stream,buffer,offset,length,mmapFlags)},munmap:stream=>0,ioctl:(stream,cmd,arg)=>{if(!stream.stream_ops.ioctl){throw new FS.ErrnoError(59)}return stream.stream_ops.ioctl(stream,cmd,arg)},readFile:(path,opts={})=>{opts.flags=opts.flags||0;opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error('Invalid encoding type "'+opts.encoding+'"')}var ret;var stream=FS.open(path,opts.flags);var stat=FS.stat(path);var length=stat.size;var buf=new Uint8Array(length);FS.read(stream,buf,0,length,0);if(opts.encoding==="utf8"){ret=UTF8ArrayToString(buf,0)}else if(opts.encoding==="binary"){ret=buf}FS.close(stream);return ret},writeFile:(path,data,opts={})=>{opts.flags=opts.flags||577;var stream=FS.open(path,opts.flags,opts.mode);if(typeof data==="string"){var buf=new Uint8Array(lengthBytesUTF8(data)+1);var actualNumBytes=stringToUTF8Array(data,buf,0,buf.length);FS.write(stream,buf,0,actualNumBytes,undefined,opts.canOwn)}else if(ArrayBuffer.isView(data)){FS.write(stream,data,0,data.byteLength,undefined,opts.canOwn)}else{throw new Error("Unsupported data type")}FS.close(stream)},cwd:()=>FS.currentPath,chdir:path=>{var lookup=FS.lookupPath(path,{follow:true});if(lookup.node===null){throw new FS.ErrnoError(44)}if(!FS.isDir(lookup.node.mode)){throw new FS.ErrnoError(54)}var errCode=FS.nodePermissions(lookup.node,"x");if(errCode){throw new FS.ErrnoError(errCode)}FS.currentPath=lookup.path},createDefaultDirectories:()=>{FS.mkdir("/tmp");FS.mkdir("/home");FS.mkdir("/home/web_user")},createDefaultDevices:()=>{FS.mkdir("/dev");FS.registerDevice(FS.makedev(1,3),{read:()=>0,write:(stream,buffer,offset,length,pos)=>length});FS.mkdev("/dev/null",FS.makedev(1,3));TTY.register(FS.makedev(5,0),TTY.default_tty_ops);TTY.register(FS.makedev(6,0),TTY.default_tty1_ops);FS.mkdev("/dev/tty",FS.makedev(5,0));FS.mkdev("/dev/tty1",FS.makedev(6,0));var random_device=getRandomDevice();FS.createDevice("/dev","random",random_device);FS.createDevice("/dev","urandom",random_device);FS.mkdir("/dev/shm");FS.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{FS.mkdir("/proc");var proc_self=FS.mkdir("/proc/self");FS.mkdir("/proc/self/fd");FS.mount({mount:()=>{var node=FS.createNode(proc_self,"fd",16384|511,73);node.node_ops={lookup:(parent,name)=>{var fd=+name;var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);var ret={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>stream.path}};ret.parent=ret;return ret}};return node}},{},"/proc/self/fd")},createStandardStreams:()=>{if(Module["stdin"]){FS.createDevice("/dev","stdin",Module["stdin"])}else{FS.symlink("/dev/tty","/dev/stdin")}if(Module["stdout"]){FS.createDevice("/dev","stdout",null,Module["stdout"])}else{FS.symlink("/dev/tty","/dev/stdout")}if(Module["stderr"]){FS.createDevice("/dev","stderr",null,Module["stderr"])}else{FS.symlink("/dev/tty1","/dev/stderr")}var stdin=FS.open("/dev/stdin",0);var stdout=FS.open("/dev/stdout",1);var stderr=FS.open("/dev/stderr",1)},ensureErrnoError:()=>{if(FS.ErrnoError)return;FS.ErrnoError=function ErrnoError(errno,node){this.node=node;this.setErrno=function(errno){this.errno=errno};this.setErrno(errno);this.message="FS error"};FS.ErrnoError.prototype=new Error;FS.ErrnoError.prototype.constructor=FS.ErrnoError;[44].forEach(code=>{FS.genericErrors[code]=new FS.ErrnoError(code);FS.genericErrors[code].stack=""})},staticInit:()=>{FS.ensureErrnoError();FS.nameTable=new Array(4096);FS.mount(MEMFS,{},"/");FS.createDefaultDirectories();FS.createDefaultDevices();FS.createSpecialDirectories();FS.filesystems={"MEMFS":MEMFS}},init:(input,output,error)=>{FS.init.initialized=true;FS.ensureErrnoError();Module["stdin"]=input||Module["stdin"];Module["stdout"]=output||Module["stdout"];Module["stderr"]=error||Module["stderr"];FS.createStandardStreams()},quit:()=>{FS.init.initialized=false;for(var i=0;i{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode},findObject:(path,dontResolveLastLink)=>{var ret=FS.analyzePath(path,dontResolveLastLink);if(ret.exists){return ret.object}else{return null}},analyzePath:(path,dontResolveLastLink)=>{try{var lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});path=lookup.path}catch(e){}var ret={isRoot:false,exists:false,error:0,name:null,path:null,object:null,parentExists:false,parentPath:null,parentObject:null};try{var lookup=FS.lookupPath(path,{parent:true});ret.parentExists=true;ret.parentPath=lookup.path;ret.parentObject=lookup.node;ret.name=PATH.basename(path);lookup=FS.lookupPath(path,{follow:!dontResolveLastLink});ret.exists=true;ret.path=lookup.path;ret.object=lookup.node;ret.name=lookup.node.name;ret.isRoot=lookup.path==="/"}catch(e){ret.error=e.errno}return ret},createPath:(parent,path,canRead,canWrite)=>{parent=typeof parent==="string"?parent:FS.getPath(parent);var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);try{FS.mkdir(current)}catch(e){}parent=current}return current},createFile:(parent,name,properties,canRead,canWrite)=>{var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(canRead,canWrite);return FS.create(path,mode)},createDataFile:(parent,name,data,canRead,canWrite,canOwn)=>{var path=name;if(parent){parent=typeof parent==="string"?parent:FS.getPath(parent);path=name?PATH.join2(parent,name):parent}var mode=FS.getMode(canRead,canWrite);var node=FS.create(path,mode);if(data){if(typeof data==="string"){var arr=new Array(data.length);for(var i=0,len=data.length;i{var path=PATH.join2(typeof parent==="string"?parent:FS.getPath(parent),name);var mode=FS.getMode(!!input,!!output);if(!FS.createDevice.major)FS.createDevice.major=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{open:stream=>{stream.seekable=false},close:stream=>{if(output&&output.buffer&&output.buffer.length){output(10)}},read:(stream,buffer,offset,length,pos)=>{var bytesRead=0;for(var i=0;i{for(var i=0;i{if(obj.isDevice||obj.isFolder||obj.link||obj.contents)return true;if(typeof XMLHttpRequest!=="undefined"){throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.")}else if(read_){try{obj.contents=intArrayFromString(read_(obj.url),true);obj.usedBytes=obj.contents.length}catch(e){throw new FS.ErrnoError(29)}}else{throw new Error("Cannot load without read() or XMLHttpRequest.")}},createLazyFile:(parent,name,url,canRead,canWrite)=>{function LazyUint8Array(){this.lengthKnown=false;this.chunks=[]}LazyUint8Array.prototype.get=function LazyUint8Array_get(idx){if(idx>this.length-1||idx<0){return undefined}var chunkOffset=idx%this.chunkSize;var chunkNum=idx/this.chunkSize|0;return this.getter(chunkNum)[chunkOffset]};LazyUint8Array.prototype.setDataGetter=function LazyUint8Array_setDataGetter(getter){this.getter=getter};LazyUint8Array.prototype.cacheLength=function LazyUint8Array_cacheLength(){var xhr=new XMLHttpRequest;xhr.open("HEAD",url,false);xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);var datalength=Number(xhr.getResponseHeader("Content-length"));var header;var hasByteServing=(header=xhr.getResponseHeader("Accept-Ranges"))&&header==="bytes";var usesGzip=(header=xhr.getResponseHeader("Content-Encoding"))&&header==="gzip";var chunkSize=1024*1024;if(!hasByteServing)chunkSize=datalength;var doXHR=(from,to)=>{if(from>to)throw new Error("invalid range ("+from+", "+to+") or no bytes requested!");if(to>datalength-1)throw new Error("only "+datalength+" bytes available! programmer error!");var xhr=new XMLHttpRequest;xhr.open("GET",url,false);if(datalength!==chunkSize)xhr.setRequestHeader("Range","bytes="+from+"-"+to);if(typeof Uint8Array!="undefined")xhr.responseType="arraybuffer";if(xhr.overrideMimeType){xhr.overrideMimeType("text/plain; charset=x-user-defined")}xhr.send(null);if(!(xhr.status>=200&&xhr.status<300||xhr.status===304))throw new Error("Couldn't load "+url+". Status: "+xhr.status);if(xhr.response!==undefined){return new Uint8Array(xhr.response||[])}else{return intArrayFromString(xhr.responseText||"",true)}};var lazyArray=this;lazyArray.setDataGetter(chunkNum=>{var start=chunkNum*chunkSize;var end=(chunkNum+1)*chunkSize-1;end=Math.min(end,datalength-1);if(typeof lazyArray.chunks[chunkNum]==="undefined"){lazyArray.chunks[chunkNum]=doXHR(start,end)}if(typeof lazyArray.chunks[chunkNum]==="undefined")throw new Error("doXHR failed!");return lazyArray.chunks[chunkNum]});if(usesGzip||!datalength){chunkSize=datalength=1;datalength=this.getter(0).length;chunkSize=datalength;out("LazyFiles on gzip forces download of the whole file when length is accessed")}this._length=datalength;this._chunkSize=chunkSize;this.lengthKnown=true};if(typeof XMLHttpRequest!=="undefined"){if(!ENVIRONMENT_IS_WORKER)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var lazyArray=new LazyUint8Array;Object.defineProperties(lazyArray,{length:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._length}},chunkSize:{get:function(){if(!this.lengthKnown){this.cacheLength()}return this._chunkSize}}});var properties={isDevice:false,contents:lazyArray}}else{var properties={isDevice:false,url:url}}var node=FS.createFile(parent,name,properties,canRead,canWrite);if(properties.contents){node.contents=properties.contents}else if(properties.url){node.contents=null;node.url=properties.url}Object.defineProperties(node,{usedBytes:{get:function(){return this.contents.length}}});var stream_ops={};var keys=Object.keys(node.stream_ops);keys.forEach(key=>{var fn=node.stream_ops[key];stream_ops[key]=function forceLoadLazyFile(){FS.forceLoadFile(node);return fn.apply(null,arguments)}});stream_ops.read=((stream,buffer,offset,length,position)=>{FS.forceLoadFile(node);var contents=stream.node.contents;if(position>=contents.length)return 0;var size=Math.min(contents.length-position,length);if(contents.slice){for(var i=0;i{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency("cp "+fullname);function processData(byteArray){function finish(byteArray){if(preFinish)preFinish();if(!dontCreateFile){FS.createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}if(onload)onload();removeRunDependency(dep)}if(Browser.handledByPreloadPlugin(byteArray,fullname,finish,()=>{if(onerror)onerror();removeRunDependency(dep)})){return}finish(byteArray)}addRunDependency(dep);if(typeof url=="string"){asyncLoad(url,byteArray=>processData(byteArray),onerror)}else{processData(url)}},indexedDB:()=>{return window.indexedDB||window.mozIndexedDB||window.webkitIndexedDB||window.msIndexedDB},DB_NAME:()=>{return"EM_FS_"+window.location.pathname},DB_VERSION:20,DB_STORE_NAME:"FILE_DATA",saveFilesToDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=(()=>{out("creating db");var db=openRequest.result;db.createObjectStore(FS.DB_STORE_NAME)});openRequest.onsuccess=(()=>{var db=openRequest.result;var transaction=db.transaction([FS.DB_STORE_NAME],"readwrite");var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var putRequest=files.put(FS.analyzePath(path).object.contents,path);putRequest.onsuccess=(()=>{ok++;if(ok+fail==total)finish()});putRequest.onerror=(()=>{fail++;if(ok+fail==total)finish()})});transaction.onerror=onerror});openRequest.onerror=onerror},loadFilesFromDB:(paths,onload,onerror)=>{onload=onload||(()=>{});onerror=onerror||(()=>{});var indexedDB=FS.indexedDB();try{var openRequest=indexedDB.open(FS.DB_NAME(),FS.DB_VERSION)}catch(e){return onerror(e)}openRequest.onupgradeneeded=onerror;openRequest.onsuccess=(()=>{var db=openRequest.result;try{var transaction=db.transaction([FS.DB_STORE_NAME],"readonly")}catch(e){onerror(e);return}var files=transaction.objectStore(FS.DB_STORE_NAME);var ok=0,fail=0,total=paths.length;function finish(){if(fail==0)onload();else onerror()}paths.forEach(path=>{var getRequest=files.get(path);getRequest.onsuccess=(()=>{if(FS.analyzePath(path).exists){FS.unlink(path)}FS.createDataFile(PATH.dirname(path),PATH.basename(path),getRequest.result,true,true,true);ok++;if(ok+fail==total)finish()});getRequest.onerror=(()=>{fail++;if(ok+fail==total)finish()})});transaction.onerror=onerror});openRequest.onerror=onerror}};var SYSCALLS={mappings:{},DEFAULT_POLLMASK:5,calculateAt:function(dirfd,path,allowEmpty){if(path[0]==="/"){return path}var dir;if(dirfd===-100){dir=FS.cwd()}else{var dirstream=FS.getStream(dirfd);if(!dirstream)throw new FS.ErrnoError(8);dir=dirstream.path}if(path.length==0){if(!allowEmpty){throw new FS.ErrnoError(44)}return dir}return PATH.join2(dir,path)},doStat:function(func,path,buf){try{var stat=func(path)}catch(e){if(e&&e.node&&PATH.normalize(path)!==PATH.normalize(FS.getPath(e.node))){return-54}throw e}GROWABLE_HEAP_I32()[buf>>2]=stat.dev;GROWABLE_HEAP_I32()[buf+4>>2]=0;GROWABLE_HEAP_I32()[buf+8>>2]=stat.ino;GROWABLE_HEAP_I32()[buf+12>>2]=stat.mode;GROWABLE_HEAP_I32()[buf+16>>2]=stat.nlink;GROWABLE_HEAP_I32()[buf+20>>2]=stat.uid;GROWABLE_HEAP_I32()[buf+24>>2]=stat.gid;GROWABLE_HEAP_I32()[buf+28>>2]=stat.rdev;GROWABLE_HEAP_I32()[buf+32>>2]=0;tempI64=[stat.size>>>0,(tempDouble=stat.size,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+40>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+44>>2]=tempI64[1];GROWABLE_HEAP_I32()[buf+48>>2]=4096;GROWABLE_HEAP_I32()[buf+52>>2]=stat.blocks;GROWABLE_HEAP_I32()[buf+56>>2]=stat.atime.getTime()/1e3|0;GROWABLE_HEAP_I32()[buf+60>>2]=0;GROWABLE_HEAP_I32()[buf+64>>2]=stat.mtime.getTime()/1e3|0;GROWABLE_HEAP_I32()[buf+68>>2]=0;GROWABLE_HEAP_I32()[buf+72>>2]=stat.ctime.getTime()/1e3|0;GROWABLE_HEAP_I32()[buf+76>>2]=0;tempI64=[stat.ino>>>0,(tempDouble=stat.ino,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[buf+80>>2]=tempI64[0],GROWABLE_HEAP_I32()[buf+84>>2]=tempI64[1];return 0},doMsync:function(addr,stream,len,flags,offset){var buffer=GROWABLE_HEAP_U8().slice(addr,addr+len);FS.msync(stream,buffer,offset,len,flags)},doMkdir:function(path,mode){path=PATH.normalize(path);if(path[path.length-1]==="/")path=path.substr(0,path.length-1);FS.mkdir(path,mode,0);return 0},doMknod:function(path,mode,dev){switch(mode&61440){case 32768:case 8192:case 24576:case 4096:case 49152:break;default:return-28}FS.mknod(path,mode,dev);return 0},doReadlink:function(path,buf,bufsize){if(bufsize<=0)return-28;var ret=FS.readlink(path);var len=Math.min(bufsize,lengthBytesUTF8(ret));var endChar=GROWABLE_HEAP_I8()[buf+len];stringToUTF8(ret,buf,bufsize+1);GROWABLE_HEAP_I8()[buf+len]=endChar;return len},doAccess:function(path,amode){if(amode&~7){return-28}var lookup=FS.lookupPath(path,{follow:true});var node=lookup.node;if(!node){return-44}var perms="";if(amode&4)perms+="r";if(amode&2)perms+="w";if(amode&1)perms+="x";if(perms&&FS.nodePermissions(node,perms)){return-2}return 0},doDup:function(path,flags,suggestFD){var suggest=FS.getStream(suggestFD);if(suggest)FS.close(suggest);return FS.open(path,flags,0,suggestFD,suggestFD).fd},doReadv:function(stream,iov,iovcnt,offset){var ret=0;for(var i=0;i>2];var len=GROWABLE_HEAP_I32()[iov+(i*8+4)>>2];var curr=FS.read(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr;if(curr>2];var len=GROWABLE_HEAP_I32()[iov+(i*8+4)>>2];var curr=FS.write(stream,GROWABLE_HEAP_I8(),ptr,len,offset);if(curr<0)return-1;ret+=curr}return ret},varargs:undefined,get:function(){SYSCALLS.varargs+=4;var ret=GROWABLE_HEAP_I32()[SYSCALLS.varargs-4>>2];return ret},getStr:function(ptr){var ret=UTF8ToString(ptr);return ret},getStreamFromFD:function(fd){var stream=FS.getStream(fd);if(!stream)throw new FS.ErrnoError(8);return stream},get64:function(low,high){return low}};function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(2,1,nfds,readfds,writefds,exceptfds,timeout);try{var total=0;var srcReadLow=readfds?GROWABLE_HEAP_I32()[readfds>>2]:0,srcReadHigh=readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0;var srcWriteLow=writefds?GROWABLE_HEAP_I32()[writefds>>2]:0,srcWriteHigh=writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0;var srcExceptLow=exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0,srcExceptHigh=exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?GROWABLE_HEAP_I32()[readfds>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds>>2]:0);var allHigh=(readfds?GROWABLE_HEAP_I32()[readfds+4>>2]:0)|(writefds?GROWABLE_HEAP_I32()[writefds+4>>2]:0)|(exceptfds?GROWABLE_HEAP_I32()[exceptfds+4>>2]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd>2]=dstReadLow;GROWABLE_HEAP_I32()[readfds+4>>2]=dstReadHigh}if(writefds){GROWABLE_HEAP_I32()[writefds>>2]=dstWriteLow;GROWABLE_HEAP_I32()[writefds+4>>2]=dstWriteHigh}if(exceptfds){GROWABLE_HEAP_I32()[exceptfds>>2]=dstExceptLow;GROWABLE_HEAP_I32()[exceptfds+4>>2]=dstExceptHigh}return total}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_access(path,amode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(3,1,path,amode);try{path=SYSCALLS.getStr(path);return SYSCALLS.doAccess(path,amode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var SOCKFS={mount:function(mount){Module["websocket"]=Module["websocket"]&&"object"===typeof Module["websocket"]?Module["websocket"]:{};Module["websocket"]._callbacks={};Module["websocket"]["on"]=function(event,callback){if("function"===typeof callback){this._callbacks[event]=callback}return this};Module["websocket"].emit=function(event,param){if("function"===typeof this._callbacks[event]){this._callbacks[event].call(this,param)}};return FS.createNode(null,"/",16384|511,0)},createSocket:function(family,type,protocol){type&=~526336;var streaming=type==1;if(protocol){assert(streaming==(protocol==6))}var sock={family:family,type:type,protocol:protocol,server:null,error:null,peers:{},pending:[],recv_queue:[],sock_ops:SOCKFS.websocket_sock_ops};var name=SOCKFS.nextname();var node=FS.createNode(SOCKFS.root,name,49152,0);node.sock=sock;var stream=FS.createStream({path:name,node:node,flags:2,seekable:false,stream_ops:SOCKFS.stream_ops});sock.stream=stream;return sock},getSocket:function(fd){var stream=FS.getStream(fd);if(!stream||!FS.isSocket(stream.node.mode)){return null}return stream.node.sock},stream_ops:{poll:function(stream){var sock=stream.node.sock;return sock.sock_ops.poll(sock)},ioctl:function(stream,request,varargs){var sock=stream.node.sock;return sock.sock_ops.ioctl(sock,request,varargs)},read:function(stream,buffer,offset,length,position){var sock=stream.node.sock;var msg=sock.sock_ops.recvmsg(sock,length);if(!msg){return 0}buffer.set(msg.buffer,offset);return msg.buffer.length},write:function(stream,buffer,offset,length,position){var sock=stream.node.sock;return sock.sock_ops.sendmsg(sock,buffer,offset,length)},close:function(stream){var sock=stream.node.sock;sock.sock_ops.close(sock)}},nextname:function(){if(!SOCKFS.nextname.current){SOCKFS.nextname.current=0}return"socket["+SOCKFS.nextname.current+++"]"},websocket_sock_ops:{createPeer:function(sock,addr,port){var ws;if(typeof addr==="object"){ws=addr;addr=null;port=null}if(ws){if(ws._socket){addr=ws._socket.remoteAddress;port=ws._socket.remotePort}else{var result=/ws[s]?:\/\/([^:]+):(\d+)/.exec(ws.url);if(!result){throw new Error("WebSocket URL must be in the format ws(s)://address:port")}addr=result[1];port=parseInt(result[2],10)}}else{try{var runtimeConfig=Module["websocket"]&&"object"===typeof Module["websocket"];var url="ws:#".replace("#","//");if(runtimeConfig){if("string"===typeof Module["websocket"]["url"]){url=Module["websocket"]["url"]}}if(url==="ws://"||url==="wss://"){var parts=addr.split("/");url=url+parts[0]+":"+port+"/"+parts.slice(1).join("/")}var subProtocols="binary";if(runtimeConfig){if("string"===typeof Module["websocket"]["subprotocol"]){subProtocols=Module["websocket"]["subprotocol"]}}var opts=undefined;if(subProtocols!=="null"){subProtocols=subProtocols.replace(/^ +| +$/g,"").split(/ *, */);opts=ENVIRONMENT_IS_NODE?{"protocol":subProtocols.toString()}:subProtocols}if(runtimeConfig&&null===Module["websocket"]["subprotocol"]){subProtocols="null";opts=undefined}var WebSocketConstructor;{WebSocketConstructor=WebSocket}ws=new WebSocketConstructor(url,opts);ws.binaryType="arraybuffer"}catch(e){throw new FS.ErrnoError(23)}}var peer={addr:addr,port:port,socket:ws,dgram_send_queue:[]};SOCKFS.websocket_sock_ops.addPeer(sock,peer);SOCKFS.websocket_sock_ops.handlePeerEvents(sock,peer);if(sock.type===2&&typeof sock.sport!=="undefined"){peer.dgram_send_queue.push(new Uint8Array([255,255,255,255,"p".charCodeAt(0),"o".charCodeAt(0),"r".charCodeAt(0),"t".charCodeAt(0),(sock.sport&65280)>>8,sock.sport&255]))}return peer},getPeer:function(sock,addr,port){return sock.peers[addr+":"+port]},addPeer:function(sock,peer){sock.peers[peer.addr+":"+peer.port]=peer},removePeer:function(sock,peer){delete sock.peers[peer.addr+":"+peer.port]},handlePeerEvents:function(sock,peer){var first=true;var handleOpen=function(){Module["websocket"].emit("open",sock.stream.fd);try{var queued=peer.dgram_send_queue.shift();while(queued){peer.socket.send(queued);queued=peer.dgram_send_queue.shift()}}catch(e){peer.socket.close()}};function handleMessage(data){if(typeof data==="string"){var encoder=new TextEncoder;data=encoder.encode(data)}else{assert(data.byteLength!==undefined);if(data.byteLength==0){return}else{data=new Uint8Array(data)}}var wasfirst=first;first=false;if(wasfirst&&data.length===10&&data[0]===255&&data[1]===255&&data[2]===255&&data[3]===255&&data[4]==="p".charCodeAt(0)&&data[5]==="o".charCodeAt(0)&&data[6]==="r".charCodeAt(0)&&data[7]==="t".charCodeAt(0)){var newport=data[8]<<8|data[9];SOCKFS.websocket_sock_ops.removePeer(sock,peer);peer.port=newport;SOCKFS.websocket_sock_ops.addPeer(sock,peer);return}sock.recv_queue.push({addr:peer.addr,port:peer.port,data:data});Module["websocket"].emit("message",sock.stream.fd)}if(ENVIRONMENT_IS_NODE){peer.socket.on("open",handleOpen);peer.socket.on("message",function(data,flags){if(!flags.binary){return}handleMessage(new Uint8Array(data).buffer)});peer.socket.on("close",function(){Module["websocket"].emit("close",sock.stream.fd)});peer.socket.on("error",function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])})}else{peer.socket.onopen=handleOpen;peer.socket.onclose=function(){Module["websocket"].emit("close",sock.stream.fd)};peer.socket.onmessage=function peer_socket_onmessage(event){handleMessage(event.data)};peer.socket.onerror=function(error){sock.error=14;Module["websocket"].emit("error",[sock.stream.fd,sock.error,"ECONNREFUSED: Connection refused"])}}},poll:function(sock){if(sock.type===1&&sock.server){return sock.pending.length?64|1:0}var mask=0;var dest=sock.type===1?SOCKFS.websocket_sock_ops.getPeer(sock,sock.daddr,sock.dport):null;if(sock.recv_queue.length||!dest||dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=64|1}if(!dest||dest&&dest.socket.readyState===dest.socket.OPEN){mask|=4}if(dest&&dest.socket.readyState===dest.socket.CLOSING||dest&&dest.socket.readyState===dest.socket.CLOSED){mask|=16}return mask},ioctl:function(sock,request,arg){switch(request){case 21531:var bytes=0;if(sock.recv_queue.length){bytes=sock.recv_queue[0].data.length}GROWABLE_HEAP_I32()[arg>>2]=bytes;return 0;default:return 28}},close:function(sock){if(sock.server){try{sock.server.close()}catch(e){}sock.server=null}var peers=Object.keys(sock.peers);for(var i=0;i>8&255)+"."+(addr>>16&255)+"."+(addr>>24&255)}function inetNtop6(ints){var str="";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part="";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str="::ffff:";str+=v4part;return str}if(parts[5]===0){str="::";if(v4part==="0.0.0.0")v4part="";if(v4part==="0.0.0.1")v4part="1";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word>1];var port=_ntohs(GROWABLE_HEAP_U16()[sa+2>>1]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=GROWABLE_HEAP_I32()[sa+4>>2];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[GROWABLE_HEAP_I32()[sa+8>>2],GROWABLE_HEAP_I32()[sa+12>>2],GROWABLE_HEAP_I32()[sa+16>>2],GROWABLE_HEAP_I32()[sa+20>>2]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}}function inetPton4(str){var b=str.split(".");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0}function jstoi_q(str){return parseInt(str)}function inetPton6(str){var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str==="::"){return[0,0,0,0,0,0,0,0]}if(str.startsWith("::")){str=str.replace("::","Z:")}else{str=str.replace("::",":Z:")}if(str.indexOf(".")>0){str=str.replace(new RegExp("[.]","g"),":");words=str.split(":");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(":")}offset=0;z=0;for(w=0;w>1]=2;return 0}case 6:case 7:return 0;case 16:case 8:return-28;case 9:setErrNo(28);return-1;default:{return-28}}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ftruncate64(fd,low,high){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(6,1,fd,low,high);try{var length=SYSCALLS.get64(low,high);FS.ftruncate(fd,length);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_getsockopt(fd,level,optname,optval,optlen){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(7,1,fd,level,optname,optval,optlen);try{var sock=getSocketFromFD(fd);if(level===1){if(optname===4){GROWABLE_HEAP_I32()[optval>>2]=sock.error;GROWABLE_HEAP_I32()[optlen>>2]=4;sock.error=null;return 0}}return-50}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_ioctl(fd,op,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(8,1,fd,op,varargs);SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(fd);switch(op){case 21509:case 21505:{if(!stream.tty)return-59;return 0}case 21510:case 21511:case 21512:case 21506:case 21507:case 21508:{if(!stream.tty)return-59;return 0}case 21519:{if(!stream.tty)return-59;var argp=SYSCALLS.get();GROWABLE_HEAP_I32()[argp>>2]=0;return 0}case 21520:{if(!stream.tty)return-59;return-28}case 21531:{var argp=SYSCALLS.get();return FS.ioctl(stream,op,argp)}case 21523:{if(!stream.tty)return-59;return 0}case 21524:{if(!stream.tty)return-59;return 0}default:abort("bad ioctl syscall "+op)}}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_mkdir(path,mode){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(9,1,path,mode);try{path=SYSCALLS.getStr(path);return SYSCALLS.doMkdir(path,mode)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_open(path,flags,varargs){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(10,1,path,flags,varargs);SYSCALLS.varargs=varargs;try{var pathname=SYSCALLS.getStr(path);var mode=varargs?SYSCALLS.get():0;var stream=FS.open(pathname,flags,mode);return stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}var PIPEFS={BUCKET_BUFFER_SIZE:8192,mount:function(mount){return FS.createNode(null,"/",16384|511,0)},createPipe:function(){var pipe={buckets:[],refcnt:2};pipe.buckets.push({buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:0,roffset:0});var rName=PIPEFS.nextname();var wName=PIPEFS.nextname();var rNode=FS.createNode(PIPEFS.root,rName,4096,0);var wNode=FS.createNode(PIPEFS.root,wName,4096,0);rNode.pipe=pipe;wNode.pipe=pipe;var readableStream=FS.createStream({path:rName,node:rNode,flags:0,seekable:false,stream_ops:PIPEFS.stream_ops});rNode.stream=readableStream;var writableStream=FS.createStream({path:wName,node:wNode,flags:1,seekable:false,stream_ops:PIPEFS.stream_ops});wNode.stream=writableStream;return{readable_fd:readableStream.fd,writable_fd:writableStream.fd}},stream_ops:{poll:function(stream){var pipe=stream.node.pipe;if((stream.flags&2097155)===1){return 256|4}else{if(pipe.buckets.length>0){for(var i=0;i0){return 64|1}}}}return 0},ioctl:function(stream,request,varargs){return 28},fsync:function(stream){return 28},read:function(stream,buffer,offset,length,position){var pipe=stream.node.pipe;var currentLength=0;for(var i=0;i=dataLen){currBucket.buffer.set(data,currBucket.offset);currBucket.offset+=dataLen;return dataLen}else if(freeBytesInCurrBuffer>0){currBucket.buffer.set(data.subarray(0,freeBytesInCurrBuffer),currBucket.offset);currBucket.offset+=freeBytesInCurrBuffer;data=data.subarray(freeBytesInCurrBuffer,data.byteLength)}var numBuckets=data.byteLength/PIPEFS.BUCKET_BUFFER_SIZE|0;var remElements=data.byteLength%PIPEFS.BUCKET_BUFFER_SIZE;for(var i=0;i0){var newBucket={buffer:new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE),offset:data.byteLength,roffset:0};pipe.buckets.push(newBucket);newBucket.buffer.set(data)}return dataLen},close:function(stream){var pipe=stream.node.pipe;pipe.refcnt--;if(pipe.refcnt===0){pipe.buckets=null}}},nextname:function(){if(!PIPEFS.nextname.current){PIPEFS.nextname.current=0}return"pipe["+PIPEFS.nextname.current+++"]"}};function ___syscall_pipe(fdPtr){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(11,1,fdPtr);try{if(fdPtr==0){throw new FS.ErrnoError(21)}var res=PIPEFS.createPipe();GROWABLE_HEAP_I32()[fdPtr>>2]=res.readable_fd;GROWABLE_HEAP_I32()[fdPtr+4>>2]=res.writable_fd;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_poll(fds,nfds,timeout){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(12,1,fds,nfds,timeout);try{var nonzero=0;for(var i=0;i>2];var events=GROWABLE_HEAP_I16()[pollfd+4>>1];var mask=32;var stream=FS.getStream(fd);if(stream){mask=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){mask=stream.stream_ops.poll(stream)}}mask&=events|8|16;if(mask)nonzero++;GROWABLE_HEAP_I16()[pollfd+6>>1]=mask}return nonzero}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_socket(domain,type,protocol){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(13,1,domain,type,protocol);try{var sock=SOCKFS.createSocket(domain,type,protocol);return sock.stream.fd}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_stat64(path,buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(14,1,path,buf);try{path=SYSCALLS.getStr(path);return SYSCALLS.doStat(FS.stat,path,buf)}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function ___syscall_unlink(path){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(15,1,path);try{path=SYSCALLS.getStr(path);FS.unlink(path);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return-e.errno}}function __dlopen_js(filename,flag){abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")}function __dlsym_js(handle,symbol){abort("To use dlopen, you need to use Emscripten's linking support, see https://github.com/emscripten-core/emscripten/wiki/Linking")}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){}function getShiftFromSize(size){switch(size){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+size)}}function embind_init_charCodes(){var codes=new Array(256);for(var i=0;i<256;++i){codes[i]=String.fromCharCode(i)}embind_charCodes=codes}var embind_charCodes=undefined;function readLatin1String(ptr){var ret="";var c=ptr;while(GROWABLE_HEAP_U8()[c]){ret+=embind_charCodes[GROWABLE_HEAP_U8()[c++]]}return ret}var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var char_0=48;var char_9=57;function makeLegalFunctionName(name){if(undefined===name){return"_unknown"}name=name.replace(/[^a-zA-Z0-9_]/g,"$");var f=name.charCodeAt(0);if(f>=char_0&&f<=char_9){return"_"+name}else{return name}}function createNamedFunction(name,body){name=makeLegalFunctionName(name);return function(){null;return body.apply(this,arguments)}}function extendError(baseErrorType,errorName){var errorClass=createNamedFunction(errorName,function(message){this.name=errorName;this.message=message;var stack=new Error(message).stack;if(stack!==undefined){this.stack=this.toString()+"\n"+stack.replace(/^Error(:[^\n]*)?\n/,"")}});errorClass.prototype=Object.create(baseErrorType.prototype);errorClass.prototype.constructor=errorClass;errorClass.prototype.toString=function(){if(this.message===undefined){return this.name}else{return this.name+": "+this.message}};return errorClass}var BindingError=undefined;function throwBindingError(message){throw new BindingError(message)}var InternalError=undefined;function throwInternalError(message){throw new InternalError(message)}function whenDependentTypesAreResolved(myTypes,dependentTypes,getTypeConverters){myTypes.forEach(function(type){typeDependencies[type]=dependentTypes});function onComplete(typeConverters){var myTypeConverters=getTypeConverters(typeConverters);if(myTypeConverters.length!==myTypes.length){throwInternalError("Mismatched type converter count")}for(var i=0;i>shift])},destructorFunction:null})}function ClassHandle_isAliasOf(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;var rightClass=other.$$.ptrType.registeredClass;var right=other.$$.ptr;while(leftClass.baseClass){left=leftClass.upcast(left);leftClass=leftClass.baseClass}while(rightClass.baseClass){right=rightClass.upcast(right);rightClass=rightClass.baseClass}return leftClass===rightClass&&left===right}function shallowCopyInternalPointer(o){return{count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType}}function throwInstanceAlreadyDeleted(obj){function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+" instance already deleted")}var finalizationGroup=false;function detachFinalizer(handle){}function runDestructor($$){if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}}function releaseClassHandle($$){$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}}function attachFinalizer(handle){if("undefined"===typeof FinalizationGroup){attachFinalizer=(handle=>handle);return handle}finalizationGroup=new FinalizationGroup(function(iter){for(var result=iter.next();!result.done;result=iter.next()){var $$=result.value;if(!$$.ptr){console.warn("object already deleted: "+$$.ptr)}else{releaseClassHandle($$)}}});attachFinalizer=(handle=>{finalizationGroup.register(handle,handle.$$,handle.$$);return handle});detachFinalizer=(handle=>{finalizationGroup.unregister(handle.$$)});return attachFinalizer(handle)}function ClassHandle_clone(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.preservePointerOnDelete){this.$$.count.value+=1;return this}else{var clone=attachFinalizer(Object.create(Object.getPrototypeOf(this),{$$:{value:shallowCopyInternalPointer(this.$$)}}));clone.$$.count.value+=1;clone.$$.deleteScheduled=false;return clone}}function ClassHandle_delete(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}detachFinalizer(this);releaseClassHandle(this.$$);if(!this.$$.preservePointerOnDelete){this.$$.smartPtr=undefined;this.$$.ptr=undefined}}function ClassHandle_isDeleted(){return!this.$$.ptr}var delayFunction=undefined;var deletionQueue=[];function flushPendingDeletes(){while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj["delete"]()}}function ClassHandle_deleteLater(){if(!this.$$.ptr){throwInstanceAlreadyDeleted(this)}if(this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete){throwBindingError("Object already scheduled for deletion")}deletionQueue.push(this);if(deletionQueue.length===1&&delayFunction){delayFunction(flushPendingDeletes)}this.$$.deleteScheduled=true;return this}function init_ClassHandle(){ClassHandle.prototype["isAliasOf"]=ClassHandle_isAliasOf;ClassHandle.prototype["clone"]=ClassHandle_clone;ClassHandle.prototype["delete"]=ClassHandle_delete;ClassHandle.prototype["isDeleted"]=ClassHandle_isDeleted;ClassHandle.prototype["deleteLater"]=ClassHandle_deleteLater}function ClassHandle(){}var registeredPointers={};function ensureOverloadTable(proto,methodName,humanName){if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(){if(!proto[methodName].overloadTable.hasOwnProperty(arguments.length)){throwBindingError("Function '"+humanName+"' called with an invalid number of arguments ("+arguments.length+") - expects one of ("+proto[methodName].overloadTable+")!")}return proto[methodName].overloadTable[arguments.length].apply(this,arguments)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}}function exposePublicSymbol(name,value,numArguments){if(Module.hasOwnProperty(name)){if(undefined===numArguments||undefined!==Module[name].overloadTable&&undefined!==Module[name].overloadTable[numArguments]){throwBindingError("Cannot register public name '"+name+"' twice")}ensureOverloadTable(Module,name,name);if(Module.hasOwnProperty(numArguments)){throwBindingError("Cannot register multiple overloads of a function with the same number of arguments ("+numArguments+")!")}Module[name].overloadTable[numArguments]=value}else{Module[name]=value;if(undefined!==numArguments){Module[name].numArguments=numArguments}}}function RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast){this.name=name;this.constructor=constructor;this.instancePrototype=instancePrototype;this.rawDestructor=rawDestructor;this.baseClass=baseClass;this.getActualType=getActualType;this.upcast=upcast;this.downcast=downcast;this.pureVirtualFunctions=[]}function upcastPointer(ptr,ptrClass,desiredClass){while(ptrClass!==desiredClass){if(!ptrClass.upcast){throwBindingError("Expected null or instance of "+desiredClass.name+", got an instance of "+ptrClass.name)}ptr=ptrClass.upcast(ptr);ptrClass=ptrClass.baseClass}return ptr}function constNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function genericPointerToWireType(destructors,handle){var ptr;if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}if(this.isSmartPointer){ptr=this.rawConstructor();if(destructors!==null){destructors.push(this.rawDestructor,ptr)}return ptr}else{return 0}}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(!this.isConst&&handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);if(this.isSmartPointer){if(undefined===handle.$$.smartPtr){throwBindingError("Passing raw pointer to smart pointer is illegal")}switch(this.sharingPolicy){case 0:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{throwBindingError("Cannot convert argument of type "+(handle.$$.smartPtrType?handle.$$.smartPtrType.name:handle.$$.ptrType.name)+" to parameter type "+this.name)}break;case 1:ptr=handle.$$.smartPtr;break;case 2:if(handle.$$.smartPtrType===this){ptr=handle.$$.smartPtr}else{var clonedHandle=handle["clone"]();ptr=this.rawShare(ptr,Emval.toHandle(function(){clonedHandle["delete"]()}));if(destructors!==null){destructors.push(this.rawDestructor,ptr)}}break;default:throwBindingError("Unsupporting sharing policy")}}return ptr}function nonConstNoSmartPtrRawPointerToWireType(destructors,handle){if(handle===null){if(this.isReference){throwBindingError("null is not a valid "+this.name)}return 0}if(!handle.$$){throwBindingError('Cannot pass "'+_embind_repr(handle)+'" as a '+this.name)}if(!handle.$$.ptr){throwBindingError("Cannot pass deleted object as a pointer of type "+this.name)}if(handle.$$.ptrType.isConst){throwBindingError("Cannot convert argument of type "+handle.$$.ptrType.name+" to parameter type "+this.name)}var handleClass=handle.$$.ptrType.registeredClass;var ptr=upcastPointer(handle.$$.ptr,handleClass,this.registeredClass);return ptr}function simpleReadValueFromPointer(pointer){return this["fromWireType"](GROWABLE_HEAP_U32()[pointer>>2])}function RegisteredPointer_getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr}function RegisteredPointer_destructor(ptr){if(this.rawDestructor){this.rawDestructor(ptr)}}function RegisteredPointer_deleteObject(handle){if(handle!==null){handle["delete"]()}}function downcastPointer(ptr,ptrClass,desiredClass){if(ptrClass===desiredClass){return ptr}if(undefined===desiredClass.baseClass){return null}var rv=downcastPointer(ptr,ptrClass,desiredClass.baseClass);if(rv===null){return null}return desiredClass.downcast(rv)}function getInheritedInstanceCount(){return Object.keys(registeredInstances).length}function getLiveInheritedInstances(){var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv}function setDelayFunction(fn){delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}}function init_embind(){Module["getInheritedInstanceCount"]=getInheritedInstanceCount;Module["getLiveInheritedInstances"]=getLiveInheritedInstances;Module["flushPendingDeletes"]=flushPendingDeletes;Module["setDelayFunction"]=setDelayFunction}var registeredInstances={};function getBasestPointer(class_,ptr){if(ptr===undefined){throwBindingError("ptr should not be undefined")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr}function getInheritedInstance(class_,ptr){ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]}function makeClassHandle(prototype,record){if(!record.ptrType||!record.ptr){throwInternalError("makeClassHandle requires ptr and ptrType")}var hasSmartPtrType=!!record.smartPtrType;var hasSmartPtr=!!record.smartPtr;if(hasSmartPtrType!==hasSmartPtr){throwInternalError("Both smartPtrType and smartPtr must be specified")}record.count={value:1};return attachFinalizer(Object.create(prototype,{$$:{value:record}}))}function RegisteredPointer_fromWireType(ptr){var rawPointer=this.getPointee(ptr);if(!rawPointer){this.destructor(ptr);return null}var registeredInstance=getInheritedInstance(this.registeredClass,rawPointer);if(undefined!==registeredInstance){if(0===registeredInstance.$$.count.value){registeredInstance.$$.ptr=rawPointer;registeredInstance.$$.smartPtr=ptr;return registeredInstance["clone"]()}else{var rv=registeredInstance["clone"]();this.destructor(ptr);return rv}}function makeDefaultHandle(){if(this.isSmartPointer){return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:rawPointer,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(this.registeredClass.instancePrototype,{ptrType:this,ptr:ptr})}}var actualType=this.registeredClass.getActualType(rawPointer);var registeredPointerRecord=registeredPointers[actualType];if(!registeredPointerRecord){return makeDefaultHandle.call(this)}var toType;if(this.isConst){toType=registeredPointerRecord.constPointerType}else{toType=registeredPointerRecord.pointerType}var dp=downcastPointer(rawPointer,this.registeredClass,toType.registeredClass);if(dp===null){return makeDefaultHandle.call(this)}if(this.isSmartPointer){return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp,smartPtrType:this,smartPtr:ptr})}else{return makeClassHandle(toType.registeredClass.instancePrototype,{ptrType:toType,ptr:dp})}}function init_RegisteredPointer(){RegisteredPointer.prototype.getPointee=RegisteredPointer_getPointee;RegisteredPointer.prototype.destructor=RegisteredPointer_destructor;RegisteredPointer.prototype["argPackAdvance"]=8;RegisteredPointer.prototype["readValueFromPointer"]=simpleReadValueFromPointer;RegisteredPointer.prototype["deleteObject"]=RegisteredPointer_deleteObject;RegisteredPointer.prototype["fromWireType"]=RegisteredPointer_fromWireType}function RegisteredPointer(name,registeredClass,isReference,isConst,isSmartPointer,pointeeType,sharingPolicy,rawGetPointee,rawConstructor,rawShare,rawDestructor){this.name=name;this.registeredClass=registeredClass;this.isReference=isReference;this.isConst=isConst;this.isSmartPointer=isSmartPointer;this.pointeeType=pointeeType;this.sharingPolicy=sharingPolicy;this.rawGetPointee=rawGetPointee;this.rawConstructor=rawConstructor;this.rawShare=rawShare;this.rawDestructor=rawDestructor;if(!isSmartPointer&®isteredClass.baseClass===undefined){if(isConst){this["toWireType"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this["toWireType"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this["toWireType"]=genericPointerToWireType}}function replacePublicSymbol(name,value,numArguments){if(!Module.hasOwnProperty(name)){throwInternalError("Replacing nonexistant public symbol")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}}function dynCallLegacy(sig,ptr,args){var f=Module["dynCall_"+sig];return args&&args.length?f.apply(null,[ptr].concat(args)):f.call(null,ptr)}function dynCall(sig,ptr,args){return dynCallLegacy(sig,ptr,args)}function getDynCaller(sig,ptr){var argCache=[];return function(){argCache.length=arguments.length;for(var i=0;i>2)+i])}return array}function runDestructors(destructors){while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}}function __embind_register_class_constructor(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){assert(argCount>0);var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],function(classType){classType=classType[0];var humanName="constructor "+classType.name;if(undefined===classType.registeredClass.constructor_body){classType.registeredClass.constructor_body=[]}if(undefined!==classType.registeredClass.constructor_body[argCount-1]){throw new BindingError("Cannot register multiple constructors with identical number of parameters ("+(argCount-1)+") for class '"+classType.name+"'! Overload resolution is currently only performed using the parameter count, not actual type info!")}classType.registeredClass.constructor_body[argCount-1]=(()=>{throwUnboundTypeError("Cannot construct "+classType.name+" due to unbound types",rawArgTypes)});whenDependentTypesAreResolved([],rawArgTypes,function(argTypes){argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})}function runAndAbortIfError(func){try{return func()}catch(e){abort(e)}}function maybeExit(){if(!keepRuntimeAlive()){try{if(ENVIRONMENT_IS_PTHREAD)__emscripten_thread_exit(EXITSTATUS);else _exit(EXITSTATUS)}catch(e){handleException(e)}}}function callUserCallback(func,synchronous){if(runtimeExited||ABORT){return}if(synchronous){func();return}try{func();if(ENVIRONMENT_IS_PTHREAD)maybeExit()}catch(e){handleException(e)}}function runtimeKeepalivePush(){runtimeKeepaliveCounter+=1}function runtimeKeepalivePop(){runtimeKeepaliveCounter-=1}var Asyncify={State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId:function(funcName){var id=Asyncify.callStackNameToId[funcName];if(id===undefined){id=Asyncify.callStackId++;Asyncify.callStackNameToId[funcName]=id;Asyncify.callStackIdToName[id]=funcName}return id},instrumentWasmExports:function(exports){var ret={};for(var x in exports){(function(x){var original=exports[x];if(typeof original==="function"){ret[x]=function(){Asyncify.exportCallStack.push(x);try{return original.apply(null,arguments)}finally{if(!ABORT){var y=Asyncify.exportCallStack.pop();assert(y===x);Asyncify.maybeStopUnwind()}}}}else{ret[x]=original}})(x)}return ret},maybeStopUnwind:function(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){runtimeKeepalivePush();Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(Module["_asyncify_stop_unwind"]);if(typeof Fibers!=="undefined"){Fibers.trampoline()}}},whenDone:function(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve:resolve,reject:reject}})},allocateData:function(){var ptr=_malloc(12+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+12,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader:function(ptr,stack,stackSize){GROWABLE_HEAP_I32()[ptr>>2]=stack;GROWABLE_HEAP_I32()[ptr+4>>2]=stack+stackSize},setDataRewindFunc:function(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);GROWABLE_HEAP_I32()[ptr+8>>2]=rewindId},getDataRewindFunc:function(ptr){var id=GROWABLE_HEAP_I32()[ptr+8>>2];var name=Asyncify.callStackIdToName[id];var func=Module["asm"][name];return func},doRewind:function(ptr){var start=Asyncify.getDataRewindFunc(ptr);runtimeKeepalivePop();return start()},handleSleep:function(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync(handleSleepReturnValue=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue||0;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>Module["_asyncify_start_rewind"](Asyncify.currData));if(typeof Browser!=="undefined"&&Browser.mainLoop.func){Browser.mainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();runAndAbortIfError(()=>Module["_asyncify_start_unwind"](Asyncify.currData));if(typeof Browser!=="undefined"&&Browser.mainLoop.func){Browser.mainLoop.pause()}}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(Module["_asyncify_stop_rewind"]);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(func=>callUserCallback(func))}else{abort("invalid state: "+Asyncify.state)}return Asyncify.handleSleepReturnValue},handleAsync:function(startAsync){return Asyncify.handleSleep(wakeUp=>{startAsync().then(wakeUp)})}};function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc){var argCount=argTypes.length;if(argCount<2){throwBindingError("argTypes array size mismatch! Must at least get return value and 'this' types!")}var isClassMethodFunc=argTypes[1]!==null&&classType!==null;var needsDestructorStack=false;for(var i=1;i4&&0===--emval_handle_array[handle].refcount){emval_handle_array[handle]=undefined;emval_free_list.push(handle)}}function count_emval_handles(){var count=0;for(var i=5;i>2])};case 3:return function(pointer){return this["fromWireType"](GROWABLE_HEAP_F64()[pointer>>3])};default:throw new TypeError("Unknown float type: "+name)}}function __embind_register_float(rawType,name,size){var shift=getShiftFromSize(size);name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":function(value){return value},"toWireType":function(destructors,value){return value},"argPackAdvance":8,"readValueFromPointer":floatReadValueFromPointer(name,shift),destructorFunction:null})}function integerReadValueFromPointer(name,shift,signed){switch(shift){case 0:return signed?function readS8FromPointer(pointer){return GROWABLE_HEAP_I8()[pointer]}:function readU8FromPointer(pointer){return GROWABLE_HEAP_U8()[pointer]};case 1:return signed?function readS16FromPointer(pointer){return GROWABLE_HEAP_I16()[pointer>>1]}:function readU16FromPointer(pointer){return GROWABLE_HEAP_U16()[pointer>>1]};case 2:return signed?function readS32FromPointer(pointer){return GROWABLE_HEAP_I32()[pointer>>2]}:function readU32FromPointer(pointer){return GROWABLE_HEAP_U32()[pointer>>2]};default:throw new TypeError("Unknown integer type: "+name)}}function __embind_register_integer(primitiveType,name,size,minRange,maxRange){name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var shift=getShiftFromSize(size);var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=(value=>value<>>bitshift)}var isUnsignedType=name.includes("unsigned");var checkAssertions=(value,toTypeName)=>{};var toWireType;if(isUnsignedType){toWireType=function(destructors,value){checkAssertions(value,this.name);return value>>>0}}else{toWireType=function(destructors,value){checkAssertions(value,this.name);return value}}registerType(primitiveType,{name:name,"fromWireType":fromWireType,"toWireType":toWireType,"argPackAdvance":8,"readValueFromPointer":integerReadValueFromPointer(name,shift,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){handle=handle>>2;var heap=GROWABLE_HEAP_U32();var size=heap[handle];var data=heap[handle+1];return new TA(buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,"fromWireType":decodeMemoryView,"argPackAdvance":8,"readValueFromPointer":decodeMemoryView},{ignoreDuplicateRegistrations:true})}function __embind_register_std_string(rawType,name){name=readLatin1String(name);var stdStringIsUTF8=name==="std::string";registerType(rawType,{name:name,"fromWireType":function(value){var length=GROWABLE_HEAP_U32()[value>>2];var str;if(stdStringIsUTF8){var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i;if(i==length||GROWABLE_HEAP_U8()[currentBytePtr]==0){var maxRead=currentBytePtr-decodeStartPtr;var stringSegment=UTF8ToString(decodeStartPtr,maxRead);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+1}}}else{var a=new Array(length);for(var i=0;ilengthBytesUTF8(value))}else{getLength=(()=>value.length)}var length=getLength();var ptr=_malloc(4+length+1);GROWABLE_HEAP_U32()[ptr>>2]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr+4,length+1)}else{if(valueIsOfTypeString){for(var i=0;i255){_free(ptr);throwBindingError("String has UTF-16 code units that do not fit in 8 bits")}GROWABLE_HEAP_U8()[ptr+4+i]=charCode}}else{for(var i=0;iGROWABLE_HEAP_U16());shift=1}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;getHeap=(()=>GROWABLE_HEAP_U32());shift=2}registerType(rawType,{name:name,"fromWireType":function(value){var length=GROWABLE_HEAP_U32()[value>>2];var HEAP=getHeap();var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||HEAP[currentBytePtr>>shift]==0){var maxReadBytes=currentBytePtr-decodeStartPtr;var stringSegment=decodeString(decodeStartPtr,maxReadBytes);if(str===undefined){str=stringSegment}else{str+=String.fromCharCode(0);str+=stringSegment}decodeStartPtr=currentBytePtr+charSize}}_free(value);return str},"toWireType":function(destructors,value){if(!(typeof value==="string")){throwBindingError("Cannot pass non-string to C++ string type "+name)}var length=lengthBytesUTF(value);var ptr=_malloc(4+length+charSize);GROWABLE_HEAP_U32()[ptr>>2]=length>>shift;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},"argPackAdvance":8,"readValueFromPointer":simpleReadValueFromPointer,destructorFunction:function(ptr){_free(ptr)}})}function __embind_register_void(rawType,name){name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,"argPackAdvance":0,"fromWireType":function(){return undefined},"toWireType":function(destructors,o){return undefined}})}function __emscripten_futex_wait_non_blocking(addr,val,timeout){var tNow=performance.now();var tEnd=tNow+timeout;var lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr);while(1){tNow=performance.now();if(tNow>tEnd){lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);return-73}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,0);if(lastAddr==0){break}_emscripten_main_thread_process_queued_calls();if(Atomics.load(GROWABLE_HEAP_I32(),addr>>2)!=val){return-6}lastAddr=Atomics.exchange(GROWABLE_HEAP_I32(),__emscripten_main_thread_futex>>2,addr)}return 0}function __emscripten_notify_thread_queue(targetThreadId,mainThreadId){if(targetThreadId==mainThreadId){postMessage({"cmd":"processQueuedMainThreadWork"})}else if(ENVIRONMENT_IS_PTHREAD){postMessage({"targetThread":targetThreadId,"cmd":"processThreadQueue"})}else{var pthread=PThread.pthreads[targetThreadId];var worker=pthread&&pthread.worker;if(!worker){return}worker.postMessage({"cmd":"processThreadQueue"})}return 1}function requireRegisteredType(rawType,humanName){var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(humanName+" has unknown type "+getTypeName(rawType))}return impl}function __emval_as(handle,returnType,destructorsRef){handle=Emval.toValue(handle);returnType=requireRegisteredType(returnType,"emval::as");var destructors=[];var rd=Emval.toHandle(destructors);GROWABLE_HEAP_I32()[destructorsRef>>2]=rd;return returnType["toWireType"](destructors,handle)}function __emval_await(promise){return Asyncify.handleAsync(function(){promise=Emval.toValue(promise);return promise.then(Emval.toHandle)})}function __emval_lookupTypes(argCount,argTypes){var a=new Array(argCount);for(var i=0;i>2)+i],"parameter "+i)}return a}function __emval_call(handle,argCount,argTypes,argv){handle=Emval.toValue(handle);var types=__emval_lookupTypes(argCount,argTypes);var args=new Array(argCount);for(var i=0;i>2]=Emval.toHandle(destructors);return destructors}var emval_symbols={};function getStringOrSymbol(address){var symbol=emval_symbols[address];if(symbol===undefined){return readLatin1String(address)}else{return symbol}}var emval_methodCallers=[];function __emval_call_method(caller,handle,methodName,destructorsRef,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);return caller(handle,methodName,__emval_allocateDestructors(destructorsRef),args)}function __emval_call_void_method(caller,handle,methodName,args){caller=emval_methodCallers[caller];handle=Emval.toValue(handle);methodName=getStringOrSymbol(methodName);caller(handle,methodName,null,args)}function emval_get_global(){if(typeof globalThis==="object"){return globalThis}function testGlobal(obj){obj["$$$embind_global$$$"]=obj;var success=typeof $$$embind_global$$$==="object"&&obj["$$$embind_global$$$"]===obj;if(!success){delete obj["$$$embind_global$$$"]}return success}if(typeof $$$embind_global$$$==="object"){return $$$embind_global$$$}if(typeof global==="object"&&testGlobal(global)){$$$embind_global$$$=global}else if(typeof self==="object"&&testGlobal(self)){$$$embind_global$$$=self}if(typeof $$$embind_global$$$==="object"){return $$$embind_global$$$}throw Error("unable to get global object.")}function __emval_get_global(name){if(name===0){return Emval.toHandle(emval_get_global())}else{name=getStringOrSymbol(name);return Emval.toHandle(emval_get_global()[name])}}function __emval_addMethodCaller(caller){var id=emval_methodCallers.length;emval_methodCallers.push(caller);return id}var emval_registeredMethods=[];function __emval_get_method_caller(argCount,argTypes){var types=__emval_lookupTypes(argCount,argTypes);var retType=types[0];var signatureName=retType.name+"_$"+types.slice(1).map(function(t){return t.name}).join("_")+"$";var returnId=emval_registeredMethods[signatureName];if(returnId!==undefined){return returnId}var argN=new Array(argCount-1);var invokerFunction=(handle,name,destructors,args)=>{var offset=0;for(var i=0;i4){emval_handle_array[handle].refcount+=1}}function __emval_is_string(handle){handle=Emval.toValue(handle);return typeof handle==="string"}function craftEmvalAllocator(argCount){var argsList=new Array(argCount+1);return function(constructor,argTypes,args){argsList[0]=constructor;for(var i=0;i>2)+i],"parameter "+i);argsList[i+1]=argType["readValueFromPointer"](args);args+=argType["argPackAdvance"]}var obj=new(constructor.bind.apply(constructor,argsList));return Emval.toHandle(obj)}}var emval_newers={};function __emval_new(handle,argCount,argTypes,args){handle=Emval.toValue(handle);var newer=emval_newers[argCount];if(!newer){newer=craftEmvalAllocator(argCount);emval_newers[argCount]=newer}return newer(handle,argTypes,args)}function __emval_new_array(){return Emval.toHandle([])}function __emval_new_cstring(v){return Emval.toHandle(getStringOrSymbol(v))}function __emval_new_object(){return Emval.toHandle({})}function __emval_run_destructors(handle){var destructors=Emval.toValue(handle);runDestructors(destructors);__emval_decref(handle)}function __emval_set_property(handle,key,value){handle=Emval.toValue(handle);key=Emval.toValue(key);value=Emval.toValue(value);handle[key]=value}function __emval_take_value(type,argv){type=requireRegisteredType(type,"_emval_take_value");var v=type["readValueFromPointer"](argv);return Emval.toHandle(v)}function __gmtime_js(time,tmPtr){var date=new Date(GROWABLE_HEAP_I32()[time>>2]*1e3);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getUTCSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getUTCMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getUTCHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getUTCDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getUTCMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getUTCFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getUTCDay();var start=Date.UTC(date.getUTCFullYear(),0,1,0,0,0,0);var yday=(date.getTime()-start)/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday}function __localtime_js(time,tmPtr){var date=new Date(GROWABLE_HEAP_I32()[time>>2]*1e3);GROWABLE_HEAP_I32()[tmPtr>>2]=date.getSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getMonth();GROWABLE_HEAP_I32()[tmPtr+20>>2]=date.getFullYear()-1900;GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getDay();var start=new Date(date.getFullYear(),0,1);var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday;GROWABLE_HEAP_I32()[tmPtr+36>>2]=-(date.getTimezoneOffset()*60);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dst=(summerOffset!=winterOffset&&date.getTimezoneOffset()==Math.min(winterOffset,summerOffset))|0;GROWABLE_HEAP_I32()[tmPtr+32>>2]=dst}function __mktime_js(tmPtr){var date=new Date(GROWABLE_HEAP_I32()[tmPtr+20>>2]+1900,GROWABLE_HEAP_I32()[tmPtr+16>>2],GROWABLE_HEAP_I32()[tmPtr+12>>2],GROWABLE_HEAP_I32()[tmPtr+8>>2],GROWABLE_HEAP_I32()[tmPtr+4>>2],GROWABLE_HEAP_I32()[tmPtr>>2],0);var dst=GROWABLE_HEAP_I32()[tmPtr+32>>2];var guessedOffset=date.getTimezoneOffset();var start=new Date(date.getFullYear(),0,1);var summerOffset=new Date(date.getFullYear(),6,1).getTimezoneOffset();var winterOffset=start.getTimezoneOffset();var dstOffset=Math.min(winterOffset,summerOffset);if(dst<0){GROWABLE_HEAP_I32()[tmPtr+32>>2]=Number(summerOffset!=winterOffset&&dstOffset==guessedOffset)}else if(dst>0!=(dstOffset==guessedOffset)){var nonDstOffset=Math.max(winterOffset,summerOffset);var trueOffset=dst>0?dstOffset:nonDstOffset;date.setTime(date.getTime()+(trueOffset-guessedOffset)*6e4)}GROWABLE_HEAP_I32()[tmPtr+24>>2]=date.getDay();var yday=(date.getTime()-start.getTime())/(1e3*60*60*24)|0;GROWABLE_HEAP_I32()[tmPtr+28>>2]=yday;GROWABLE_HEAP_I32()[tmPtr>>2]=date.getSeconds();GROWABLE_HEAP_I32()[tmPtr+4>>2]=date.getMinutes();GROWABLE_HEAP_I32()[tmPtr+8>>2]=date.getHours();GROWABLE_HEAP_I32()[tmPtr+12>>2]=date.getDate();GROWABLE_HEAP_I32()[tmPtr+16>>2]=date.getMonth();return date.getTime()/1e3|0}function _tzset_impl(timezone,daylight,tzname){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(16,1,timezone,daylight,tzname);var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);GROWABLE_HEAP_I32()[timezone>>2]=stdTimezoneOffset*60;GROWABLE_HEAP_I32()[daylight>>2]=Number(winterOffset!=summerOffset);function extractZone(date){var match=date.toTimeString().match(/\(([A-Za-z ]+)\)$/);return match?match[1]:"GMT"}var winterName=extractZone(winter);var summerName=extractZone(summer);var winterNamePtr=allocateUTF8(winterName);var summerNamePtr=allocateUTF8(summerName);if(summerOffset>2]=winterNamePtr;GROWABLE_HEAP_I32()[tzname+4>>2]=summerNamePtr}else{GROWABLE_HEAP_I32()[tzname>>2]=summerNamePtr;GROWABLE_HEAP_I32()[tzname+4>>2]=winterNamePtr}}function __tzset_js(timezone,daylight,tzname){if(__tzset_js.called)return;__tzset_js.called=true;_tzset_impl(timezone,daylight,tzname)}function _abort(){abort("")}var readAsmConstArgsArray=[];function readAsmConstArgs(sigPtr,buf){readAsmConstArgsArray.length=0;var ch;buf>>=2;while(ch=GROWABLE_HEAP_U8()[sigPtr++]){var readAsmConstArgsDouble=ch<105;if(readAsmConstArgsDouble&&buf&1)buf++;readAsmConstArgsArray.push(readAsmConstArgsDouble?GROWABLE_HEAP_F64()[buf++>>1]:GROWABLE_HEAP_I32()[buf]);++buf}return readAsmConstArgsArray}function _emscripten_asm_const_int(code,sigPtr,argbuf){var args=readAsmConstArgs(sigPtr,argbuf);return ASM_CONSTS[code].apply(null,args)}function _emscripten_check_blocking_allowed(){if(ENVIRONMENT_IS_WORKER)return;warnOnce("Blocking on the main thread is very dangerous, see https://emscripten.org/docs/porting/pthreads.html#blocking-on-the-main-browser-thread")}function _emscripten_memcpy_big(dest,src,num){GROWABLE_HEAP_U8().copyWithin(dest,src,src+num)}function _emscripten_proxy_to_main_thread_js(index,sync){var numCallArgs=arguments.length-2;var outerArgs=arguments;return withStackSave(function(){var serializedNumCallArgs=numCallArgs;var args=stackAlloc(serializedNumCallArgs*8);var b=args>>3;for(var i=0;i>3;for(var i=0;i>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=GROWABLE_HEAP_U8().length;requestedSize=requestedSize>>>0;if(requestedSize<=oldSize){return false}var maxHeapSize=2147483648;if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var JSEvents={inEventHandler:0,removeAllEventListeners:function(){for(var i=JSEvents.eventHandlers.length-1;i>=0;--i){JSEvents._removeHandler(i)}JSEvents.eventHandlers=[];JSEvents.deferredCalls=[]},registerRemoveEventListeners:function(){if(!JSEvents.removeEventListenersRegistered){__ATEXIT__.push(JSEvents.removeAllEventListeners);JSEvents.removeEventListenersRegistered=true}},deferredCalls:[],deferCall:function(targetFunction,precedence,argsList){function arraysHaveEqualContent(arrA,arrB){if(arrA.length!=arrB.length)return false;for(var i in arrA){if(arrA[i]!=arrB[i])return false}return true}for(var i in JSEvents.deferredCalls){var call=JSEvents.deferredCalls[i];if(call.targetFunction==targetFunction&&arraysHaveEqualContent(call.argsList,argsList)){return}}JSEvents.deferredCalls.push({targetFunction:targetFunction,precedence:precedence,argsList:argsList});JSEvents.deferredCalls.sort(function(x,y){return x.precedence>2]=eventTypeId;GROWABLE_HEAP_I32()[varargs+4>>2]=eventData;GROWABLE_HEAP_I32()[varargs+8>>2]=userData;_emscripten_dispatch_to_thread_(targetThread,637534208,eventHandlerFunc,eventData,varargs)})},getTargetThreadForEventCallback:function(targetThread){switch(targetThread){case 1:return 0;case 2:return PThread.currentProxiedOperationCallerThread;default:return targetThread}},getNodeNameForTarget:function(target){if(!target)return"";if(target==window)return"#window";if(target==screen)return"#screen";return target&&target.nodeName?target.nodeName:""},fullscreenEnabled:function(){return document.fullscreenEnabled||document.webkitFullscreenEnabled}};function stringToNewUTF8(jsString){var length=lengthBytesUTF8(jsString)+1;var cString=_malloc(length);stringToUTF8(jsString,cString,length);return cString}function _emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height){withStackSave(function(){var varargs=stackAlloc(12);var targetCanvasPtr=0;if(targetCanvas){targetCanvasPtr=stringToNewUTF8(targetCanvas)}GROWABLE_HEAP_I32()[varargs>>2]=targetCanvasPtr;GROWABLE_HEAP_I32()[varargs+4>>2]=width;GROWABLE_HEAP_I32()[varargs+8>>2]=height;_emscripten_dispatch_to_thread_(targetThread,657457152,0,targetCanvasPtr,varargs)})}function _emscripten_set_offscreencanvas_size_on_target_thread(targetThread,targetCanvas,width,height){targetCanvas=targetCanvas?UTF8ToString(targetCanvas):"";_emscripten_set_offscreencanvas_size_on_target_thread_js(targetThread,targetCanvas,width,height)}function maybeCStringToJsString(cString){return cString>2?UTF8ToString(cString):cString}var specialHTMLTargets=[0,typeof document!=="undefined"?document:0,typeof window!=="undefined"?window:0];function findEventTarget(target){target=maybeCStringToJsString(target);var domElement=specialHTMLTargets[target]||(typeof document!=="undefined"?document.querySelector(target):undefined);return domElement}function findCanvasEventTarget(target){return findEventTarget(target)}function _emscripten_set_canvas_element_size_calling_thread(target,width,height){var canvas=findCanvasEventTarget(target);if(!canvas)return-4;if(canvas.canvasSharedPtr){GROWABLE_HEAP_I32()[canvas.canvasSharedPtr>>2]=width;GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+4>>2]=height}if(canvas.offscreenCanvas||!canvas.controlTransferredOffscreen){if(canvas.offscreenCanvas)canvas=canvas.offscreenCanvas;var autoResizeViewport=false;if(canvas.GLctxObject&&canvas.GLctxObject.GLctx){var prevViewport=canvas.GLctxObject.GLctx.getParameter(2978);autoResizeViewport=prevViewport[0]===0&&prevViewport[1]===0&&prevViewport[2]===canvas.width&&prevViewport[3]===canvas.height}canvas.width=width;canvas.height=height;if(autoResizeViewport){canvas.GLctxObject.GLctx.viewport(0,0,width,height)}}else if(canvas.canvasSharedPtr){var targetThread=GROWABLE_HEAP_I32()[canvas.canvasSharedPtr+8>>2];_emscripten_set_offscreencanvas_size_on_target_thread(targetThread,target,width,height);return 1}else{return-4}return 0}function _emscripten_set_canvas_element_size_main_thread(target,width,height){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(17,1,target,width,height);return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}function _emscripten_set_canvas_element_size(target,width,height){var canvas=findCanvasEventTarget(target);if(canvas){return _emscripten_set_canvas_element_size_calling_thread(target,width,height)}else{return _emscripten_set_canvas_element_size_main_thread(target,width,height)}}function _emscripten_unwind_to_js_event_loop(){throw"unwind"}function __webgl_enable_ANGLE_instanced_arrays(ctx){var ext=ctx.getExtension("ANGLE_instanced_arrays");if(ext){ctx["vertexAttribDivisor"]=function(index,divisor){ext["vertexAttribDivisorANGLE"](index,divisor)};ctx["drawArraysInstanced"]=function(mode,first,count,primcount){ext["drawArraysInstancedANGLE"](mode,first,count,primcount)};ctx["drawElementsInstanced"]=function(mode,count,type,indices,primcount){ext["drawElementsInstancedANGLE"](mode,count,type,indices,primcount)};return 1}}function __webgl_enable_OES_vertex_array_object(ctx){var ext=ctx.getExtension("OES_vertex_array_object");if(ext){ctx["createVertexArray"]=function(){return ext["createVertexArrayOES"]()};ctx["deleteVertexArray"]=function(vao){ext["deleteVertexArrayOES"](vao)};ctx["bindVertexArray"]=function(vao){ext["bindVertexArrayOES"](vao)};ctx["isVertexArray"]=function(vao){return ext["isVertexArrayOES"](vao)};return 1}}function __webgl_enable_WEBGL_draw_buffers(ctx){var ext=ctx.getExtension("WEBGL_draw_buffers");if(ext){ctx["drawBuffers"]=function(n,bufs){ext["drawBuffersWEBGL"](n,bufs)};return 1}}function __webgl_enable_WEBGL_multi_draw(ctx){return!!(ctx.multiDrawWebgl=ctx.getExtension("WEBGL_multi_draw"))}var GL={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:{},offscreenCanvases:{},queries:[],stringCache:{},unpackAlignment:4,recordError:function recordError(errorCode){if(!GL.lastError){GL.lastError=errorCode}},getNewId:function(table){var ret=GL.counter++;for(var i=table.length;i>2]:-1;source+=UTF8ToString(GROWABLE_HEAP_I32()[string+i*4>>2],len<0?undefined:len)}return source},createContext:function(canvas,webGLContextAttributes){if(!canvas.getContextSafariWebGL2Fixed){canvas.getContextSafariWebGL2Fixed=canvas.getContext;canvas.getContext=function(ver,attrs){var gl=canvas.getContextSafariWebGL2Fixed(ver,attrs);return ver=="webgl"==gl instanceof WebGLRenderingContext?gl:null}}var ctx=canvas.getContext("webgl",webGLContextAttributes);if(!ctx)return 0;var handle=GL.registerContext(ctx,webGLContextAttributes);return handle},registerContext:function(ctx,webGLContextAttributes){var handle=_malloc(8);GROWABLE_HEAP_I32()[handle+4>>2]=_pthread_self();var context={handle:handle,attributes:webGLContextAttributes,version:webGLContextAttributes.majorVersion,GLctx:ctx};if(ctx.canvas)ctx.canvas.GLctxObject=context;GL.contexts[handle]=context;if(typeof webGLContextAttributes.enableExtensionsByDefault==="undefined"||webGLContextAttributes.enableExtensionsByDefault){GL.initExtensions(context)}return handle},makeContextCurrent:function(contextHandle){GL.currentContext=GL.contexts[contextHandle];Module.ctx=GLctx=GL.currentContext&&GL.currentContext.GLctx;return!(contextHandle&&!GLctx)},getContext:function(contextHandle){return GL.contexts[contextHandle]},deleteContext:function(contextHandle){if(GL.currentContext===GL.contexts[contextHandle])GL.currentContext=null;if(typeof JSEvents==="object")JSEvents.removeAllHandlersOnTarget(GL.contexts[contextHandle].GLctx.canvas);if(GL.contexts[contextHandle]&&GL.contexts[contextHandle].GLctx.canvas)GL.contexts[contextHandle].GLctx.canvas.GLctxObject=undefined;_free(GL.contexts[contextHandle].handle);GL.contexts[contextHandle]=null},initExtensions:function(context){if(!context)context=GL.currentContext;if(context.initExtensionsDone)return;context.initExtensionsDone=true;var GLctx=context.GLctx;__webgl_enable_ANGLE_instanced_arrays(GLctx);__webgl_enable_OES_vertex_array_object(GLctx);__webgl_enable_WEBGL_draw_buffers(GLctx);{GLctx.disjointTimerQueryExt=GLctx.getExtension("EXT_disjoint_timer_query")}__webgl_enable_WEBGL_multi_draw(GLctx);var exts=GLctx.getSupportedExtensions()||[];exts.forEach(function(ext){if(!ext.includes("lose_context")&&!ext.includes("debug")){GLctx.getExtension(ext)}})}};var __emscripten_webgl_power_preferences=["default","low-power","high-performance"];function _emscripten_webgl_do_create_context(target,attributes){var a=attributes>>2;var powerPreference=GROWABLE_HEAP_I32()[a+(24>>2)];var contextAttributes={"alpha":!!GROWABLE_HEAP_I32()[a+(0>>2)],"depth":!!GROWABLE_HEAP_I32()[a+(4>>2)],"stencil":!!GROWABLE_HEAP_I32()[a+(8>>2)],"antialias":!!GROWABLE_HEAP_I32()[a+(12>>2)],"premultipliedAlpha":!!GROWABLE_HEAP_I32()[a+(16>>2)],"preserveDrawingBuffer":!!GROWABLE_HEAP_I32()[a+(20>>2)],"powerPreference":__emscripten_webgl_power_preferences[powerPreference],"failIfMajorPerformanceCaveat":!!GROWABLE_HEAP_I32()[a+(28>>2)],majorVersion:GROWABLE_HEAP_I32()[a+(32>>2)],minorVersion:GROWABLE_HEAP_I32()[a+(36>>2)],enableExtensionsByDefault:GROWABLE_HEAP_I32()[a+(40>>2)],explicitSwapControl:GROWABLE_HEAP_I32()[a+(44>>2)],proxyContextToMainThread:GROWABLE_HEAP_I32()[a+(48>>2)],renderViaOffscreenBackBuffer:GROWABLE_HEAP_I32()[a+(52>>2)]};var canvas=findCanvasEventTarget(target);if(!canvas){return 0}if(contextAttributes.explicitSwapControl){return 0}var contextHandle=GL.createContext(canvas,contextAttributes);return contextHandle}function _emscripten_webgl_create_context(a0,a1){return _emscripten_webgl_do_create_context(a0,a1)}var ENV={};function getExecutableName(){return thisProgram||"./this.program"}function getEnvStrings(){if(!getEnvStrings.strings){var lang=(typeof navigator==="object"&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8";var env={"USER":"web_user","LOGNAME":"web_user","PATH":"/","PWD":"/","HOME":"/home/web_user","LANG":lang,"_":getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(x+"="+env[x])}getEnvStrings.strings=strings}return getEnvStrings.strings}function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(18,1,__environ,environ_buf);var bufSize=0;getEnvStrings().forEach(function(string,i){var ptr=environ_buf+bufSize;GROWABLE_HEAP_I32()[__environ+i*4>>2]=ptr;writeAsciiToMemory(string,ptr);bufSize+=string.length+1});return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(19,1,penviron_count,penviron_buf_size);var strings=getEnvStrings();GROWABLE_HEAP_I32()[penviron_count>>2]=strings.length;var bufSize=0;strings.forEach(function(string){bufSize+=string.length+1});GROWABLE_HEAP_I32()[penviron_buf_size>>2]=bufSize;return 0}function _fd_close(fd){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(20,1,fd);try{var stream=SYSCALLS.getStreamFromFD(fd);FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_read(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(21,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doReadv(stream,iov,iovcnt);GROWABLE_HEAP_I32()[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(22,1,fd,offset_low,offset_high,whence,newOffset);try{var stream=SYSCALLS.getStreamFromFD(fd);var HIGH_OFFSET=4294967296;var offset=offset_high*HIGH_OFFSET+(offset_low>>>0);var DOUBLE_LIMIT=9007199254740992;if(offset<=-DOUBLE_LIMIT||offset>=DOUBLE_LIMIT){return-61}FS.llseek(stream,offset,whence);tempI64=[stream.position>>>0,(tempDouble=stream.position,+Math.abs(tempDouble)>=1?tempDouble>0?(Math.min(+Math.floor(tempDouble/4294967296),4294967295)|0)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],GROWABLE_HEAP_I32()[newOffset>>2]=tempI64[0],GROWABLE_HEAP_I32()[newOffset+4>>2]=tempI64[1];if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _fd_write(fd,iov,iovcnt,pnum){if(ENVIRONMENT_IS_PTHREAD)return _emscripten_proxy_to_main_thread_js(23,1,fd,iov,iovcnt,pnum);try{var stream=SYSCALLS.getStreamFromFD(fd);var num=SYSCALLS.doWritev(stream,iov,iovcnt);GROWABLE_HEAP_I32()[pnum>>2]=num;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))throw e;return e.errno}}function _getTempRet0(){return getTempRet0()}function _gettimeofday(ptr){var now=Date.now();GROWABLE_HEAP_I32()[ptr>>2]=now/1e3|0;GROWABLE_HEAP_I32()[ptr+4>>2]=now%1e3*1e3|0;return 0}function _llvm_eh_typeid_for(type){return type}function _setTempRet0(val){setTempRet0(val)}function __isLeapYear(year){return year%4===0&&(year%100!==0||year%400===0)}function __arraySum(array,index){var sum=0;for(var i=0;i<=index;sum+=array[i++]){}return sum}var __MONTH_DAYS_LEAP=[31,29,31,30,31,30,31,31,30,31,30,31];var __MONTH_DAYS_REGULAR=[31,28,31,30,31,30,31,31,30,31,30,31];function __addDays(date,days){var newDate=new Date(date.getTime());while(days>0){var leap=__isLeapYear(newDate.getFullYear());var currentMonth=newDate.getMonth();var daysInCurrentMonth=(leap?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR)[currentMonth];if(days>daysInCurrentMonth-newDate.getDate()){days-=daysInCurrentMonth-newDate.getDate()+1;newDate.setDate(1);if(currentMonth<11){newDate.setMonth(currentMonth+1)}else{newDate.setMonth(0);newDate.setFullYear(newDate.getFullYear()+1)}}else{newDate.setDate(newDate.getDate()+days);return newDate}}return newDate}function _strftime(s,maxsize,format,tm){var tm_zone=GROWABLE_HEAP_I32()[tm+40>>2];var date={tm_sec:GROWABLE_HEAP_I32()[tm>>2],tm_min:GROWABLE_HEAP_I32()[tm+4>>2],tm_hour:GROWABLE_HEAP_I32()[tm+8>>2],tm_mday:GROWABLE_HEAP_I32()[tm+12>>2],tm_mon:GROWABLE_HEAP_I32()[tm+16>>2],tm_year:GROWABLE_HEAP_I32()[tm+20>>2],tm_wday:GROWABLE_HEAP_I32()[tm+24>>2],tm_yday:GROWABLE_HEAP_I32()[tm+28>>2],tm_isdst:GROWABLE_HEAP_I32()[tm+32>>2],tm_gmtoff:GROWABLE_HEAP_I32()[tm+36>>2],tm_zone:tm_zone?UTF8ToString(tm_zone):""};var pattern=UTF8ToString(format);var EXPANSION_RULES_1={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var rule in EXPANSION_RULES_1){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_1[rule])}var WEEKDAYS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"];var MONTHS=["January","February","March","April","May","June","July","August","September","October","November","December"];function leadingSomething(value,digits,character){var str=typeof value==="number"?value.toString():value||"";while(str.length0?1:0}var compare;if((compare=sgn(date1.getFullYear()-date2.getFullYear()))===0){if((compare=sgn(date1.getMonth()-date2.getMonth()))===0){compare=sgn(date1.getDate()-date2.getDate())}}return compare}function getFirstWeekStartDate(janFourth){switch(janFourth.getDay()){case 0:return new Date(janFourth.getFullYear()-1,11,29);case 1:return janFourth;case 2:return new Date(janFourth.getFullYear(),0,3);case 3:return new Date(janFourth.getFullYear(),0,2);case 4:return new Date(janFourth.getFullYear(),0,1);case 5:return new Date(janFourth.getFullYear()-1,11,31);case 6:return new Date(janFourth.getFullYear()-1,11,30)}}function getWeekBasedYear(date){var thisDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);var janFourthThisYear=new Date(thisDate.getFullYear(),0,4);var janFourthNextYear=new Date(thisDate.getFullYear()+1,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);if(compareByDay(firstWeekStartThisYear,thisDate)<=0){if(compareByDay(firstWeekStartNextYear,thisDate)<=0){return thisDate.getFullYear()+1}else{return thisDate.getFullYear()}}else{return thisDate.getFullYear()-1}}var EXPANSION_RULES_2={"%a":function(date){return WEEKDAYS[date.tm_wday].substring(0,3)},"%A":function(date){return WEEKDAYS[date.tm_wday]},"%b":function(date){return MONTHS[date.tm_mon].substring(0,3)},"%B":function(date){return MONTHS[date.tm_mon]},"%C":function(date){var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},"%d":function(date){return leadingNulls(date.tm_mday,2)},"%e":function(date){return leadingSomething(date.tm_mday,2," ")},"%g":function(date){return getWeekBasedYear(date).toString().substring(2)},"%G":function(date){return getWeekBasedYear(date)},"%H":function(date){return leadingNulls(date.tm_hour,2)},"%I":function(date){var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},"%j":function(date){return leadingNulls(date.tm_mday+__arraySum(__isLeapYear(date.tm_year+1900)?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,date.tm_mon-1),3)},"%m":function(date){return leadingNulls(date.tm_mon+1,2)},"%M":function(date){return leadingNulls(date.tm_min,2)},"%n":function(){return"\n"},"%p":function(date){if(date.tm_hour>=0&&date.tm_hour<12){return"AM"}else{return"PM"}},"%S":function(date){return leadingNulls(date.tm_sec,2)},"%t":function(){return"\t"},"%u":function(date){return date.tm_wday||7},"%U":function(date){var janFirst=new Date(date.tm_year+1900,0,1);var firstSunday=janFirst.getDay()===0?janFirst:__addDays(janFirst,7-janFirst.getDay());var endDate=new Date(date.tm_year+1900,date.tm_mon,date.tm_mday);if(compareByDay(firstSunday,endDate)<0){var februaryFirstUntilEndMonth=__arraySum(__isLeapYear(endDate.getFullYear())?__MONTH_DAYS_LEAP:__MONTH_DAYS_REGULAR,endDate.getMonth()-1)-31;var firstSundayUntilEndJanuary=31-firstSunday.getDate();var days=firstSundayUntilEndJanuary+februaryFirstUntilEndMonth+endDate.getDate();return leadingNulls(Math.ceil(days/7),2)}return compareByDay(firstSunday,janFirst)===0?"01":"00"},"%V":function(date){var janFourthThisYear=new Date(date.tm_year+1900,0,4);var janFourthNextYear=new Date(date.tm_year+1901,0,4);var firstWeekStartThisYear=getFirstWeekStartDate(janFourthThisYear);var firstWeekStartNextYear=getFirstWeekStartDate(janFourthNextYear);var endDate=__addDays(new Date(date.tm_year+1900,0,1),date.tm_yday);if(compareByDay(endDate,firstWeekStartThisYear)<0){return"53"}if(compareByDay(firstWeekStartNextYear,endDate)<=0){return"01"}var daysDifference;if(firstWeekStartThisYear.getFullYear()=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?"+":"-")+String("0000"+off).slice(-4)},"%Z":function(date){return date.tm_zone},"%%":function(){return"%"}};for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,"g"),EXPANSION_RULES_2[rule](date))}}var bytes=intArrayFromString(pattern,false);if(bytes.length>maxsize){return 0}writeArrayToMemory(bytes,s);return bytes.length-1}function _strftime_l(s,maxsize,format,tm){return _strftime(s,maxsize,format,tm)}function _time(ptr){var ret=Date.now()/1e3|0;if(ptr){GROWABLE_HEAP_I32()[ptr>>2]=ret}return ret}if(!ENVIRONMENT_IS_PTHREAD)PThread.initMainThread();var FSNode=function(parent,name,mode,rdev){if(!parent){parent=this}this.parent=parent;this.mount=parent.mount;this.mounted=null;this.id=FS.nextInode++;this.name=name;this.mode=mode;this.node_ops={};this.stream_ops={};this.rdev=rdev};var readMode=292|73;var writeMode=146;Object.defineProperties(FSNode.prototype,{read:{get:function(){return(this.mode&readMode)===readMode},set:function(val){val?this.mode|=readMode:this.mode&=~readMode}},write:{get:function(){return(this.mode&writeMode)===writeMode},set:function(val){val?this.mode|=writeMode:this.mode&=~writeMode}},isFolder:{get:function(){return FS.isDir(this.mode)}},isDevice:{get:function(){return FS.isChrdev(this.mode)}}});FS.FSNode=FSNode;FS.staticInit();embind_init_charCodes();BindingError=Module["BindingError"]=extendError(Error,"BindingError");InternalError=Module["InternalError"]=extendError(Error,"InternalError");init_ClassHandle();init_RegisteredPointer();init_embind();UnboundTypeError=Module["UnboundTypeError"]=extendError(Error,"UnboundTypeError");init_emval();var GLctx;var proxiedFunctionTable=[null,exitOnMainThread,___syscall__newselect,___syscall_access,___syscall_connect,___syscall_fcntl64,___syscall_ftruncate64,___syscall_getsockopt,___syscall_ioctl,___syscall_mkdir,___syscall_open,___syscall_pipe,___syscall_poll,___syscall_socket,___syscall_stat64,___syscall_unlink,_tzset_impl,_emscripten_set_canvas_element_size_main_thread,_environ_get,_environ_sizes_get,_fd_close,_fd_read,_fd_seek,_fd_write];function intArrayFromString(stringy,dontAddNull,length){var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array}var asmLibraryArg={"k":___assert_fail,"Ua":__asyncjs__em_libusb_wait,"na":___clock_gettime,"u":___cxa_allocate_exception,"p":___cxa_begin_catch,"da":___cxa_call_unexpected,"G":___cxa_end_catch,"c":___cxa_find_matching_catch_2,"m":___cxa_find_matching_catch_3,"D":___cxa_free_exception,"Q":___cxa_rethrow,"y":___cxa_throw,"fa":___cxa_uncaught_exceptions,"wa":___emscripten_init_main_thread_js,"ma":___emscripten_thread_cleanup,"va":___pthread_create_js,"d":___resumeException,"ka":___syscall__newselect,"La":___syscall_access,"ca":___syscall_connect,"L":___syscall_fcntl64,"Aa":___syscall_ftruncate64,"ba":___syscall_getsockopt,"Ca":___syscall_ioctl,"ra":___syscall_mkdir,"Da":___syscall_open,"qa":___syscall_pipe,"pa":___syscall_poll,"aa":___syscall_socket,"ja":___syscall_stat64,"ia":___syscall_unlink,"T":__dlopen_js,"Ka":__dlsym_js,"db":__embind_register_bigint,"Na":__embind_register_bool,"_a":__embind_register_class,"Za":__embind_register_class_constructor,"O":__embind_register_class_function,"Ma":__embind_register_emval,"U":__embind_register_float,"v":__embind_register_integer,"n":__embind_register_memory_view,"V":__embind_register_std_string,"N":__embind_register_std_wstring,"Oa":__embind_register_void,"Ja":__emscripten_futex_wait_non_blocking,"xa":__emscripten_notify_thread_queue,"C":__emval_as,"Sa":__emval_await,"$a":__emval_call,"w":__emval_call_method,"Z":__emval_call_void_method,"W":__emval_decref,"Va":__emval_get_global,"t":__emval_get_method_caller,"s":__emval_get_property,"Y":__emval_incref,"Pa":__emval_is_string,"H":__emval_new,"bb":__emval_new_array,"$":__emval_new_cstring,"ha":__emval_new_object,"ab":__emval_run_destructors,"F":__emval_set_property,"A":__emval_take_value,"Fa":__gmtime_js,"Ga":__localtime_js,"Ha":__mktime_js,"Ia":__tzset_js,"K":_abort,"Xa":_clock_gettime,"Wa":em_libusb_notify,"Ta":em_promise_catch_impl,"Ra":em_start_transfer_impl,"Qa":_emscripten_asm_const_int,"oa":_emscripten_check_blocking_allowed,"x":_emscripten_get_now,"Ea":_emscripten_memcpy_big,"sa":_emscripten_receive_on_main_thread_js,"ga":_emscripten_resize_heap,"ta":_emscripten_set_canvas_element_size,"la":_emscripten_unwind_to_js_event_loop,"ua":_emscripten_webgl_create_context,"ya":_environ_get,"za":_environ_sizes_get,"X":_exit,"M":_fd_close,"S":_fd_read,"cb":_fd_seek,"R":_fd_write,"b":_getTempRet0,"Ya":_gettimeofday,"ib":invoke_di,"jb":invoke_fi,"fb":invoke_i,"e":invoke_ii,"gb":invoke_iid,"P":invoke_iif,"f":invoke_iii,"r":invoke_iiii,"z":invoke_iiiiiii,"_":invoke_iiiiiiii,"J":invoke_iiiiiiiiiiii,"h":invoke_v,"i":invoke_vi,"hb":invoke_vid,"g":invoke_vii,"j":invoke_viii,"o":invoke_viiii,"q":invoke_viiiiiii,"E":invoke_viiiiiiiiii,"I":invoke_viiiiiiiiiiiiiii,"B":_llvm_eh_typeid_for,"a":wasmMemory||Module["wasmMemory"],"eb":_setTempRet0,"ea":_strftime_l,"Ba":throw_msg,"l":_time};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["kb"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["lb"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["mb"]).apply(null,arguments)};var _htons=Module["_htons"]=function(){return(_htons=Module["_htons"]=Module["asm"]["nb"]).apply(null,arguments)};var ___errno_location=Module["___errno_location"]=function(){return(___errno_location=Module["___errno_location"]=Module["asm"]["ob"]).apply(null,arguments)};var _pthread_self=Module["_pthread_self"]=function(){return(_pthread_self=Module["_pthread_self"]=Module["asm"]["pb"]).apply(null,arguments)};var _em_signal_transfer_completion=Module["_em_signal_transfer_completion"]=function(){return(_em_signal_transfer_completion=Module["_em_signal_transfer_completion"]=Module["asm"]["qb"]).apply(null,arguments)};var _emscripten_tls_init=Module["_emscripten_tls_init"]=function(){return(_emscripten_tls_init=Module["_emscripten_tls_init"]=Module["asm"]["rb"]).apply(null,arguments)};var ___getTypeName=Module["___getTypeName"]=function(){return(___getTypeName=Module["___getTypeName"]=Module["asm"]["sb"]).apply(null,arguments)};var ___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=function(){return(___embind_register_native_and_builtin_types=Module["___embind_register_native_and_builtin_types"]=Module["asm"]["tb"]).apply(null,arguments)};var _emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=function(){return(_emscripten_main_thread_process_queued_calls=Module["_emscripten_main_thread_process_queued_calls"]=Module["asm"]["ub"]).apply(null,arguments)};var __emscripten_thread_init=Module["__emscripten_thread_init"]=function(){return(__emscripten_thread_init=Module["__emscripten_thread_init"]=Module["asm"]["vb"]).apply(null,arguments)};var _emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=function(){return(_emscripten_current_thread_process_queued_calls=Module["_emscripten_current_thread_process_queued_calls"]=Module["asm"]["xb"]).apply(null,arguments)};var _emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=function(){return(_emscripten_sync_run_in_main_thread_4=Module["_emscripten_sync_run_in_main_thread_4"]=Module["asm"]["yb"]).apply(null,arguments)};var _emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=function(){return(_emscripten_run_in_main_runtime_thread_js=Module["_emscripten_run_in_main_runtime_thread_js"]=Module["asm"]["zb"]).apply(null,arguments)};var _emscripten_dispatch_to_thread_=Module["_emscripten_dispatch_to_thread_"]=function(){return(_emscripten_dispatch_to_thread_=Module["_emscripten_dispatch_to_thread_"]=Module["asm"]["Ab"]).apply(null,arguments)};var _ntohs=Module["_ntohs"]=function(){return(_ntohs=Module["_ntohs"]=Module["asm"]["Bb"]).apply(null,arguments)};var __emscripten_thread_free_data=Module["__emscripten_thread_free_data"]=function(){return(__emscripten_thread_free_data=Module["__emscripten_thread_free_data"]=Module["asm"]["Cb"]).apply(null,arguments)};var __emscripten_thread_exit=Module["__emscripten_thread_exit"]=function(){return(__emscripten_thread_exit=Module["__emscripten_thread_exit"]=Module["asm"]["Db"]).apply(null,arguments)};var _memalign=Module["_memalign"]=function(){return(_memalign=Module["_memalign"]=Module["asm"]["Eb"]).apply(null,arguments)};var _setThrew=Module["_setThrew"]=function(){return(_setThrew=Module["_setThrew"]=Module["asm"]["Fb"]).apply(null,arguments)};var _emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=function(){return(_emscripten_stack_set_limits=Module["_emscripten_stack_set_limits"]=Module["asm"]["Gb"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["Hb"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["Ib"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["Jb"]).apply(null,arguments)};var ___cxa_can_catch=Module["___cxa_can_catch"]=function(){return(___cxa_can_catch=Module["___cxa_can_catch"]=Module["asm"]["Kb"]).apply(null,arguments)};var ___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=function(){return(___cxa_is_pointer_type=Module["___cxa_is_pointer_type"]=Module["asm"]["Lb"]).apply(null,arguments)};var dynCall_ii=Module["dynCall_ii"]=function(){return(dynCall_ii=Module["dynCall_ii"]=Module["asm"]["Mb"]).apply(null,arguments)};var dynCall_vi=Module["dynCall_vi"]=function(){return(dynCall_vi=Module["dynCall_vi"]=Module["asm"]["Nb"]).apply(null,arguments)};var dynCall_vii=Module["dynCall_vii"]=function(){return(dynCall_vii=Module["dynCall_vii"]=Module["asm"]["Ob"]).apply(null,arguments)};var dynCall_viii=Module["dynCall_viii"]=function(){return(dynCall_viii=Module["dynCall_viii"]=Module["asm"]["Pb"]).apply(null,arguments)};var dynCall_i=Module["dynCall_i"]=function(){return(dynCall_i=Module["dynCall_i"]=Module["asm"]["Qb"]).apply(null,arguments)};var dynCall_iii=Module["dynCall_iii"]=function(){return(dynCall_iii=Module["dynCall_iii"]=Module["asm"]["Rb"]).apply(null,arguments)};var dynCall_viiii=Module["dynCall_viiii"]=function(){return(dynCall_viiii=Module["dynCall_viiii"]=Module["asm"]["Sb"]).apply(null,arguments)};var dynCall_v=Module["dynCall_v"]=function(){return(dynCall_v=Module["dynCall_v"]=Module["asm"]["Tb"]).apply(null,arguments)};var dynCall_iiiii=Module["dynCall_iiiii"]=function(){return(dynCall_iiiii=Module["dynCall_iiiii"]=Module["asm"]["Ub"]).apply(null,arguments)};var dynCall_fi=Module["dynCall_fi"]=function(){return(dynCall_fi=Module["dynCall_fi"]=Module["asm"]["Vb"]).apply(null,arguments)};var dynCall_di=Module["dynCall_di"]=function(){return(dynCall_di=Module["dynCall_di"]=Module["asm"]["Wb"]).apply(null,arguments)};var dynCall_vid=Module["dynCall_vid"]=function(){return(dynCall_vid=Module["dynCall_vid"]=Module["asm"]["Xb"]).apply(null,arguments)};var dynCall_iiii=Module["dynCall_iiii"]=function(){return(dynCall_iiii=Module["dynCall_iiii"]=Module["asm"]["Yb"]).apply(null,arguments)};var dynCall_iif=Module["dynCall_iif"]=function(){return(dynCall_iif=Module["dynCall_iif"]=Module["asm"]["Zb"]).apply(null,arguments)};var dynCall_iid=Module["dynCall_iid"]=function(){return(dynCall_iid=Module["dynCall_iid"]=Module["asm"]["_b"]).apply(null,arguments)};var dynCall_iiiiiii=Module["dynCall_iiiiiii"]=function(){return(dynCall_iiiiiii=Module["dynCall_iiiiiii"]=Module["asm"]["$b"]).apply(null,arguments)};var dynCall_iidiiii=Module["dynCall_iidiiii"]=function(){return(dynCall_iidiiii=Module["dynCall_iidiiii"]=Module["asm"]["ac"]).apply(null,arguments)};var dynCall_iiiiii=Module["dynCall_iiiiii"]=function(){return(dynCall_iiiiii=Module["dynCall_iiiiii"]=Module["asm"]["bc"]).apply(null,arguments)};var dynCall_iiiji=Module["dynCall_iiiji"]=function(){return(dynCall_iiiji=Module["dynCall_iiiji"]=Module["asm"]["cc"]).apply(null,arguments)};var dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=function(){return(dynCall_iiiiiiii=Module["dynCall_iiiiiiii"]=Module["asm"]["dc"]).apply(null,arguments)};var dynCall_jiji=Module["dynCall_jiji"]=function(){return(dynCall_jiji=Module["dynCall_jiji"]=Module["asm"]["ec"]).apply(null,arguments)};var dynCall_viiiiiii=Module["dynCall_viiiiiii"]=function(){return(dynCall_viiiiiii=Module["dynCall_viiiiiii"]=Module["asm"]["fc"]).apply(null,arguments)};var dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=function(){return(dynCall_iiiiiiiiiiii=Module["dynCall_iiiiiiiiiiii"]=Module["asm"]["gc"]).apply(null,arguments)};var dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=function(){return(dynCall_viiiiiiiiii=Module["dynCall_viiiiiiiiii"]=Module["asm"]["hc"]).apply(null,arguments)};var dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=function(){return(dynCall_viiiiiiiiiiiiiii=Module["dynCall_viiiiiiiiiiiiiii"]=Module["asm"]["ic"]).apply(null,arguments)};var dynCall_iiiiijiiii=Module["dynCall_iiiiijiiii"]=function(){return(dynCall_iiiiijiiii=Module["dynCall_iiiiijiiii"]=Module["asm"]["jc"]).apply(null,arguments)};var dynCall_iiijiii=Module["dynCall_iiijiii"]=function(){return(dynCall_iiijiii=Module["dynCall_iiijiii"]=Module["asm"]["kc"]).apply(null,arguments)};var dynCall_iiijii=Module["dynCall_iiijii"]=function(){return(dynCall_iiijii=Module["dynCall_iiijii"]=Module["asm"]["lc"]).apply(null,arguments)};var dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=function(){return(dynCall_iiiiiiiii=Module["dynCall_iiiiiiiii"]=Module["asm"]["mc"]).apply(null,arguments)};var dynCall_iiiiiijii=Module["dynCall_iiiiiijii"]=function(){return(dynCall_iiiiiijii=Module["dynCall_iiiiiijii"]=Module["asm"]["nc"]).apply(null,arguments)};var dynCall_iiijjii=Module["dynCall_iiijjii"]=function(){return(dynCall_iiijjii=Module["dynCall_iiijjii"]=Module["asm"]["oc"]).apply(null,arguments)};var dynCall_iiij=Module["dynCall_iiij"]=function(){return(dynCall_iiij=Module["dynCall_iiij"]=Module["asm"]["pc"]).apply(null,arguments)};var dynCall_iiiijii=Module["dynCall_iiiijii"]=function(){return(dynCall_iiiijii=Module["dynCall_iiiijii"]=Module["asm"]["qc"]).apply(null,arguments)};var dynCall_iiiiji=Module["dynCall_iiiiji"]=function(){return(dynCall_iiiiji=Module["dynCall_iiiiji"]=Module["asm"]["rc"]).apply(null,arguments)};var dynCall_viijii=Module["dynCall_viijii"]=function(){return(dynCall_viijii=Module["dynCall_viijii"]=Module["asm"]["sc"]).apply(null,arguments)};var dynCall_iiiiij=Module["dynCall_iiiiij"]=function(){return(dynCall_iiiiij=Module["dynCall_iiiiij"]=Module["asm"]["tc"]).apply(null,arguments)};var dynCall_iiiiid=Module["dynCall_iiiiid"]=function(){return(dynCall_iiiiid=Module["dynCall_iiiiid"]=Module["asm"]["uc"]).apply(null,arguments)};var dynCall_iiiiijj=Module["dynCall_iiiiijj"]=function(){return(dynCall_iiiiijj=Module["dynCall_iiiiijj"]=Module["asm"]["vc"]).apply(null,arguments)};var dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=function(){return(dynCall_iiiiiijj=Module["dynCall_iiiiiijj"]=Module["asm"]["wc"]).apply(null,arguments)};var dynCall_viiiiii=Module["dynCall_viiiiii"]=function(){return(dynCall_viiiiii=Module["dynCall_viiiiii"]=Module["asm"]["xc"]).apply(null,arguments)};var dynCall_viiiii=Module["dynCall_viiiii"]=function(){return(dynCall_viiiii=Module["dynCall_viiiii"]=Module["asm"]["yc"]).apply(null,arguments)};var _asyncify_start_unwind=Module["_asyncify_start_unwind"]=function(){return(_asyncify_start_unwind=Module["_asyncify_start_unwind"]=Module["asm"]["zc"]).apply(null,arguments)};var _asyncify_stop_unwind=Module["_asyncify_stop_unwind"]=function(){return(_asyncify_stop_unwind=Module["_asyncify_stop_unwind"]=Module["asm"]["Ac"]).apply(null,arguments)};var _asyncify_start_rewind=Module["_asyncify_start_rewind"]=function(){return(_asyncify_start_rewind=Module["_asyncify_start_rewind"]=Module["asm"]["Bc"]).apply(null,arguments)};var _asyncify_stop_rewind=Module["_asyncify_stop_rewind"]=function(){return(_asyncify_stop_rewind=Module["_asyncify_stop_rewind"]=Module["asm"]["Cc"]).apply(null,arguments)};var __emscripten_main_thread_futex=Module["__emscripten_main_thread_futex"]=870912;var __emscripten_allow_main_runtime_queued_calls=Module["__emscripten_allow_main_runtime_queued_calls"]=475692;function invoke_ii(index,a1){var sp=stackSave();try{return dynCall_ii(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iii(index,a1,a2){var sp=stackSave();try{return dynCall_iii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vi(index,a1){var sp=stackSave();try{dynCall_vi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vii(index,a1,a2){var sp=stackSave();try{dynCall_vii(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_v(index){var sp=stackSave();try{dynCall_v(index)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viii(index,a1,a2,a3){var sp=stackSave();try{dynCall_viii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_viiii(index,a1,a2,a3,a4)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_fi(index,a1){var sp=stackSave();try{return dynCall_fi(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_di(index,a1){var sp=stackSave();try{return dynCall_di(index,a1)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_vid(index,a1,a2){var sp=stackSave();try{dynCall_vid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiii(index,a1,a2,a3){var sp=stackSave();try{return dynCall_iiii(index,a1,a2,a3)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iif(index,a1,a2){var sp=stackSave();try{return dynCall_iif(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iid(index,a1,a2){var sp=stackSave();try{return dynCall_iid(index,a1,a2)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_iiiiiii(index,a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_viiiiiii(index,a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11){var sp=stackSave();try{return dynCall_iiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10){var sp=stackSave();try{dynCall_viiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15){var sp=stackSave();try{dynCall_viiiiiiiiiiiiiii(index,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}function invoke_i(index){var sp=stackSave();try{return dynCall_i(index)}catch(e){stackRestore(sp);if(e!==e+0&&e!=="longjmp")throw e;_setThrew(1,0)}}Module["keepRuntimeAlive"]=keepRuntimeAlive;Module["PThread"]=PThread;Module["PThread"]=PThread;Module["wasmMemory"]=wasmMemory;Module["ExitStatus"]=ExitStatus;var calledRun;function ExitStatus(status){this.name="ExitStatus";this.message="Program terminated with exit("+status+")";this.status=status}dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve(Module);initRuntime();postMessage({"cmd":"loaded"});return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;function exit(status,implicit){EXITSTATUS=status;if(!implicit){if(ENVIRONMENT_IS_PTHREAD){exitOnMainThread(status);throw"unwind"}else{}}if(keepRuntimeAlive()){}else{exitRuntime()}procExit(status)}function procExit(code){EXITSTATUS=code;if(!keepRuntimeAlive()){PThread.terminateAllThreads();if(Module["onExit"])Module["onExit"](code);ABORT=true}quit_(code,new ExitStatus(code))}if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}if(ENVIRONMENT_IS_PTHREAD){noExitRuntime=false;PThread.initWorker()}run(); return Module.ready diff --git a/build/libapi.worker.js b/build/libapi.worker.js index 0d7bd12..248c243 100644 --- a/build/libapi.worker.js +++ b/build/libapi.worker.js @@ -1 +1 @@ -"use strict";var Module={};if(typeof process==="object"&&typeof process.versions==="object"&&typeof process.versions.node==="string"){var nodeWorkerThreads=require("worker_threads");var parentPort=nodeWorkerThreads.parentPort;parentPort.on("message",function(data){onmessage({data:data})});var nodeFS=require("fs");Object.assign(global,{self:global,require:require,Module:Module,location:{href:__filename},Worker:nodeWorkerThreads.Worker,importScripts:function(f){(0,eval)(nodeFS.readFileSync(f,"utf8"))},postMessage:function(msg){parentPort.postMessage(msg)},performance:global.performance||{now:function(){return Date.now()}}})}var initializedJS=false;function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=((info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports});self.onmessage=(e=>{try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;(e.data.urlOrBlob?import(e.data.urlOrBlob):import("./libapi.mjs")).then(function(exports){return exports.default(Module)}).then(function(instance){Module=instance})}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;Module["__emscripten_thread_init"](e.data.threadInfoStruct,0,0,1);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInit();if(!initializedJS){Module["___embind_register_native_and_builtin_types"]();initializedJS=true}try{var result=Module["invokeEntryPoint"](e.data.start_routine,e.data.arg);if(Module["keepRuntimeAlive"]()){Module["PThread"].setExitStatus(result)}else{Module["__emscripten_thread_exit"](result)}}catch(ex){if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["__emscripten_thread_exit"](ex.status)}}else{throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processThreadQueue"){if(Module["_pthread_self"]()){Module["_emscripten_current_thread_process_queued_calls"]()}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex&&ex.stack)err(ex.stack);throw ex}}); +"use strict";var Module={};var initializedJS=false;function threadPrintErr(){var text=Array.prototype.slice.call(arguments).join(" ");console.error(text)}function threadAlert(){var text=Array.prototype.slice.call(arguments).join(" ");postMessage({cmd:"alert",text:text,threadId:Module["_pthread_self"]()})}var err=threadPrintErr;self.alert=threadAlert;Module["instantiateWasm"]=((info,receiveInstance)=>{var instance=new WebAssembly.Instance(Module["wasmModule"],info);receiveInstance(instance);Module["wasmModule"]=null;return instance.exports});self.onmessage=(e=>{try{if(e.data.cmd==="load"){Module["wasmModule"]=e.data.wasmModule;Module["wasmMemory"]=e.data.wasmMemory;Module["buffer"]=Module["wasmMemory"].buffer;Module["ENVIRONMENT_IS_PTHREAD"]=true;(e.data.urlOrBlob?import(e.data.urlOrBlob):import("./libapi.mjs")).then(function(exports){return exports.default(Module)}).then(function(instance){Module=instance})}else if(e.data.cmd==="run"){Module["__performance_now_clock_drift"]=performance.now()-e.data.time;Module["__emscripten_thread_init"](e.data.threadInfoStruct,0,0,1);Module["establishStackSpace"]();Module["PThread"].receiveObjectTransfer(e.data);Module["PThread"].threadInit();if(!initializedJS){Module["___embind_register_native_and_builtin_types"]();initializedJS=true}try{var result=Module["invokeEntryPoint"](e.data.start_routine,e.data.arg);if(Module["keepRuntimeAlive"]()){Module["PThread"].setExitStatus(result)}else{Module["__emscripten_thread_exit"](result)}}catch(ex){if(ex!="unwind"){if(ex instanceof Module["ExitStatus"]){if(Module["keepRuntimeAlive"]()){}else{Module["__emscripten_thread_exit"](ex.status)}}else{throw ex}}}}else if(e.data.cmd==="cancel"){if(Module["_pthread_self"]()){Module["__emscripten_thread_exit"](-1)}}else if(e.data.target==="setimmediate"){}else if(e.data.cmd==="processThreadQueue"){if(Module["_pthread_self"]()){Module["_emscripten_current_thread_process_queued_calls"]()}}else{err("worker.js received unknown command "+e.data.cmd);err(e.data)}}catch(ex){err("worker.js onmessage() captured an uncaught exception: "+ex);if(ex&&ex.stack)err(ex.stack);throw ex}}); From 385952d9af9696b97a1ad99d8e0163bb1b067016 Mon Sep 17 00:00:00 2001 From: ICheered Date: Fri, 4 Aug 2023 18:13:25 +0200 Subject: [PATCH 12/23] Minor readme fix --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8e1a544..c9722be 100644 --- a/README.md +++ b/README.md @@ -113,10 +113,10 @@ To build, you'll need Docker. Then: ```bash ./build.sh # runs build in Docker -npx serve ui # starts a local server with COOP/COEP +npx serve examples/preact # starts a local server with COOP/COEP ``` -Then, navigate to http://localhost:5000/ in Chrome. +Then, navigate to http://localhost:3000/ in Chrome. ## See also From e1368affb35b3fb225025fb893e5dcbeff1b06d1 Mon Sep 17 00:00:00 2001 From: ICheered Date: Sat, 5 Aug 2023 11:29:50 +0200 Subject: [PATCH 13/23] Fix typo, fix version number, fix license field --- package.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package.json b/package.json index 27dfe8a..9a4acc2 100644 --- a/package.json +++ b/package.json @@ -21,14 +21,14 @@ "email": "me@rreverser.com", "url": "https://rreverser.com" }, - "contributers": [ + "contributors": [ { "name": "Tjeerd Bakker", "email": "tjeerd992@gmail.com", "url": "https://icheered.com" } ], - "license": "LGPLv2.1", + "license": "LGPL-2.1-or-later", "bugs": { "url": "https://github.com/GoogleChromeLabs/web-gphoto2/issues" }, @@ -43,4 +43,4 @@ "@types/stats.js": "^0.17.0", "preact": "^10.5.14" } -} +} \ No newline at end of file From 9d03408513ef761bc93aaa73e06e672944cc76cb Mon Sep 17 00:00:00 2001 From: ICheered Date: Sat, 5 Aug 2023 12:14:43 +0200 Subject: [PATCH 14/23] Set type: module in package.json for exporting functions using ESM syntax --- package.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 9a4acc2..b76f041 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,8 @@ { "name": "web-gphoto2", - "version": "0.1.0", + "version": "1.0.0", "description": "WebAssembly implementation of gphoto2 and libusb to control DSLR cameras over USB on the Web", + "type": "module", "main": "src/camera.js", "types": "src/libapi.mjs.d.ts", "scripts": { From b0c044aa3a4085900ebe16cb31c3c0755bba597f Mon Sep 17 00:00:00 2001 From: ICheered Date: Sat, 5 Aug 2023 13:43:44 +0200 Subject: [PATCH 15/23] Fixes for review --- .gitignore | 1 + README.md | 54 +++++++++++++------------- examples/preact/ops.js | 6 +-- examples/preact/preview.js | 10 ++--- package.json | 4 +- src/camera.js | 77 +++++++++++++++++++++++++------------- src/libapi.mjs.d.ts | 25 +------------ 7 files changed, 92 insertions(+), 85 deletions(-) diff --git a/.gitignore b/.gitignore index 242d092..3c7a763 100644 --- a/.gitignore +++ b/.gitignore @@ -4,6 +4,7 @@ !/deps/libgphoto2 !/deps/libusb /api.o +examples/svelte # Local Netlify folder .netlify diff --git a/README.md b/README.md index c9722be..280c381 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,6 @@ Powered by a [custom fork](https://github.com/RReverser/libgphoto2) of [libgphot # NPM ## Installation - ```bash npm install web-gphoto2 // or @@ -15,7 +14,6 @@ yarn add web-gphoto2 ``` ## Usage - A short example on how to use this package: ```ts @@ -43,16 +41,42 @@ async function updateConfig() { } async function capturePreviewAsBlob() { + // Capture a frame while in live view mode const blob = await camera.capturePreviewAsBlob(); - console.log("Blob:", blob); + imageUrl = URL.createObjectURL(blob); + // Set the imageUrl as the src of an image element in your HTML } async function captureImageAsFile() { + // Capture an image const file = await camera.captureImageAsFile(); - console.log("File:", file); + imageUrl = URL.createObjectURL(file); + // Set the imageUrl as the src of an image element in your HTML } ``` +# Demo + +This repository also contains a [demo app](https://web.dev/porting-libusb-to-webusb/) running gPhoto2 on the Web: +![A picture of DSLR camera connected via a USB cable to a laptop. The laptop is running the Web demo mentioned in the article, which mirrors a live video feed from the camera as well as allows to tweak its settings via form controls.](https://web-dev.imgix.net/image/9oK23mr86lhFOwKaoYZ4EySNFp02/MR4YGRvl0Z9AWT6vv3sQ.jpg?auto=format&w=1600) + +For the detailed technical write-up, see [the official blog post](https://web.dev/porting-libusb-to-webusb/). To see the demo in action, visit the hosted version [here](https://web-gphoto2.rreverser.com/) (but make sure to read the [cross-platform compatibility notes](https://web.dev/porting-libusb-to-webusb/#important-cross-platform-compatibility-notes) first). + +If you don't have a DSLR, you can check out a recording of the demo below: + +https://user-images.githubusercontent.com/557590/152155035-a1664656-a7d9-411f-8cb3-5f04320f1391.mp4 + +## Building + +To build, you'll need Docker. Then: + +```bash +./build.sh # runs build in Docker +npx serve examples/preact # starts a local server with COOP/COEP +``` + +Then, navigate to http://localhost:3000/ in Chrome. + ## Common Issues ### SharedArrayBuffer can not be found @@ -96,28 +120,6 @@ export default defineConfig({ }); ``` -# Demo - -This repository also contains a [demo app](https://web.dev/porting-libusb-to-webusb/) running gPhoto2 on the Web: -![A picture of DSLR camera connected via a USB cable to a laptop. The laptop is running the Web demo mentioned in the article, which mirrors a live video feed from the camera as well as allows to tweak its settings via form controls.](https://web-dev.imgix.net/image/9oK23mr86lhFOwKaoYZ4EySNFp02/MR4YGRvl0Z9AWT6vv3sQ.jpg?auto=format&w=1600) - -For the detailed technical write-up, see [the official blog post](https://web.dev/porting-libusb-to-webusb/). To see the demo in action, visit the hosted version [here](https://web-gphoto2.rreverser.com/) (but make sure to read the [cross-platform compatibility notes](https://web.dev/porting-libusb-to-webusb/#important-cross-platform-compatibility-notes) first). - -If you don't have a DSLR, you can check out a recording of the demo below: - -https://user-images.githubusercontent.com/557590/152155035-a1664656-a7d9-411f-8cb3-5f04320f1391.mp4 - -## Building - -To build, you'll need Docker. Then: - -```bash -./build.sh # runs build in Docker -npx serve examples/preact # starts a local server with COOP/COEP -``` - -Then, navigate to http://localhost:3000/ in Chrome. - ## See also [RReverser/eos-remote-web](https://github.com/RReverser/eos-remote-web) - my other project for controlling Canon cameras over Web Bluetooth. diff --git a/examples/preact/ops.js b/examples/preact/ops.js index 566e264..7294f75 100644 --- a/examples/preact/ops.js +++ b/examples/preact/ops.js @@ -25,8 +25,7 @@ const ModulePromise = initModule(); export function rethrowIfCritical(err) { // If it's precisely Error, it's a custom error; anything else - SyntaxError, // WebAssembly.RuntimeError, TypeError, etc. - is treated as critical here. - if (err.constructor !== Error) - { + if (err.constructor !== Error) { throw err; } } @@ -45,8 +44,7 @@ export async function connect() { * @param {(ctx: Context) => Promise} op * @returns {Promise} */ - function schedule(op) - { + function schedule(op) { let res = queue.then(() => op(context)); queue = res.catch(rethrowIfCritical); return res; diff --git a/examples/preact/preview.js b/examples/preact/preview.js index 7d6eaa1..c66d8a6 100644 --- a/examples/preact/preview.js +++ b/examples/preact/preview.js @@ -23,8 +23,8 @@ export const isDebug = new URLSearchParams(location.search).has('debug'); const Stats = isDebug ? await import('stats.js').then( - res => /** @type {typeof import('stats.js')} */ (res['default']) - ) + res => /** @type {typeof import('stats.js')} */(res['default']) + ) : null; /** @extends Component<{ getPreview?: () => Promise }, { error?: string }> */ @@ -96,9 +96,9 @@ export class Preview extends Component { blob, ratio ? { - resizeWidth: canvas.width, - resizeHeight: canvas.height - } + resizeWidth: canvas.width, + resizeHeight: canvas.height + } : {} ); if (!ratio) { diff --git a/package.json b/package.json index b76f041..f35dbe4 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "web-gphoto2", - "version": "1.0.0", + "name": "web-gphoto2-npm-test", + "version": "0.14.0", "description": "WebAssembly implementation of gphoto2 and libusb to control DSLR cameras over USB on the Web", "type": "module", "main": "src/camera.js", diff --git a/src/camera.js b/src/camera.js index d6c7585..537ff3c 100644 --- a/src/camera.js +++ b/src/camera.js @@ -1,5 +1,5 @@ /* - * Copyright 2021 Google LLC + * Copyright 2023 Google LLC * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -16,21 +16,12 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ -/** @typedef {import('./libapi.mjs.d.ts').Context} Context */ - -// To avoid errors for users who use SSR or Hybrid rendering (e.g. Nuxt.js), we need to check if we're in the browser. -let initModule; - -async function initializeModule() { - if (typeof window !== "undefined") { - const module = await import("../build/libapi.mjs"); - initModule = module.default; - return initModule; - } else { - console.warn("web-gphoto2 is only available in the browser"); - return null; - } -} +/** + * @typedef {import('./libapi.mjs').Config} Config + * @typedef {import('./libapi.mjs').SupportedOps} SupportedOps + * @typedef {import('./libapi.mjs').Context} Context + */ +import initModule from "../build/libapi.mjs"; export function rethrowIfCritical(err) { // If it's precisely Error, it's a custom error; anything else - SyntaxError, @@ -43,6 +34,9 @@ export function rethrowIfCritical(err) { const INTERFACE_CLASS = 6; // PTP const INTERFACE_SUBCLASS = 1; // MTP +/** + * This class provides methods for interacting with the camera. + */ class Camera { constructor() { /** @type {Promise} */ @@ -52,6 +46,10 @@ class Camera { this.ModulePromise = null; } + /** + * This method shows the camera picker. + * @returns {Promise} + */ async showCameraPicker() { // @ts-ignore await navigator.usb.requestDevice({ @@ -64,24 +62,24 @@ class Camera { }); } + /** + * This method connects to the camera. + * @returns {Promise} + */ async connect() { if (!this.ModulePromise) { - this.ModulePromise = initializeModule().then((initModule) => { - if (initModule) { - return initModule(); - } else { - return null; - } - }); + this.ModulePromise = initModule() } this.Module = await this.ModulePromise; this.context = await new this.Module.Context(); } - /** Schedules an exclusive async operation on the global context. + /** + * This method schedules an exclusive async operation on the global context. * @template T * @param {(ctx: Context) => Promise} op * @returns {Promise} + * @private */ async schedule(op) { let res = this.queue.then(() => op(this.context)); @@ -89,16 +87,28 @@ class Camera { return res; } + /** + * This method disconnects from the camera. + * @returns {Promise} + */ async disconnect() { if (!this.context.isDeleted()) { this.context.delete(); } } + /** + * This method gets the camera configuration. + * @returns {Promise} + */ async getConfig() { return this.schedule((context) => context.configToJS()); } + /** + * This method gets the supported operations of the camera. + * @returns {Promise} + */ async getSupportedOps() { if (this.context) { return await this.context.supportedOps(); @@ -106,23 +116,40 @@ class Camera { throw new Error("You need to connect to the camera first"); } + /** + * This method sets a configuration value on the camera. + * @param {string} name + * @param {number | string | boolean} value + * @returns {Promise} + */ async setConfigValue(name, value) { const uiTimeout = new Promise((resolve) => setTimeout(resolve, 800)); const setResult = this.schedule((context) => context.setConfigValue(name, value) ); - // wait for both the config set operation and the timeout to complete return Promise.all([setResult, uiTimeout]); } + /** + * This method captures a preview as a Blob. + * @returns {Promise} + */ async capturePreviewAsBlob() { return this.schedule((context) => context.capturePreviewAsBlob()); } + /** + * This method captures an image as a File. + * @returns {Promise} + */ async captureImageAsFile() { return this.schedule((context) => context.captureImageAsFile()); } + /** + * This method consumes camera events. + * @returns {Promise} + */ async consumeEvents() { return this.schedule((context) => context.consumeEvents()); } diff --git a/src/libapi.mjs.d.ts b/src/libapi.mjs.d.ts index c73dbc9..5bbce49 100644 --- a/src/libapi.mjs.d.ts +++ b/src/libapi.mjs.d.ts @@ -16,7 +16,7 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ -export type Config = { +type Config = { name: string; info: string; label: string; @@ -58,32 +58,11 @@ declare class Context { isDeleted(): boolean; } -export declare class Camera { - constructor(); - - showCameraPicker(): Promise; - connect(): Promise; - disconnect(): Promise; - - getConfig(): Promise; // replace "any" with the actual type of the config if you have it - - getSupportedOps(): SupportedOps; - - setConfigValue(name: string, value: number | string | boolean): Promise; - - capturePreviewAsBlob(): Promise; - captureImageAsFile(): Promise; - consumeEvents(): Promise; - - private rethrowIfCritical(err: any): void; // any error type can be replaced by more specific if available - private schedule(op: (ctx: any) => Promise): Promise; // ctx and T types can be replaced by more specific if available -} - export interface Module extends EmscriptenModule { Context: typeof Context; } -export type { Context }; +export type { Config, Context, SupportedOps }; declare const initModule: EmscriptenModuleFactory; export default initModule; From 06a12c1c3056b7324c81922e2f480496b2d2d6be Mon Sep 17 00:00:00 2001 From: ICheered Date: Sat, 5 Aug 2023 13:50:10 +0200 Subject: [PATCH 16/23] Remove old line --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 3c7a763..242d092 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,6 @@ !/deps/libgphoto2 !/deps/libusb /api.o -examples/svelte # Local Netlify folder .netlify From 6e24a88ad2433b48a537738d474d387e2624c93b Mon Sep 17 00:00:00 2001 From: ICheered Date: Sat, 5 Aug 2023 13:51:56 +0200 Subject: [PATCH 17/23] Fix testing package.json --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index f35dbe4..b76f041 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { - "name": "web-gphoto2-npm-test", - "version": "0.14.0", + "name": "web-gphoto2", + "version": "1.0.0", "description": "WebAssembly implementation of gphoto2 and libusb to control DSLR cameras over USB on the Web", "type": "module", "main": "src/camera.js", From 34c7df54115a94efe0a6dc436bd5d90d140ebdda Mon Sep 17 00:00:00 2001 From: ICheered Date: Sat, 5 Aug 2023 13:57:40 +0200 Subject: [PATCH 18/23] Hide common issues in details/summary --- README.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 280c381..eff3bff 100644 --- a/README.md +++ b/README.md @@ -78,9 +78,10 @@ npx serve examples/preact # starts a local server with COOP/COEP Then, navigate to http://localhost:3000/ in Chrome. ## Common Issues - -### SharedArrayBuffer can not be found - +

+ +SharedArrayBuffer can not be found + SharedArrayBuffer has been disabled across all browsers due to the Spectre vulnerability. This package uses SharedArrayBuffer to communicate with the WebAssembly module. To work around this issue, you need to set two response headers for your document: ``` @@ -89,9 +90,12 @@ Cross-Origin-Embedder-Policy: require-corp ``` Information from [Stackoverflow](https://stackoverflow.com/questions/64650119/react-error-sharedarraybuffer-is-not-defined-in-firefox) +
-### Error: Not found: /node_modules/.vite/deps/libapi.wasm - +
+ + Error: Not found: /node_modules/.vite/deps/libapi.wasm + Vite tries to optimize the dependencies by default. This causes the WebAssembly module to be moved to a different location. To prevent this, you need to exclude the web-gphoto2 package from the optimization. In vite, both of the above mentioned issues are solved by adding the following to your vite.config.js: @@ -119,6 +123,7 @@ export default defineConfig({ }, }); ``` +
## See also From 824145449a6cdbf42f6d164c5dae72f777254519 Mon Sep 17 00:00:00 2001 From: ICheered Date: Sat, 5 Aug 2023 14:56:24 +0200 Subject: [PATCH 19/23] Mode modulepromise outside Camera class --- src/camera.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/camera.js b/src/camera.js index 537ff3c..90500a7 100644 --- a/src/camera.js +++ b/src/camera.js @@ -34,6 +34,8 @@ export function rethrowIfCritical(err) { const INTERFACE_CLASS = 6; // PTP const INTERFACE_SUBCLASS = 1; // MTP +let ModulePromise = null; + /** * This class provides methods for interacting with the camera. */ @@ -43,7 +45,6 @@ class Camera { this.queue = Promise.resolve(); this.Module = null; this.context = null; - this.ModulePromise = null; } /** @@ -67,10 +68,10 @@ class Camera { * @returns {Promise} */ async connect() { - if (!this.ModulePromise) { - this.ModulePromise = initModule() + if (!ModulePromise) { + ModulePromise = initModule() } - this.Module = await this.ModulePromise; + this.Module = await ModulePromise; this.context = await new this.Module.Context(); } From 3fcfeb9b99a11b8d02ea4af84f6b0e82438cadde Mon Sep 17 00:00:00 2001 From: ICheered Date: Sat, 5 Aug 2023 15:19:17 +0200 Subject: [PATCH 20/23] Create types.d.ts for camera type definition --- package.json | 2 +- src/camera.js | 56 +------------------------------------------------- src/types.d.ts | 25 ++++++++++++++++++++++ 3 files changed, 27 insertions(+), 56 deletions(-) create mode 100644 src/types.d.ts diff --git a/package.json b/package.json index b76f041..f8c5306 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "description": "WebAssembly implementation of gphoto2 and libusb to control DSLR cameras over USB on the Web", "type": "module", "main": "src/camera.js", - "types": "src/libapi.mjs.d.ts", + "types": "src/types.d.ts", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, diff --git a/src/camera.js b/src/camera.js index 90500a7..a7097d8 100644 --- a/src/camera.js +++ b/src/camera.js @@ -16,11 +16,6 @@ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA */ -/** - * @typedef {import('./libapi.mjs').Config} Config - * @typedef {import('./libapi.mjs').SupportedOps} SupportedOps - * @typedef {import('./libapi.mjs').Context} Context - */ import initModule from "../build/libapi.mjs"; export function rethrowIfCritical(err) { @@ -36,21 +31,13 @@ const INTERFACE_SUBCLASS = 1; // MTP let ModulePromise = null; -/** - * This class provides methods for interacting with the camera. - */ class Camera { constructor() { - /** @type {Promise} */ this.queue = Promise.resolve(); this.Module = null; this.context = null; } - /** - * This method shows the camera picker. - * @returns {Promise} - */ async showCameraPicker() { // @ts-ignore await navigator.usb.requestDevice({ @@ -63,10 +50,6 @@ class Camera { }); } - /** - * This method connects to the camera. - * @returns {Promise} - */ async connect() { if (!ModulePromise) { ModulePromise = initModule() @@ -75,41 +58,22 @@ class Camera { this.context = await new this.Module.Context(); } - /** - * This method schedules an exclusive async operation on the global context. - * @template T - * @param {(ctx: Context) => Promise} op - * @returns {Promise} - * @private - */ async schedule(op) { let res = this.queue.then(() => op(this.context)); this.queue = res.catch(rethrowIfCritical); return res; } - /** - * This method disconnects from the camera. - * @returns {Promise} - */ async disconnect() { if (!this.context.isDeleted()) { this.context.delete(); } } - /** - * This method gets the camera configuration. - * @returns {Promise} - */ async getConfig() { return this.schedule((context) => context.configToJS()); } - /** - * This method gets the supported operations of the camera. - * @returns {Promise} - */ async getSupportedOps() { if (this.context) { return await this.context.supportedOps(); @@ -117,12 +81,6 @@ class Camera { throw new Error("You need to connect to the camera first"); } - /** - * This method sets a configuration value on the camera. - * @param {string} name - * @param {number | string | boolean} value - * @returns {Promise} - */ async setConfigValue(name, value) { const uiTimeout = new Promise((resolve) => setTimeout(resolve, 800)); const setResult = this.schedule((context) => @@ -131,29 +89,17 @@ class Camera { return Promise.all([setResult, uiTimeout]); } - /** - * This method captures a preview as a Blob. - * @returns {Promise} - */ async capturePreviewAsBlob() { return this.schedule((context) => context.capturePreviewAsBlob()); } - /** - * This method captures an image as a File. - * @returns {Promise} - */ async captureImageAsFile() { return this.schedule((context) => context.captureImageAsFile()); } - /** - * This method consumes camera events. - * @returns {Promise} - */ async consumeEvents() { return this.schedule((context) => context.consumeEvents()); } } -export default Camera; +export { Camera }; diff --git a/src/types.d.ts b/src/types.d.ts new file mode 100644 index 0000000..6dc706e --- /dev/null +++ b/src/types.d.ts @@ -0,0 +1,25 @@ +// Import types Context and SupportedOps ./libapi.mjs.d.ts +import type { Config, Context, SupportedOps } from './libapi.mjs.d.ts'; + +export declare class Camera { + constructor(); + + showCameraPicker(): Promise; + connect(): Promise; + disconnect(): Promise; + + getConfig(): Promise; + + getSupportedOps(): SupportedOps; + + setConfigValue(name: string, value: number | string | boolean): Promise; + + capturePreviewAsBlob(): Promise; + captureImageAsFile(): Promise; + consumeEvents(): Promise; + + private rethrowIfCritical(err: any): void; // any error type can be replaced by more specific if available + private schedule(op: (ctx: any) => Promise): Promise; // ctx and T types can be replaced by more specific if available +} + +export type { Config, Context, SupportedOps }; From b74d938839750a8262c1451aeff486f0b137d9d7 Mon Sep 17 00:00:00 2001 From: ICheered Date: Sat, 5 Aug 2023 15:22:29 +0200 Subject: [PATCH 21/23] Make the Camera object a named export --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index eff3bff..812aea9 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ yarn add web-gphoto2 A short example on how to use this package: ```ts -import Camera from "web-gphoto2"; +import { Camera } from "web-gphoto2"; let camera = new Camera(); From 83279b5e580e61f9745975b8efe43a1358ff9a6c Mon Sep 17 00:00:00 2001 From: ICheered Date: Sat, 5 Aug 2023 17:46:08 +0200 Subject: [PATCH 22/23] Fixing nits --- src/camera.js | 8 +++----- src/libapi.mjs.d.ts | 3 --- src/types.d.ts | 2 +- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/camera.js b/src/camera.js index a7097d8..05e4f8e 100644 --- a/src/camera.js +++ b/src/camera.js @@ -31,14 +31,14 @@ const INTERFACE_SUBCLASS = 1; // MTP let ModulePromise = null; -class Camera { +export class Camera { constructor() { this.queue = Promise.resolve(); this.Module = null; this.context = null; } - async showCameraPicker() { + static async showPicker() { // @ts-ignore await navigator.usb.requestDevice({ filters: [ @@ -100,6 +100,4 @@ class Camera { async consumeEvents() { return this.schedule((context) => context.consumeEvents()); } -} - -export { Camera }; +} \ No newline at end of file diff --git a/src/libapi.mjs.d.ts b/src/libapi.mjs.d.ts index 5bbce49..1350577 100644 --- a/src/libapi.mjs.d.ts +++ b/src/libapi.mjs.d.ts @@ -41,9 +41,6 @@ declare interface SupportedOps { } declare class Context { - context(): Promise { - throw new Error('Method not implemented.'); - } configToJS(): Promise; setConfigValue( name: string, diff --git a/src/types.d.ts b/src/types.d.ts index 6dc706e..0de76ad 100644 --- a/src/types.d.ts +++ b/src/types.d.ts @@ -4,7 +4,7 @@ import type { Config, Context, SupportedOps } from './libapi.mjs.d.ts'; export declare class Camera { constructor(); - showCameraPicker(): Promise; + static showPicker(): Promise; connect(): Promise; disconnect(): Promise; From 8b2cc943518849344cc36f9cc979e7aed5ee4548 Mon Sep 17 00:00:00 2001 From: ICheered Date: Sat, 5 Aug 2023 17:47:05 +0200 Subject: [PATCH 23/23] Update readme --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 812aea9..3d4e050 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ import { Camera } from "web-gphoto2"; let camera = new Camera(); async function connectCamera() { - await camera.showCameraPicker(); + await Camera.showPicker(); await camera.connect(); }

~*SG$B2dDDCBvqUfn# zw4qIJqGLjdXFM}@jKxpC6ZSs%mA${21YlOu%zb?|p5aU0m9bB^dcm;f4Sn7qIwO{l z@*ngWc$SFL)M^Q)Rp>6J%`_MNL@P|+Nol5g!QxcaMnX!$OG{>f;#$*_Y!J+# z{Ie#D8CNh0s#*d^@xeGUqx#VDN`p?~RwHUn7nG%Oh@>TfU)lcZ6R{+r$#V7idQM=G zxM1J)>!V~kbWEPY$Xp>gI%F>6)-oAr-%SSE;aHg8ZEQ1{)A&&(=bfUBNv76_O%jt7 z`p?PrQTW!bFHSC+M7&hbY!PI7=?78~`*GTT8F+H|M*)-|qP#WeI#g^xdvD zDOg^Q^;D|>0~YWY>`FBA|LWtpePq6+|BCpMVE#esnYxME&iO&R=eS>QK~c;6`C)26 zHIfIi>USOY!={P4{88%-$~-*S;TykCsfuY-JxITgi5~w})A@1pM%^7fD*9w2YFY@# zkJ3din493mJ0meqm#I}_PNW{_#Uzi_PFX0Q^pgZe<_nDcBmi-+<&&tzF;Rr3}eJk zlop2fOmlzJIlG|m{DJn&|8IAH(|cfRBhE4sCs5QKyETW)6Y}lTJC$~SjwOmxvFEWu zMj+E)He*Fh{4xw=m0-P`(@@HQ2@+0qa5Nur+pk*ft54^A_Phv@Q*p%t4J%Y%QZU2N zxli^YP&0AwPn!~d-5S@k*RR_M^5W3L9pxa_9B^YKnRtJo)qwziAT;Otq%cotl-fQx z13mYf_RCxg@SE_mzgCjfxksltraYh#I|LE_Ac9EDObcdhT~=wA{VuW0){d*Y74KL>}1RwF@E6TESMz ztf|PVr_qN}FEYYQU%2(52J$*3VGv1E07I~$Vl@|mxXX-ZE6@r@a7kF{5w|CGOvyhn zpD)z9r`>g|p@7^LDOu-xCnYrE-U(@`XzB(8k+vi)K-!Bf?!E~LbY9qMFFLv~v~KS8 z=ADb0cT_V#FpBiPwUEiPPZiKQl?EKnmA z-X&kyY*gW>M6o&5H=J z_j9+J-H3B(8|s)Iw!luT%~x}sPAf4{Z5;93R*$|m`*WM&YvF)VFKgZrc$YQ52QD%E zAlwZArs#l%*X92nN#Xxy##~KlFZlZFPQmtMk95 zElN%=zp(Xkyp!gI;Z?37w-v;4;p&gN*p4o0R7A<@fVv63HnK2f^P<#k?#bdsp;NnB z&)#`)^Nz^k#m(<6vhYNKZ;}e^)|`TF8rBE`uKY$^b@|o{1B#J!N3m89j_kQnq8Tl| zB(*K7ojv!Grd4a$MBXoLzy3hJ&b>6fU-#UV&Ci;`mFYLXIHK%8*ZfKNi^3=m4uLtT zh&Ar+#~2=0=?dnq-L%w2y4b61WXcSNf4$EiGsw4BCcwTf7DwQ;eD z$DtdG|G;C-#^OvKWKf>NgOrCq<#EKu;?H=H`S2G!2=V-HJl1V2p2lNwWAStz>o*qv zmB&#Vi)ZjSdSmfdJdW8&5U^X1HWtt3QEx2H=P|b8=G}V3#$spA=VLc=r6tctZ{$i# zo~N9~m6kjovym$;c^#%ZBeR@{&7y;8xrVe=9ciBbsGU_-$lcUbuU*J$0;4 zCMZ-VDKpWo)3j5on4+J{^(@%KFe8-`$8eUu$~bl1*M?xJucX>AMN0`mPOvoEk1S}E zz;j7=cR|(KTQPaDLr;$Dz+nz3q$3^?*$@DO9P6C_Fi-N7jp9mAanR686o&>-)6!F% z=`igyLTYmjVgk~Ziac-C<5Kvn{SSgW-?lK9J%M-1HaC0L4yn0f_+g5|UEp`Fx*I6YD5I1;S5S0L3@XP#`APEyXdbHZ#INzVG>9xt+J1!an*)VY&~K4A6d*{`;ZmxFxPy7u0;`pZLWLPj^V3vk=VXD3|3JyUlB(<1QTBnX?21b z5u*f~BjZ&UqADWGvFanl0+=+`X_|}F{nuiPiLZyRE%Ifc%{9#LO?|LnVnPpvik3B) z08pL*lQp~6la&>V6EPu=M9*C4caC+z|ND8T`t)GsX@EAQ58jdS=lz))RE`AvX0q z|KV)~TP$2bgY<<0d!F-p)0}5tk9%HI^}MFytf_1xI_NY^<-DA;bF%=d)_wU z8h31?NUIwHt$wDvoElcN06NhEzzh>@?AHPaO1e=KpkIwP)moeuLvtkmAv%LCgvvN2={8l!*N}{OwyEBTI)D_9jEWZMS51T7Z92~Bxa&Li;UUPj5Sf~Xcn!x5r(nBk z&cl{2k``>?_ULwy;Ii=IOf!~VR3UXH!Hdi<-S3?7lP-MoKZW^ujVMWWfRfitJu}o~ zp+V`B7TWMVrK}UvhmFK-=_eQ-ewKAel|4P6>_!4N4JJi2XDsLuRRJ}p;4s`i9WHRc zz0@lw44gpAg}aD4=3mI%_23Z>v+PDYf~xk)or z85=z`f@|O^@Yv?3!hP+cAyQzHcs&$%Mks;+l8WSNbaRnS|H`a%cidPUpJh+X`uu%+ z_?v+oT)G>&V_ykyz1}p>*z3)Gnh|3Zub|Dnp-%W1sTE~W)SG`PyP_%ix=BX0H>OK0 z4&+0Q)vO4wY(6=Q(7V=>P=GMEv{dZC^v~fZyfNTqu(H}v?JQVr#SHM_v*9;$JRaI- zXT&ndOspguhC>1}9DSe~X^%I7Sx82#@8toPjg++#76Wj+Cs~!Ssh;_r95&CSfw75 zS|_IAa^oOsW>3zahN00pIqxu$(2LqfA%B6|b9(fuEI8QbG7IXC^5 z@SlbLy48akH7Edd4V5@$qF%Tg4~=<^C4O64&p=_Tky2~GjXgFPEor&YanWx!@w59UB5%J7=& zY}3pStE1holo_hnrl~I*I3V805khQcPY=VUhk@qH1SbaOjk(qvcX7@!_8b?&y&8dg z83`cnnsRF`f-%aiKFU{Go_b?(XZUl&#^Nsf^Z2s=#PSNYfj2f5_vkO8Q8$Syc5`$- z_EI&y5YAc(y%4?HX@5SUSo6g4y=EJ95H2%1@*qyVsn|O164urgCc@HuGXn%0i$mb0 z`k}C-bKeO|&4hM$B!r1AWWNU^7wdLCCNHzDd7uF|ME!DHuyucCVT(z_U`>*XpfqE) zJUS!h;vFC!bDkS;fc9r5^ukPYckj$I@RzXq{!jU~o61d5e3ghTWP)r<^Jzjb?AGg0 zFs#}0^HCX11cK5frisy*=|VyhA1$^~k-rP}3-<~{OS5&DBw(j{Q)4nT#vVbnZCE=6 z6YIu=3z!MP1SFn{2~V*s2WW#qnYIrm-^1HrJmh;soUaKuf91bbuwc0v6gM>tp&?G7 z9gQ11?mgezizyb3AVekGfEEy%uy?!_@h~wJaTD#GXA>Fl#GvI}{txEB?AC>0r{C`t z{eD014_Nn%yD7FVl%1KPH*}Zo#s+Yg*nc4h{{9Wz<$kOG?C~+YbClTTF7hPD8oLL& z!<}=*%mq0&L!psU;P=GD3SG|%JQM`rp&$Sc1p#=hA)>}ZK>!{K0`QQD&^^A8iNGgV zXn))iN|InAY@$XWf&s;KJt$W>UkZ8XbG5a))Ry9oeB5JG$SpCCbl`bbCKEg8>@t+( z6mv)CGwNCVc&tDrl7+I1JyN)oVuV!S(&ip*a<}Vx;;NmeT3_pW=D{C80kR^v7#&r)!-HLiZu!|Ef;i<4a>r8QEsXD8o- zrD91kF|v(-mj~Y=#jr*s(KdFpPE%=he{!Bxzif9OZJABA?>?9@_@rH?>szMoF*`!{ zz9T!C;4y;rvS&|uhK!eH7Z>o$2)--H<;6kiMytmXvz8A*EEswr*81dm#q&wlpLM9}->$O|M4y1`en z!Gvi_0!Z*zmkDo;Db`*ZV=pyK_Esf^42AxU|jpauRV`U zABre^09EQcPP(I#3iKa<`Y#JWBUG zL$tw&p(X>~7|>ALS%zA0D%9E!GTcEehJQe9=?m<5)OI{-!P!cvg{_5J^si70a)lwr zpN`QHq}J|iQ93?p>zPLd_3@Ae!s7s}j0qz2xB*7xAMNxg64?<- zfax(cEVo3;%HQ|eCcDyrLx zABA}Y3kideqnnxsWFO|?!O?92S@kNE9UY!F&eFDp&FuxS_o_&J5p-}M{9t1k*um&& zfgNle6WSACv)q8aMgGDj{o`R^KSJMc@W@T3P$oCI&R3V5WsAWlLq*G0S)<(yw%%~! zy{~It9YH)g?0CJ;(RhXB1TPMd1+&4zwzom2ymXu&HQ7e;MZnYQL$h@;a)oOhs3~J0 zfKvD&quf(j*+cSA$9Cch37_F_?`i*QSXD|2R^>XxhE>-GR(-(=+q*5Tj#$Y?2)mYg zv6LRkRlYm`4sC)Q5G|%SWXtwRvu@foFhY{kMz~*^lKzPd`_m%^YuVgvo?fs!R ziGHBzkFGF{){Y*8CYtv4fF1{waT2(mw(i!NQNHxdJWLbGF+V|8ZL8!*qI3PmgU^g`_R^R`yI;3Tb29{1qh zuH}TEO1I?Ci*)pw#d5Mj1$vw*ix$M!eA%BS3I=OrA6`_leuGCUzeMFo|$Pb zojHjO7?gH7X;>&T64ic!=(E9c4M578V@vec`f`bUjzz(4-`U`4neGLZr?We?7c8U!DNe;=zcVN!h!%Odvve&}3k_ym}Xuo`|$g?$AN|L6KA= z%YAzVmTNgHdykdxH%K0j?7(*XAG3ZL=aHR_dN+0q&PX{WOCDB~8lPn{Q@~}zpR6#= z{VvX4k_6=X2iuc*c{`)p!k29;!_Rty3=CVjxRjEf%~F!sJ+YM0ZUAEzdOir#VR~JE zpVavGzc*_9B6}Xw+NtF%?#HN+_i>Q64V8aT%gVPcHfu-Fj19k5BxbCTxC|9H1_muj z5kRRgOI(gFb%u=7`G}cOhOF~B5#}@_x6BNZ7PI7K#MZ;yZNMN9#Rt29hw|kkIYh_q z(a0u%EuMlEjB`=v0EI+5DU)x^_)3ypR}PV>bC=eH=_S)Imrth%dw^mZx|bC2^5yZ}^X$<;h+xlqbmmlD*es z?#=-O)j}jU#r;D5;)I9lE>H$Hu{FvO$nwcmZvq*w(byfZ^Ah^Q${!d*imRGMB3a43 z@ckY4#`}S)dMVwsT^e|iu9Rv?llFpLRmSy-;b{-0j4)YW@};o9E>j4%`YED`yv1g{ zJ6fUSj|9R9wpoB2Za#uTGPzrCn-~NgTFu|rEN~nhwqCQf+KsPQz0rV8`!c}6)i)m+ zw6axzrnM(RNUPZfiO!Lyml$Jkzk3%~i(kowQv)HZVi)wFDJjHwmjxn+|FD9)+|n$` z&Ox^+CqNsaJmfC(P#BWO0Wfe1Ly|wJShx`h!ES|0p@|e}B#!J}MK1e$?!jkm(FC04 z*9vm_gPOe8E(c5@SPm*jZ=dbkq9e z{1D$d5sRu(w?bJo5!?yo5&&w|gi=tJWXO7PCp~lu_ODr}jz{^bb2~t+=jYE$n=(pgmtx zEO)Q})qbhma8zi~^*mjOR?u53orJjYUI-e*nW=2ni9ZSPmBPLCyZb*0fpnlbR&Xn! z^ASyOxJ_z4h7}t1-LkKfMr2_XZ)6We5mkw&c51?OBm&8Vr1UeM)N_)-jjYP_Tcg<| zH6CsdVt7MmpG!@~LpFkDz5L|CRdf3bsDwZo%e;%^%`WRqu-1sL%MZmpdI4ZikZS6BmwH#Q4*3rJ?OW8GPjiLOeVJJv)qHk$?)K|^uZWA{cD*vM zZf&#~$@0jkSdqZpmQ~-k8z@Y0S)7*9oOV#IrH*jdU9O?4jZB>DQt|w1X+?|FBH^0V zbuamCra{8``c$Vlh*sj-e9Zk0*nKV|0)WiWxWoZKrf4i$IbG1Nw6udZ2|*UJVObXQ zA;NI~JpJccs>fJvAAaJHY-vI=~*4G(48 z@KCl5kK;ym<==@^&EwMnsH2p7b5pTxJgez%#+=MH?|>A_MeXfws+HT>3Xspbk0`mF z#PXERgW|iNbsLnVF{^X;cz3O& z78DP>hgyb#s+&r{OFC=@D17@KI&(gUb8qT3Xa%QwsJ}ajZG5vqMF+TkqCdk zTIDYOjO2AtbTMrY{8?r$!1Q8mBrR@8KqI=H`e5$$JGJA*J|}Xd z-v|tTq2q{yW|PG|`0B!4^(A<}x`|s5TH7qG1(N!wS8HE=H6OzYihlE1+wQGy(=G}Y z+$GGU`dj)8X(nvl%m5H`YO*g{qrbd}iM|a+{6tu^hES-Yd4V9Yab01l+Qj7sxb(vFSYZJtYPf-OcTtMfnYXn&&>V9Zx|@F})i{~$F|@V%`&I6NYm|N+vOZ#Q z9@eUzJ|qEj701Nb2Zt8=bWgogrDw}tLb4+`EKiPY2>wtyvlno44DRpMqas)<4VmnC zuA8%k4k^fFTM2cZy7*c5NaL@|u%r`3pk#`0ULHwkgA7_Z$^GiCCMP-00Lcqj*EZW! zG~BgM=u!f63%ZcTd=Sw2K?bdCVuLQ^5Klr!N_<>+?0_xc2#HUh6G&^(;~^Gh`JE>>U324YI~J)zRbnfU;N1;$wG!|s>^ChIwW)k{r zB#o{_U)>A})D%NC0$lBfV*`0=IGdCwKt`o58`4qEdqe^04%HqyI#+W=@uy=4@QAzs zbdVU)r{vf}StKYO&o><*`6~P{y$mAlxI5eqckg(& z=5d(sJXmhg9xD~5*-gM>>lmMFcf(Sg677+|pX(ptwq4cH;t@~a80#n=Pv8SE;0F}rH9HOZ;9f;88TQ9qptfV>z5 z&`l(q3tnvBF0PGU8o2e#Mv~YcuI^{hg$lnT_DO1;q6kkLCwoQ4*No4S2ZzgjnbyexmM$A1 zYrQYSW5s~kT2_$X*6T2y_hop%jTF&~(&W=v z?i0P=e;r*|@4-`57|ZvLl(h(mvPiquxG@C%+G{?=c3eHcq(lM)SvJaKPL3I}wXHwwgPlm8gN za9_DFAleWs>uA0$ZwheU{S}tczzNROutE2HyabnJqwb6--n<_y{&qM~Bq2wouwH^& zHJf^gHaETCoT{c&j|^GmUf?PqSZ)0W?Ux1meZhEFPEB%O-l+w9WUD zT&77_g45Jby+k2FFC@LIPF2r+It#!wE|tiq1xz?Ri4h#BJi6U<1CywvRnOfWyGi-( zlh6bQ$d=nPOU&zw-TW2Za9YVvDjlhugeJH%Mwh;u7@4M<<4f%5C2`jh3}7fu2P@Uj zm%kZN3`q;cc$9HgF&97fLs*QGYO$Z>y{Mlz-pV$tEmd$}5|=`to?EQQ2GunbWj9dT z=O1%-#~l%rbo^1E#MbU6i!=E|-A5=QjVX)(U(3UeKT-};RBadYZr~v~9tC(z`+vN4 zF7r_i#i2x>2FWVRhH9FG%MeJJyX6ht>bcZ&Qqdqulze#e3UTgM6nEtmmc3+2#KmRA zd$oaV^}BKba8C}+>1e4w+?x~hES?IUr384-?m@G+NF6Lhovhm3*)#ZeTWaL;Z3;rz zdxE_*U8?3Pff2;JS+gNiL)xE#6$3{+>qV$xBg4Ccjt53W#}t~+udo|@K$)19D=rbb zAN?1&7W0(@bTVH%?gh2@&=6&O4SazE3;k+EuFX0rbcS7ISH zflCl?(qHl^Cbs+3-k{xrdaK@8*zG&MT_E+2Pe~_zB72x8O67U6|AUP(nbF8Xy{1#L zsc?Sr9O~$09~gH}KlQRVxjn14Loc_@Y;#X~sutVbN&z(1@;_wuzx$rFYn5z*+&!<) z9S7lCD6MTHUQ{;K-G3|SAc<-2d)^k=EZ%6@dv z5HIAH#@=6e;RSzgdE%M7d)*0ThU&|9u}fQCcik9rzn;(K^|0P$i~M-KThe3K^&o)c zG`)YlyH5|k%G|y7Mcw(pxc4U4InUk4)C+gT;#R$|Yu5-NIQ@(N6wE~Mm-_$hgMx;^b_tYS7_jEujWmORoco@1zJEy|^IC(QzwDe}=kYC0 zp7)t|enQy~FI3s}|BmlyRA<-iYOO}=&t2p4I)hp$i5-714U%R5Wt2zU10Wk=T~aO5 z2yE-r-DVEM;bklA=(bKOU|MG2h{wKmbak}#z>LsT=mI9}!i45fa1hH~bc2jd%ty-z zwXZ2#=}$RVq3hw5{}+H4(nSY>Rct<`hJ#UJGwp|DK~XsEwcZ;87$!7E6NZ3|`I z$q1#WiH;Ce&#~}j{B%{0zd)3<5BEotcLq5d3|-``2h$A4ARD?~HhAg!$Z0{HdW!-$ zro!K70yuM5P=Ul&#_+9}tg49SI!cOw(LGdbjdj=>W7cSn%S)g>uf4v6&8sZ zb5R!5J+l?dQF!AEPAwD4u^KJ*PR}mW(yzi&*FD5u8oOGyPeEXf$TUdgKXdvIEAUo@ z<59kl#vkRCw5>=1iU6Qd&d8K91A!PUGF)=qB!rR2cy$k9_fW1&so1cSA`~pjdM&+O zO{E8eh#$@y=UzSPtSTugyszCg4z$9T)`lHE)nypIa`o~gyB6cHv6PLNx4C9|>}9jc zcB$Z>{b{enIE0dBU>w{Clltgztfoopf2B{sBVf_G3;jH}1R$q$7cNnOvp+kS8!pUO ztGM(OM7Fq#95iB&(HgKTwxi{W=ESB4lXI&rkzalsi_jwQ&^VCz>h`JX)VT7e0Ak}J zatEm}8aZrERqe)NO;#jlg;|_Al3!SJUi8B^`8T15;A*YfM-L0u15S|dq4AP9v@IBd zcVsu1$Js|1SZU5Pb9rpwS>%Nxp%#v56_p7+1rNzCh}%m~O#~P*qMrJGJsNL`j7q^2 zyrj96W`#bh-rb?22BvmTjmH#v3Z4?aUpn+2XBT>EYS$AjVZvjb-;_L{SZhD+MiCeg zWWi;^3tZM;siWW4L$-OIOg!;N85x+0qi|<=9$aU1#R7{%^V;eI>Ow?sbgl$L^1D0? z!QaA%+&2s;;e&yp*`R1(KxXK^uLc>(bMt@%j}13;?|^Kchn+_yLd?*PTsjY2(5nFl zj}or%q#k9KP>5|dY_7hn_X<#Q0X;wWUlPSA zHvuz|V5I9)K(XHZIdhQ#mH8{Q{xr{@!|Nr7e{}2);|bUK#>+72fh(MB=949j;n zsNQztr8U;ljpNQ`J4ZS1b}qvyRC##e0eKC}`%2E#M8~ zn*Vj4iY1~m4|$x7d%=6k>P<*xFTLX)BcT|un{jkZrVHq9ITu-VTQTAb-{N2o8QSJZ zoT?RsAe?Z##_FF3j1SImyuqzKPj%O+m%j86HGTQ~tQ~xT*Ezf{Uw)8lZ%Ap99VcGE z6~M}8TE^)Wm#7&s!ZPM*8F$+{=KDG^x#DF0Gf9fTTyAyeZyy!KCOD#ScU^kaLlp)N zfmq1ciFWg+E=mSHiEZ5To~$*g{z!XO{x=SC(8OCPI(?!7=BL2#6fhqMS$XxTzW*!J zU+0m4FSlvV4*Xj5#0+^hD)e1q( z>)xXh_555sC;qhQ#hb48FX^vw@ruym?tlN6^iG3E!v-~1^H7unMtv8CsCXbJ1sA^02O%vBu3O+Qi0g|U-TbZ+fmqa0gNa*P;_BA(4e9Xky$PCze86^P}9o9v-W+B1#I4V6-uK^Jn;N(VD?H&7Q%fDq^ z@%PQ-!)ZO&+9tMbPi7%aCbAm%V_B91)>a` z6d-_8*mBL0aKcZ$@JdgwutQAdmP*cG$S&niWr`eeP;gp4tKV+rD8K7jB0QHVHuPRj z9B#9s7xFETzGYW67r04Nz{ytQ(a|vpPu~E$ek6*Z` zHfxDP*;n^vJOYE+jCfC+V0iG*lkmC)nnomX$7jQ6I`a|uE2NiewjLLKJB`;y!SdM= z^Ul-caz8nP*(PoI~T)CN}F_MQUKVt8Z^XY(l9chQvn)(Ul|TC-uH zH5(u6_qzi7J;5G#%WXC=n~DJRR4N1-P{b~kOEe0$?G%4#QyW^!)wn?G)SEig0q3y? zLT6sEmx>dY)$M{%sg97I>MKatW7*LOu@n{d3U7$^P5V?o&5@x)sR497+*$W@tv8P+ zqlIW9jew*(R(OE^`n;(Y10*x;_b76L=%|Vue-*Djpu)?LD zQkMkZOluAo`B>eJH|cJE_l$ezm8IL@{&7#ClZC^(@&mW>_v-opL*_2bb;@ll!cOAM z-Se6i%0S5k=3NxKes}l2hI7=_SB*==6ixQKZyYKz?e{#BO*Zm_`8$@T>Tez5#44kG z@ONAT%F)V~4BU18XeE1V-z%5j3f9{0pAY~C$ocM$+n?~zAz8*A?;xq~24^USQtO87U8DItp5ycCd$GBRyD_!Z2J_^mIGt zeOa;3Gj0>>e!zlXD~)KHIL^44nYMVME}AP~8dBgp-Rbnc!u{gkkwz;ff)OT_s7Kw+ z&E`U3qD^dZ@by6=T70RV|DB~=J5h9JVa+AvuiU?>` zAl{1MQ5R%UNZKgaZ=rtPlW8;j_d>B{Pv;Utsp`$s*wiZ65tsvVKzbDz&lL*L|F z|F&KuDTrXR!R@vin#P0)azYlur_6QGf*NGQ&X&OATd*pMR9Ma~NdE-e*wfBPD-(y^ za)#2Td1quh=GxihlPqZ-_$2$2aw!w_3S5k?S3=k|zb!!U^pUG@bW?`_8W)tUd)dR` z63B3L^K!n^wtML^OvCA;o7_Yt)4=6+bd#iO85bfNA;d8qcNq)U1JNPv@XkN^zX*%PZ?@IhS>q0u z$FNuLKDhHwfPm{uetY^eU?#pLX@J$h)f!e$qBEonUzmGc4&U&55uKoQT68kel}>{H z@QbnS1Lwz(8JGE^Pw6zEpI)cA`M6;O zOCLG|fB7eR;hzmC#cc%_dNL@J`TT7F3&Bez}EXniAWN*ltHRGv{ zBAl<5u|ORH2#)Eq_0pIy(5S9H&UN*1GGjcje>(*%huH{Gv@^Jkdq@K6uFjCCE&HWJ z_!@z1Z*nwAV&Z3jqiZ8$uf}XzA4!%Qt24Pff00&tym6MbZx&-JgZ9Fxmzkx@9s3IhprpCYp*Y>TguJe zGHLXSPNLbXLTRrN5}dfd9wAq~njnV0l#PY$s9ag z|Dc<{8T0WxKHl^#!VG_d= zpa3O)+LSwP7~5S!$t1oQ)*6;`ANyXTxua~-dKr5DlP#Ra9)2x_0h2(WI zNv&D+H%2j6zK*oLr!m5>z5<~?oj*SQ9->44l|Pj9&z?Evh8>~oB^QLrEMb#>hxj&W z^7tm6S_s++j~;I972S#rUUWycO_0q9_li%EmHwxiNsE<@8a^4RAuw}vbV00Wp$Uy) z3A1c6#_q;D1W&Q9Yg4>em(!gYHec9md?M74hw~I%Qq@A>E3Yq{3d=lS3l|cONQ(#y zC)((>E=B0NSMfgb&%Yniifqzxp}Rtw+__BjM5<*oSm9ptj=uYn&5^+A7c^o>B%0_U z7x1UGfj1DM^5Uh7mir#9c-cXxS! zXFR|X_!fe&b!PJDKhB%Jo_xs=S}A^ui`IApc>h&1Mt7ir{8(36Q@ zQ&aSi(oaNTjR+1|C=t>F7Qub>zMI#*2=4Ilu5TcMO>Cuf5D)D=5!#R!5}{QO#&%7f zhl!@mA>1@Qg>*DLt3H&wa46i=vFVp)opN-R;@XdxK2{+^WId~~Eai8nyaRXB1FJ@z za#MjuaJ9|@AS%yu?|NXBQqF4CXhT@)Pg5tE|M_NqhKaQkzz%XLwPDTZ3|Yt*r^%~? zcD^63#9ZL-dsZU;vb13))x@Q^;|(Oed=-&B#{cA_ffsqD!y z0)J7+f}A{p&Xh5w3?K68$I$gtr8`f`h-$&xqD>m}*kt zS^Yq71$!aARWxi~xVK$ZRv#te7Bz8r%NxPECDO)DdQ_5#W4L+Lpp);%NF01>Xz3YR z+6NW=7EQjd{0w1P{&YL%UA;ep4$%(Q$>S#*|Pwos>?_q1oBKn0&x zIAeP}^@8k-?ZJ9W3SM;GuWv-?@kcznU{|vMybdj73XAB(!o-4N+CxEQbv@>Q_+Ltc z-FPTmI-|Hzl22ECr^U70c7Bs~wKEQ3iLF%>^74tM9UdL!3Z70A2@S^zyo`C|jurHu zm}E>HPC);Uus)aA-E{x|`mD4*|CyW|F1ND~k>aE9V28Y)I=}IB{`^1KKKKj*?N=}+ zw`Iosoa_?!nk5A2wi{1Bg)>uFh@_Ts@N4Lk{Ysr}^1+bd_Xo>U8%|B!3B_h3SjPu3 zc!)cB?ECIK&Q~k7VO9^NHtm=sO2F$h{2l8O4vZf1&~mxt(bl@MJfJFr0nC2eb(xJRPtox8vu?ij+-m zCK+D~1PKoA^OQ`9rxsEENYLur%^8kZUV{e2OPNIVP1!)jRzw_cl%!SkS-)QP;`dUS@E)cx|^geBq zs`71fvPA$s$S{BhMl>h;wm_x~I!%K-yStI3idpI-^W`JEP9wymP)n`_B*rxI9Xisa zIuG=YC-UU+01$kaJ;Iet0fNZRAbp0HpG*%_KBG^M+F9UBiZRYjK46$zv!&$`>A<|e zJYz>aSlm3G;mjG0wt*zbM$Phbv|=;y*e;1z20xTBQ+=a9p3%}6TCH?yA3DON)I#~! zAUGx(X6I&}shL4N^Y=7&fjd9s=psAv{U;EysRcB~_r>>zQ6 zFxaGPb>Le}Wo=YVrnK3SoUt`+*=6IF^&i6PrlrR|19+bO)R zJ4Zv=X&D4aLRqR1C6t68`Dd1pz#o616Xd1mXn9%rvk1lC%a+)f`&MQ|glCExv@JyR z1}5f5VjQff8JU)|U^`4Q80%coBuomG5ZI8(WpfwpMw~AWU(#6~d~4Z9DKinFxsL=z zPVcF#BK4S*AhqA?>{87{4y^T&tq{{wMTncx3`&Wr%O~&HF_l*c2Wt{`2nHdnW0y0w z-%xII7m*lxzK&dqimAk5J&a~abefb!{||fb0&Q1a-}}zTTKl#3-kE`bF^M|YB0Y^7 z3hm)lpmqNlCP78&IisW3aYpYLjB$F;=}oxjnuylZDg*>8ij@i~zNw<31*HY6RgMNl z#nyVTS1Vf7pjZ`Av7%K`xS#Lu|Cn<r?MYv{R-1;SenBSppWZ!{L^3B>UW=xDCQ32rR)q7`z z04T>@S5w|8uTFK@Q-u-}yAc5?EGR^HE*=(;(|wugR%V-ys987GVND0z1aA$4T&_C4 z#DxsWAe6t=1+QZRD|*DgsD_qtp9SqBw zLbtMNaa|fgT_@?q9Yv5$5L!H;ftru?s{5ura6~;?eXpZyb(Tbp>YGXXj!K;Iy_Nfm zhd`-!*fC_|KNE($YAT-|rEr@Y3fC|_83p*X{BV3lRP%z=4jK^bKqRAysP=_aseEf} zFCr2mjTe`Y6i}%KF#e}XicT^%f+CRq91|1?m<=ccgMk-TpDa;B_)7c?!^{+KMiG8? z8{$#~FBl>iw1a*Iehl88In&B)Bt)W+6@Sa}FdTg>Q^r5Suo@&`oEX>HRh%Um1cqZn zVaM)=;E$x-3L{-a1)F0`3=rc%(Dv^d?_GePwxj*K)%&Dp1+m&*jsvs$Z5E=&g3$*E z>qZa7-N*LvjaN@tB$BUf9TI0txRpGT`^`&2EsHYp&P&BM6_*RDLv2-;jr*44b%Me#PGEYt$3m!VR4TbM#nB0jdR+(k?jokMYuAcLt$LZp>b0_0>F zqpFgmn>92Ru8c+~ag}<}@&%**NnD+p7_R(4_g@iSJWO0TI7ImBK_J53><}Qrr4I`c z9$DbO^yd=zSL+zWf>A((VOg*FMi*%6o4+nBnz2}tK$yvvgShUV2+=1Q=^XO>u+bdr zKmCrf{*WgiJI=q3i%!)rWH-VB@iKHBOk3NOi-&Rmma0c6;tuzwTtX6(wPXw#b;E>& z@@Da&06Qj=S*d)o{G*8yDd+A)wvxfQcuqenmh=zgZHB@#S&=ajI0BI;G7b>^xQ*xT z;O;42DC)Vb7%>W{|5JA{F4TR;v03JhXZn)Cv~uOn_(jYyoy*^{&X-`wENgCGKYGJM z=3mqjVU4(he3vfkeY_wx+NL?WnHIJs&6_+IyrHapU1w#2Sf~w#BRl z8dcpqv%dGjyeRP$Kyos31602$eTD+0GD`y-03$D*F}IsE-shfQXU~7TJAN0`knfb= z`=O!W+J4@C5$?Bi3 z24M7hwt81do;TApAvVdn{PyI`{&(L6Jd!S84y)4b7|HyqDD1p?8SxJXl|ul>84n!f z%h_KYaU%AP0)~u*T6Vn&$7I)kbAlw>O1L)OYBnrsczl}R_LVupD%UAzmPd3=49zmY zA}CogA#~1t(qC>ED{+NG^%c>~@t~R;glg;NlYGlATmgU%6220Y2UE(|#A`+7n!&kt z8=DcR)~IHU9g{mDtxSL*!>V+L3a&y&sRdX*xyU_Ly@7-CUC>o9F5IKSR1tJa;vY1T z>VdB1+R9YK`?Bx?`9sFgItOlMWZMGL{n%E8HtKT7HE18qSt|pznGAN(HSYYKR{0n6 zHt9^e24n+~#sIx|LGyjl{{8_jT2iTCz0lbS1zDq{IJOS|iSBH&HB!1&8OUT%l*l(z zEQ(D;)eR~e8#p6!KkJe?hOJJ1@W#kvd(%YDQFKnh-I9YyzVH@g-=)N$@Ymre#)lwf zDx5D#8=1;R$)r$?ONw!G?Zf1V-r<|;S{KNf2Upw?B41pLB4&TxLy`-JSf;y?SnsbB z_xND8{~&n*a1$0EQ*j;KKY*C8pDr!nZ3PBkNA)<#bC><{_B(5-9QiGfs`GEK`Jz24rcwio~FUC6`H)!6Y z|7jT(l6sXA=(Bq9v`nEi3#Vox4O0?0ruN|HwVW2xq_%@vU0q@i| zsrIxC_nC|)P%Kb@-;c|POvO2D5sbNe7h0JD95KXf;DzGU40_$Z1}m?A)M5UOl?t8{ z7G2=R)3WtK<6F(EckP?c$_=YEd{Y2f)Zot}FhO{qF2md_JTl3gf`k7`y;m~r6>_of#X?t>R0Ea@`M zmV35vZ?L>2JM1Pzn5*?VF)+9h7fLyuGk}}!Q?WsyZ_gjkxEnp>zCUNfLWD4mwHY8H zP$5e};w-1DI|{xHU(eAcQ0YA=-eo0{Imv#8KCQFlY`r7U>}Tc{1cAN%%)EnZ_=E{= zEe)(|1I?TOgBS$a&t|;4cgDMWXUyHpm#a?Vs@EC8&MA>hpB~8cCTKPD&fF{Wr>$3s zvE6_5XvI*vFMZ(A+g0!9nVeDey&0cZ-1FL8wcR~yNSo_Po1@&~B0WI}e7e=nn0tCP zCeW;RB+4M-BID_w>O>`2&GCG7x}~N*G(m$pRPH^|1&~rwLstD!k}ew!O1JiSw_ozI zuqle^E2_&VsTN5CjibmI*x_htkkGMe!FLc9s2YaPua=lu3MZ7LV zuqtiS$6Zgn(h|p#0Zm)T_g7j@AMi@cY2CS`09)O_r1dm#C!p4qmT(GPz0{3d-KH0_ zcBg=CCP%TywRo2iGD_!fLDB{S(`E||oNJogJa+bwg?GTRD46a&KR!@t6qcTCCTx+I zn2GPMd~;E~Fs9;j*Q@=RyTAMx1Nyk~;&u-voTS0P6P&@fr6f?ev9j29*YBuQB|o{KbZ&f=TK8Au<| zX+on-hC_DeQ(D`~#f7-m7)SHb2}HM5>Hv{VMArgn2>bO!mnPI*TLyjgVR9@Cy$TAe zbOF5oXb-_s#}5{s+I81_&%-U0B_6B05OwbMuMV$x<)&rC)ZRwOrXJY{$IO`Z-p^gE>4pG)*y$hJ2M zqyJDmgzw#{m1voiHdmwiNh+`(&65Q%_xfy`Hi_`0MtxXW0G6eqpfD*F1=h<_BN(j- z;^v!j++3!C4Ycd1Vr%=Ia*4?RH7EjByZdD@5br4*$fYRbFtSK|p_Z`MFGgRwgQD1D zFKvu3ZBl%AcuC_R$*4;BAB~RGd&T}sdSD6{oO_G78p#+mDaGo5VR22yHBgTA04OYh zLr$@yiyX)&+q-+c<&$MwIo-BAsJamRemB1hkVmlqoOfUR76w4OZYm%FN>DI*VkLo&yj7c{FfF%&J5vY%=x77HI==LNB0H?(AON#->NxaSdZ2k2QXtSmsI_2c z3~1iFeA)v9=rD`~t%Ua2&OmvVNX~=ulxMu=#*21eZ55eIi7Dg->Vg#{Ft+za$Xfc6 z=ajAljcSo1&Zsy8a7NiA`KXA*$buVD3UnJi9A}%P@lGT_%AyB|tVlzf;ticb=05T_ z>h-I@ujdI-2XQ~eBn{~bXMr}P-i{}}XLUHs7PYZ*Qh~^Dh6RW1!2+7%83^xg6b)l} znDTTiw43FyF{VNTp7Y5p7l>Ek9uO%9y5T~*(a4CZr`SaL`^9VRF*K?4*S2`TSsAr4 zLW{#<-_+*9(j0MyMH78s%h45l#v4yAgNX$TzXv2Kvlf|jIyWQJt*ksS$l)ZM1w4n1pV4R4e_uzDM)-A2*OksgO`FeH@# z(vaGaK_q>stUfL!KhR$+v@!#G6l25VU+yQ@do_c3Kvj}(!QopUukX@Fo7A@Z;EiJJ zjStHT5)d0|Gc;<}>mPLPVr1dbV)VADaWhdX3Hg9#B6A}y1DB!#iLL~z*40S%7ne)H zk1UY@<1$!)i5%W_T&~;^DVS2S8hR}AZMXVT5zixv{k#aHYrV)Pd$Bo+^lCVU=2eZp z_S9^xwGL-?0h|O#0U8Tm1&bjlHPae`Pc}qzc4>%Y&yO^m`=Q&f^2uIp2y1$E$lL?Q z6RgC;3{K;B%=7cc?qmC>Jqbpi$VU=%+H3V`d98h|{m9Ao?FhbAvPViuGD#o`7eKE} z!g^2P?jRCz&Ea@-E{#1LR_#wF6w7D?UEXyC`6~|o*((u_MD_~Z(LqmisH2shSc z+9NAC(b&%=4^L}_!E7E^DALKDg*LsXP}o>5dR+1cjT>U;2rM+%tA-PiHJ}0{|Wnu6^7`$+Lg!v%45EWn<*>f0*8cdS;h*&y6Gq9|LQFX(z;7)5q zS!Y|cO?8eFNsFiLB5YW^F3_Y|OSyx-7}tud%;jeg2KET2g>eG?tXvYc zkaT5A_l%@cmeYt^s*1vA2s1&#NMu`n;`RzXBYHxRRZ}$(H9rfwXREC}F_l@MgfK zL_U4roKwLv&}wC(X;YqN6<&)nY^NXo~N&1W|W4Dn>hP&kVXTBFvbwgjstT z!G9~~6;+Sn;?z?OUv=NcuVQ^RAdc!0`J_0G4#4^>dCh{tOkvK_Of|&>*X}z2A6)|K z-~~EUlF4j>S?mmC)zt~OG$n73X#83A$0-9Zz3&T}MgcSA0r}Sf@2LpXA`N;yKy#9~ zEgR_2#7>S2YJ2yuqBfixOK{7)v&; zg$R-k!AwUHqd+k1m;k-K3~}4a{wL+5=1@3V|Lc%q>Aou?1IY^Roo`VY{e?&tlW1%` zix4;Pq9ay~2pw^o{MiwYsw^s>U>5**_={(3?~f6`2_WLj`g=;~0|yV9RE&xgKi`z$ z(}#gFeEHxg1LnJZP=>w#7AXUPLSmD3w!JqkM$_5e3jzN^7RfqXok76=NAg1+b;@X$ z|LD;o5E@p}gV6&M&W%JS;t+oG7(8)KE~l$#O?p|h%VxF`SQKT`*Oh!-KBSD zcVDS5`TnZ3P4pMPOgUa7Dq>4eZ!Bl9mZ3N+E4D-UEt(?s_QFCvC4UuLDL)^IQVi*g z*gujV834*%U41q0mo1J`LeqoPxux#v{zMFh7|_nR;AAuX%YBS2fP#h;<6&#%PGsbI zbL&|C!m#A#vfgjW6(~d+FtM}6`sFW10EbZ#(LOJI0qK+iA;@V&#IM(EByI6E+(>8{ zU-r2GQkAmaU4`;?txA`|bV~QrSDwfvdjm7Klwy?yLrHzW{-c1;^W`p*?t`sZSO-R*A1}y z{vpfbb01bFn){Wf!C5ob;P(8p8|;_Z-Uo z>~hmjTgcccdf(AkR2TXfKTe&uD^3#4Nt3i>XwH!;Rbd)&ghA+jPrj44F@)o1^)KmS zMq#Z=C2RRW6Q5LN(E>|5y|3h!tO#)=SlV2ynQly6(uA~C1>SEC&3-1sXBX)lOcec& zr!)?`Yv)cOif6O#3op8OW(Sj?eICEF4t;ZOzob9RoX;NUIqPxsSvFCA8CEAE$ufOk zv==-(c8Kwy*VD`f%9XI$vekN8!Z8a_8YSda!4$fLEZeTXdYiH^O9k0x44~Ak>FU9m zpe~t7;^kBl{*K+6VaT`?k?~+t4wApYeg6X|0#xjz0SfLM>1fBOU z@kcoeWHFi|stA8(XL8@A|6+%Ls}>BDbTE)uACYKI3b)RNbpbdAcIA>$7TX;QOElu( zf^^Em8RFy69YQvsAKO&usDLo0rozm3KW~=}y{)mi9xSKwDqsHKFBBC1FhCrksI3T` zsI>@2IBe-;2dqI64cUT)xFy>1;N!`MF3TGd%|$Q(bng$vreRS<%UmW11`(2f6>{#Y z48_Qs+d9jvU=!4nW#}bQMFe@y0=!MvY?(qjX|-APdKnjjtbs2J_>-BiG3{p6gL)z; zp!P&dRU!0Jk0%9_-6_e3T^IGsq@5jbRGQUZ%;R^$CqLQ!=B?O+c-gF25S5tEW7bxWc-w({twc0G6YM#AMD?A zXAIIz7m`2Bf)V0p@p6bY6NoGu{R(ca!9arR!TsblIBXzigdlAJBE*6H`GGQGHXC3s z9J>ROpchZnW8jkbllw<_EC#^>7PU(V;(nxFMB8@nuKhP(^WT(iPqqs#fw18@XTi(V z->1HOXBXcU?w`WPnO#tWDfbuRYJy1n@h*O(&teyjkN-@T0PhjFS|CUer$f2V;YE0z zTgz}c0t3@!9q>0>380nS_3o-!A}-2^LJCqc$;-bMgDPEyppgPNAhCp3R_|_a2A)ml z*JY~`KQ6)+-IY-mK+u)-ErAx?!D_z|Q`GL6o!UtCvwLQjIjZQSfQ?rh?RpEnq@A_$ zn_>h=P|u**O>FA%Yz?s$r_*HaDusz{)`)IKEV`hVweoxbvR7OSPpbZtG08bA$j|LI z;KL@~yM=Zm?T2Y=+K=%Zx?Z* z1#5!UOt4{KWpx$73DMj?qs2uIELJMpcs<8%hP@meU%6IDX;UpDY3c6$;B-At@V*{q z)$M^3E313eofW2n4a$y_UFe8vzDuyn;=AK~RvAwhqj$*+owbu&>Qd?}V{0?dU z^tWNaWx><_?dd?rZ~j3gFo&{!@JR5c$GW#sj4uDuX6%~apfwuCD$ zdYX2Vfnl9>>Ul#@&Ayi=K?*F?_(3A{9J{Eqn*6S!m89=d!BzT*I%zJj2nQK1t_aJI zha%Q2fNvHOjzt{7j-k1^!Z=fPk8myAUNNVY3~kFa>Ke9)`QWqhoh?Y6}r%#mm|lAD5_4W`#L1c`5?884#CmzGu8otRa* z14V%y2`aek1AHT?uD0HZz!iL??zxhZ~nFE>@%l;gt6BO!UgE8&{x z$$CM((eCKo*v)4~nOe))X2$~y@!C0!loRbdBhyHhq*(*t9U%B2Flu+(6({OnKpN3c zrUWkmdEjKO?%InVkn<>1mT#%$r)cn|&FJVUAG-xfb;43{1GX<(~>b&xBq-SBy@M@?;WtbR`lGp?Rag z1JwQjIEOcFDS|IDUwL9ESbX)A!7-n-xFXJ&pR(!_%{cHOaM7>NX3Q1tI(H4|wJUg0 zdNp&OdTFQnvyzvCh813BfR<9_w=Zy;_=H&%EU_?Z&3@rvG)JU`cnh5oG`~6-IXz(! zF{}xkKvv z5TLb#>Tv-0lug#ApA-e832D9B%$6urq_mYzBlK96h+8uEnmhJUB?5M7LlXtCrJcW+tD^B+ai85G==LQfWRQgv^Da=Ch?ItiN>qv(@)F=>r+fJg(u7- z(56(8A_&+A&YzliVnf;~{l2!)1tp^;i(0lcbK!H^X3sg$$qYGP3F-%xpkA9%{s{$# z_-r!c<}oT2n7gZAUR6gxoA~?GY%^9<#QIHQ`+ykOWjEa(1-dFyO5@LyJ>Ji2Im^F; z5aG27V^!6IiOMARwUR2x^uU2l5L58*<|+h0EiY?qmlyF@ppfr@}K30*s<|7 z0T93?a)=qLO%4IE&xZTUYxmvVRy2gU?-wP;2z|sSpnXCkJ0C|1)e8&viPy>;O5ujE1<4Wx7X&?Yn|Lkq z-@+fdt@U-$pdyw~YW4U{L{AN}4`u)>2yM?cM4A%NWhBteaPE_eb3+mC=pE`ZYk-D4 zx8j6&Ck)`>DMnMcckj*IwcLUDu{kYGC0;nKWf~pr`< zi~0AmD^INckKQev@y*=_YH&8oLXE&hMdK(xF01|!^d7@viCCvmwH9~#uUGGfNg4PH zFWj-!U$*ww!x<0H>*32^*$q#pEp@-7=aYPto>wsw_l6gD!t)9Eu>tUWU@kE#$fGgE zPk?^zCHbu8MEC&*ZdA}On>i+IaL0qQ+%g-%AfSUq=*WR)?=dZz3=1TlxC6kJMvyqq zaks>pqPj2z8-c(4mXv4r%bIaeom)1j(IA(?YMax$_B?OJw-X@EM?cjD=v3C&jJf-z zrUz!1<^~aWs{VAU_tFU^yjy|h#7k%WOkvZ)RT@=9pix058WnV+k%fsy7A6`MbfO6* zyqAH_O}zQ>zCOaV+f3nrb_IkSCHfNa+knTgohi|YCH-S(<08mz8`(Vb>PxTC%7Z^k+Bi+j7+kE8Msq9~1+n6S4 zLkiq9Vv(Q$Z8DLdId{qb2F|O?P2TWOK~cCVp7Sf`$3VKmx>YiPkanvfk?@E~=(gLh zOu1|RNU6>NqvAb9cx0r*m+y{jD+c0!s2ZHBD?m+CKH`HL(VkXX}OPVl5~^F$)TG zMCe)34G@e;Ok3i6&=+B68hD*W41YfT1VF`ntc}5#$C@dM7PbfxLl|7B)<0UNpR_I4 z?s!cKxaa^Qi#}Lr#w_?Reo`!rZ2*&Fq5Z{lc8g3@+cJ<@Dr`o*xNWeQwqn*V#LlSE zuT^K%wxZFnrx-NMQCqHJm%#)YOH`bl^@aT_33qFg;uu4x*j zkm;}*<8WaFY`Xe=_Bn91u+M&y9su=DN;kd zLhIh+u(n_Y4!w=%w9SXL6<&_Kt{fj5S0f8aBA;A|iSWx;klTD@&D@b|fvom#1Z zcHqHMJ#^sBg2E}c7u1-jHdS9o^aUD;1jEwjK`t9KapWZ%k5En0r8Qd`VbL^uC zJTD416QKdoVy1O~Fn=^SLg4@Y0x7)ptN7J&1vsigOEM9yO69fZCcmi zk`>0U`arx}z@1Gqb~ByJ{_RQA*qg_t>8VN5G`5iyNz=z>*}nj3`X8p;KfG+2(lk!! zgOjGyAp4Z270dT?Cr#h}FGHG^E8nDPbpL;G(zM4v#70TKQ8Hdo1vrv{1IALjI){^HpAb8jh8yZ;@ zbB3hrJrb`u&a=kE>xGHpwLi%Pk+l7b*9$^=9mTT5Yf4dV&P=?vJ)J0C&;N6a*MvtM zlz2V%-oq8I=YKB6Ys#Nu9mIdC^4y2^z6QDC@m1$t?^(zZ3dX$PxqIuY>C^$vzly@nbW>q+;tB;IQfEwsdiBF z#dFG%Cm5z3tY)2)fwXR0@o z;}MOVD81f8s6*=LKR%M3`NMvuWWYyrm(9RNRnQ??DRZIm%SG+hV#6n&z8(q_KV0u1 zUTG^#Oo<|u7U6CUYLG-Lb}Vvz<fGTAhsQUV))k5ACru(>NN3o8(SWHsAIw@GlbS%C-CY=_Ql;!lE< zHu|R4gc=#u@85NC|AOt;Ps$*XrD>?T*w%K5S&wIGjFXBd`(}x=SW+D_`frTEn1ZNL zO_`VKMm(F*G&2O}*4GJsc6e7Mrn0v9$wT~ zI|(&@d>cD#r&}~YZa7gMew^4KK=n8wn#Yk-Q&o)x){o-ErE%j{gcGM|4Ba|nO#tT! zIPv}K4vZ5KV>wCh%^k&wzonC(2b{R)m-1>f5|@}FPTB{Rk^Lc7K_gZ{BUV8p?>~)% z2b#5TS(*)aDrn^Wr&)e}$?5&odSR)5gqkP!k5qGJp9tq=aiQSFL~PshD1Qrxd}o*% zRcxwHG3glEA*LMsY9}a0PZ4`RDz^`iNmTcm8>3_7iKgK&X^T68iUVQ^#pfw$)sv zy?Dn7J9Hb;21GSna&jx5+ymDmaqJ=dXS&6UIu=;)&O0;r#$yRA7{WWI-Qk*(P9x2s zTI^Nc_|?>(ITC$y_ug`+GVS)3+xivKL%HN9wc4$vh?aZ(73;ST)&Piu*)5GiSmTc> z=-OSy&m8oCIEqZp^q-RTPvnLEylk3_g=dr$ftcf78y@V02QQxK+g{3 zo!c^)gMG$1K$K4^?pFxy+H-57pXQFs=YV#anZc@hej6q&x%vErQD-?u5<#k;lC#vS z<)&%L7e`8##BFwLR=Ap4S-6)J~pv>Zgr+ao4~RyX#{tj zoTsgsF$Fu8lZvZt9*y(X&*SrP9>Ik>G7nDZ{t_7gP-^_NNCwrng$BdvIzo>iGzlSx zCIO({p{qnX{-&GH@VC3-XYA7Lknd^N7*Ziv%0Tz#SYdbunm9<9%YN&tSGaLbL2*#(G@ffR;_?Atds#X zAE?y+kLO3N72K~CT=qFuaG$MUF;O?ag1h4if|GN>18>x(Si$Y($oVu5&u~7$-D#7H z=VNTW<$sxS_l_>J@q?yi21lr+U4g9oU*?OATzV+HSj6(WzhjxZ4L2G$sbA)|;xdD? zblxvBCN2_1_Jrcz@&mtGUapQV_fxf#F_3J`JDK}B)F7|^JdY049>Ivy?#Q&SVN;Iu zFlS2{*%W2XPrEho4fn=xlpfI6_;)PNYxtekc|;^WD!vcH_+H_TiZE_ELyXvkh(I52 zF1HZY0+|^jMMpQC43naxeRsqtG<=vKp*EsDs`YN5B9Cglb>Q=Bf$7BpQ==lg4NTXj zzWw=K{KdfR)($N*hE!Qtsh!lL(~IF89^IN!+|zv%k9E!Kk$9|Yb#TBnUDaCCm0FV# zkIQXM>r>x;O)rXTT0e132T43Oq)`%9ZSegs5387B1z=+4ywt~l`zWoX=iz|4H zA7K=$L_9oAe{6a)9Lr-{bBf2Z44Uz{rk_X}ALn~Aq&eXEysx#oo3uKk88_JK>eRPi z-4$_lb)2iAR*ZUUXvQ9Ow5KpW)XaImI`f;+N0E6ZUkN<=CYu#nryp$6*#nX&q z;u{UkIL5y-#2o!Q6KKZ9_`atZ8~wX8o*0HK9KyULa1Xc%wq8|T+BL~(67Befrn6z% z@e97&>0#P2#H9a2>)k**{zL1n1D_+kMG534{`R!v2CPWa?iW+v{v6*K&+!+BmK#ZA zLpwI57Xy%PYE3Dg$G&ODe=Jt6h&*K}Q6(-S7H z=^$yx6VoV(c0AGdzdY=^qqTz1Xaz<)ZnqU|PJR0o{CQl#W{#x&Yi2O=?qah-{;@>fD zKfI9>h{%78?|UNhAN{+ehwJ=ewFJ{3QTSxKmo|sqkG5yZUhHzUep~GxWBK3l%dD10 zY&xCX78HCVh6lVL!TM_L%+>6WED33cPH1N1K19e~2cKfso!}>BT6bI!0fO8jWiAbw zgzF=GAq>UAq2S0afbHdoE&d~khvqi2kuTTCmyeEoVi=jqcfD|Jtn3Ad1BqG>A@jYI+7E$CPUJ;B2j!Cw}Z9 z5IVUT+r8zIE)cH`I@wRaWOf7GQ<}&86i;bAVOzM+04GdcuzuWjoe}*-S-lreyLS8tt^Eo7QNj`M!*1*=VOXkNMF~Z$05h zi`;x}@;Im6t*rA)`Nb`kF}riW6BE&{lNXCx`XAA_XnGX zjG!%Q_3>7h?skaAl&$yU?S5^&x3wPhW8c<(rWspSE&b@aHOenVqw$K{$q?rBE7vdCb`D=Sm`@|?3x3OjeW*qy^N zG~(RHa=pVY9&W5ZQ;VIf-Ju> zG26)r-+|nY`4ut3V_+624rEendR5@%IV?MuH)oTYXl>p|ZrB4iU_YsqBHv^r=>$iRCC5RO?rku7_#SxvCFgZo-d z08=(ncOA6LVHEDJch9(MY--@q-x00QN-NU4VvMD`GqZG3d?zg%I%b|qSGq^*dDuIT z%j8DH4NNzDw|8!Bd*{}$bAPjkox?lUzJS5++&kjV1>^AO&hbi)B6KmE(6_k*WJP#5E`l1ly=t7;hk{~!7$v#V#UD&9?Crr z(J{&dY{I2W_nI5`2bew+m`QBbtb74E8r6^E{wwI7GD^wa5zsc)=F)xUPF3BFBfoGuK?HXc!5*=p1k&J80(wY#O-ga&zS-4n{)S}I|aDG`aHJ%BHJ4cK5)3T zOwaf`s~>2J!T7wwDe6i_@|XP-ap}0XeB-!^e-A#l>VL+HQU(bQmt+G8x|3`e5`vRW z$GPMuQ;2aSha0J2s?xSs#SsF%8kBBtbB(qqL7aOxCfLXWXOA>k-z3?zu)g|s>4`}i z87n49tf%GAq`3oW!uF!ENSE%0w{Ub^A@pP6QLs!8krG4gt%E6gYUA{oU{j)oPp0<| zegN*Yqz!Bg)gGVT-*Mmhf`F>2eiilw&s!|p(^#M(w^Z%@h=3_rpWDFXLsLe`w9#kb zcj3+3!tZ;&#(WIF8*8+m&j;gtLQ0Q^pcEe^2I5}t-IXx@xRq9?Xj8El${dOmH8$*0 z&o^fiY}vMrfgCAr?Hs@R$&d}0Kk%*@_hFk3Q#XnnY}&)`ie#WKYjYbjb}4sjCmON? z?bDe=T09tLk^cBF#)}wIWfGJtK{yD+32fKfy=(@(}UAkAYM~te17abQ&-*MU^f&1gZVcOy(Y1-l>FaJKLY@DPqf%|Fy zb)0rEf$wA5;1yH8*T=|#X1U~ikI?KzV;;}l55L5t(1KtgZv|Kx4118~m~YB~8nKJE zAYmDTOVY}eM6L(At}&jM?y9=knqWak8CO7-^#fy0`!md93ANLCZc=0CNg&Kd2D#xL z1?g*;#*RL11oWPcd)XI-j=_$eDnKwtsl=*(_4H zly(yeeOi7BU7ixw+?d2m_lMU&pdmdU7CZ!#c!)yto!OEJZt##x`mtx@S}Cl;C;7km zJrT_to4H@-cjG#P?L4K2+mz#kr~QSo)JV@B-ff9inv3jNu~^btVY^Yr-mu+^*sm$a z10P#;XS`umdG4ywMRTy1J+nCvSeaqAiOwYX@YmxDuHHf@q69qO;yzc?f%D8gy;Z5g z)FaR!8?fuuC4y`)&1&X3op+smfb1cu|YtA?$naNxOy8)z3?j(D(LRwE9x%_YIN8p z;xME!ll%I+#iECokQ#BKO6!>%}jYljg8H81?p&~An(1 zLL<94Z{TZtU8n+j>2Tu_z$@kfT!kA`-JUm6^tPhx50@2OuN!`WrBgG?vTI0yk~Neb ze(X^me|(vpas7jzz56ql{OsC0vh&Z#pFfz@iwv&xA(dKTF1Y$?7vZ0v!3}=iYL3QH?X;OWLN>HT2c!W|0IFaa;PCCc?yCI z4?PJK76z#My`exNLzbbL#35VLll+>j+XSoWRI=*TMGI&{ryb4{eMNN9V>C$k4|`VuQTMB?$8f zFNM4PRrBr+{uN?o)i18F=3|uYe09-p6yq1zwRjDrT+8rA>ml>DFMm6Pl0z4fA$l3n z!juEuG+yH#yxs^V+p9e`7-_OUJXOWHOQ|&nnuvUML^sVQ6Ss#gHM+?TiEfsyjVeXO za&}0Jh}|3r$Xdo~u_ck#A$xRF#S=o8V5W7G_(A7<#eI&qTR);Zec?6#hIjgl69j}7 zyJ!?iIPD~Ta=Gk6=F`u>yDb{GslxAhHNV{sZ7aoROS|$K_Jm3Tsl;@r+Vn6IBXxEY zS4WTV?=Z{JyVV;Nu^Z@tdD|kv%tWMamk2OKXz7KEXMplVV<9L3w8JY-HztIy6kX5Q zqPfTeWRR-KU{r>rDmaVacM1s>`sLJ&v^LcfRSFNbiwdTppp28)h|vyt(}d-fdHYNm zMQs$_rP9O%W%Q;A$J-)V`##1`(W$rKEtvHK|65Eta=4U0L zOd>&IhhpN@+lzG1mL6?;x%Bf-%jno@XkKm-on{Wq749e9t?Lg$)3L)dx;`egKeDH` z;onaU-~x$A1@o86wTg}7KoaOBHoTux`*3&M?R^mG=};A)Vdj5);>evzS4k8LmPT*oIlNV~KTOE9Gqv{qoaz+-_Eht&SS~5DMZlTV3ANR1j zh0w53dCRC*$*F=G*HX0HC4UHcZeeG#e7|lFW<*ivz!8)>w417NQ!otjbm(tASy96@ zqQf;bK1!hWD`;aj^w3uD;1q&S(9hrqrIB}%qq{tyg0z}+Ps?g2l64Vvg3Tt)kR`Wg zXxnP4V3U=}4PI}R)DHCt1{a8iUyz3Jnqy;0k>;4}Cn7y;f{0YKO?5)D@Wa1%%j_ul z-F-T#49d_%1%gC~j|uhH=Sb>xamFbxemhjbU&gx1TPn&^Gs@%C#p#(SadF1+FFrlP zOvGQC_zR-TUp0TRG5ocbzaYE(Rq+?z9R8Z&FVtZDeY*8Um%cCk;``FmzAyFQ`%j?fq8oJrnFetykhBcdD=kzf(-Xipht4-b}IzjQN z=$j5I6CtRnnYdb}xg!sTI1b{+wI zrn)j`FEI*Z{uxZ`6O@-v>YUx>VEG^jtIj{EIET-@lZxM_fd)R422bB_(y&#}U?mCw zWxYePp?l>g;DOq-#62SZX`eV%1|7^PJKC63VtIbEC_1-|NCy>h?f%AuC9;cfiu1X> zTNeCMUT*VmG%ke9?Z&xc+$8X#5a=Bh6a(Inzi;ohIZ=8yaH5gO1m1l@k&$(`#MngJ z+WRfm=nDHr`0qr6Xk2TcB2^32}}pK96)JO-MLRW9)8OagTUfH%G#Fyj-lkKb=4rTa{%n zBWHa`mnQ)<`=}bQ+*@Ep0o}d>7iJ6q@OmT_V3QmtDaZ1B6+5NK@J2S! ze?((Ueo6Q)(#a8EXJ5UTMVu!h35Icq%E!jdvfE92e>7pUhS>nIFQWu?_aF8a z3fTn{AFjTc)W&!#(Sfa@rXa-qFwLRY&8lOv-g>bxMP`Y@)_nNsTxM3cVten_eB6}y zu*DTmcw|i#YcX&85J;@qD4<=K2Dm6q z9oLiDKS)tqhAS~8bsgen~`&j1wA)|;F3Wxh>=DucsW0Jomb9d=)p1&CS z#ueNjC;3O;^whh}sE3OptKOP32!*zK|KH+xVUf?Y3X8zsMJZ_ZAti8SfiT#F1yv>E zQ|*O?jb2ztQi9d_*G&pMqKj*3ba5?>3X9MzQDuVW$Sj4o$t+Xc<&l63lE}21QS#%p^lwK77UKGc@c!rS|MeG+SbMdw8H#Eu; z`<`TA*kFXkc`R<`+!JD=l1-}=L|!kT-HqCz!Fh1qaK6`|srzgW)(4YajJuTgN*nE; z7ldtF=u~+>2gwy&%LE$r@JQ}d_;Q=E2iCU0{uj)>T&mYtb%=7SDW3X|qUnqpX<;S* z8oDt2qwl-)btpFxIN- z7V-f#!`0~*{N=3k=(NrhI_?i)wH-nzRYL08G_U$Dk5)f(wSSXZ%lS5?8pgTIg}Jb* z)%6j!MwfE}eqnkPLD-oel%;L&R}k&6R=cud2N#osfku}c_2D>FHw`8H6tz;kAEi^Z zmxGM`r+lj@6dDA=lyQfmUuwVr`W+AYMl70e_9Lq|d2$Vd%2l%r4$?2PwQf+Jlbs(wS({B$n8jujBIA?EA+I9T3l93z z{{BRy+DRtOX>ZcRm?I+2?IV(%EnpLE)XUD?qApVrS6#_e#I*&=8Jd<%U(=vF5fd=#Elruzg)JerzG)JR>MXBO5F@tDx z#tT3{fG^~59i*r_dpgI-m(|~3@`3A6j8LoX{p|!<>VV$m6dN%thDOy&{Z|*wxC^$9 z(_oW$#LfYnB5^e)wz`w#E2%U{+bf9UiF@E(&0qO*P6 zR;!i`ChC*Yneje(hJOGnRuCVK$@?W2wI7KBPzHfI2@39UwJ^N1u4R|=f;9f#tS=*j zDT5h;G}2=3Zo6ZhtE)$uc%SJS)x6q32UxV0FJM^61QvB9y(njR3(gPngNV#KpzOo~ z$PLwSDICn1z)INq*IShIA`l4?eqCFtQzQE2a>x0$rr@A-qlXbHN{m9D@ zyqj#9y#0LzMsbi zgo8J*2{u2z@{tcVG02c6)-z8w2N`B2ld7~+oUp!6DYt%N!4am3b!#-QeikTK^^YX1 z@V}0Xxn=co>}^45e;7Gda?r-3j)9?{ouKQrXm%u_cDRb8;lvMQ?o28l6$f{9)j<18B+hqD#NrB1V77L82FG;%o8$l*+*8>(q! zN~YNWk)pwre4q`8wS`zc|DRXoW{gb$lU&2vfZ$6aoQ5t}&vR`{!@KGk52AY1Hp7Qd z$zm|c_JEUFbOOVbkO1@+juY`D7J)xhTme6x*a!D(i+y03knMq5z1SY&wr!M)j%{0` z+3_zEH>JFK>&*JzhUAnmrwhMnL{>r5^Vh1dkJV?oz4r;2;=ZSF^U0fP$LbY$ z#OtJ2hHMDXmd4hdS1+2t=~s*tapA_jSonJnhHWony6jW+=Kxphd;4H^)<>dNO1_|JLnx;LG;eJghrK|lt0p0_O&?&3F{ zsDF9WonIHfCjmhP<#+@V<%id^*01$fxGU}Pr@&u4Nw8>w8Mu)iC%<7J$&5PY8K0`= zlgrGETQWbWo)VGUk6I7{9g0Qss%4gm7SvNnIDQ@*2t+E*b2t6TiN4d?vh!>buxuQL zFJ>+L>(|opYawKU{7AP(g?SNXx31r=N%Oq2J8{1o{bFI&z>0Q=09AfrYi$?S3@iXK zL`>LVYeR}!N1M9SmGV_y_NEg>EfKER?(^A26QEtbOMgL@_=%W0Bnr_`wjPSA?NVq0 zy^smaadqA6ZSq9&=`SO~?sC?|zpRPlRy`MXRZ@UD4oA-6EKnkd2Sr5nrTxKp-SC8Z zgjKAc{#K#rFnM8fg+pA!iLO-t74i#>}wK>w;Yy zVE-_t+{1yqWK>LI!v$mUQv+j|-GDQWZRlZxGA3f@JpyH!&O_sm!WnDw5V3D4V|gCR zhytPSHk84U0+iA9L@48XgEG1o_^oNcFCKJrEUhDNfKDep0qoLQDty9IgnWn;Ks_#S z@Z9qNK~Dn)&=-G#nglRLA37?S_Y8(|7&IUzd7oxpv+|7ugjGHFIK^|Ef%Zr~fMo1x z5g`J^M16KY_#~19pX+9JA_t)_Xw2PvA7|fncIu#NuBtCs#_rv#>|25h!1h(o6}s%I zi(O;`y8JxeCN7D`j@tfQh~h43q!Qw_a~t?N5QzS?h-aV%&<$IqUmO&|y42!=mxVtN zV{D*j|U#}Tmvzt#q?cgr|x`IISm14 zY4D|;vYZkI&@{uwX&Xflgif}px-CdwLNjSp!3i1>wixH=56WWtg3kH4`?=q2W@A#h!*zKV>2>sq<5$$XqWl$7;kpX5Z852+_4DDf$6vl zP*1w<*sbeDneB1pQJySN8No3+qU;f_PL~t(pl;olxiaGpBft=4x_6bRVi>A$z{q;d zsc>_O%NWdE=Ys@Goys%B+UgEhs17JuxkIyYb5Ei7caY@+BHfkw@7C$Nr`T7wgs&d` zG}J7heQNt)s-8QWxlzCUjI8dRkyZCX7Om%*$Coo_WdE5T@lKvUSg5D28!Vo2!6m=N zHw*RR^ZSG;unsBeamFa&Ocy{G#Of&O+4TU3De~Hf&QkU2oFa<`G;CIRM*hOV{4=y) zWnbG0NcDb;J=YI%5aM}z`z{Wrd5vFQ00(53c=W$4klh(N)Z4sp-JrarE_p5xtj7Eo$mwi#h!<2~Fu~<+P4!g`(blY!NyT`7>=v&uZrGLUg(6=pGfK@- z>;2l)xVfsO9zx}ruJJdB1)roBiX{j&eIPQ;S^$b>`0k=**sxma;XKB89aG1o0APAZ zPpqy2N8uFVN z?Bw3?B^KDRr^)XgOfME$t}tbN$;f9e2>Afb`Ix%15rc}+m;1*3PoOJ?}<4s>$QMjFbYZ~a!-4@Zb6@^6qFFR2{O`GZanve&Yb%rw>{$t(*;Qc* z<>Nht^3iPSLsVpBB1(BvaXhgoG$#R2wMhz#yFhPfP9L9ro?99 zVFKe)0s|Nz_yz~2K?i=sj^n!LLG03x!WjGAUIw7`dl7ygEJ)zMthAkP6{!x=trn(x z6A=hLCCWIA{P7C(1&MvabeU;DJdCKr@$!)_ED$Z#J#PU2g=Gm3c}3iK9-tEChT{TO zqSf{nnQdSkw@m44VoKKdzt-xQ?Yj*+X@1kCQ{}FaK@H?sG}NJw#ho3Q3HztD+x{6D zn2B4kXcU6r7oxV#8yund6WfIrK0Cp;?L)w5L&?Pe-ix9m)8Ln;BokVHiVa_6H2Rxm znKE)|G$TPai2=2NW;L!Jt_ctGFVxeT!*+YqAMiltHk{6yd3uSykJv6Erkx}_XCA&9 z=0b;jj-M15H_+aDfUq+fLPgWM?c_jcZ~UTiTPC&3Pv4HN|Cq_;TEj(4EZ)X zB&g={CB_B{rUlM*iCcob`A#W1NC7J;q zw&UEKHniiMcWcMBJ?y#dQN#*GekS4vE`&Yx-7UaI!r9H5Y;nlxqJ?-Fd8|Eo+(<*t z%qALc0N6}Jq}TB@fYJ#xT+((54M!QvLPvUfYYgN1U@`7pY*inEOJsd;#(0eynYC#o zzR*Z~p^;ge2Afe5GWTW4oNf%S@M^aw(?J8bl0oD|tf!IcJhRCnRl+)EHFVFo;ADc^ zn2kUWVJc}#@?@GTDw858`CUegVC_D%k#=zdW0k*47svC^mSp?(cUD^TFlvh5I2vsn zjW&)(8%HC50FC?sG~!1zNfz>r%kE z#34|TB{>Yc4bWDI=-4W0+MJ!_1=}-$c5+&P1K97+tB?YOHH%4=DCd1{upn$ak{|-q z8Pr5dv@KAcAi=y}g1qXXEl!q;MXtNw>;YZ8ZGWj+I26O4Z9QMln($db=y{-H_h_(j zxK&Ug3gUT%y9I(L%INcn*M@3Xknt)Jj|_^gB1F=`R&U{n7i`G z4T+QVS6x;zkswfV|H1e~!~jiQBpFe?7z8x(WrC6*U#31Bzo0-!qG@EwJi<$mCDYS7 zg6=83Mf1({TvDCEAM=($owQVx>o4Y8Cnx zNR91k6L+iwo~^!Ku&bejHX6dDUG+-%U`qBe&M<9l6EvLG9Ri0_M`7K_!xUB=Lq(2X zgfl(u*UiN_X=|HO*lCDR4?Dfo8lqheJ8Z440G%{Mv$f5&iD`&XusRK4^Fr;JpBjQ# zp{Mx&oNKC7Lq+_VHub4x4$v&>(!|*k3WA0=H&lB%(56&%nsbOc8gh57cOVjeKsB96 zCg$teV>3d#cY2&@m!`&6Ll(enbyt@Y4&|wl7@M9!6Ctqt3I0??uQaoE73wgvP=6Yo zOb`2W~MOL^ZFSyHkZ#!(kTHe|Nm?SAPautI?s5cZos5&`j<{(X^Y(v90d#Yh( zCC>#umY&Nw3ki61*COIP7-+Z8&s?U>2*8l78`dxq(DjK3u!`_lXJCdkKA21v?RKoAtiIG~ z)JIdBV(3jrS;nF_!x>4wFNrlsWOVHXL>YGy8AEy$HKy~=&NL;S%xckej$Ke&VsmPa z#ryzqR^fccU-YwTY>8ooWDVF|%ht2Z`WukIY=SmQV}((|dTWA#b(&EmO;9$GgwI4# z1DX7m%DmLKPMJSKm?!)CoxpBHq^u%3yQ1je8+R;Qtkce)OdZM z6GYw)fi%zU-`=`JBkK}Pkmi?x%fV7}Ohz?>`v~uw=7kRAr8HubM@R;d#GYzNm($K zmhi!4XEDqi{qdSo<%=_SZ85qtS_fmUUX&FqjO1o^1Ux4RERhH}Y#c3+Ym+JF1D276 zc{ZZB3JGjHPBWro>l6O1%C3?azJ$=ks(^{Ty8Mq6mf z=zt@@iELkejT&cO>S_uv%;;3VvD#=tCg5C!T<0QlwD4l@b26v@`)zK?P+S0 z8DHVQC3%wT0(ZLf{c3lPHJ)-Gb+(X;RA#70?k7|;y#9)=`zJ1$ zd10rTmB}(my}@WeC!7FG0P8=Ux#PGP0D=OkT`v`;!3kdPzL; z>FQ7LfH%-xcV#O_B`046zjn0gU<`*@*u4-I0;)(*GqG8;CsIJ$J~ZXN^ba`&z;#Dq zfCQ721WUEPuq--WX{0!?i9>{TSKp9y8K|^Lmu4dY%Xq$#$1**OS>el+xr-#yq&^8G zuzb7LO;|qHy3K3~2|gGssN5AGFnHO~tNa)4qd)UI|D$H-ZNJ@(FX`Bk{4o7+=ma`Z zd++pW8FwQ*N2k}f@^Kq&t3s&hK;V+-16bnq1{$->@1H();A_Va1|z<16p6i!Gy!7x z0WbPqG&@okG+Jm2PA@x{!kT~(ZUkZUm?M3WF5RtH5U#c!y4SnCJ1&v6DmF?#hBnej zS)!4$L?hZrqXJ(v@~hLRbO+5ckT~A6j48~rKe|}0Ygw^?VAV=sk7N)n6vl5`7U*WD zA6@a#!X1nXZ}ABUE%?uCz2DD^rE)3anQU%^HqgurrgYCoGKea22Vui3ehwc;U2=y= zb$@|)Qtm)15kjmVluu)&P(zq1ILznjF331RO6r$yaXESFiMbQniNb~famQd<)(0&4 zHt<$?NO%X@0)Iy}gN}Ilg(WuvS)oJ&LVY}6M4*Bz1)M4+jCBc!firgn&tJ6937 z+G%`SK&j=WNT}j(9|EM|x%5YbZCd(N=+iSxn}^u5-lO;U>x{xi3Nm1t&RO!Alq6yM zF=c8`kTK4b>(HKq#xV+n!a9n`9~jZ0EB$Xsjfo#mMa1U1(b>vTtZd~+FnvL^4vtNv zSq6VkVvd39nQV{1$Fa30u$v}oM(&n;BhXDO-xzi@O8duaf;8ADwl?l{={gF!Gv8Le zKdEOT%Z}R+^C^~HKo?`1wjo@Pv<&1;h4_F1IB@ zvb(xumf-{TDDwwG#Z^?We;WqMFwoqLReFAJ=V2W+d{b7gz${aR34mJCbX<&=upVYs zS3I>C=EP+sW5C-IRavuumxgm1Vnxs(QRM@s`UEW!QI#uQx*VM%5yL)k0PF>!!jK2H z^}2^_y^;q4&+57xF+{w!aG!oiH=czvMs!bx2q}b;a0VkXRo8uIHxeaPTcB)Pbv&Z) zzCY6Ie1GB4M*0JZ&gOA>oBTXY$z~&J1;%NjSKL9@wYqK&(0Bd%*mXF|cGuBnf>;9) zfcBN9jB~_Djmd;ERAlp@=ob>S!cXDFV}kUL^YPPe2_9`yg`^--Wqyu%1h4~WB!Ocj zjfB0S5G3T9eXHI$3oaGaW%B8zvn{F%6S-<~P5le!@VfK~>0>J^n8v{%*Gi-v7DRfV zo1lEQENg8*Uja;eas;Z2>#4G4^|o2FxK^vHt63H6h_IYZTCXD5{W4cTfFln3yxLj# zCu--#-QKmGaW$!h%gyNyQ(%c!{I(229B+*m0o$TbwPC`FiWCX7&RJlXDRK$VPNSN3 ztFPIfh*(ETS1du3=~Nd7;giKrD?thjnNhB?^n7sF{4scS;JVTiMZ$q_83d(7cDT!1 zit7$Qm6jc0j)Q!?f~eG~KI4w1AAS^7mF$5~r1y=^GAXTy2Nl-Tt?mYc#H8A*ESaSZ zEb@Tn(xNQ%A>F?erP0z-MPYR^6lUUsIp?=Cg3v+dpQIL1L#CJsce3gpC`EM-;o{3r zI%o3oQGol32Qrl!1Jo!b=%J}+t*dh4-{Gp9>`#gQ&w3x3;Qnc0j5e4}(7v)s2Otka zqDby{TxSp&qe!h3++eBBm|#9?sm}IkslF+97v9)n5PtJp#yKYWKGk|s7WMlG5s(%N zuq3{aSKs5KKRHNtlvF)(u5kN@vGdLeWM|mswcNe)q&3&hoWXr)q!xGtnW^>`Ze|i?pfNQAsueB8*j58;r2c4c7;V7*}( zb-nil<$@Yi0KOq^$D0`RrS%QI3io<@))y6bXW5(^*IBFTvpIK{k%SwvZ?R#>u4Q)I zjacOQw23eqn$0q#o8EXJNKL|~M9l>u3UE&F&LAvl!B)@`K-ue#d+`ek_legQlsFvP zVR0gNac)V8x(1_xxU%|7R2mO);u9j38+M4U5T@D^E9UiF5GEQf={D{#$#kbM57aT= z3xuPr-j>(%{Kx%%e-RCePH&?cszoVm6cJXS6@gu6vLN9t87BJp46@>Q+a6mZia6!g zY_IMzJ<@$+`hN^iQ=!h5utw?~wwSA)cP_Rnx98$tJ9j|VFgpvgm))aqyRZD#oh4yG zQbPR){4Hzw#CoCFYkD#sp|$VM5f3`)*WQFDIy?cbW?w^62vs}QEePks409rz zI)&ofdGB{+-k_j*^$qMB?jGGdwaM$&do$Hx<+2Am+=fOn>(bTRfRWLgqond*xx*gX@w0TNLQfV z*z0tQ?@aZ-5MDj(&bBUFn5kYufM|=V`+1lo2!}=#7)-l6UpZfWfTK5Qu-h`~nLLYz^_fXk#!S7jhGyprd<|dVL5QEKqHA`A;`!tBHd5g zaqqhY*11VR9B~PIJ^*Xo)EFf??xR1@H|YsE{{$XEBFq&VEBWQ-Zru43BMLoG&Ka54K zdh@IcaZl-GzgN6Pc!c3bE6&M%^;R-j^j3&;N^ccp#}TtQg3%thJemPIwb?e1q%b@D zHij8kB4G1O=;1MWAB=Oizr3oBunMGfGw;J3tXh zx-HS^LAvpW>ucphfuU0{3vZ`s!mot5-0B^|u6US^ny@NE+z?U~ita}{jtvfpJ1!#* z4$@h@W43x7-dtUKrKwf8d8(Jhf-|JAmSX#@1#RHr$6nFh3HFnryUD)QB_8N2ZsvA!gJ(%>A6>Y3(KFj zwa_GW2xtj^J8OH4)W-Kn{MunDt#NaYN>iJu*j$w>Y)`FVbN$vHogT!BtgSsdJ<19n zm3}RS1&?a~wl@7{lx1!DZIoa>dicRd`v*N-CjlGN^5*R6@Xl4F${){K4bmIV)q?Yx zW=jpu&rMtUyM9AUHuM{|p~k6B&CX?KAXC3v=Yn%`yT-_sgsceeX4%6`?*ScPd8Ymf zlv05HJ^QBXZqn;&hw-*ntpl5a0-!gbyOQupHtPJ&$^AN zPcn)S|JM`T?+6Li z5zDdpsFq!v|zbHf2~G?sCMbIXlc@< zfLu+lV>ThQB|@xtPfvN*c3WjLunQ_%I_zNs4&|s-E>I&E=|JthF%@oQ#RTmHN9{UO zzuH)M{iPt^o?va*hbs!*KxeXC!>)k0Bk(Wdo(fQ zx@*4YL2fE-Pv%~W@8X)={r#<-$-WD}OR_J>yUPAb{X(pif(Vp4U`Mi^#J5tbhU5Z`1XnsSN9qBV#Wp^0n>`Tcdd4V4!Z+unyBm~stc-_iDb zNUjM-DP{Q~?1o`mr&UoQ4EoDu=KODhP=^S?uw<4ux!Wu zc5*Kf9BnbrGO?6Po_1rR+K#o5C?s+*(D>q+uslqru5kC4)rS<>7O>wU+jvkk`2xG< zhJ6g8hR8!8`R-$X)U9qy_Ti|Ma_g~ss7s+40LXoU;%EISxPN5$>@DUTrCtUp8D`BQ6!jSbMx>Em%ujWy82oA*-dmBuuv8*RregOWxj z!ArVfNL?B9vNecx)2^}Q%`xwrZwN3HY0_;mm6eMsY&k-I%kw>W_Y^gmwXHTFTj=+DGO3nh@zkx51u-PruJ=wR||p7V}f;nqca zfIQG6Lblh)rc7r#M43B;=CPoW>Lz@N$h9$&wN3atGRWFmsJ;8bDd)1U^XF~nTDI+O z{yEj#rh1Rl4?jCE`~WOn@qeG&{@q^u?&k3qFD}L-NLwtX(Yhdb%M|nji!nqNpf?N# zPKy-t(n(T`+%18hF(!iz^AWvwS)yZ6>r!AU5w|M~>=={&*;m!mvfUKYJv1 z#yp(+-Wl7HB5cs;&fozV+nLs*4N1@3=Wm*>p1*F?4S2}5@&6<(L&AQDvb04}p-)kk zQcei!@D~QM#kKM~RGi#b1{7rQ$Yx(Wgfoya!M-{ksUPKoL;8NFnAxw1AnM?zj>?ua z8uDwgzJjd-2uV#=1eSDkH3CVLi9|_3z!`D|NicXNs^Sui2$3lhSKHxdRDYngk~ZZ2`UhUroND+suYVh6_K|t_nvW`RE{K|mLg7toJV+F$#C|O! zj0r39PH~r?&9piD-2L!f=!Vthnr~3nh%wZBJ#oyOk}){H?h}f&A9!-6|1G_I>CJ=r z*Z2?FUiV)?()o8vL!(^y?&tMPltEVMXLWg8UfT^>5N_%v@tsONmi@BCjmmiwqV`L9 zHo)%6J@;@^1?xZVIRjWBf7MgZ9-tITL4E1~38{pc!4ni3gUv~LBXg4z6^J@5=MO*S zuGz2aX(Iv$72$^Hs0cUdc{G@=#>&%wBp**Tdf2fm?wZf76Q!}#SSVf5fK>G%ll{cE zB9&XYA{*I8tT_Ex4fVi76gOO?;!NtMr{S<;1=Pbi+; zf0UXt`&?r7_~NYoqxIWw`s*>D=`YLt?Y`ZTd5*s&a~YUT%s{fk+_08_29P^vIB3s2 zb11h^qft^rJ?}A`I208ZU0tt|P=aM5pnh51NwwmL_#o1>y@(-Y9^9rgtPzM6q7qb$ zIzg5dpxoVooI_rsyX{D>%}{?yQU~7Wt6OvzW59KYiSJW=a3SG2x~qDg=}R=Veiw3# z-YN@Q@CcWx$%{|ncV$M_jR8@3lk4UwigUYa%?Ra`};L({RTCHd&hkbUnu-HNbHG1 zTP>t()(&J+Vds;W=DN#Mm`Q|KF_6yKCtFa0x+!H8H3a3y_Bj`SsX=Pymt6u`~AN7yJC3aBIPvG z;#4y(Bh1P#nJTTe@uaWyTB-$J1Y)E8z>USh zd>~kSppSWa;LsSRSKUmJ%z2`LX2{uL4)p>vL zf>X@T6L<){sfwu2Xm?g6si*KLsy`_&8h4OR$9AX*m_P)8Zrmdz3;`2sTCl6B%r~X) z{(th`KU%V?y7%3+cU7G_r_SlF(=^a@H&Ul)wb4d95rH7lUJSaSMT7Ug+`POu?i(+E zWV~@lx9`O!gy9(1$N^dc@mCws7=PucsN@RT5&RJ~dibHDqP7tUNiep81{JkcR8)lb z`OfuYuc}k0e?arceXkpOSMAz+uDRx#YyMhu&4pAPNPn;BUELBoY@PSp$vsPvAiD(j z8LgEC3^-pjVNfSuWEh0xi{&wByM-Xp&(t|cZFe1$bVa`>y*Q(`#k6&b1FLOJ&FTKk zY@x{+k{ymw2h*-~j#K9K)$VT^+cM#eQZ}IvS6#=v71%l*f`ruG$E%nQu{x!l60w+u z%(H;ZxRUp6Ce#TNng`7HkTP+Mxyv&;b~bKogI|vj;VM1&!>rM(WH4-^goHBO%3s?)pY%W0+u-b(O=hF*Ws3VwV$R_fw5} zet~s8)k#SVX1~ai+FzYFSkYg3YEioWE{cF5WfA+H9kb_07;=RL&c-ohmUK~1iI946 z?C6w8JFz@NGKHKmq^G=ySLbQ0gbACy&uPFywuTK@To#t8;rX`C*jVB2-aqLUJn4A( zF1;KwI7TN21VOb!3ys7x8}DpVXB&o|9;`TTZgsbx4&wF{B$c+nhHGnS_--kG)`suY zmC};?Yyj)b2|s}EP6HT{D2|Qe=39~1v5lIi=s4fH-Jp%ts`34&crH|j2fJaCk=$#O zwioBHXjW%p_=(Fie&U9Vj6k6zY_JT@Ubm*T|Oy(n0$BtMpO9>{D0 z0@AXO=!_S_yq?TQ58V%~fgL2UkVr#2h&V;nuKJ~PoTP2Uc0g}dq^SHM?bsn5>VJgA zf;c2tjiPYgo)yx>XtQ?f%n{VDgm=gtnMuN5W0YzDjuQ)}MCxpjm5BIe?`<-uHuyf+ zk?4_KY<9>d6GiRSC#S9li?hGNQ}oG0uftYPNl!M#(@%-N`|g=Ul&O&@Ui&O#)ZSAQ zu%Pyy>cLH0&jU4MzTYT=Z%i+X!8iIhr-A^%5zKZX&-ytWt>maRPe~Ah);z@nA@etk zR?}hnHfK^bJG1SYm~2=RDwY5 z1n0Fs3zN3pUaUkJw~Jim*W50vk?X$Z4oxF(^_rXcw1~B9xUc8{VsH08&Erl{g^3gg z@|J?V_4N1_(E~DrW$ivaz7eqVPt&;B==Rp8`Yjj=*4&i6gS}Z$eb)LU5q+>e)C>CZ zo#qGulDm{_VFB6QK-+j@b3hDdLH^=AL?9W-EmWktN&21|@VS&(|EVvt+&~qI33qBl zs?Sl3*h4+}iF1=OoITxj+PgvXR_|n{sO4GshS-qSbA zQZ-xD@@+f9ji(j`esq6^q-8tTW2c*MoWE-@xlW!9U7+sb@PoXdb3{1OV&p;UEEq)m z3WG>6vESsMB@a@#V(39$=r{Ri$%9pR5DUa0a#hTD>4WsyAdY)*d)^u1qEv9##FLOb zM!fM`X^6GBdyJoUzm*MftO{YL7t9+2i*a-Q`t1axl`-&dj{{;hhYk3%(n~~}HFKX8 zpN}&)jH*?X$Om)yvoVA`0Y+bY0K8F!RlF0%8vkf#MTbY5t@Z>v4wo>gj(7PWQ9tp- z2Z`_%TnC*G668aMAZ2YzotCg~^^fZx-(S=FQp26*dvK!nPok%9$Hh?I8ZgfvbY>)B~KJUhYfxOcsR0;)D0o*f%t&PGeZBV{LFpPpV~EPK0U1D~F~ z5l2!?KcEzOXNFS)C@H=;@Yub8J6@{KFhV0!S3G~CsA5;BA|Ra`hpBQ#LLj5c86Ji8 zo+=Ru!Be|jE}-2`P8Ds~K~9J;dqxR!W@@72etI8)1|!Uwv5oPB`JMDqBFyh(Z$zAG z!f>hrgyGZ=FkwrWuzX=n9hD{G^-Qp7q8rcH73y$Z!ZT+jEHdhxI;F5;Q?FwbDa<5Qc;9;M84QyV$c zJU2Eno-)r%FD1%6FMDGtWmtg=Oam(78t}}x2Dvdx9|X2>ja{J+*Ckv-6xw_nw0%aP z#loX(>%xKApd_lrpT4)|AP327NX{nf58wV)G^hF&}Q{!}0pCuQ@p3 zreRV1nHq_VIG+h<9Pfz}iys-#!3iGbf1wOgl`+lBAJznlj^;tkqGgSwU?ZtO5Ss8&;)k6XIXOhk5p6OcRC&^S zBkY{LcyNsDQ#-yy)=X{d-I4cb$`AP+p+_gn0f}s)U?%cQ;I{)l404G44Yk}$Ewdg+ zqhQDiJ~kE>l{r5|MTab^FJ?GoCe;@M8Uvv*#-{pG{aTvLU&`M(IO?JJZ9<(+O;7iN z>zv=68hf`h_HKLZ-R9W4?716lO#?Tce5X{!fa!if1f*i?Faf_@Q=((j-J4!t4#Zfu z3<3AmuO$NR%ilRT0dpl^k8?nDzYyI&is)DB7IQ?u5*l5*45I&3zm^dFr~I9RBbw{l z8d3BX+C^yY8%6W0b$hwq{c33Pgk{jYvwkh1d1wC4!O_eW-w2wELUVBx&9Bw%##mvAQ-hZ!H1~|6 z`EPZ5Ihy|#nzZGeF~ahm`n81SJ^4G!qZyrkEs5Y_hp(n~cHxIn#{sY1LN|EroL03& z?f0kUuMdtpvwT=ViidrGsrJ~vUgM@v*2{2?zaCJt_`E6A6rXP!IHf>kakPKWK$r?? zo5Az%0gOfHqu1}XpRHqlqkav)(pvsT{)%sTT(oSOA-Zw-F72-Y$1d$32iR+9x@04+ z6(rK{V)V_z8Q;txSqDSohX|W6$m# z2RQZ2rd*$%QG{!#XZK~0vYy=+psie{XWy=0i#_{x{)+F}(m((`Lr5KD%)V0tjy?O% zIKZiACi6Dav&|zt`;QD#*0cWz&{izdv-|7UV$bf+U-3O#>dezKl-WVX?7KDK*t74B z1Dtwhx{>HDDeJ>y_Pq>J*0b*gXfw<7?ECd=v1i}UU-3O#>W2HC9c0WNr~${GJunXN zaL-;u&-N7~gZ6_ARMxd01aQ;KbnS=rYq4uT%wO?cTk1!X#(GM%SKi_BQshT9?AW^> zje{L~7a*Qd{Sh79Kia_q88ovJy(BphAlj1M7)kQu`nA}>ALp<54vuk$V+TL9di{d3rgR?4p!fuzhq5;PX!K?peSB;6S}V?JPY__mJfwt*|$-Zk2? z>ub^;g>xCL7y%JOZLFc5ii#0%Y_5tCaLT8O5pWK>iV;lsv#cikSymH$?3>fLX~$zu z_~S7rbfnc5ZXSPTc`lbVXR@7PqJP2}E+NH=vMeDdU z5537DZBHDaB5Z?VTF;452g+p;lyZbgmh4JYs4DJPv%yrpEDOox_EP|jAN_tcmSC`qY#F#p{beCC2XTtGj8Q)|LZRxH=+ttXzKgXz86qi$nsn7L%oxMcT zc9^A;ep3&?ssya%-ohq}cQ@Q;^F4_pC23f-$o3>Uwl9z$Iet$fOgFM8(YNrv*n;v% zAX91qZ0bFUZIarWF_W2{f3nm4>|j}0S;Sg}i{!K)v?{Eap|S&*^7)oTHh~NcP)KOD z0g6(PGc2{Ej*S=MGghw20RTvy+}vWDK-#_+5}eZ(Qr@r>>wMFp@9y5%-Jwl~M4PHD zadF)$h*P%%{u;D&CQv!2y?*3v z@P@>!N8(LmT9G*f!#o3#`K`5jzs(RYZe*LG@8)f>o4hVKabsiHx~PWhWZ`U^Vf~zE zNk7QiX*kyrMg5qM?(D2{h<)oHiLHlR;<}EA2@SPgC)KL;kWE`ZXRVK!a|r{#*RgZ7 zcGs9lCWst0&i#h@9#Y_wb{S zvZUEBIaGmRKqj>=zKDG?U?gAHI={(--)NbofLC)HdA_$;$q}a-C1XOzS{y{jcH<>G zwe5u5rrSU@WZoptfN5hJQB3-=jTj&JlkK@m3RY~%9)^l%JXe*LNJ8R`q?)Q`qBq!S zO~cfEMQ}?@WEPCy8725hcGISW=J%TJN3UqqJJUQ<*ON$772q2vK736>d9=DwkUrdd zx%R)=k85bzt=Q?xOOSLyGL(o2{UzU^*(w_aCaHgOg}q4vssB1ZT5ou)e;%<;TV71P)EYq(C2V$)4P)ezRTk;jRAdYe@n>!x`My)_aMPAEljxKk z@`B?AD4IBYb4^0Llj7|*#|H#XYwmVy%Hv8`a0`<&7Q}%wLvu?ti zqB2DjB<($Sed*q){it0^Oyv02Gmhqa|ExW!VcO-dFGahq_K=~StSW0*#sm9NAkbjg zT3QM%+Fq0kuj#0l%qr+NfyCzWNCIt73?#tV>eO4uXmQf_Ay`?~2k&vF^+6FZr$B9G zi2_EzU}2f*7hA0<-brRF-Sf=_`)cTgB_myL>&iMAET`c&M>|;8aY!8uCR4CZl>iPh z=Z~Rv4({f*=49}HPG7N#n z1iLv5M%8<$v{NMQ7aeA!Iue<^IVTLG(+< z)s~kBdRGJ*EUyIg(E!v>nV?}=7~as^Te3T@R&pHN1Zm`U_f_VkdLdtJh6M&eqjxgv zO&Z-8B$#k$^k&jX#vt}Wy@N@U&T~lEz%=xRIW%f}(DJPVD@Y+7)Lv9x{@8Tkcqkl$ zH5>>PS>KwfcQk<;%x?lH>}E3Nk8%U;@dB(3sH}RFb<2}xbZn=f3JzKrQ{NL&Y&?Y#@J0x7`D|Y`$mqWjJYRyslKxS>aX0zCW(;DC|KGR%YD}aU*ko8r3Ud=vhw6{k%;Ag^WW}ULtLN3AZu{zzq zs+LwE%p4!=X?2>*!NWmRxp>;)I6k%QLMbq_T@=NPWRZ-51K2~TPbLo8mrm<#-uy4 z!VhPX#RAJ}x*PE|2E z^Sa?vI|9ju>OyLV;pnELmixP3dPRv)jhyLjp)%yh+wN_zl$s1P(JLe*YfwaN^~OEe z(;E<_#(I>Yvz#6eW1Q5*bSI5iNV- zAe8)CLw)39O>BRl)-D%lfgI1(R-lO!4vtL>l(WH+h1x@^qH}NAg zTj8%tVRw52NU|3zccu!TxO;9WIZt>*DD}SIm@{6G_%-(|)pD_z%@KH1ku_t%kRO*z zB~ixpOMK681m6)K00q~FV-8e-S1P7mGdGSV(ysT3(O!zN;W6fIBYL9sna#eK1l15V z{9IH^LJGff-}||$8>@wy>#2nQx|Ulw!9DucESLfFSy|0i3)ZE|O^U;MvC}$I>U#b= z*f~n-9V{kU0EL4n0cP(I9llvsJRrI8{4RGjY*g>4*Og-50> zqijMuvS>Ud@?GW9!aU2+3jn4w4@EC8s}Xi(%QL2t3?^)>8{Eh4MK39&&o~UkMDL-gZR{h42&Xw49ltdpKGc7VnRNF){1as4f=%{!XReEs! z8$4|WoS0aPInp}kZ*DBlsQ92N`WPp;Usob~>w#9twm64zgY~a!)S*^bze=oMh~sr= z5bt9Fi5O@j0@KDdLx(dyrZ}Q0HVY>XTaj?n-%d9sM?1ag$cvw{eCkU%aZxEJE}{78 z#yQGC99D2WWU)bA;$zf6?b|vWb>iLSdo_PpWAimw?#bK&cN8E->Q?a9iCQ%ZoK`c|6Giofe|)z^tiZ z=lZ8OU_l4L4<^nkR`Y}fpONq!Kus6pUuy@GWrFRSWz}l7Nhzzew1CzB%mzEceMdl! z)wf#y(>CqU8IG$`M}mbnsX<8lLblETMA64Futw~^99D=1j)TQ97Gq%5kwJvcFkT@( zXt1JUDrP3Mw(Kd~b`u0|AsNR@V{`RI)n**sHCl7Vh*alez!2jc5lE?IPLuKqla!EF zsuF5peU3-l3bdvXV3dlf>{NdVwjqXS05d9TdA3e2Mk;BL8J#s3&Tu{y^AwcG&}Xb{ z$mFR--m626YRvOq*AH0;IT~rS4Gdw&DmoUYCk%}KoW`1(P{tJEhHhZ%Iw+a<<0m3a z2u`w(xmC+VkyrX*OrQ0 zbG#mOdy0S(173$ftKKV9r71k4K%kCS*Ctf31*WnPrk0Y7qWN;iq>mO&n^rt}^i6Bhb11uyw?gVkF0^$xU6TPm5cIDxJW^8 zk%Hi|iE;#7P|b(Z!XanP>xs$>WR(D|+?5NaC&VUb1|+pKLnY0ibJ5TYh$WQDh-RQD zp)^AotuS+sNCu#s_A;8m%`X=8fvMDU<#u5lvg*hw-pE+mCv8sINRuo;S+;^jMm14`0`_2e{U8=vUNv!RTIXA$FC zOGR*r-25~1LLez*(%pd}^mzyw0Xk^WOW%0KXhbj-1PuJ?upgfQKkGl0XBDfA!U~c| zK1m!POD0gKl?4wbhk^nM%rcU+i%2PBY=8)JO(Kru)%v>cqC11Ljif47$^P@KDv8*& zX3(gl#iBrBqa@|c`qioU+0>HYT{_TGuMIb?j)Ex~QI>;Jk~1|x49ZaK^t&F#pbid# z;%AE?99dHSMiE-oD7JP8L84`T)Qs|Ys|+2am35-w(~wVy5fXilkpY20 zs`D{Nhw@qQ3$IKI;??Dagzb$sl&3L*T;Pk6NXT8bsOgrra~WZfev?`1kfdKwE_EoU z^3reWNPPkf102B-|5?_8Bm|a}GD=D>{YVg!^rITOlKeQTP)UBAraI=tp|{(KL!&iM zk8sKO6iYP0(>M$nmlEz|3!A6mex=ho@ie>u8%lgvB=m70*)Siqj88HWaM4ZcLQCeG2TLU5aO$m}* z`b=dm%NM0(<=$7LJ=0gCJzLdiRg`v>F6a8fv*-K5voG+4XJ5pASbqC`cEeJs_7CSy z*0(=mLoAm+_H}Fj+Z>t88_O5Zt<&WtbL69LEH9orQJ0s_JxQ0B&7Gvnd}FS!>tS$I z9l?jAjzw!8D??~Cmp8uC80%PZ)Cp+KW2H4q{fbWUmt&I+#Yl@e%W)f7}H^e*}?c|2PWCQRq&7{s^(2G88cU3|5gKhMAKf znnq_NN)Bo0&#WUm6$*fUwc~}uQTa};0^R)G442>qk7yVkbenPSzM@hv`FO-M3|P7q z+h>^TMD0W-&NaKHF*j3fp^6Gh4zpyJo~k6%D|ga);Gz1o;bkGjDWB8*6Lhd|XU7Gs z&|(Q=)7cXeE(qFMrMmreNcKyr@@sXAW`pLUa4m>T+u0&`#*y&6MRJk7RcBjF%w=z- zOmw~8KLIYOncz6%3zm~h?39`9at7(Nu>%p!C8Gr&NF$;FkfV9lh9CW=Xsefqp?CbQ zbQ}Gd=FDIyc~!$u9nhM|0q?Hn z2_}{M4)Fa3Lzq>gU&EML2i{DqjwObq^)hdhH_y3>{QW(RGpZK>T04*o^(@ubec(5k zw?aLnoq#&;&O9Z|3XWs;N?-C#@<7?2FCPf$>8CK)D2C}aTGOM<>`pno{9{kRKceyd zvGF=ZrKlSZ=_#lB#-E%T=MVqZcflh0}3x5azw*+^OZt0!5VpIqr=vsCbRQ$Co??$gT`V0Feh z5=KF{uab8F;CWr4>C3o)(M!3|i;KCyVJ{H_L_*a$GKKr`ckv@NN+C&Rgis72#g;=0 z3!#O#>Pi!D(v>!@(UnHn=1c8r*~ZAsY7An1UZsASn+8>`>B!7BZ=rK0;QG9iAa?q=O#A%!%@`+|AE8k4(>yr` zL6E4gQo@KY3^4*He3X#Dq|`@b!OL;)CEw@{Rec|zUb{PH*wzVi*|9oujqqa-C`-mn zqST9Zw=RO54MHe_JcoUolTy+^EBm#so$)^|rSkWQaaA#xCX1z{k)--k&clI@`LS==erSoKOM=@i= z_oucER?hU1>E7Zxk8eenR{|Ah-1PQAH8U4E!|MWQD8gZhdBSPgB<~wL2ieDNZk~ zk3@wA)NQ48^%Ivo^|MDm3By7M{tuYcwVaugzGiqR;%qWsx(`g09_|qWatD>crRdLW z8}y((6{0Ch_hTxeuAs`4OoF;fbDLkR5P7K2Y_cX+H?vL*XxD~@&5bad$~qH7Ai%H1 z!UtAxck1D(qEL(&$my(YUNLJU)NQuO#uH3mEMiiG1Nk(s5MQYct7=^UoS`8U)yaxG zPZ_*W-T4$v-d^Z4-4#YX^;5V&Lyjb0!TMAvF;CQuJaV0%trL=rt?0v@X{Q?-QM}+s z5qB`yCfz&URk5_WVsPS#PkPdc{Lw#rvj3i>fB9&CPGra?-Bs_@wuVy+!Oz0OEc zSC=l_-@L2peSpxD3x%bhn#&&83&#&($~Hu|e=4|^bz$kk-T6xrt~9Mq@^;r#<7n$e z<9s-HAFpeK?i84PfH6+)XX5FzKSIz5On(Fnb@wlvYddyDWZpm({7$A79@nWV&2gKW zz{%N(pinD|5!tz{l>=X40MyEyZzah9d?|CGWYg9;tR@td+9aWfbi{_-iML0}SD&Kf zQx|O=GrPRmF7_D2hTWI%YI^ZL@Xc-%i6bYovrio2rCFfUO}a{&sV93Qy-tn*aVFmK zcgSe<>uA zKsL+le`-Rqa=WqRTULkUsUrY=Qk-I@bJK2By-}d+%3VsDJV8UcF@Y-F z^CspN$rxx|#Lh8zQwLoq3%sTGv`Ht-Yoe^0oii7@*PqpI$)D#G#fvmmd4gk~_kD53 z(#h6D6~oCaBZlChf;j^Z8726RWe`~D!N5ufM3V!NCZ}W_`Pmf|)DtV6;ydz`ID-qX z#snT2bf7VPQbaFr)MyEir) zYd}kNU;TyHY^VWU!=vgP&8EV|?n&0$P_tN3%%#(Pq}fF^yBM3T%NJMf-Kp77zPN_x z=SwPE?2fZ$L)GH`;WWEX&F+iM)+K~1_o>uus3Ba#n^~jYrh35arqa7HdwQBDmHSy5+fXOChBtG3Q1|RqADx{k7;t=?J*En;4Iz^Sg-jM=$fT|bEaNVO zOhQdyDkammRMOWy*ZLNU`JOnoZ?eDze-H32C|uX}t=xN4$Rw2atzo3fPKN64nJ~Y( zy7`$fzv}|Mg}dV6fNChvOZj3@O(k~SnTBd8uDgCYR1XN%0}<7_)^6oq4SXNn3FUTc z7?gMb7b2>4)!f4UB%&Is=2A--R8!4ccebG#s@+z-!_-+ajT6w?NNHSEI zbowupylMuT|80mR%R%&a+~B4N53If z+q9~Bk^{IP95-5VXz!$3^?N`kN!#4pi9vhBi2z9LM7T+vW*Q%E9^zp#N_{`N10ii) z;B-@uduIvmSg~$TEI_lm8V3k z<4w8}sk=s3{Hi_joc2V|DK9SS7T`4RWyJcTBLs>3!GdP$UjHz=SCQOyuY`}4`aVCkLj|(<*r)o{!-`cxgokv62oLHC5e{&52PT83 zm6tAcpV$|P5UZCiM}&4wgvDYU75pG=VpyhXm$~f|9NHWg#Gu!eNrM3#>ylcdQU8ZP zAidPlqg)8*+A!CY5CzEoXu1a`ci=AZm2Qe4_fPIn0Wf{MkB^=HodR z5=S7_oq<&QCaIJ)rDL#Fsfg#`yg${M7;fq%rY%dlOTLA+8Tp zxGqrP+CYT`QDGrcA*=m5<^Cm6;afR^K?NX2lhp7!XLP(r6wH$G79WcqbzN9@lF{Sd zyt(K%S%z^gA1T{p0&KOt5NYJI1+%-Lm==<=N$BUo^+klq_3 z=tI?ezl1qanIiaJPI=6tX_Est)gLUv(#m#@}z9x zo$6F8CNf#y;+J@(df3++RaG@PVxwv{+U-Vz4^^YlVyUK@;9H|H&7Urn&`1B2-3EWN zKaK8G_U(`#D_$0a$@))v2ZLWf>dzG3gTbAurlx43RdMChRMlV0?Lbu~zfS=z?*!kxE$E0xhdR)SV<5(6h8GrnXO>IVuiMoWOS-q|O0O2x3LV?4R`$k@Wp$vlj>R(2%XKVB0+fgL2LSW|oyr~Vrk;v} zd`}-z+w>H3(|US9I2?#Q&5BAF?&m)VJ^gVIA6iBr!_igaY%%N6eF5rzLERsrX62*{ zR;~e}A&V8IpRiTIRY_t3wz}9oM zF+6EGV>^@>{y}mU)Q5*(N%gMH<8{ zS)lE9t7;Y{B7zbxxQZTMQFzVB9c8NYL00q;(xQ*9qK}ZD2YFMFS(WU<{Qy;BEAO#V zHiy8|deS0C(CV8)tJj29_o&r9vDK{FcGhaFx$RGdPf^#QR<#>=q_gY@o_bEhdV4eJ zgQ4MTL&FPdcp)~N73iiyL(GbZMY{bQPSMjNXqX(Q(C$s4-MwmeZ)`WK;+=Ik7W4LU zH_1P;qr``}#b*`jYy38tQhhBO)Z0UAw}sXg)!JfgEvo{awHAwk`6c4ug9pIX}&Tl;mgW>`c{EcEMICW(dOl(mF0OW;WAYcQpajmC`+*Pz<$gn2l? zNYgaTPg!=q$se_}yx*j!`*q?5WwA9oXrk|%cqD)C68A`YDNa-DBi{@Pz2hFOAD{9` z7>}kmXeRorq(P+#cYmPPeSup0MXmjjTJuADA^wBSzmj_MVKW3hCEcs9Am##Qmup_A zsKH21GQYix)D~)O^B8uW$cZLUx|-BTR4PgmTjPVfm(`6{(Dky=T9QpX+4oOgKK$h6 zBTuroWRbci+AS&pG>~`rz=|D%RiujzSVU!`kIpKwo!oe(`pjN=c0;VR&!p(^8E2OJ zl#}H%XA<+-CubgGpQ$>_{k8VlvYXkyqi0sx{Wh`NV=fr1p_en;DRVd}aw%OsCi7pB zI^eE(^@Ja?D?%^K=rx$AtF~|dFVYiP`+Z4}sqO0Hl6GlOY2&c2(kIzoVb1JT2{g^$`U|N{n!hRm zSMyh=XWTvahUTwMPh`!9?vsthn5{T(j%vb6=pE`lbuH?Ff@srf1yW-W4!;WqM)>CMs+JCae_fpm;P%e*NwRW07J^Hh7%+pwtf- zy(+Z^Mprx(X!EMno-lfKdd5Bc#emVP(-TWDsua8=*}ZZL^c(tg+-nj9TKQYDp;k*q zye7a%mXR^e9=)kFczg4;`I|S*xBQ#0UHT?tzFRbh1?B}|K0?@&L-;Gwajoq=qY#)r zJK4HRD7D4@-ATuh3m${l)$gyi_{8hdtFh~N+>=`eCt51+q}AY(kbVi+us7nxT-Kgm z{x>c}9R8RKMeZ&GdTjverfWD;joki>Elp^$iI&hDI;-5GG_nEu-M zz)J8RV3qtK*Ez1g&voMF0X=(>dd8jq3i{g7vQh*8`WpSVd*9RhD-HeE2lP#Rtqkb5 z`&27K>i5@eR|LatdQMSrVHnY*wavUznUcQ4ZMXRJjbvdKtaQ77c={=*_><4zB}l9P zFIb0=mRPof=xc{hM34~Cbdlf3r-@yIW0VD_rbcv=anu(2#JZxX^lR!aO}Q(-5Lel+ z34OA2xC~=d=njP$qDr-KFbC1HJ$)ah+^>8eI-vZMx)0s{iWfo+ib04GLc(-k`~6lU zdVm?dJSYR_Za3wL#IYgv-t1DI)N2(wR!Es2hnPvE2h%DIq;?o5>S5Ch6-;AaO`BKh#pI# zvcc`5vj)KJZsCUGac97BpCIpxIQ~rr+3mTr@HqZWf^9g)JcgyVjoFO0aQ)^QkZhYb z2MFEdcO~2AEyGW~W#mb0oBmEKnB;vcGi;OxuiaEcY%c3u2vJIydsu;CM+C+F*1Cbh z{pQ_Ragy6_4ej_Ozqh4l+)b|x1OB%3L_eekC3_hWcL^Ev5=lEWxvk4@PcWdGa_8P2 z0E8hK#gJ%|_uI+p#eULMU)3+>w7Y=K15B7WJ0|;GS#^>Fr9_}V0RV25abVG%zpa}l zOP1-p!bH^H1_Uhh7!J4XuQGWwXlt7Sasg;Cmk2tyLWjgi;4LI@?)Bdc`PU1>oe48( z5*=(i_(`b_Gv^)YWyoMIz&paLb|zP3O?x5CocqOtSkDCV16S_Xo&Aw3-&unsz7l87 zI}=#r$_SVu53<5lG%J|nmJM>fAfsQe(-r=|Hng;$mKI`5@5)>Hw|ORxc;#K8CBNm^ zZ+7W-6^*Np4`p&eN+dC>-vUi%_6YPIK${Z0HV3Ud3yXPNJJbnuhGx8WBrBfjl|=Fh z4gYJkJqX#dpzT2maeL6abKv*f60%y}9e_{zfI;;3T8?9vcDl>vUut5}@7bYQi-A%k zdX;S(k_{3%@-Q(C?WK5-tI0K8p(U0U@~s*8|2;Vl-@i5B@ScE!-?A&Es6AdB1K^{u z6uCalPoMYJuS;UQw|)$Oe<9e-~ieDQmT!kh7q=+^3m|szTaC5c!HMm{eU;HdkqQ zAk9a0g=9B{;o7U=+RJbeZ|=DNku~Yw^buC3#b*B_H5z7@=Y&4d*vZHXaSSy~GQL(I z`o{k?Rfk+$p#W7;HY);DGbXZRY@-oZP%q2-)T%7tHDiT8L|42Ui4~54<$LLcuWb#| zO_nCLwTzBlr7IoXt*ZiAT-|&XI{Lo6qd)y{=;-@GM@bL!&9V_saagQ-Hpj(YZ==^F zBZxtir4vWtDE8s{(1+_nAFd63SWq7pVjr#_+lT8zA5wzUvVE8t-v@RmFb>uBL6>ou z%p!-jDFIT5xs2?#DdC=g>)pZ)M!PfMx=-KtMO<$fi|Y*mS06ZJ4l-h*H&f*SEF`8o znrs`0)Qljq^ALs9A}_EJGsDRkXVBHXI|636>k22_7BE{BW{VNC_m9Qw{Q)yF*@ig5 zFiV_p9;gLb80}DT!4XpMRY7W9C8-4kck8=2R^R85Vm38DFc!}b1U!8Z^dJ=-gG5P#(N%lZM>V6>u$?ns4NVZ?!_ebPz9E;qI z0lBp5w;ahjM@q7N!UB@rsVgMATUSVSkFeSovASt2RyQpj$b*v%Wz%sVs$or{(mxb{ zq)-WdzBdJ+(P=uKVim)iX_^+HONDF62;MI}N<88oU4^`^Ab+Q>kaizew-5bl?(K)` zhDn=!KWppKuOA+5pDxG(nn3$-^j0nWg50Hfq?sCkYKv-MF*fj#yn*ksN@fjwWOVE> z@nv1tHeGa@)8dVF?m@MI#6O@m4n&*oqj?*5-WPnakA^mUlsNf|2Im^d4dCpN+}MNM zFu&v<#=`lB0LMr1)9Q-Bxk+&7^IpN(8{vFxES!%8INq~Mt0e~Kz5r*x;OviZK0X%C z#{-;D)+e5y;QJLgcaJ!A4>sZHrEz4RHV9A}s-Mi8xGU~F|KyS;RCS1gL#nrY0h za7f|h{xqdXiH&#Mr)og6%&1QV2=OFEY~5-8pN%LtbYg3YbHH0G6z6!7CJdFZRG!L0 z+lw{S0;r1tYF)4HSYPaHz16Eb3Ww5Kh?}637J)E+{GqfkF6F*7xi@eD#f@B;`kS~A zgx<`Bpra0@B?IhCF7)keE~JHR;X?H8TrN~lIG+m#&+1TGY976a3!|d5X-__bkRRvP zDs;)YwF+cT_^{@L4{}cQ*DK^X(We;3#ay1G8Y&b0lT=YXv7MlyBj+oqAR*T ztjgBX;%pmt@~f40A5c-Qn8V%kwb{6+HX9d8a_gcZqFhu&l#7apwoYN)hmhD|RXz*q z+}8`$*(C^7Eg&@1DkN6fQEq5wKWSr1czA`cBidF)G@K$t*OiSvM{e?yudz4jSWL4* z?n)LbdY4U5#Wt+3HB`lxE&QYz++cCReqQa<>h19xbn)e=11H&AvBDmz-OkX-tA93O zyU_}JEW%NpPMivkR8rL^ocoRCCVdLW4f*C`!(w)z&ctk-!%3k2PjSVdI){=`{8^ko`_KF7%cHjzfByRz z)s1tSSN4l@&c13lGo(l_uDoJUoO79falZ4v^I(;}E*3AFD{ZwRK%Sr9^5>LhE7I4_ zE6yqY^GrijIj3=jo`z@zf&PffqmLFW0A%0(lkt9yOhlx*A_9H*(PFm&iZ>p5w4l){ zJoza)^anG=IsV?}tKN%5f88$%s?jlcJv^#JmFGo}i^XnEAtjvoi(+T*7b;1^IJ(Oo zLT>Ery&Kj!rRs<}Tnnfn5@9TyQn3f)lxodxx_HA7#deR9tURX?`yP>=_oNZS@T*9p z4ZJ#JhC7Y))cmDa?EX~uo$W?vv{G_*LN_HVB;>g0NG2}JoJC7i$QPjGA|c16Nx98K z98EA(-Z2w$2s4`*Z9g+iq-kcDNHcLpmXM;PR&-=^o)F#AJgG9-R)I^OBBUzoc%I~2 zE3R4)jdPbT7IP+*Ru5VzWXYo5U{aq-s*-G^YCfFLF)kBOaMG=%d_Ky!uAi(D`f#RV zxmu$1p%s~axUyQxQUQJc)mG}C(@>2L{mNqfM>vQNDC=*g)p<*6_n6MA&Re-4m#MK#_0;Hkt0NPq7AuKryLG_upr~doJEn9E(WXNb zO>eJb7Q&lA)YgsCLk$w#phg3Z`j$on-mL03-QEvDG8yHvpxB;UR}!CKyr3Vn4c19r zwphkVC|ite;zvn?!m%V8s}vja)`~xI<1rm6VW$Jwq8ST3GE-J_vFf@U@+oV@mgkdd zi03uGr}-ET89DfASPIUbFTz7E`luyRRijOkJ&YYso$H^f2VKu4{aZh`#XnaMzw12KX7(no}o;mW| z8vk5fc2duUdXqW4zJIPRC#mN`9m)K;jsCg1@}izo0?JUk%=0@6CVH0>{vPYGQr$bo z9Ocrh4MtgP$WmV~UYBsL@iYSZ5P~wyWp52CA4s*k$poS-8+DJBoLIWo&F@~*dp#zf zzE))LxH9{C+ztljeJoC%^Tz8gpWk!&;(VneU_#Y-?)$3q9dmz>Z-FV9gRXIoWQAFN z_JgNfzloC(qsw+g91Gxu0pq> zIg#Exfhv_S1!eV2r?qV;y5DOEj1~!+X+}Oavu?RlgIej-AT(Et{5U<}HJyyX zIK~-(xCmldjx+KBUy+$C)1-(z+mxZ~Z{w5=-|pVqTzb~rnp!O2JxDBYk%`4cex$h+ zsA2C%a%m#Q4k0A!^6UGHbo#kG>&m@BzF{Ap1nCWY2g%J`&h!pPg(2Xlzfv-|f10gr z)-~D1*CieZR+lWRVJUDB%SvY8W_+6Va24PnHH?C)$X@HV!u{-HARq%GnKGUcy^)4T zz*lyKw^_o~0$tXWBH0z;4&;5l=A8)uErJC}Q^VS3x z?eEI6S{km%*bH)s&A8;2{3(PhAoyYN*HQ;oBe)6Q;*CD^5Ik6TS=?0K0OY3IWEy4I zo5jSA8U` zZ)9>d-L>Z3B)>l#ieOZ;!rP)7F&pv=mYsvcbkoql;^;^_hj1I5o~D9i$e^*+M2g$6 z{UXoV=B~h#=5mO^HOI*qjt+^ws>G?XRsD~o+Re6@S7?pBX00I zgRws}#gV6BZr6cGRmPB#w?O3M8E+zx(X=0(A)o0tW@S(iebG5>g$m0_B~W7@$<5MKK{co z+}Xz+WYgR^Pea}&CASbtN+^ZrWh zs~>b78RHZ%Z?*WZY!tKYiT3R5>||$(e`jae5op&H_V4U$Z_65D4&1nF2a|3hJ+lB69TvSkH#0e z?h%Ry+=l6XtZ$F813i0JkL?_A6z9YR{MvF;7x#-DZhrpZwL3wE=BIl;2WtjtN0QX6 zZ+@CBT%T?L6G(+e;Sr35L9x!=+;F#WdmZaYcQm%G8xW>$Iz@9H{f*ow;I9KJbWvtk zfZFqTk(1$WZ7>)H^`{seVDi#!gI0h-9LPf<9^DcYa7zQB^~iT%nmqS~@Mp^{{-#0} zOp_62^dbza&FHdlFJpH=+nsbF3b93v<6RVYhO&IVxv>*n4akedOSFXqYEer;0BN|` zHbeP~ezE8#{%psbjUK7b0OKBS|9e3K+d8$-pSVaT0!_G2G+xY$N{c)2&eckZ0io#( zy&ENv1oz5AbgpO!Xr)Ro>J?JNxeH9j&r2%~_C}^Q?t+9<_ZHr4` z*z@7N35w&=r6~@InweBbp$y|D_*R;^l9tm@XYNIz=uHf(bf7w@2%&lNjYl*|#H zp=r&VsyeP|V&InIJa}kE^13O)aT6Ri0}5TQxm`Gif?WS6T`)pzy*^3DAdn=g1l zW9eHqzHq>97Ff6Z@@`}_cvCNA9XPN-2Ilw2X;1|pbQ7N`sPv9YnSo5-`tD>Ln#&lBHYv3i%*=S4RLbXH8`~n4 z7aA|z#ZOF!;ynI^#U|V*xhJXGb$2&(^Q@ijlI<6f?_<)TZDU|;J3-ek;68&=NhBAt z!O0JBQ!l1+5EV#X402O1MilLEi~n3{3bU3`ZJ|3IlAZaYX*W@A;opMWUH5RASoGg| zb{chOXTSZzKARIK#Jd{uPclCkV0ued5*X-PkW8d|cKR&R@VpMkqJ}kjBW;7qd@6Rb zP&DD5cfmS8349A6C1&nq)MKGbLaphAn%L1MUz?^c0EFmN_VM2qjoByX{M3F(k4sl}#Idr)eEfcGSOiTG!={=s&5pS_IEC%8Q@j|S{1VvK^|fi;X}@0%7PP<0)vplrD}At|A$TQ(vbaR<@LWXyQcS^vul{URdtn8}F={wvDH)I_IE zF@a{)fP?Z8*q>u+R>*?M9P4a{`h~SV1dxt;n;uE0v)EVqv+5&pFk#pyVB_S74;UxeHS~{ z#UY%(h3GZ|qZM)X116*q4P%j>Z~W;v9EF4b#S4vq0_PG;dtw>EK?QZXEz<6JI6QoY z+NPHb^@*%$DF)H2aMrniP&>jh$`>PSOU6$b+)&~I@%u!#FS-J8}%7a0{71bNeE zc~3?iuCsrbha~&Z8b!aeEf{WCM{J=Y-$}OKbipc(QC6<^=oImN2~2DUDSF$sqlmA< zPV(L{oitih*66qGm=WAviwT={@Am$>p|ds#h{mYT&++Q!m=ENgt2xV`OfhXpVJj4Hb9;7WQODpE-#)sDU@;7{ zUNfXSg{18_RKLIbf3Pqk9D9Sx;xKZtHt;K6)fzp7&AC#FnzgAAx?kf;=}i9!TR7qF zvx?KXgjWEz!NmCnG*ZE<+#tw?iKtKOwQi;6d3t@f`{o9p1>o87L4b!_r}~M2S?_=f+TTJe;u8ATveoI7U z!eQkK1^Ci1(ZvQ!QV4aRh#MCO-2KZjGb~$2727kzxM+rPNdaxF$kCZOynYmOA{xE< z#-MUO*|QlbLcYW2%8}KLNIs|}?}u5VF4zT5!v7(?2PEi;on>R(Wvj@KInEy^jID!q zoA79Nb6N_uwO@QKQ2ls`V1bCeueYE^+4~qs*_tO5?8>o%&ynxl*Nh2wXDgsJH4_{FheaL#tVBYqcY~yI&60*9L( zAPLi9ydZTTUGMKl^Po&jA*hrEHBiU1MYH<#L>}1d)to4s2o#pI9xG)cEvBUmkPQ=( z4bwYJEodF>d!@hC+tGcXu~f}wWXfeA%bLF9hnW3|X(T|f2S&2Ii{8HyDC&K@g&u_z z1;VB1{mX>hy)qIMgF|=kwsjc^&9EkXnDQ|Q55!<+h!ow=kCFIUZx6~8%Oxh@UB?-O zn4k~eRLrUO@AOYU1d(6SKffS*v<7t@(#kcAdcTI%A=kGnr+_pw^J`<6f9%@ZsA#vf zx3E^Zn!!87P)9*u^xlu42ZdJ?7v9+~IXDZslcYoXru!3i$Nx#cVRXj*Q8rdC zULZ1&g@*eM8e-ywa0cc$(In|rK5;aZ`lcR+iC9bV`=?E}b%x^=>A?6OzszS;0<~@7`S%<(5)5AOnS+lP z7ULezkoPyi1W}$Su{vUDgxFaQdOqK&{7^8H6$ZBY=}=?bCbC4z%7 z@5I(bo9_GDOU;JN?L6EmPHgnB=60RDz})U^fF)#gHhS-DoZJ9)bD&9s;`GWaNx|Jq zXL{7Qh_li*h$Q<^1Tj8@48#c<+hkh?VceLh0SjWXK-`ajsiAj!--UzHV<|4q_@KAU z6hQ2Hq%h~U4LmgXUM(4#3~81G-!)0G?^Ui|VarzQkLI zEnVAK>U^bF<(GQwm+tz2pA_g1#>~ ze|wPgCwVbHB;$jefB7zV91DAmvcP-EBs`<`KbLerR(<@RR=D4TEIiu6{hLpOaQ{k_ zqK{L!e=EW{65)<6Uq-lpBZ4~;;XVqk7Vi81e=OWjlkQTUUO6P#G4PfOcA`ms(cq{H z_J{uQ2@ve#lHjvQKpn129`Yfb;XLkPzMm}Jq@Vg&&9hi$cFSxO#es+Q(_w};EWB&6 z(c$n0`f81W0?pnr11x)`<2-!VS~uG}zUUtHQCWB*)a^Y=uP$G14sE@WB#T_s_P54` zZ_9Yv)Jq%<{tX)!!FVK5b%6|^CYE5yl@3yZMOjsHyYu=XyJ>Ny*G<<3isB_$q<&9+iM>%eA1Lvi0QM< zY=9Y;<#wO=ae=x51~|qg+Q}Uo>L;upZ}I(ja6a_os>}4@3G2sOjYr&P0?KSjj57pB_WyY^~Si2=n%^wX}Q{1Pk#bpsI zTO=Scu=kP?BP))V8Fh*<8iAP+7N*du7QtB2ykI^O1uS~qwFFuOHBFk{cL^lMz=Bux zrl=3oWLtJcYGo!2ehWUmuUfhum+@&%twXLDCxg^o_Xy>B9&SgmGQK~*2x3-3VAcP)>{!!v~Nu&L>h6d(a<5Yq_6nDvNiOhg8teco*c&*rBMp2 zJ(og%_FQrd>*vCL_!QH#=aR=)KNt4lCx6bK8;#RxWx*zBJ@jQAo72#b?4Vb2)ZAeX zy==57w#^n`8ed6_WlO(cZKgq}{Ds;=dor@;58*_m!Zh6crDUmns-m)kqU1cZQi)v! zpPt7L3Xn4Zd~2)Tl)~k%B)rCZTljggI!_<>RzABfe@lz^4L5xWnco&<4=@r?S9vf> zpnLRD%O=ZTXNiy3SCQ&E_Von4hS!9&WO_OApSzUcEc!-3gmR<%sWD|yHr0#twY9&D znU9q_T>HtFMd9X#IU@R$J(`<7%t(B_%C=8i0&ob-uD(N&6U=hOk*!7vx5+5GgHgR* zKdH>UYCqkM|C_IyIr>O;ucflEKz2uGBw8<(&3q`%XEqGwYOtQ7> z7We=;v}{)N-l~xbtH^nkWcxp;``Zo1~g^@VX|He5Pl-=EdCYs`+1&tzd#^3Y|nD3 z1s>lMRYTj9I;8x(M(kHf2O1owon)lNt5LoauD|OdV^+{@@P*1KRI4UzU-aH$`=T{N z8F(vt?>8GCy#TvaNg*X%BVgx8_qlYHvB%-8)O3r2WRsi<1j+ZR#>A+jn=M!6W{r7C z9TFC~In4qQ7cKO2Sq-ajks)&kuQ_B%x_xhdwm7Wi?(iS9_aly6#n>rplBHx6C<#FW z=1W2TR;mNrO&3&Z_5_C<#ww9tzm!Z=f7?#Nx`Qo}AA zy~9&=Vf5JGr_uArlq@%T%tPA0V ztBLLPLrt_L-t=R&3oSjb_daZ_^ZZ8&tn=~5&BoNIh(GP|+DPnsm1>>JY@|)>(C6l6 z9lRaogvsmW7%WU1LZ}C@n6%lS{1r_poq$%k^87prOm)miS;9JC7k5`W!qjM=%wD!_ zxN_%!jlLK6o61?&7CjPFBJBy1;!~Tt2}5A&UYSo)9lysA4N?vi?`1P48DnkZ`BG?B^F zI0Tlo+r9JPQ4@%$A>b0Kn|aM}(D|B%0IGj`3Dq0bmU4?PyB1IPEWsR*E%_Ad6ED%;biyv{IBAdFK z-e7x`;8o9}Z%!F_VsJ3xVzt&;UYx{~Z`uk3HE4IzsTJ{mkReI6n+#x0s#D*t?Z zR!`uQ=y;R?eBbmwDS}_9)Y=9OH^Ok; zziPmQ?!Eg_bM6Pbna${8zMa>+)P3XGD8e7DWwRFlRMi%#1QMQY4&Zk8fxLZC;zwdl z5G?LjJNqU3UDymyn!mi{i`{|0Tw^sc$ThztR5nm0jjYCv5F__j&fhz3DR#89f#Lrm zk3sVq4RmTjaPwmA|GGdrsgJ4HaIF`+@)CM5!116 zB67oh`9r;(l3~NY4HS(oAijgrf?2r#{$h7axdXK3IbF{~=nA^9yVP71S3Kfae)+^0 z-}bTUn6yYw>{6U0n~$L*@}r{(n9Hm6&-(Mm8+#jcyNdG#)cI?%!nDXNofIU+XrNP; zOmmkxxebUdSLRZSR@2}nwYoW$f(>??TX(TL>CYbT&donL9OE2E+myAJ4ZsV&aX$o;0V>#Sm+ZvGKte<{|qyZiO#;;#d8 zxBIFwgFJSFqiiR03WlRlhv6c40azEK)c_H{$DES7%x(0B`xq>t5|)!`WYgLe?&~x& z!k8hZ> zHH(dNC_ET%$SpsO^K7|!<{X8)RAid+Qya@I)WqX*?i>|iRPUO?K!@ePr@HV+>V2xC zg9}f{$j<)I<$M!c<(B&Ih!G)XDF)4%(k;H;0>T`eu@!mM*Fv0GiFIt(ZSL*Kwk&X( zB~DhHi9U?P)|g2I9bvh1U4yfX5M8GhtDTmbR!ba$+-)qkzz3S;c@&phn)SVJsD)rK zSPM~_R0NMHFCl#WyUCD14yJ|3biOLHirG)OlYpRv=Tz%JrJWr8cj0Pi0)?j01GW5~R@?VQ=yRNZVVy#AYp1w$ob&)2g|l zife;egR=D^18K`0)9%tgr4Ywum+$WE9IRqdmQR#i)cd7BK&Vu}LtERp=#*zR&rx6x z8wX7ep3`H{<0h|r1cj8nCp_&XhE3)iX4#A_SMo*Mu)VS)2GX1%D&(hkNy&}y!wS03 zn#xR*Vk6IB*amF{=2nQIIonoC0R0stNLr)fthy3>7_CqYewZV|Fj;jLS3G|(<;@W` zA0o~KnO5m8*3dVxhSqM!)?}Z^RPTzii}X_=yl*fbp%4;Q0M^HOv6}=5!z2%w#Rz>J@;8PB*03l7q5`E$jY@qUa0z|~%asB9zUQkf(jH=RNH5s;<~5=%gW zWb+JB$Ce2bu-FqQqK=zMFHJFIRe#2d*O@U?pgwC5uGZX&`b~tZ4v#gm1vI^I^{jYq zWJ9@V*?iwLlx=t8^}XI-H0*q06ux_<0NAx6=27GwWL%cd0M^ zNfx|T?s z;n$YEJ<xI1 zzUR5?nAi|^yaYeSw_}HQD>VU>%#mit`kSI)%8dPz|1;+VFVWLxtrA@Cu0?*qBoU zc99~QHOD330mw{D`BQ-o>@g$r|WL! zxoJH|Dd2{^tD}v&?uYSxyRSrqS-byr?)T#JJoo)~Z@X8PbpB_nGyZ zb)V|MvPUZ(_!59t04RJ#ml-M6CQ{5WeJ+zpvv!0K(tp^r0oYcgjhyYi*Nq0QEgJKW z2e~eRZ1>F8;y4`%JY$o%NwvKd4Qu6#LC_A5*C?+~uj&Z5_3^zh0vvrTE0o9-Z)%Vw znI)V~tY3q}tP>~tcY8yuDV>i6fS5B)=FxppdbvxRPx9}D^Du)ZF=60ELDL#Xe)^VA zN-t0LUfXmh`M0r~!KxpBi>7`*{+dk}0v6JAR7Hu%`YSRv1H0K62B&!CAD=!a?tQA=#uDXc)6-E4H>q~pr z#0plAKZW@z37vL-8qGcFHTP3IUbUWpc9UB&0<~49xwKy-)RR7$1g|I@&;46rBCO$_}ccsaX?$X}AHnu?C10f8z~S zg2RK{I2I&m!P4m;H{HIgXPgDGKYWm5y z4-*9Td`5as)8ZK;&((N7bLhEejy`AX8Pz_RZBCC1>COIeKgWM7{UoG+EC1=Y(@#SB zx6@CfNIxq*C#0V>@|=)n4S_zMyAA0@B0$HTmc3zQJ}th4V6nmEKwzGGc6=@hplAE% z%r%LE7}umzuM*1QtnZ5BPxpieDeX0#q-^S?9lZn6YMDR5SVzz?LV z#emCM{{6u9e!Oj7DVq{0cW&*5YFrhGi8Ht6(dQ)CVvFZ^kp4Jh#8lx$XnfDzdUey? z@cNd!X43ug-^$)3PP4V^uD%g3h#%fC`osOdsqBZFMt`_+-h;Y#^oLtQ8&`LS+wf5@ zB31O|Jn0h!b4(J$Bxk2?=*;f3eK)ejDI);c7&v=Inn(!Bn)I}^Rs*wmZ?mPGUv22) zfoUd2Ss%eeYrmUX6VZOxx7OBDm|WhLVXAP_w2yot(&~)YNq2_@?KB(s?g_J%6dAQ>1`~eh0Gm0DKX^$ll-g99a4cea>+7x_-5xi zw{)QMnS3LXa5fh^*SY1-b#B?Y&M|~dh)-i)bpLux@^F@t$ogY3R}3#ZTT&m(ef*{q zdbl(R10G^+GiFIK+1FUD&rk)Zc>WN>S6e(?d2BuA5t&$~3oHb@3-=5wI57c}2ey!< zUiE(2V5uSuR?61#{I4=%V5^2}##bzBz~b`x2%?fCXd3s9 zD=W!5OdA#np$9~JZOYiThaSvi@=^G4zRSP7$MVH>+-!{x4J!G zm=CEHE}H7TrpYoeuDad5$MU*a?T137w)BYrYCixQqW!i2yHNQ{--=R4@v#UghmmUZ zl&Ik&d$Tk=g)JM0a+4K&si!Cq3l^M4pbZ72Rya;rSieh|fQp?uXmhbv->NNqtS)8% zE1rPec(-KbQ!CGH{{oM5bPAf3Ndrmbm$51Ycy+{MRQVNIOE|D*L^m4bTq5jSVG79X zO^+Ew*)dQsN;HBRrhklYtGOajWJ4jZx8G0=D_W@f| zwWlhaONIG-k6EbEMhzA%`eZ*&sMiLDUMT80$8C%47JMp1->|-1gHUfu^@h#}fzdbd zTqUHmI$!Lx_42~^2%YMa*b5&xVCPTjC~BztfidfS%Pi_1QUb(f7#J;VYJqM_r1WaD z()0}*0NB%#W-|$4^hXQ2^_(nvKV#)*L|YW5z5EWBJ|u#-*sP&?aTQJIaXXSuuclP; zAjR`nk2G^H&UwGZ`#^Qj0|=EyH^)Hu6+tfPjAyG`K9rwtl&KdMhtu+7Y7c<~<(#oq zDNo_y%&^`YU}=$5QHVTCzubnoYi?dj;A*>D9#sT;B=yF93wiUi%H92ws`qE3k%X?># zHpGgw<&{q}&5)!$C!#Xs%oGbPL~F&D3=FHkN1jH;PkAY%x;KuI&VeR00dHI1Vk++3`F4LVGwW4 zK`bl*Q8ToG2pl~OVj%}{?Gh06BCml6tGmM>uFXMQw**AJ^lKnm<7jbR4&wSHAnJ8r z0}RreaCR<@!$!ORZJxtQmSRK9$e4w8<0z53V*!6ftc8=3&~2o}eB zi@asovB>tKJNKB9I+#9LnOE($8lBcZDwhiKEYn4Xmt>CS6VuuYaxOZ#lFMOCq`LSF z)5vO#OFk-6$3-h&Q6FMFXyP||H&TT>P8uXSI#Py{OaxRL(TR381)9A}c{tgv{$YKs zqlMB!Y!6dQHQ!^I(pHPMQdVW1EEQ^=`~8kbo`&s(^E4Nky^-KCndZA=OpPop8<`-2 zb3tg(mfWEB$p_HrCh ze%Qx=4I3_*GZB@XGK9}4@A!Y&d-rI|s`}1%J@)H7s#q9eDuC@in@UnB1dR*YauK_o`aK@m~VCJ_x$ z)Y8yO5)(^BLu|zR`Tpi}?{n$}#N>~rhOWKOUTd!T_|4zr`+H2=N#1ZZU2KaHJiVd& ztnrbDgTs6!C`3$gs$(he>-qWxOGYfZ9DZf!5F6qpMc>c9-1OraLhQS@ zev>`U{2P6TWVJUSD;})ejj!)b&A&;CsJDqI*ab7~nRwOyg0P`ySeK4yjY0(d5fhs^%4ZxXXJeFIxSL?~{=(|qzY$iv0<;o(`SG5atA-yU96&oKg$*wUM4 z<;Cp7i}tX8GRp})IV&bw_<|3_?wu`j(6nPqE0+j_(rOP4E%?T=#86{FU_hhlVipBL zPl6=KY#|)~e#EI6Y&oUITiPTsFfxTLUt^jVFMMo`M5H1Xy z=-}x}mYnAf(C3UU({u0m7f+vNl?3|yF!Z^naUc4$wBxMH%+Tj`NQ2!v-DFzVfNQ69 zhsN*3MC?|Q(&Bl8%x*0dS=16RwBboQ>FquDkDpdtA_gWw9#RJjQsltP_hTWd)j*M{ zRqo4FhY+Jy&9Ra4^0IoP@yH|KZCT+P2(!p|{P`N+=&u&3Yc6D3LCak}3|V^kj3zE* z$!N5YcQ)>hgEJa5q}7~;oxGdeYUFSft!$TKWxHJnWv_fm^(k3J)xCT!u1wN>;3=M9 z4#FFzZzg&d(%juey_Ozbv8qRzQ}l$CwUJqXl(jS4zq`7LyML`0U6Ehpc69>h{PUSb zh}ykczI%Tuq-%y5Ky4M|$N ziy`p0_uTCdS5us-u)2cc!E&NyucdSxfwmXtAlAA0{K5G*tWAoYDb1!yr}7ksM3gfB z_Gx$G-*SxS-RRY)Ce2F8zcnl0sNC)~x4qUaDUPZPNzLqx z@<{n$aZLw#u>Rr9*2;lri=e4*ODeOJKg>yaNxvS=veTl@jkIbQ3723Y3R~ryOmZ&4 zRkZ<>f^UbBtsW}`RNd=HlySQh?j;vt9P*(1vsH9Zm^!3*aZ0zAahcN>;AL9^GXkXq z0@=}hnFt5}^Q77)%mWhbowHOCpXl%8(PIo!)Lk1CVk-E5lOoqw^CGw&egvgnHpEPL z?y^CDT6`AgEn?-P8$W|+nPPLQ*-fs&->`{S6ZfiC%Z!S)`=bFsd}3f@R0ly0ts-}p zdT~VdHs4rprxGqV8GebUnDP=@4b)JngV=XK?@2!6-E%knedXTvV)WbYwMk9I>O!iC zy9I6)zR}y!gn)Ubi1vot6HKIAL!Qr|dz*@jE!B^WPY#wRM{Hzy{ta4miyrZ_G z++XbarDw`lit6;b1{J~3-}M{A2NnLXeX?l#1ci8z_DQeUCrF|oS;vdo7?A6tZItr$Qb^2K<58t`Uoj-g?eb+wvi71N}|@&G$SByNoP zpwqDR(}-*nJx-w7y6sf_@Saf7Gc*HG(kH-eN|8r%Pqez|dhVa^uiQUgh5J;r8ur8x z>>7SRTxZ0t?R54pw{)6djgh(|bl(Cu*f?kL;#xtf`1GG;VWj#+@1@|%c>WyvK?(>l zmA`EV#g7zYX_}X63UBxe#IAwP%rkE zg@)iB3)@P=*K%cxFg|$Ao5El-DB%aoD)K-!D&hn0`5gVzn*tV*CS|=Kt`R!8k3kh^ zYa3iA+fM+7rZS)yh;2Azxs)dUMu%W`of4%o=9`y#Zv3qt&(F}P49&q6j@VMw|9cu){HZ0%Z&He~VGXd^rDP_w(xT}AMi`*^kOIM}G=^HV2DN=of6+@^AAycRe_Rrd#cEf()-%B}-jq#)+vfro zGHKYUVX9>btU!K2mWr?#6MwvwpodM(jSV}ua(f$i+;$V@#$Lt73-=F1g5znaZlyi3 zH;kn&P7q+{F#E_9FD1uFQ8lb($Qe6mu!=Ak#+)6pe8e5|R<@i0mr`?ZVuc4nVh-`R z#RE!GX!C|*Jl3oBd|-M7XhRAzf%tSv-Fs@Sa3Sk4KZG7jI))xc^^rZMX>vYJp?1Gr zlB*E$28Jp5QEAdx<`+={;wgNvt;?Sbp&t|}Ky`NoUp?WnfMK|5#&#>yCN^O5#rjJd zx3Uu5^>dJ=va8J~wgs0?te=|+v&)t?k3;KKWN8ksdzmRGasknRmxPITBrDLF%W=j-Sn!~DldbbN=S=YcYkLe!& zmdTG!TfskCSiwRXr-SvNh@7HScfSESgdC;0nbqYDsYVtH5_FZEk`za9d9(#WVv>Z@ zg%DLXw9Q^Vm1#KD%$0%5$vkBvHVq-EN83<5@uF>#*weefT`=iUnpmtxMW!YyX3N|& z)xs@6)s6k+?4HWiHq|eG0DVML9rAqCQ9(wzqrFq=0UGUCxwT;r+U{VnrOU2osUN21 zNUIE8UZU^5o-#a>>L$unXU};~MOqB8Zi$b~iBp9{p;2TCJ@NcSS%`sQ*(MRKX!HAx zNlu%H?gI__RpoAmKOC(gv)i@ldsv=mq29Xd$7k$k=4T0g8onRNXP%@I!gr|NqkOCF zrn>u=py7_!Y4Fl@nM)#z#>^!t?B;9Ec}sDy@6Z zq(k?f_YB>aUekAXH(GZKGN(hPp#=8~;o0j&FqG~BmJxde3?-IHa_3|es z*5zk%&TW9LbbkRWGKqM!o*ySVJ6d!$o_PlPxfc4N1G7SFDLoip{AZtMsrn9*V6Bd!wqoak}kt_}ZMX1lxkEn#?I> zaYp~-lVK8m!Z&Hj5n)FCG`QcP#5XbwM2G!d>yLLfREk2Hu-LG+?mDzbfQ7UIw1l7B z537rPkjLB;36hJ37IpvKU`uFoG==$8j~8ibe6;o!R_rmJe@Hj&IN@mf)Pnk!dTtRB zC>(_0b}RIS?NYgY2u80F-($t8wwxo~@9C2f$99M@x7|09mM2#mArp8Avz06y-!69t zs0jujoX+IqPp0)~MaMtsCoC}+9@+%v(yIFuUO113TuZ6}@_|$Xo0FYP?4U?hduX%!7-i^K6{h#3> zfCD-Q$J|_*yIs|rR9ajOI>ZkNAy%FWqCf@YkYAY&wfL8x$DB^rVmQ26hC@iCBZ+Y6 z%MZ{^9izJjE(zxsvZxj}Nyp^2o^LlN&MCJ0rEjmh57sexju}leA}p*Cv2h*LT;xqUT>8lJM+NUO-_L$3mh}&;#ER zYT4-I%Bpd2{?~Yk(i>71sO`d(dMIN=jLA{m%cZ{XuCNto+}2RN(_sfcleX7re3bixSGH>EXZ(gBMZH`;y*XzF zE_AOLF!Lcf@Nt^AD25y5wj8h9bAsSV3mGy5Q@ao{yMR)26O3NycyiRZ-O>Fq8v(r# zD!pvrX)I+8c5j(;A!9H#LX@--rXW?Dos>JsP#4_FOBxL+!b}Gg)wde?>h$s{5A3_vJ*uqcp~l0LT-JKWF&a_(Nu&|1IV4 z!Mu1bWbW~sS98y>a6p}>om2Jf#*m`t*E#VV+mIvJa0o-xK4m&7nutQ_{)oi7Kd&b` zd~Wi%?r1s7Y^rjmp7k%J>UDA5qdQDI)|hcliEI7xhpf1A+n_6=eA)8noHm=9kkm%= zeu!Jn5fy5PF$;|-neH;#qahJZ8=5@`)~DIbIcW3U*PEDx2J_XAWfq!e&MPnhflDOB z%Wq;lQ7=@Xo+9t8(d^$6?oEm4HS!GMxY4XmwO=HknL-t_&$8%d5?Xi*noCdy{!1`vu_UCoMTKiC!^!HF->cjZ z4Bn|EI4s_egfY_Nu&*Wbsk9JTgEe5PC`7b~(kr1(l^+fN)+#ZIb&|uk=ElN%If-3W zvQ0lZTH~ux--XV|5pIA*G&%%XNQP)IzdGSKqVgso#O@fQj9z+xHS3)WgIuW)@QQTb zfYw@a_jQZ}0eF<%HnAhy*{9$=R!&W#D&GA#7&`n{wE?m1pw(0AP1`4rlMc@r-Qmw* z{HN4UN`D^f&v+{~QgVuZ3}mu!Km8c-0(e3XUdp#l1wRJvqj|1Wv{Xex9(Qy_U^TyZ zlC=GzoR)#RE#GVtdt10A$Lt=rUY3crt<@=Ru@v(e+WY)}{oIvCG8Q&V4pLLj0 z_x;l0UX*!5)vdi z>Ixlh!n)UK-Q$`YsI@_6#*EHrfs`1GwyA7CX&9f#{gTFg+xu(x`b#)6yO9}-%3N4_siY)=!*w2s-j+c84xWVDL<@PJ91CW9y3K4;ll5M{P`-Cw99j9WY2Gw4m(sHECr#I6-#+2pAI`5 zAM*>~XhUViJ}Y($WtUE(P_2h|1uu?R+#jemvoMv)9d(}BnpA27%bf3CPB__lK5ep6 zDvw!lOnDE}SS8Tg^Ckn8@fG{-lezVa!>>VUYkpfFB_wKx+@5KH`NaPYgD zM;uCwI2|nBJxr6sXDX)+CMWD)#Sn#2pCWpmg%-NZe=pbxh%zvHCUtKogC6&I2@linXVK>3 zd2W%Os+VGHZk|3tGQ8yJa9;J5+6mr&Q7L+e!nwQ#77qKAoRd30xGvFrRr8Ti#pWrI z5~s*LO@h2#_+W2!2x*a(0Y9piz^jcdSv&--DFy;k=RzciLFOY^Kj z0fDT@o{8+=eBU(8Sz2PN2?*=E4d)7_hM6DuypR;BXn-~CDoo9D5n*yjh@Q|XW;O`n zrf@!ssR$Y=-CcUZHP2ZBhY>Rbb()rxdJpq>%(;YUnt!~s@=1v zSd?1g6-eX4MXW9fNTo|@XaSaE=6V$EWpOo!9=pmMi9c9V*?Fv{)P0&t(NwlCj^t=X zV# z^^dy$Nw2o^LdV}cZP62PdPFw-uW_Gv35xDMc7sHtZYkH#I}s07fcOCMISbGB@q-|m z4c3{m8<`AUfa7(sQ-{pSug*3nwi`|tQ_&|fL$OdrciKhfV_3L(jX8Sc5x9QCR+Pom zp7ZnJg+k4|?cMc+Zke>HJQ+up5fK@ZPb7Y2Z*{QSIENTv^j4xBak}ZKSwo7_p>Ad< zE9Q+mRodVX1d$_ZSpmgIXb*=dE)-Qs?2v5$#oM}DGQ3uK8UHk_2;50!XMmQw& z9O(!`m+C_A!x#u`t=RY*&*6>iK*>O=&bi-PqWq6yC$i@f8A0g>gqDKVhz5hZ@GE;WeThA1< z@$g8>KcLn~wT3l8q!M+oXP@&@OS?ISZwfWzf|xu$(!w~XCAY0X$J2s~Y6oGjUlbpn zx`D}OGc!RDEVJ+cS`Jj4iFI7tL>f8k7M*ZmY?wvYvQu^)Xr;RxjYRc<4?T3#?owC6 zIKH|@=2;=XGgXf~RZpK$*kjwpQ64~k2R+oo8GQ&?g~L0X%~0|2)RvGku${K~I=0p# z*N+q?&A6a7-MC4+9dh!M2eSI6L7X=n8j(^IyJz=h5-$XIlCw6a#9PA5r~zytBo6Lj zMHd6j2`IH5R=&YZzsTqAV{=PL6gp|@z_{U_NUKOeY{p(Gr`_YU&WP^ffr7YIP=+c^ z0~H97V&kJ!vT~!*YX?~w7O9Euap!`xNg3-E0bnX(^*#RJUxM42UsFOE;^HI!GUwh? zyAOYZ!u)%PGTQ4a1a)OgZG>#lVGZ@m`UkR=exT z+uZA4_S-S)N|p-lAy#l=V}_oyTO>n`+515mJ`Thm<=9+PLV| zk@gU6NZeNsSkWYA#!cS2wk;n;uExWv|1#6>BE*{ABdNoMt*DFQTeYR4er+2}RV?`9 zhC^%HffD_0Rpogt{RBLuN4sVivbt>=J=TKz#)o?DbC~4AX)$AKN+6c#_=*2f_I^@{ zX&`UON)S|#IuM0_jQw{$4rN}x0pO=l&EbQ;=T$eO$pIaeW3+6Z_genocT>`@d66Y{ z5e1uX6`UEiotkX(wxbc?NueI4lHPdH1rUL;Ve?IpIAzN52yJi`3PNNivVOy7m5|nu zjku01H40fKAj=f;sVW-$k?k`bS?#KYyVeNtFRECqAs?7>GwgH;XV^lUhY}O15FoVc zE)t&9Y*~ZzQ&=JMLY!#l<4aTC@JXVQg2GH5NV0ZU7F$z=DtO+r8)N9#HYz#=n?6af zN}@`)+?471_FSx&6`q^uP{fnibOs&5BROjm=+Kmgv6zDC6>{gvmLF}dkoVFgU>KVH zpk%u_2_L3LY4XRl>PY;-8XC{P zFOGWqVQ|!EmRwPs13vw5*PI4u0grs4@knu>MAD#WYcN_EjANY>vt6UrrANVJFa7t) zWW8j;ium`yVPA3ZG8>u0CcE-5jK+u&pzQcqVCe}0>`av)lBC@t9u*YmRt|!ozQnLy zL?JsLzM`YF%>p!(oTo~XN;nvz`v}r}g6$ifyEHQ+v%~JH2q4yMEg1hUrPw4*8tPKfn_!brluq_Fw zOy7*p4wrz=f!Zo2o$MA(WmFK*y?gF6uc+Ns{|y->l_}^xQTMjj-P97R?K|amU;YIB zPfNhf1PGf9am}-5-;qQ@ddFq|1LLN!s@Hf2eM^EOJ@=~kTryHZU;OA~B=KD4>v2r) ze;bOi-d89<%#&C0c_LdNH~Tpa%23q%Ag+6w9eAXie!mH!C&QPQdgLHXjl|O8Qsq^@ z0eTR)gHRCF788w^g5z>f@#1HVD_UL{UGwuD;>|Nhen=2#loC6Xk z>5YGmMyTZr*&s>L)r+HiA9#J0(*z9uY+R8N(%n4gcu$yM|3W&stHvIplR3Sk>b}9( z)puSS?##&%c4tV7DA(flaA%prK${_lLCae)x%+%2CRF7zVWE59Ts$Nme=hqce%E4$Gd>cP$>^H2 za*$RK=zxQRli5!{&fvAD?bxoFlE451bei3eRv`Cre8HXfHl7)T{DN}mzvyTB@sTT{ zoV>4%as1_t$NL+L$a>uvqUpJjSC;|r7sPOPehLKdZ6(R3N2E^{kV4QWxtR0Qyc*NE z;KKE5=$3`Ggy*Kxta>xu{5Yug-df_KglH~@VJ!t)1Qxgli6B@Q`Q#m!W7r9de7SyT z0Zv5i5zdZMUDJnfNa7Fan_sL#=^LEC6TU|Tq2vi(EAkwe&3fB$GES_y4X{*n03Za` zxCi>*t)NiiEOg)N3%T}WCoVYduWzfiCSdai{36ea1-~Pdp;6(&>IaWd#}}$GgjyE6 z0x_%Z2PigC`_Ms}Q5@5oi&r>ZR!e((LZ^NJ-H!%?d zsW_hGxX8cfUaqKsf&2VRidqw}QVl+dXktK;$Ip{7LzN_o?#>=7``Fm{P%u^D*Q{uK zeRI$g<+JJ;z~955%nbLQ8j9#CWx&U-NnwGo5&@vjbbAW(JeJU_;UQXi%|{(YtdjSL zv9phJ4!QBB+o4hC)4b*MGUP zJ_H@n-%x0U?&F{HEdL?2Wse?wNKU`22CuL${r z{)RF?FwS&H4D>gYxqq(#MAbZmq(6T{nYg#>>z?95#-6_+C)HK%yI1zCg^*e2Zz$8% zzVH|RhLES`Zz!_2+*iNu=_RCa`5Vf7tgkKmiF#tWn&V<7zkQW|#kjm-skmYPOMDAU zDua9+4>3*zQ=<21a<7|bxJDvtG zwhmvAG3aKFUhL4pP9(bACZ3@>Vcig z|0vrVk~+pCEpqcJWM#%e%%T33&2?S06=(}!w0WCjG)3FSGtB2y;NrLUuT1kx0KP2_Rb`t$EvL%Wpy!D4yiA;$vIb2Ro3ms!${13$5)YnGLj#FXkf+?I&1)_HAQj?pUk+j4Bvy zAReUQj(2qT%fDoNw{<7kixgvNFG`HjZDK3Gk2?o2?+ib9Dl=`H9qt=pBvClPE|Pd) zrzcL@y#coBhpU)F@~7i~^h>}dq8E}*l7PluMPJbWZ6aM5`I5SfH;Q>El^nuNPqBNOaaIHmGvnqxS03|HdrxdLNg1|S9cX4TGW4#ef|%HFys#^ zv+L6ph`x_BdlLmwGe4Tvj7ge%!~={Yv%<`9?|+N2z4?bU zwom_Py)dhaY|7aYnIlVuS;JDAj@TeEQ>=jwWKYIah4#|NBjp;T)PXS07*Q=x=4uO-6uHe zIH9hLNuZ*aLT1iW;NQvBXHGEfjOLgD$!$W0Xgy0Fb@mUbZtmHW1=FLe)RbFc{DgFe zZX-eNI)PY)6wadGt#(1P)#hVrE|OHjR>T>3G@3+;7qr<()?%EEM?RD!v-BmM2-BQA`xF?HxQoMe@(EtA|^C01w0s-`)iJCSCVjzjmU_me_Q)43|C^@qBU zMav`UMRRlx<%RakvZZJ?NGr-Suy%V}#-C*9^q!#}t#!~F+gp4yS;WR>NMt^GAYx16 zcBUDO)_M%xD&QBFIm!w}kaX}JdJFT<){{PK<}&>(MJ%drs$m*7MJs(OAACm>9DFy^ zL@9h}A_(8O1c)x0$Oqri#GX}66mAhI+`%I<-Nc@#CukrXd^gjJ!f~P|g3n~SiG1)K zO%Opm(?sD~Q4_(fGTlTz_>Ly1oIBG*;eAmP!SOQP#C2&P3X55)TQt-O5`coGvN#m9 z#nK`3EuO{6VF?FH_V3t7-}Cyt#!{sTF~fUJxv12kLFwbcc^|wx^n#zVcSpxX1iy}c zs-;)p#b$T#`H3oc$xFlDGspB;rR>4nxFxC7{&!>Q$50CE`j-==PdDPAT_@qCKkc*KghTow{@M7&v$ln>zQsSqZiP6Fh{Tu5Ep z7*+O7N{?Ll_!_v}ngJh=Bt8bbs5PxrN+^s|U81nBf+3SYBILVyYBM)Z|#FAAfl>l`qrzATCVS&q>obY z*Y??a%kge~cTJ5%ms~a{X35wdos%Gr?cc_(TUpWAUj0KF+y5LkgNs`7G@+cFIeF4r zmfgX8U?~eQd81EBF@aSV&3 z0LmthDe2aIYISM=%#z70+c*PZV{?brr?%kH!@{&e_v~JHY_zKs|2Z-aPj$yY99}gX zJvu&>#h#p*e6zS^lXnt(^JjRmcLo$d9lJA{O_8yk6p91t^dZ>#?ZjaS|8 z9kt;8W`B+PT)Ef3;Mu*4AnLl=(juB5XSecNJ0fsg5jMhKgtu5dq6PQqZ<5&UZ@Sgr z#A+`reDdge-7Ic&M&>T)R}w~2vv4YKk%yg&4({P1Covb5)8KMETaAlwBQD}DT*O_t z=-?hMI=F|64({Os7Ii30Y2L30M*jW~X^nh5ZL*+;Ip2X2+(9x|-6b6PQHYy9c6hS| znwg8itP|Q|Hv^@FRX(MD9)q(5xe`@bt2tURD_#J)7CbqWi)>ux=R+ndC&L1g68#G>SJUp3ZI@DU*ImOqc*8Uh4Kko>e+iRd2Y9}v9PHd%mNxgKGyRQP0YW?Cg5H@?3 zdhiSDIE$54I=R9MXejcnKd9i~J@o`cdHcfBdLCk(;j+gqvE=^WSoU_Y*!}?u&9h+! z2rdIW@6}{pwAAwa09#D)@Dy-|<|pgMbK8!a3`vFN7acyZj;}3W1<_VP?iV`g|z!i%}Vg`a3E^mPI=>(5EDL01#oA!5nS$9p)uk_{4V+xUUbJFqSilG zQT?_=*i?{jA*!fsxb-jt zG*~`)=Fq3So;H&nfirZF4iy&zM;H&#zsJKRJ4y>XTMS?*1^^GzBPX-LP=o7jY`W1| z=W!&R4FSh{hxYpe|MzE{w{z#Z!FWAK7ou`p1QrJ4BbW$@Nr@#kanV+*ws1n9t+t3_ zu{QYr%=30mMzQgo>-vZd7?NJGT}}eJu$}KVBF8ByJ2hz5FoSrD?*6wDQ^? z;)iuahY&qs z0`OcZN6e^-F!ZG(9nZxufxck^e50`CCNAsbwC8Y%r!=Q>QANwBF`W@KrhnHFVkcJ> zdfVyyN(e1YF)QF#&3Hf4?Q%a~7Z9eeX*Bljz{A-+>k)G1qmWXs?MG2FDG$fUX!zmxLmO&1U@2<&chMV^9l@>9fFWFu%>tck$;YFkN8lzA zA_2|lBXshSL_;)8=HHiQehdVef!ij*B*+kJ(_yCUwLOE?adT@@+yO|9R=u@tqz1lp zST=M(HDF&lSVlDf0lSAXj-})mYtT|7K?VXT2YwHZ(*z&-__@lvACf~wb-nJ;oNzB}-$9(28y zs)yAlRS!)@Q3q)8QuQ#MrRrg{NYw)?lB$QLEmaTwevKV+_rWthfJ>_-@IKFsxv0<{ z7aeKNMa-BB{Q6K_IKr^iDfN}@q_=e~@Krz)j87~C6gMIh0_XU{ey`%Vf(Sx1yxKzI`$jlkOg* za#zv6k~3EwxYf*-7~^Zk;=pQ?g73HBuUjL50DA7?(R0)?!+RihX_dHJEC{o(wbI~P7Xe^4ki>pV%>VFoXUqG*txz*%y6P&DG0>Qd&y+pw{T<2jn^l8(}0*1axIx6bI%p z_;ew=puy+C8H@#rJwl@%g@Q@Ce|P|115Q&)3dX@HhVQtga<98ux=+{}>G;UHd%@x` z!gTEUXH5`CPbc(vxt;)i?{I&~*=&9?U~RS&v@`sk=(|%kSI-@Hs*KH~i<3}5A+`nv z?k6!kXOa%XH!y2kwqpOdhwgx}cE6iFNfss&S(ti6y+6It0u$A=Iw^!wmDVX2UCJ1R zY`sZS8{~_%rI0mdlVzC`yGjsw-~HVe@X~_`ODJ1`^IL# zJys5@5T}8x7c3}2&4u2LxhPJ9i(xW7kI8U2z0{E2nwZR+|BW+$?*7i&nLpncxetG5 zI*_=qdeA^CBRd^Q%(A$Dz3iVoRPLFzLknXYg{FeDdA&v#$saCd%>4l(vQz5fq*0w- zkPBpp$kS{(33i(Cr>?f{x*tfXkk=vTHLh|uU>!bGyRSZcfO$gr*QVcydluZdb^o+1 zolmVr4QESe@B6X6to={VdxOfOF*hyvERaR@ENSEXNoC^j0?KhOCk<-y%W4oJf&hXC7^fhFyj9a4oiW;0eA zqpmVki5MDEXG~y-nBcg7W_^0g!BG;sN@C_Oxvtnib;VM#?`8|MHYnbhcq8^IFLGnH{_k*&w5Ulv<{mZHc5{Yp2&diR|##N|<% z$G|>diIog28+2-I;Ub?E>KWm?l*Uw)`LM7VdW*h}{#aXI7 z?Z|^XMp8{=*>I6%!{uN>9!JFJR@SBCRTd|6?hSjI?#1<1OHs+GK_aWb;TrcrJ9GF# z{Y7(Gz&vu%O*1)`tov^Y56Nt4M?``+gZ8^ZS`u{;i?#GR-try!#seT3{&>%AC)Ztps)np!f#Irq^$s#)6W z-a8xZ5#e()nXLvmQ7bt6_O4T5+Iy3UG3VZ~r|n+a_$dtU#oxJZ$yd&E%T~348BOSu zyY24=?uI|a9nkI7YZLx7?&r?K6Ixsg#J6Ap-F-i`Ub}Bn4i(2~t1v>>YE;a>Uc}dR zVUYW=L#!%B#-K>m>AtTu3D$!}8muuq*w_QjQj3wur~On@v=EL_yJal4LwV%Z0ygH| z#mk)1wjEce&YB}IWHNsq2hws6ybggQU#(j=CgOx$7dq-V50xmQVPQuofgsxsA`x36 zXap`=2Bg^x+ai6qh?lUCoHz;={&_OO%hR!sp1T0K)6a*I<(t*B?3*c?4!J^FO&Q3#<} z-J=^rkH{@yWogH@bk6rdqXjy+FsA&Zjk+J2!R$xixDNT)wq&&v>I2ay;oh&YV5Yv z$Voz;p?xo|Mo1Tm%r*80mt^SUvOX=x)yP2xGpi9I4OaK)0a&4Wv|lWdzyiM-xtv>E zjgan>I^tKu^ZA_pV}c`Zid4(@5iG+#b;y?CK7I0=LZ9~0$*E0|E62?&Lr4l*J?MLA z$2Nu9yYxD33fo>eGsrK)B^!fW3E4qu^l?+@dF$hfKCP%{qQ{)|GqVgK`)75JZVWxz zt9A$u^UIJEc;YgI44%}Hv> zZ+yjZGN#HWa~_YL{A=y6ki}z9Mlt?uW6{!Dv$U(16j4Kvs5IbB&4WDz0oR9mll9&G zb$Hpc6}_h@8n5u{;)T9~pkB9|)iK*Dr}+5AxhyVDNcHiI0ssri1p8HQ2Eji+bU8(* z>27aaNYDW=W3_SyPT(FP2WRNHM;MLi%$9)+$wZYQ*W!~jy-iaSO7W$Ku>h3n%vl^R z73On$-bk_5+J&lobi==7G%lv)EQKYeEFex^&AbnNy z!8aU~CGL@a0zDY<^T5XZK%|I`{t*iYjMD~zZry2x#H2j3n60hT(m<-SiD1sU^}S^k zS$h)`KM@;`1oRWJH<5q{*j;KFB9^7{E|^;X3tzPpW0?%C)d$vb2NTH6TA`neZL@hs zewY8GZ$0jE{!XGE1I-$ZXf6)`gdjVrxVEardZztxa-78Av?L_~Au&76a`yw7Nh$rY@+x&zrhna_Y&cCC>`K5n17rV@rV^LVtGYdF$h{J}pN% zby8|)Moyg++hNA1dUU?;&~MSo{wheRlT#~EN}U`Z58d!mDnSZ!0**{|)7ryz;^z73 z)DnD$)xS*p{-=FoCNmGN%So?ZLaWx4JztmTg8EHfbMxmBB+nD2pOW6+$4Yssy6vE`YtOkA|HQ=f6o=Ani;G4<`sVJ7~gsJ;%sK+2q$`H5|CuPp1zIQGi zB;Yq9TBiwzb=AUUC$BDeQzR}~T}6n*L-Je{wZ}zKdt3y`bJ+k5a1o}(MVJ;BVOm_| zt>+?dJr{ZFxyW131Q1`HAZAO3McZiDpLJa%_K>z>BEABcJdX84ND%c|+R!~SfuHRoRT zR?VHh=&jk~&~xwlQfr~`;wuS7j2a=D4|zcD@;$X7X?d0UwgwLZp`pM|IoEYF=U=>s z%0~r&Hsn4(_kFL&TLY)m-vedaUaWrj^QHLhw<~FrmtW~$Zr=uOA2VmKEO0d45?`6I zv;)0zKWu9}IHmpy@FIFSRi8o27-rFS;Z*N#si)8|Wk@k>2~0L{cBS)v?o>#IpTscQ zIng?{<(#|v8jnU!&mpOKwlZ78@bTW;>J%ATmXt&-4pup zdN$NV5vgHku{YYu!rw+kzLMXyUyHkzho|tj&>!%((8m>hT2ar`&Kmfe?@`9z zW_kqvW<3IbgA>q>ae|D$5$C%m{??CtfVUQan>)tcbyWA=hDivh8!|u9Mpy`A1FI)~ zkC@R-Uy$ysPhNM{r#(!#x|b$?4XDizGed1N!z8%PhKcwexbOcHY;?D=%M7*oiT}Ge z@v~4{=+7=aZ+%?Wr)Bj_6Tb%3=6jT(wwWG15GH=VMkZU^CO$)LapGs8Hb3!s;{?h2jY~gRyBEoUf85e~cONj!LK~nNtWQHX$%J}Jvq#<8LwAg?l~^8J+p%fA zAPZRDoL^j2n7-S!(rh0$JGV+N6xkM=%-#UXIdGg6v|HER@eLWSGr5r85a2pe$5xTg z!n#4^8~(Ku@|SI|b9vdVym+e;Rc(P2h$p%PWC_?^O#k%HZMOzA0DEpc51Im&LW+AZ znb!qpsV0u})2%Fe09dS4lJPk^vUtvUNk>^d9&NY4=8$EoQZ_1ZK)WmRu7CsDWJXA! z)p#UzdSmnla2>rUn(zDsS0w>4E@5l?<06us8$E|KfHs+8n}UoRns}Cl?iVq@hafmZ z?(}RbymuZ{Xy(0|Pr^DinshTMc5v417PI0Th>#)HmcRtt92sn6HUuUNBiM+IU9K*L ze;Ukq+o_v$@yOpsMq|hybT)Dsfb?7Twd0`S1Q;?Qe||tobwcte%()-UKti9r;$-1; z8Bg@B?vAYnJTYOc#>Z{1W)#t@ONz1xP-40}?N(;~D@^4~S#ZYHjQ*dU_>}J!6h} z>;ZI4k0l}48q?L(wMiSBB$Eyoz0lxc#38}{3aSs<)+zNqP7`nj;wmk+{AZMGjD2B! z)7DTQ`|c8w-}pM{K`Bh~*Hy)yF&7vmuLUa|x)Zz-u~@#=Z~=QDW0Za20s)^~G!%Lr zcVG-^@oXg$6+&-muyWfcED}Yp<>WEm`V+-l1H(XrCyxmHGDh-xstDazocg^8)J334 z>sbaNNyvq5Eed!BoAeDYXgG_3?0}iYhZafaWiIZe0*L|7+vHD{?o(_X8@VC78J=9w z$bTw!SZyL=B17cl@pilbJYGm0!x;NQLe8<@Jk?oCQX_~rYI^YSM)#U9$*^Tlu9GMEIZOHUCNq42&XFsCN!|Noe=qsX zdgZ`RMBqyMPKK_#=2@%JnX_}J?#-1cj2}1V0#0e;* z@m8n{O(wwCK3Yi0+R3%=XVS=iJTKwxktwN6vujg=l+um>DTfiH4Ey|WdD+cVybL>S z;9<(W#>+BJ>3P{dM_v|i%CrQYDW!se(8DV&p~m<}+Q5NWWD$Z?TY}IYdrv|pdA$IH zhvItzKA9r&X;>Ufa7EOG7MR3&cM37(@=%x<->qTnhN;?)&Zy?R!Fqk5IIvDn7-2Vf zI=0?o7~j{ri}z#1^$By~jc@Et7L-g&#g}jNyN^<1){J!B^HlC7Uw&+a8c{)FjCM>2 zssIbr7P?8@fEl5FE$j$B}`U&iIU zt>ST0)M}Q|L(0eYO+T0U6G(4U{?zn}IrkBR@q+d9)Tu?E>1&b+wyCywx_i31{EMkQ z-{os!mwz#JIku(l8fk|PMme)iteQh>?MLzMk^808s+?@cx?l2*MFma5v{26!OnZj< zBn8lh|`_yt-BBgSaYN2$RWT5NQs!y_NruQcN{|8+R>{)%-Fn z@^qX!SBeHSJE6n_*nr%MOjsf_)^nKTT(EPH^ zeujJf?B5z^pRff_0AXHe1Jf%XcA+@vn?b*~Tan^o0J)@8-~DkOK!S&lZ~zaAe2W1* zpzqhIc-elqW*J=R2XI>)Kmd!Q^`th|8o=LH&x~c3_pvv$I(|N#=qCWcR$`LTG*PGS z6$o%9del*ZC+XmsocH~M<>lV#?LKuE8`UpvhH(4t4Ya1^#Z!|is84Mn(VP#D$nlbu zyY}9BcZZD;FC_t_scib}v-@g|OH-6#T9H&Sh5*xsCxd>_ch_Dmhl!DB!;YFEukIh) za+-Quyb$peFwlO{J2Rx)cb7s115d`%c_Cv27Vd?2ppO>t1(*jiQD<^B9bBy-*_N?w_foo#Zp|MPlg9y zX|Ek1p!v&gUXM{SbQursyJa5;+XBRM2A3Zl+Ld`*6Bc$6_ zE#tu$KG5ccvC?|#h{|?V*)-)@>fj6%^#?!LH^Knqdf$j>fo4nVNduBl_>ZxhjPM2q z9*|wsUkld4oKJjBK9+*7p)k*^7(UR(y+bQ@w?5g5-J?%?!ivd1YOl?(Z(1>hF85r3 zeX#{{aaNO9xIIA+&Ed(4Df&eY&tXx&-Lspo#TA=HdP9G1Ont=pNhSQ)qa3A~R?PP( zqq8$T!b@R2+M{;%#1+eEYh1AavnI${h*_nYgRSDlAQ~?n70;fLQfzWB9Ya{AO$Y;? z*)^=~{?TO4^|wQJQGjtErFQIt)Zs?+Lk=Qh2)7&&BXRe2L$jI$Z1cX1rBVgyYIp?% z7GTr`RR2Xsp2~3%WT7Dyw?y|8QCL|2r>|+Z@3hb>&uwf)GL+hP+@OJoD+VA{wcyfT z^t5FSAe4gyd&`sQBH@}$jfAkZnX%SZuFU|m&U=t5q5;%7hE&E2xDg>T$;*OTD<);0 z&=qGH@6EP+iVMYRc?ZIQ7kXZr;zOChX;v-NYt?34R?DAN zU~LQ{0TpywxT*W3g#7dS(?uJXbTT2OH0gKB(d|j8FMIT5IZyM z^UUV-c13N-r)q6vKsCy?pdtiV)nprYf*~hPIZJzSaU``Y$pd$5<3254=Z*SgobqOU z(&C8n<%+eb$ndOOI+o<&ry>BgGgE;jMS6m9%(tq&fB6oJv&R-EW3+y8UK4yRKwHD!hzcpn_#VAwPh7r?p3W>^ z2=knJ-nJLHNU->zc%L+Q~*y`Psq)*qXoKA?cFJUx7SEGBc^_V-V_%ofu_^K=&gF* z`nbn>7JHOI)R`p;AnNKKT@iY;TkY(o9qUhqSmTxoDC>b230*#G@~oC=@&>DvF{feA zB@EUmxY;6oe^$ZF&}&jK1MnIYOutpZQWQ_`wMzqyy#6SNMcbiqZyfBvX43dbJyr7V zus~#6x9j@~bKNaVI^eOZ+pincR3LrA>nMh?e$Z6Csv@NqO=;*d_FB99gJv3FSMPz4 z0xN9>4Nf|$wC9YkV%{Q+qYf9~)x?ZZsg#71)JDvHN{_rT9UK;iaee6-hUM)>K2jmt+^q;ARmtla%*a6 zniHKCdw41zVi@~Jb2H^~9P2*1sukhs8+}*Cv@j0Ka9eI6F2ilJ&!%MvGFuqJgu)j4 z>hlEHt#vGl5uxpxj}I)+56xK)%v+%)o=R!e%q5r zYY2jy=rCKUw})1vJ5tt@!V0+mWkfvX371ZDDS`Kt^WQ`g!?0J zcE3;izCU-A_kVAXzyFSKf81Plf68&ODe71XimBR6-C4GA_02}ki!JPF4_eMSm#yh7A*qh6!jwi%v8=X#0@YB$nQB|%E+rJwx;s9GDh?s`Y*1S@ zD63KQy7lf~zF1EcDVi<@#Y|K>#HZ8p+b0Uf9OFMh1Sk1V6eBy;f7&1?quqDB{EqgC z3EAL3!Gn+YpEjvds{J}vSu^{zQA~_?>6B5(T8TpZ{VB~avdRlftbqDGbuil_Cg`~6 zu@?2iA|g)^iG+&6Gj@uR^^p}iRMnsu01nxXpxRe6f|GF7?dCe>`WmhyuCL{K8rRFY zZsMwxj*jc=xGsw3^(r`ss89o^g@>8E?o$KKW1*|^jm0xfj`*0mIDRWo!}NZ6p&rhT zzbLGP_p^f2a5+GQEgZW?Qei7ZLO`v5r2?} zIh|MGP`L7hbg!4X8Ro(qkWn_bOc)H=4vT259qJgbfe{kdVcSBbwxa6OxR+C^^@hIt z_AYIVGn?3h+j4`2o4zQobEFTWiwtDMB(nnfV-dq4gTqI*H~e|lMktnrQdRpMCjU?$wJ zu5aNbA;B;9JbO8(dLDe7CesqcX-(1BpbS}GlTXuqF!nY1Gu79ev7)}FG!^wSuMFL~ zhr+16o!y7QfOy8lnD|C4LPV74?{+AZ-Oy6kIxT|pfly)}CiWdwDuaSu>N zPM-DPPMlKH?SLeVyY7#~#oT&|6+?VGwXw2ufmV~h(CvBEK#}vwQy6*+8J@FbCmE;{ z*#qb|%-7xX&#YmA*Lc{cX!`I{YkaQ&HukobV< z8o0hj1d1JM0+K5*PC#%0Mh#Ee!k4nRaML3Z zhX>N6q@@KJh6ttV>#O=pO=R2XfDPQp)B2+pWA8t{o_jQ6%*vCfKH%Yn`%H_m5hrrK z2wWlxuEy9qf{RMDic?9mP_GtTk)1YPa9P2J#tW{24hxt)Dgg1gN^p(bA0xOvN6p~Z zA4G69@S(K@*T4&)fd$J%!8LLZeGkd}d??pGnBdak1%AbbS#XWGB?vCOX~wfy>;nj{ z;cCI9L5_zexWw5DwrqnP)BKSOE{!$>?i@&PO*95|K8UW7L>DYF^?g=!g}#@fE5v<` zeN!g7MzZ6NP;{xcYl|)w-#Dn~qQaUuz$h4;M+ZzS9f$ueJ;uiiNa#nECVuX zQX{1#0J3OP1MJ`_(N=X|<5o-l!f@NByr3L+U5GIEt=otz=akGD+37n_cOOK2O_w>C z5>@~G+Ez~oQ58cVC3AM0%yAc*OFZ(I&?y{UYjrA#Ga)k8sqb^*(}Nq(8DCA z+%>+3K{~DOVU~~6eYN!_65WR4wZ9~w#!@ItxgR8z>A+HJY@8^6C zLFH%d0DVGw?4}MXWsJ=V6BG9x%Rwtm_s(97SV?M5%f{_KFu>z|$%-<>BJ+^eYriem zXv+2Zlg9lA^Un8Oj#3#|k?;_tVtQiamDS0WK*!z=M9Ss$*ndSO<}+a$C$<|-Z;^2N z)Scdryh2W)0S;7Xx7d5fH77Rd`~~(p&YB&Qd2zrWCmf)+x!S-i4!8RsVPfN+&YJTt zne(?(xs~{dcltL^(on*W$E#cKG_5_yz7X)^-o6(`tAjs6B>cd~=4g2#cOI-BtDWHEc+R5A1nWJpr&VexJi(YMX<9ZrwvKRXA-3h>24jix9Il zbF_<2>j=Rv@jmxzCX*?%{$P|H=aq2JAvG`+GoCaZskYbA+i`PZ)jPd%E9y^8isgEgD-)=LNBlnh3_0N2?P}?0^9s z7PUyUC+o^n6SU&FYirgP^PfX-L`EfN4KX-IE8<*GQ8T-(TCWUc`vQ{Kx|7USvshBF zO*AW>c!G(_WL7XeSazvTS{}>{iP&+Tk(q9dV;kdM+D7V^Wg&;$0rrV6I`6qwD}L1` zPT5jInnhTQf6!s&6a^NSoF+>Qy~= z#ka()LZl5Fki}lbtbB$0%&Rzo>EzkMew5oPlWITIFPn zW97h{#wOxVd+t`_SU=^LOcPPZiHJ*w1|rXb^%P7av1j!zS8?-3$xVY`l!Pdqq#78r z_MU(U6G#n;*)Jo-O-S8%)CX$>`xwKRvXX07AOF|2dG`#Kpa?&mkFCx7XFv7`ZC*PS zA)T9Krmu+W5U!Mf(n08gZig%mfTy6_;cDo1#sWtEz{L&AKBNU~&~31QNjWUBDldU7 zzX<9b6wvL^pxc)Z-KS?QU{t8IVI*DFwtz9wCBZC*upcepVT5jn1$0})-l8Z3=oa%e zTEIhJ`Hf$^1w1GcXFLGfuC{SyN^K4}%3f$aRX=1aAigc&py7Z2?m-?BEu#C6(#G zXzy|z90I%@6yUAiy0!&8^cFC1ge+i|AzQ$MM`HmGGKl*KEZ{)_)*glhti2R1*n?TX zgAD3ES_^oPQ#6ju0$!u9RLx#(tq*eMhWqFh1_A^lcv>lmvc(&=c_P-d+Xsb>{Ab>7 zKMWgL3e%MlZ7BM0^om|*GEP!^;Ig5Nbe_^PL)D*XlZdBWB#Wf5;HmW{C74V%xV$2F=?GvfYgF*>k~cj(P#_^p-efC!`@HjjPYD)o+tNCzpxY4qP%?UG4s=@|Hlb zSk1i!Ms;=c9q|Ngxf=uZTY$udU@+o$eye4VZ1oJDu+*~d+K zR-m`VMp19ZI#IczW?w6tx*zQGCt#n?ZLV}87JpZ2tT!MAMP`UPkPYo%Ge)tE z+=m%3|0u5nq}UV`wzEyatNQK>ro09-I?k-rVe0^AA0=Ht%5$)9<9*58mioMwxvh5C zDAC;RXLFm6-rTnHd0Gb@M049fCgDibyiMlzps;z9xg8QnjP9bY&5QzzFYnj{jyEG6pw%JYgY}_r`<`p>yI~RKK%Og$`-wvnpnm#}TdFU9=7yZ|r zilQ-_t-y5$xyp~*^Wpy>Ct@&m{p2Q3tWkg&tDb@)m-dcA{mnDfM23NgVS(o@p=~KV zAcS*rVOu3jIbxf^Kt7nEkza$!L3UQqD}%}L=v{IlV(K6+xlgQdG+z;Q0-;q);5njO zROwmA*7PYyK>=&FG@xhQH~Uz87i|-n=(FS}pNWutZzrDW?y1ja;y^4MVLIHYb8NZw z0fl$e>8?*8UpT1snUF1HG_KBfFKf<|>zIuvTgEfBHmdb*1Xj!H@QZo5$94AX$**N^ z@n$ij;=Kw>i|olPyxLb55S|#_mp$SM_`*~GvC3d&|MTqh5lfDVS1C+tvqzB zcIUW8n87(e?7vQ6u!5kO;c@Rce$n0TR(@nUSh7ZYyCL3GBGA3*W%a@Zb^RjNid;RV z^YXH4QZbw}b$8W$p}y`YVOUhRS+37pSBY5SKdtaN>jzcc5Qa$*Np)&v5B-e4{A_LC ze$HP`v)5NY4}Hq9v+$RrW_VHkqM7MG^~le-LWx&BU@Md`_D5Z9B%`%|qSXWDx5Kbd z14$vdPCaLWQ4yKQ8OwZxqw-DQm1 z-wy8y`-Q-TP;EU0*I?TM$hi%Adl9_e>F_x9VKPTAtbEpBArEoGxf9IKe@sK1u4FuL zPkYW}-V?|3u$KPH-^g)I8X!6=-%q6Di~l?Gp@RZ9oa^@SH-=C;7|AkCLR19$g@33a zFr7stmlNCnz{B|g38hSSSSFY`5S4ZXW3Aj1o(VEd17bE8U%b35enUrUck$KjIj(sQ zyEwBR&$0RKT7Ija2?#Z3q`$^ZtegcgW;gOe0SQcxAb2qt(^-JV!d@_G zr0+l@FI<8XE@}SQJ;8qf%Vb8dvW$MVud@IpS0BY*Tlnr^byVXxGo=GZH3n$Rjt>pt zAmK>y!{9%;^!PpyvOaSOr6|_3f9C7$KG`IAn(|J{X%-N@g#KWwb&kC;IM+2h&W0&K3YqO0$ZgU?HI4@7 za{eZ_(OK1&C+wMXkzNF6VQcBcIt1&S9|L5`$n214bt;8KLQhw}1=CGq$U%|DaCmPk zsVR!Qv-Z9(KHkonK$)^uRf0xZ{zzU@N*{?d%}mvHByP=gF+Jh$-62viTgLXirsz4A zj%8uTEf2-LsU;9|D^CMgbb0{zSWZs_(%vH?*LV9KBMf~y1;946PXUN~cO3TaC;RpM ztS(kmWXkdGQaAawC>=+<52DfG0FbhxiJ3XC3~6n+ho_s&`yIu2pG%CbKmrmNMfw!eH+diWA11^~OQe^| z1`XRkMzzz)WrHldDfZZ&JQpVta>Epn7nes8fMxtS&UGnuv&sc z89nMUf}FXi?iZJi#f^r?0W6bTHf#%mU&7b()`7d_okpWL1jVPA&!>?)z~#*GrB4Gn z(`n8acl-j)N_#^ln1cmN!e|uUwwgv`xa9zxpO>N7R|~id&cwyl^P19afzmTYwr6EkaapSXP`JhnA z)bhP!etqwhN9ubwfjl%)eUJU~-(vs#x7a`bE%wiUi~U13o@FmnW1*YI$Bsd}--sfJ ziYI=yA$?)2(hz&ymr#!N(=m#l=<6%n2foK}grYH6^d$XFNqhDA?;BU|dwOO6J^0I4 z>+jWZlezGh{q8r$@pD!EXEf9C+&hsjXiB=XJ9o#~$62iD!k-#igrcq_#-`W)3O+H8-ygBZHC4hR2ulO z{UFN&g{Y5^^u|G@S&}VmJtM8&<}i(DEOQOlJ;&K=(8;V??P_b&uB=sQ@T#sVvJt-p6sEgoeBrHxK z_i%MK;zm~$fkqG%;-7Sj^MP$iBJS-V+@CHOBZgg2*h#6y`YTGO{iPmW$=-YUHhuWE^Ir*&M zUj$jIrz}_i>KpQvmc@(~6Y)^a$znkR&6wR2A!<|qv)B%^P9|NVW0%r<@2^99&zF$%ymsQ-jpHJ=EvM(c6m=a z(I&pFQvzepO0dQ)6psPBt=EiJbGriggW$#OxE$^#IuTue(eEDHL?`)8bQs$v>H0`j z#EQ4PU$fUVD7cGRdXgge9=&LhCkb}Q*(hU`I;)^Z^W1ooZ3)|3##Yw+u@Ai?G*Gya zU`$)HYPOXg8KdKm>ys-fY!+}weYQ6Ih11I_Y)ct>kRhU)935$ z)%7ZAUl<3{&0(z+)AcMmRe!bKM7f8hcnsWhO0k!-E0A8&vHPVg{MVu?@SQ+aA}6To zq)0~*?fG_F_h&VRLS`Nj6&(hpWQZowNuZ0}Gvs3Wb)XZ2I=~pvLOq0$xt|wmYeF-a zc7pVzhQQLYKi`YZuuj2%YoHQnhd*{^GL2i)df+`$zZJcJ=^usZ789nj)|&1P@!h}} zjqgS}2#R}njgeJiMFl;890Y|a5QK;S9$SKliyr0gb*(h>S+79>(9vscCoWSN6 zeA5c3AhB_Ky`-4s9;8`EWUzfXdpD}BS)TQi+KSz1+gGAq>nfP6Sgy2vr%bpjkaOHwsjN0Q@&Q?v> z9~#F<8__eyynDIxOzk7XbEcP3J`uKG+`UP$@Vl2VF6HK$l@Hly(RiR_*0RuO7%J&? zpO=vmR@*Rl?j@Yu0{)U#H^s3l_fKC&pPB|zp&tMw5mwZG?8PRjGN>w8FaRoo1)(}U z5mPP#-8805Ja%+bfc$Z@NAh{spdQR}_yR;Z1cyHiO3CKXzEKE^V&NoUPU7l8YBn~r zAQwuj@F>1`gE1P59G%f9*c3jjxr;$N1;_3FSQ#W?5slLt&I+T3M7E!Y-e#2HUI~>M zxNun`gcv15Z5u+|ch}YDf)Afu{X8A1+h68-F*Tb09moQ+NK3RxjK3?XCc_9$8E08g5})t9=QpA zoSUA!qk9YGv}6wa>Qhi+?XF+jT>XFkZ_j&5^o`iJ3RXEMv)KMXlW z={6=109Pgo5X5IjNQy`e*qu~rD|*1e+_NSI`VbmS-Ca9_*F~y^{Ct0<{XoA{j^J!@ z{{QT~3zS{gS?75k_f>W4ab-)kq*9V|Z^Vp5Y$AI6ij&55ib%378yhfbvsSO^tXZrz zSycuiAv~TndXyh=oOA#M4DBW~k)4Ol5CzfL#0?G>Aps|(i3lNaLm&jJ!hZ2zx}KGji`C? zxnx*ptzbQ=6HyoXk$r)%5pO^=2^e^!R^+KGl@6F_u_bk_)PeWd;)RHbTVd_NGugvw z%n~nJLmHG53OSa_iP(dd(noJbG83UA$s$$n>a3XvUNqD1#8${qC*ZT!Icn^89G!ciwer`Ay|6C6V#i$_b!i$` zN8}Odllatll27D2I8-=}Q(3;{57XMKDvG=( zF)22vFa0Wgu&ZJxt!)ozm!WTA0vtQ!3gsRr1wC)wAl6!@+f?m!RebV_quYQ{Ty$1{=vIg{7M2(am1;^oYTBjG+Vw^DQl)x zDbmdQ6n^G?Dxc)c%IcX>?zM)+J}ZZVHF#lhMqc%`uZ(T7uZ-Pft4wX?idI})|N zWu3RmYyFPFqE7Vi`VPD{9(e7)b+1(^HrDrM_u89yt?C%rdy7hN)#>_LaFm!;T9-Lk z0=R*xvcq;5W$CA?7_tm8xW|+94uV_m7}VCRY)Qmr-1&L&CBHAxYFP)qgpjyG*<+A8 zxnp!A-vIygMhNl>nsTR`gTB4eLT~n>vUpFd<5fUVty|avQw+(oUpHQ6s1AS%yob?W zWv04K6yB>f-S4asV`cjOINWkURe+Ae88X6t$jnM)i#t9XOJ%GckR`uWSquoCA|5Q) zRhT@I!);_b$AK_}=TObGkBkjV%`K&JgWoOcM)Lc~KA@3*nnwO<8kA`@N@Sx^0x69W z*=Ur=MzaD@S{e;Rg2zx05|;cb^9GqOg~)EKq)bb{0)Hjgl=#?dzB)!Y;%(toWBO3n zo~a2wx24yS7b)dwOu;@=+Y3`R|My?z`Y1Wft5q2X4B$m1F5iY;L%VC{>Zpcg0^?wK zB&IXt1XLL|CU8}N2{KV|hBks94X;&0_tvwzoS|K|g?VwLh_LktzPU{ed5m_)M_?OdH;8HdIwE4@}!jW>V_<24ZsA!44(TI;rHN`q>n)E3#6T z>;zVAos@Mv14xQayoj=q1gA|jsq%9kJ}_wc>%?imsaMAt&=B0gF$WOloheS=0(4qW zMJiy^ij$Iu>-b6^#Er#nW~J?zSIZ=Huu~rusWLcUFI)Qhvenb!;pwbjPFpA~Mt0*Q zaz=~7+CXotA&K^Gq!l6J-@>V*4oAEwF@Q*k1;KF`qu;px89XrXfw)p8Bx0go8pzu| zE)ABmxcyUO=m`+63*9%IOGmU4oHP}e4&p#)HV}_8mkt+A>mcZ5(J8Zdm60I*ghQ;9 zQs1yV#?bE;ul#>;M0B-cqpi%%u>w|AYW-Nlef|ya3bM>DaSA3mLF27qpK*&a#T3mb zmP{!4kvQ5MdIBPG$kT{46UReF?DU+&BLaK_JY9=M?GtWoOD-i+?ImX8>m_{_fy6&A zL3>UEYm$vtcskUfjJv9qUx~_TPI)HGa6uc|CgZeKv|w0ygmA4pzgZbTNW0#l;TUOV^H<1l zU$0Guk(6&c)T1Ik@=yI5Zefka3l0#?VL9RhjJ5eR$p3;C;8+!ZhbWApS{B;odAip< zrIDm`Jh}I%F6oBpWePktB?#Ouvf0rVG*L`OJzmNaJdQ3;-OCZ97NI)eu1uc@?N*on!IzFhdgT!IYwCT1>ozWYVy@*;DYEDFQC z$Xo&wdZ93v`<{pBPp9iS?CzmC$JX8i^8JO@X0@kS|7UkBa3-oDJ zW^@2FlWJJ|jO3R&FGi;Vd?6-TB2Um7ll)Y?rpSVqZzBAoDU-?Bf0P+^<$R1rJB7nMYW-`W0U)Pk}bX~Vx&!m{& zmQORld}6o!@9v>Zlsb}uU51<}ew4W0l@L(dM}(?OmO+J&X)_3d+GqOt+{ zbN2!|_GMI@ZL(X?i$b2x`$nV?RBUTp4+0L&$PlvvYy7q_BC)Woh$1wrtk4 zg_zBrD6MI?dsTY|ff&f+R8nP*Nxhe|3#(}d#%oXJK*gE>d)UkO{&i`Jl}Y&-fkcZtAi=a1RVm#}Y!Z`+6=EVCi5FXgC-qA%*C2!!J2 zy;|oW`dhk?AGm=fV!z*jnTPkvc&sg^ql^3>zk-9e;=@Jz(NbgNghQj07XwR;j6wRwvi z;#|=VN&sXpR&6&huh>6o{cbWMJ(FtEF+gQf#FJAQm#QoDb2d0DvFC> zf+QIi+2X8FBK|@J7HxBn1>Lp<))qGRoEX8{Dmeon_8_s)kBG%+reGDGSe7LLCnl7f zOUUYdxQ{D=b+1=!Ngj@I;ij|hyY^yirqlxkzVR~bP^3;Ck_!GRA!D;y@AUbwB%JP# zm3RilE#OqESsjD+@9ksT*V5cVSae0q+ayR-}I&|x_d5Cc_Fec_Hgb3_W@5jEnax)ROGwl(c^q`9oze% z6I48P`fPKrJ*v-NZ(9FuDo-%r*HM0+O_21t?cRq_jo!`<`~_L z=EKOJjTSmzRk%{Fu{%y7*cLkPL37%gvcuZu50a}ulFpUTpY@u|QJ%gjiv&x65~)*w z;#xO$Sf`&Tti^tRlR*L9AV5JXmlYR}+1~$+kzMFu_k;o&m7LcsIcmv-1@a4|NPYwX8+r|;<=`@HVx<1HI>C<9Tg*Igdr*qW*d*W{0-v5a z;hh}}vpUve;~`Y$f~-5~&5tx8mIu*{!PGMquz|b4RT#_ym~4?*BHaqfj=PZT@T)3L z|G`)J2tWa6m`}YgKuaD3RX^OMpcOC-jPe(9BK;P;ZC4VBEO_e!2BpLO{Kjlq9K~#{ z44Q>*HwWb__}kw;!ueBS_yb1w)?jo?spmHtXv#x7Sl}6=?POrpBFP<}Q$Y4103aO~)JC(bq?C!P2-AR6d zU0Gkba**8HhG*oAm_dF35LjG~E^YnR`y<1JE0&!bK%PGat{!gh09v<@i4z?!OQF ztuHTl_utPx55Cd2`lJDPlX7X$&RPE#plkGlr-uzHb_6=REJ!uyq;A@GU;|_GSb;Qc z;s51_Z68jVP&KlGn$mtwTS3jzPP}E)ECL;U+wYq$u?sb7RAN`tC3fL4)2gxAN|p@{ z3_03d4*tIK8vQ7=P5BUTwiRJseb=2|3K#ZykXhr{BKmMb#=~6q=3Ol=T)P z86=9Pq&*czGV+vH#1(UNnPyg;3L!3Vm@Qi?Ry?hSvCfFo!eWPZXFfVYv#Bh#WFwS9 zLtRvpcsQVzQSbU3$_@zc4S@oiK8CwZKdG4V=r$|g!>TX=qe}f2R&xNC|n; z98*|2AOI6CBc_8hQ2vlr0P(ro0sP$H*n9qG!?AzgjBA4tqY91<*kKZ4=>Nj8l^S5u zo{!-=s~QqIkgDK5-j?OIxB1&jSBq}+-jxv7QGd6nJ9#(E6`syIYdD6L-`azvQ<2sb z^|ay~Nji@bHg+7Z$do~^fKytJyZVZfsS7#5(@GgA$Ga?_kEE-3)LN z!sQ+~r5D0n1cSMUC2&3!4?*XIpG=vSsL6OQLv=EL?r$vf5_O}`ORV1b@nvSs1hgec zd-QCdk0I1};ry~G_{_u+>-+KHDLm;%R^2O9WH2%^#3dEQqj|wzT(6qJ_#j7o2kCic z$^xzcWjqI+!Ri>aKioL&e(n*(NG~ErbBe5>C`QTmJFbcW$DgnREQ{n-1UpMUPl%xN z4Z}RABLphFG*XIqG8_IG=_RvSJk@OAr)<<3cqJp{bCG+mIGO@lN$hEm1g-&dVHW+uy+&4t1TM#V%!RXcF7A^NOkVnf!pebni`0Zq3)t) zx+|OLw_VevwpY_lN%|tL!dq$c4my;wu6QVVug52{jk=$MHJjx|UFr^F9S@+)|yhNYM2@wU8+vc^8uAR-)mO?3m7W*jwq*B zNvS%oGP~)b>sbp|2%YD*bOG{1S=vBN#khT(J zp#0Xn?n-q$401KelZB}?u0`m0dPKHu=b$ANgm3r7E zu-f=;zt$Ps`7WNRqzrO1mO6O)?`vsme|#u8m_;A#jaxp#$)Em(uU>P&GBe)!(|5nOzL^;qiHZleOnAd-FpdID#v{!Cztd zBkm^(^cwW(?)JM5JfR;h&@&J4>0$Tj!RiXt{W|zXiUqGH9Vm|*C?8b(nDudM^qBkU znEQ!)A9fdx*aZjn`U6?*K?ihJUSLOJ8Q7%@M(y7nk=j*>E|w}lk+sUQxsB~KXPC7r zwu8oO$Arwi_2D}g7k`p887np?c7r4jfi=rrwK}_&XDai~EglvtvTS7Ts%$*udSEwc zU^gg*#%|zkVmBmf8{_HZ<6EBoH47+FaQ8iJ$#+E{YLBzty|JkQ%X;j|HT9k}NY9 zxU1!?p$k|Q3Gf!ji|5|P3LjySn_A&mD@?u@CW5)m$XPK3zg${=oI{g9c|%P}Dr!nn zs44N8m$EXg%`%9Fw6^CLd~ZJ;_zr&)fbZk0wkBXjE3ziaSTop{f_E)@x= zoSw5f4Z$dz(GU7J@~BNk!l6RwmAw{K#_WwUgQk*g`E3P?V43F!P%+WieEri7HpeFg z8{3rMfKc7p9q5CO`Lc=R&;VHm%NcGW?Z#Fl)rx$%jO2@xl6F)si9+^xCWJ^GtR1@#KSYs>5_5_-X_iZZOWs%X<_kN(QmzAUAulL?KY zr0!n^ecV^#Kqe-vvk6n3O(>q7;(QX@Rt!f8r8=SzFVf zMgER|;+Os{3i5Sni#mPq7D|rX0D>1A4y+sUdgTNLSH`$Y@?BL;qWm}iJ3a{Y*5@ZL zy*$j{_ByCgiu5&o9d~t8U@7*M?GO6ZcFXYVl>17m`&h-3F8{Q5&dE42*h#4fsdZ`o zv~31Ir(0#D*lRPm?HW+QGd2ihLDkr-kS*-#q1Nz`IcHE}!nOnmebG&nZA+sgb7)q; z!OCpgp(Fi3TUG6%5ev7bW~hxGBK9^5$lWo2@HdnRA+KK8 zbXIa5#R6<~XPwea&3AQnB1-I}Eom3p=r%zwTY!B%qGn@YPn=CU`eqA`ef89@!XWxJ z4a~rOH7L9~CLfe#qzh`oYagajq9H-)#@2C(-i<8|VQ450QPdX6snLdTA2YjSbq-F; z^T3pnj$h$XT6OE;>TGfcnfl-9?)u||pHk0PN8J%r&t^Hf4H&GB@QI`x8 z#p=9vXku>#+@MdNaU$&w=g}e@;j%s81FFdDJz8byT`a~zz0rC&+wyb<2n@=r5G6e- zqEM(C-g}guxuN2%K0!agG}Q3^nGu?HMK>&6hJa1p!NPO6(&$&8`(D<1eeUjGxYO5z zmuF4Nz!?^TcbnYK933s1VOTk&Q@ytxw+2J>SCu-I&b0)&Xao=%Rq3Nql|C9(>7!YX zVneeD-GfF#iAF++M#s(4Xg4Q~&T*r;tUIk{1t?kwtllItW}!C@WRU@4$S^-4C-uU_ z(Z=&PxkF9H9qOXj$-9nV6fKSu$s=uvBh)0e#$7;g+_tjy3oVDp7`xJitw6XJTCMIB zuFh;qLTiVlgz&Z^C7MidT(hPqpkPoZ%~u01G{x&7nDmBj0=H9)vrI8?%-p!ekhuE7 zfDYy(X`wQfnGIuXyTrNSM0R4^546wgnj00m7Ynb95(XjAnTm$l)-TJxei+74QPBoo zX3xIXv9(#cpsXk_=$BakY|ib+);)(6HFn528V$$F0=uvB`L$efuLsYrMxB` zb_@ZJ&X&$<_X?$g1@VFXwKks3j0aXFy&F+xQz}FhTIbu@$!k+8wryy{r7Vc@|Mb`J zF^#y4Y;s2>jG2Gz5r2n|X0lI_JIc@{!ZPpVe-U*)N^+c=RRN);Z&=8J&jIOo)$zLkg&d~lLdQ`P0=nR zqp;+9#(nBZ`*m6&Ldrg(mPtCWf*;4W1K5fJ4=823po|zO%M^$x|C4uNCJRtL5yF9? zOmL`zK_&vLyCfJ)hrPZxrb(a(GI}I+YzZ?vdt+#0noOA!0a_LiF6)~*h&l*o2}D&0 z5LfPrV;4;a5m6dpO_r(^a%a+wu?!iH`!Z2e#%M{HgZG(X6l6)I)F3_-^&N_+J6?lI zE?z@-dLSW#~3xX<_NLQbBC9$A`h-tEe7Te8USToCir;ybg3W|XaudHy1=gACYYAA4$bJ zXOsH}H+b9ll}{}?(MU?gEXqHEpt-0fKLCcafq4~{N8 z6@p+&Wot*LX6R{`v;XSmK=KSYCgkeI=`1{9^R1}*ZaFU#=d58;5U&&WgwVpt(|nXg z=-dNnI+sSAGoZkYerQsEz(v~it!>{pezn`;1>8YZI{vURq^Y$+WQ;YRO;IE#(z#%pZP=Q1(U zM@G0sEAgt5Hxx_(T6DxiBjTZ1fvUE21yj(U!U{SR31^qE4I4avz*!pSwvef5W|H-# z&SQ9HI=!@2RQpcex{)lW#E=L9{DFjViG&E_Th5bYR}R|CaV2BXQ$Q&xo{NH{pRdQ` zgB-nbWZ=qHP0mj4^xmQstf6Os1~Y`)c677AXK*Cu3#2IRk{{;fo0jm?%wzev3)!r86WiEZkz(@$2}~gFFfjB&X4JmKTy`K@zct_{ZA_)Qe&GM!^;@DB6I7}CG~k%3hZe3% zwi1J+QX?pbAdsW$Xrnh+?8ewsmj;*Gg08rdn#IpGw$MLg_3e%50*vWW<6;R=v+PVq zP#wpS6DO@RH#33ZX}umnrwPXz{y}TFLi{DA?OE<|5@X_2{$4u5*||i(7YwJ&8lo|A9w|a{oH7m25i~9hQH4Y zxC8^vO~nMZY%!`aN#w@6-1K2qu%`)h`wT!R(ca$jSWm#aT|7(!{g90T28Uhcb!%46$`u^mqr~a7VZaC zSCV4kzHKWMix_T&2b5WwVv$L)aH@n;ETBJXQf#885y}RZ9vtIFa)w!ImJ&|bCQfS$ z&zVh(=0;}{sWf_NNk{qb{jmpJ1l@3(@&Zf7X+=-6oyij}prhjtMHUo7QdrM#{mv}?zr<38Ge=BnI zAt;QuEN3HxK$7$s$&c;SFx)FySdoM>SZkKtFWwKS7hBvT2`3#nZI@*v<2SDZVMiwL zd+FlJTRx}7_S*krrN!G$rv&z^6aB#_`T0;aimGi>E7Tf2&cb<#shi(aNU7w?pOQI+ z_>=P)Zj7YFb(aK`U8`uS1r^K*Rl*n!F^7Z$%0nr;)bxNu6h>4t@XMxHBdTt%VIC;Z zz%nZtQ|4+aHnt-l!`+mif|?_0W3@5IogvbIuMv6JJ)#U8bZrW+OnzvxKOA-cJ3$+< zCeM5aTyC%yXV&25ftT>j`GltAByty29bgEMJ;A8QL9hCdH6oJdz>?PZ7<^eT*flwsv_#wO0676SoSVmEvf7ossAPHH}! zz>`8TxFe@eTv%F{H`7aI3%86UzE!C<5Ln+S;J@Pv1=vyThyvTj9SF=0{FbH+o#9%n zDl#rzLC2sB5g2h@<#J+6nISgdd`1;pi)LUd9JZFDE^m= zA#eOpR@;T(a$Eq3mDRRWDF;oWqS54pH=XfOYBZ%%4W-i^)_*OP0HkUiI{17bXS6(I zXRofJN=DkwgV4a#XmenJ=>cNl__T$)()0}f%_B5He+YD#KYdUzjY4&ftJ}m)9w&v` zC3)=qB&A{L_r#xl@+g>rjabub;3R1-#I_o5ZYCo3X%gJk$${M9H*Ipn-mIA^dlob|kJ2oD&Bb zbH8xjsD=0+-u&LAW;QJuC6!z%bh6iC88z{F!gp3^8nRY=4sSQv2;!TA{5}86uklMo zap$l&Zy1S4MYlaXeHklVSMs|`oT0l##M zcT(_!W{u8IOtTIf&H}HRm1`i6+IQB551y`Q_zr=Emo?l5G^#^Pqcl&NYRF@Wop?p= zEZ%ch-;0$fwfOvwCs9X*mMERl;EU`>u;kV87LbK)qmoS(D?7?Rd4zx^l|w!hcMEk7 z>)&d%B2t53$dCM3qw^3-Q_(k1A;@OBNowTUXWIV8@A#oq;;neXLuV}Yuj+Lk=P~VL zIU8zKyAXEr+q%a`Nc}x}dzPv=9CsI{Ul^RX{))ZO>^McD5*U(q-;T9op%uLc!w|u^q6FOZykyV(R64v%qC#>E z4w)h0J<@tyfs$ID1rEX0wE49W2yR5NonV5)ONB6yw@MEr^H)cxJQ?N&v6&3L3`~;o zAryXxTN|aA;w|HfOJ8(F*YJIn6l1F)1Kw7n@XXpy*svOS3N$GOSp=%bi~h;44#A?( zJ4!V>0$Xmma!~!`6F}-!Uk9o)${Yt5ROnW!?;xliZ4P^yD`8|g-~bhk@RvrOW*T{# zX{6rLNWG<50XCN#MwMk-WB}a^GdL;$&hi0!`6e1=)B+Gbxs2L0{}fRIu?=O^+S!n$ zYa=n&20E4aMBzXJGwUX9z*#IW+b~*96c=6I)NAIiCi#erNLW|JJ7C5ETT^w^{mnf&c5C@nJ4aL=H-6}|N}w5(!OENNcmiCixEz*x6EvIO zm&oH1+gs5%Ri;pi(P5>F>#I|$-ljNhGSBx-)R*skOft57gk*dLiFv6#(sN%`O-wyl zxqMvd!{yTrPGaitcFYvsCHimm3FF63A-pQ;>e6#z+XnHj`FzZV=S)pruVVVWrC-0< zy*}ghL>cV$6-l2LuP>y%lT3q)7Uyr}B)0PXnnsy3rK&hy6+k&;P@t4)ABC86*|9Ei zeYQ?Y__Srm;!Qvu4rIH@`*QDl?vpn2UvL~wIaMGuOaVdBSBe2)lFSJW|0UG~c<4o_ z3@7;J?|Km`BcO8Mi%=N>l_Hw)g5@h;N`|*jo<2{=oPSc1PyyDuRFf5GM}4}!i}?J? zNR%l|fJ_?vl1x_y7&?VScyQAd8LhTC!n^>H)7L9njgxSYl1om?W>_`8_0sHyTkbiL`l(A@wG>6kL>tOEx zPggbTp7;A~g%_-Re{6&`b zEGg+KvOX0lsH&H6#A=6L&9sn@-CMZ9@_$VGBR>9Z`8~g2JVkDZ#Jz_-BRE}c2Z>%+ zNrquS(vanS#W`4Pz_Zr{ri(Vbjd%qQmVP7EOYjb(!fl=8Pg{)y=Zsxl?1sEp#cptu zk(NEu8T)+5toOX&W!6uP;4zgDi%aQLilV&vH1br_th_w$2%Gdh8Syx<;RP$QHbt4D zW0Y!n2#V%lzbxf{`q25I_LokdRb{3hgdNi5_Z(j^*}#z;Znt8)@y&K!%8$0Hi{WDM>j#U0mOy`oX7f z;r{j`@o;wbsz>XPSsP*Vi3OIIbeTJ$sA~ytNm4p0@l&$mLyWpmG0$Yw6pt7>F{Gk7 z!#JX@aT@VvzQLQ9gSjJ0=@4X)gJG6wkrp;ooWJc4HgOZwRxMDQWu`3KJ=rL!Qjy563>{U(ron@q)kLQ+xy4C&$DX_DR{}6F`@~r{h%l13liw z`bM2kr^L47`Fh5Q-DKi{nBGOu?mU!IlfZ+V9T1`zN7mZktK(d2oj=rC@eKjFj~C$I zZP+!j{`x#|b^jZQfcz@Kp?e6eTKXTtOdT-Do$~yOYau&9AU54NrZ3hoUNSVezGo~b z+rI-jW$n&U?Z4Ce8uRnLsPq4cTqC^*g5nl;&LyW*D}OUclFs`H(-*j8UD}yX&rLxA zcEf97aDjBql_K4rFO75`<#gL+knTeg{=z!N#|`D|N)_kq7dCgH z*nn&EAe!AmVT^N%X|Ot>*{N?5H0z+McfJ9)%|G?&jmqU6H{Jc&i~0EO5jsk%&{2BG zEb%{@YV>HSdK41!g{Lv@ynn2!t*q|6hak^d$~S1=Gh&~7#R98Jd9x>!PsK%9U^JcO zWqy#}R0e;KKm@F;a7#K{Xf!R=BB#&Jo58r+ z@sNN53*`Xyns)ffqM)L9Y@5^I`+*sP@oDER@y5JV@A$D`YNSCt4qNSKYuT#&12_hh z+ll@w|A0lvV5cLJwf-m`uKBSnwk(m#8>C8<|C|RoLY5O+28<$7wq<`P-6i0b>;XQ@ z7AqrztIkgA!!R_a8ff0W098dZXOpqu5ant63MrUQy~l@z#XAo*{W|u{%R#MMwA=`u z&aWx8Non1=d7oz5mlalli=(QRg&rgETtZn(T7$A`deWVULj7_)4MQcb&r+KW<`E^Y zN-#_88Y;@J==?Hnv;a_?QrMXYWermKYJ@=rxf-$ldnm&SdOMFkQS$VpK2P4P3j4cRnSkRBR@I)84K|+vaZfTh7B0 z#j*;DnPL^lpA)8PChM6_6VCg8z$$|gzZA@)Lbb?$|8E$LS&9zoZWsn@b}+z@M>sdW zqhR6@OgvH%zEf7E$9*IX1bba3lH`8p<0i#pzSu^cxc&YSOVE$;D?PZ>Ox~`##tWuN z1@p(#gRniW=n2l|U20xSxOmzRjnL{=IbQFY%oyN~Jq(Hg3oYQ1CM%3^2Lv(5zS@Ca zsKsbmT^4XXTF8?hZBKB`z=ToPzD){8Mfx83*yWPWasKX)UCskNWVKWmZ~K`7gFH5U zmAfRX(v-nxsS3eJPt+e29Uij9#f#W^1f7v#us@A8sWHVi%0PaoExj3o^D+9f{p9VI z8`t*sPmVC$DiwfmWJcYUCatRi5D!%K>m`V{EP=*eMw0%$?ca2*x7UWN44b0>#jbP^ zkYeo}1WLAc4gzf($5J155H#Cz@{SeUx+zvrWVl<2grLef2LZnA;0&mE0#K`Dm!SqN zW&IaL&O`&P(^>ybS^wGwy%~wDu@%bjQWpNXO@<~lS{rr)ySAb^BQ2?Znu`jb+EQFD zF1Q@{__hyT-uZnb%79?>^2L~LyaWSSf(^oJ$3S7Ro{4im-uuqSc)u}1Bd%C}WH*Y^ zXyl)xQ6z~*ktCWG5EWZ(@MA#`Z`>tqS8)al1hSAYpf@W_$lt zpA=rbwk;o;9E7$beQ0;ipNc3bPbv)F@Nc*da*ri8MQ!idhR5H3Oxr#`h0C&Mx7ihMOg2rrcppBjl-8im1V2!k!F)6`3yMtVBW zvGwo2CZ!6A-CQs1=Je7CP28Vp80ROZsnnK#S?46t{&{rm49!PqxF*(e9?EfjVMOG# zvLTiIxng6sX?NMuhbz!OLUBiPIJ4al5DVBw^TGP&@|rm6R&3s^p*y&qA4$w#tRsI) ze~G|sE=+m(Iv=X>XyHEL(V(xxBow57XL3CV6w}$n59Sj;9Kd>R3&jP=Ya0mLF9aa7 zj8&F?Iv_vnobqP_J0Fuz^fzg{)>CJzRFuVss88stCzO3ly7!pUaXDNg%5? zpU=omWacyOh7s}7O(<9Lt4E3vW-%XB@&q-Aru|Z^k$mx2<;EmgPJj7=D|Edk7PWtA zVz@9yB{OMNdWdppc|hhAjm#+;)qSH`xsHM#_UQzLL1vY}f5IkpMe>w+UTU3BCG^id z1hjDzTRMl?^~AC}dbc(yQyLL~0xgk5;zcs$>E zAnuWAKm=0`bg3>?TPgojsljPyI6f}bxOfIMA{B|mz*+qpjO(*tC{gc-g91Swb5u=Oph~V@~3F~vt{#VNOq+Vv{<;$lx?c!bf_3- z7BhCR>q+j>9;ZHM&FwUVk+*0xgkE_UzSZ8?4t1}CaLPnv#^Io%8SZnhFY;;~aGC(e zC)c_Ha;Sm^98$O3i<^3JGTAVo8?3`mf^|`zqU_Gss92^u0I4Jg2U&yXksTCy{2DZA(sm1Yj@EI5LxpY`JeVfrvlkh(zvE%O?lMI7(%*ybmt>k8z0~4o``O z*o5sBV>@It;Ed1zN_1E^Jk>!@#5(N-!INj`!du+D;l-k*K`OG8K-r84uDxM4tSxu8 z@^F~ZA@KPvlwAu486g-Nl#B8!C0}gJ-Q~eX{%%04LFw+okQA@NAqG~|DNyHc=GO{{??wKY*R;Ep*XscQTcX+J1c z+iy*VGrm`Op3)NY^Qkf}+-RktL^)8PTz0XNcT9_#5YA#(gCpkN%b$Kn0wR2Zq_g1h z$E6_?-r+^86d#o(lH4>LIcH}uJylP}4%H4C`gl}&T}5zUGELQUvlY+Hq%N+P zLZ#$u97@s;DAXYRfDoSa0}hPaO4;x!eY*_VPIDEy0~cRId03j)QWutsHK=YGO|ndG zrf#<~qELcVk;;o)aq?1Zb^b%#8`Hoo?g+DROM)A$lBulRivr+wo>5s8%{hPFQ!QRr zr{I)QsEY(+gq%{{ING4|Utw5|s*5wxT3gcy_+ajDOu8!h)wr1Cs+BO z8}4W4W6c`wXUZqp&mFwIJS{Jrp+J3WD&W&_ZegZrlJv%DBE*2%VX||QI@JJo63E8+ zhoha7wW9o~L;}DlzazuM+1;}w!v#*{?#rg>pI3#eQ8uM5tdSc{-HLcCLFJ6G5oLQ) zJDPBoyE5jugg5bxY>JEqnMJv0@vkj3Q&-wax3DqJiqg2RqM5!jc@0hH%H*}dKg20| zk`C{zCCx+0{sGM1RwA|uTcqT$Rf8)23NrI8av;R!79lo`5S!n&fLDB50oL|K+=aE^ z?N0eTQS_48f%?3{TJ&kmei=HNL>V>j%drDl(_rp69Hp!xI7$+lMcPaKSIL41oKZMh z1Ir-6wADFM7il`=())XnM<=$N2%W~6ZZwEWlsoN1CC<+fDv|w(ZcsrbcVE_qdOSPx z$%^B~$<8K#0MbydEgOH8Rpd0>u~Kds7Y%pPto^EFOF)cm!i(2N{=fEfEbTHDj3p|V zK9DlS>wHVQcNiTU7@&g{h1H;gZw+*yV_-pf9Rq9R03CcQg|MgqXRi6X5m)x$7+ejGR07C5YEiGl;is#o=Ekwk!}%Anu2j^ zkEvsv1*O3_3vIGE97jwMb1m)sUcEa8A9h?1na+_op6NM;2ay_|n>#e2{0wQ6dbw`f zVXvMeWO{(8DdXBP<86i7!E8*{jBcJoyYFK2NYV4+-JJk%Hae|EPB~lkN*3IzD{gWL zMHvk*?GKqUf*-4$gJpJQz*z0|Znamn%;3SOWftg-Gf~v*TrPB>h^=s;cVuI8%IKVa z-CiAFGQ8GKB#zB3@?Ym>?tz)R12!z{70ppKhdgTkeS5gbdWGgq1&KrxB6b?ZYH74(kw#k0UiqVyb2#W za4xLi6GU-dt$$B;UnFLPckj~ZbNJYfFXiBqzf%srXK2mAmlTeZPs3}xgU@f!S&^^m z>>PY)@p|)q%E9Noi_3WAMmzY<*k1@LtjNLlOzgl`dJ>-kZ06wep2QUaZ3Pa#{P4Rr zcK&e4#aAp`>07&(CYlT_zH)k(=>yN&wCxu#Kk8}m5Wak z?)M_*pDA5@RUhKnyZBgLbMXalV&UTRp2X2EzTgm?9pMnHxcE-SOS$;^eS{lx*3Ucc zK+8TC-$Wo661DoBfsW5VFD|}d^lXvQ1J6JFq6%<&UC*fi>GBFdtzY~T);wDUfDFNO zk6FXdr512JO=`os|K`#`vQpjOe0?$uP4{1c(!abeXm_kst1ouK7RugRTisSNLaRr) zaBhsCoJ;4k|02`uq}?qZ%35>L_i<=0%Q~p>7qNiQ0lu2x*6`ZBJ7f18EM%)syGO0h z0!`b&Ua0kdKXL^tsb(u#L9fX53H z^~FZ=&&W9)5jaF)asn8&g~+YfrYtL)R8{wQA|+j&XHw?NXh2rKG-`EztM1_mRJi+S< z-JEoE?(lJZN0Kh$tTWL=mjUXXDe$dW)-Hklu!5M4^U8{>oI;iVF*wj^hJz;xZf(;5 zG2PmM&O0!xlg`TmKXqTDgFZKl zxT(e+w?L-LQDn#lfo*o)++tIL%f+%X38BaYfUzVf%f?CraVq3aT)|~y>0EL?lZ^$A zQ}9k35}-*7VREV&0f|7OXyg#AM;1uJWn(p5Hdejdu9QNkS)xUOd{`^p2M#J9D^?S0 zCnZ<(gQa3g1J9vBQVN#e$#gbRDT^%N?HEzq{SQW@%vGYtmdXI-idW)25CgSJA}d&@ zvfe4tM+J0rpcSO^U<`eEBxc1`IkgNV-Bp4%Kjn?ZaD5e5ff7 zv<+QHqHF5_-dU}E8mj~EeF#)Zuh4L`s-5vNf#r)~^8ucjphsCaZvY)+P_+-;L4Yk*wKJTE zmW)`t1lP7I6Tv_8Q%|IOv|N(tU10&#rmAQ7$;jTCARHS&ALL$^E=+ULzdL7fq{8sx zT(Mpfbrykj9&-IIx}^C9b_$5ivhc!3)l`}Xos z^j%i3jvjQG4zAffDLP0vpcEHu+IL%P;5Pp|gamx&iJ~(t;35o&7hvvg`GG%*biP49 zFpmXxjW!Tpj9nDK+8qJ~1)8jYAyQ2k>2EMNW(JtB_OaR{k!8z1EzZBc)SPjONqAX0zK67d_emrXkN zf)t8S!ZbzZKl|79&d(&hm|5Btv5q?X0@)PV#Tt0cNQmrGA(~YkXyvF*d*_^d5Dq zPxPDQza=ZzNJ6zfMNB-~d9&qu*77&Mzs_f4gnIY=cWnehplHl%I2Ji4q68Ml`6IvX zDqPfN8M(TpHiP;wy(A+e7djSEdMz&B+&NTks_U!EkN`PO&=V(5@?(#3axWM}cRi3A z_2cs>9h!nFeCP-FVmuc5Ggsvqb`#eRN#uz(&R47Sz;BYReFPON{dgnCYwo@ z;@c%%xPj6eIk8e{Z$x`+MwqTDEKHBUcqm`w0h$pmAyBe?-3Ui8X$wv?JEK_U1&sdE zXnileI=a|RVZCBtX>kuj+0sk5vL;g+mYq1yRICCwegHn8L}=<4&jW8uftqA$Xrd5b zQ4oX|k>P|lFU`o|BcwLjc{gk&Xt&t&)KzoCOq>{*N~1cZll0ClNFC)*N(vgs$2flnZnkJO{W16*gJU<611CQUO34*g!{CGq|jpmU?Khde={;wmx*S zAPs|so=0<}z)UxG1G7n|#lRrS&XZa=uR+_;f-s1kPr~KQ!#CWbpj%xMT}+of;>p{} zR6&2W+tk<*!Z-qFSSk0A%LUAu=EPn_A*X(=oNs1$STsn9>Z1w;KF z+g|wK>7P>a1^uf^5N{fwf4nj9fF9xzDx79u#uWY2=j7&k-k+>-sdFPi_RT9HA9 zW{eh7cuGuZ_AZh$Q<}e#4%a-X6aouQQYjGlxt%+SM%;)-PCy#v;?PJNp^<}VnZ&z7 z)j%~ZoJ|l?3kekDjd^3xD`lQzjUsz{Dof_#MKoKSg!Rg!)G*dl2ZlG-G^BlcT>*bR z`*EC{KzNZoAmp`RA?&r6E}#ka5h~P2N6pS6LM;er>m-mAShG`hxf#m6WGYEgDY9OC zsdsZisi1r*q)El3-!eH^ybi$C!|VGa$hiS@j2jp;^mZ?L_fMT`qay1{iJ;= z*ok6o2{8n0u%vdY@v*u@b7M~+^q{ZsJRHe!_j%+lZPcIq;b-MNYOmq5h_99}9*@{S zS5vLxsB=Fqx%|tg%)t~@F1^j3fryjA-pIFu{u{s>ZP3>{i`zDH% zPgi3oHV0ex*PiAY13(X&uG~eJx<_61J)EWCas3o$ z9sBBfS5MhA0Og*U%Jc4-rMmBg#kfT}WPUtReIIq*&e}Ki8Z-Yl!lAM6=>CUrDNiqS zzDli5{BzP5x28|B(^~Cu#DNB?)Bx7_bu33cKSob!CKGZpo4l#lq$hcM)l<{;BndY! zAEkAM>1A87j>+3&pg8sykKg&<*&`L;65ZXqaBljZES>xId++Wg2h4gs!fTQ_VOZ2* zH*h^aoXqo;Q9Ya-s9s;>My}qU%*FTU!{KD^8oJ>*J@1|+iA^23=kL|??mF3edgN=d zfA(ZN{H*pb7tcNu7tbDd&ps8NJu%|hW7TJ$ET28Xbxn?UKNg-pX3x*X2YSV@4|7`z zWcsEO*`w~^hXKsi^hn%e2OJ=X_xIT8b@S2v3^;z>(f!3(7vuRkM6clHJ7?2t)>^Pr zxwfWn?5zO+J#wSBruW9ZaSx3}8`1vW)ZAZwIXck0h?B>9n3a`fTdzCayxaPLXgK|ZcMn2mEMv%^%GI;g*E4))gRee^Jqt-JZ?Ty{@3L7#W;?_Nw_ z7i1T!H(m8lb~o7Ni$b3l@hn|nB!@1#8?y->-oS$!dAu|Ctb6-9UY1Sp9=$*Gb}?hP z=wR;x#;}eKP}*!PQxM1+zH6%8we&L1zqQ=72JkR;`+EVawV$Eg&2#kG#Z5*hfO(QG z_xC3CtUw`vaPf7T9QP)#JKCKfvLT;M%^=0>lKokt?({3&d9pnfISz0_h{MfkcA=0z zp8Iwqms<{Kk#6d7X4>~0J*@{G)$4ohva7bbirHwn9*&|yf6;s!h6CgOF4)p2&PcHSAa_RB@%xleXHuwxZ!65_ zn!B>b(YbB++)a;@+@K*g@}D?F?We$6bxxV)nxkMYblxLlc-wr|f%P@=lhHiPjw_ki z*oB(>EHk3Hw%0bUur<9(U$^Mxv>Bjb1P2_h8o_PTS^+Dd86QwwN;bB7n@c@su`hM^ zMI}2@FuKiZQ4>HwysHPPrZ@9?NFYnKT=C6(y70SajE1XhpR7(ufZtA=I;o?dSby_|Xtrf6v8f*r+4 z5EyVlm%*`~7G5^fkFqSvkKJLX4k%p;L+STaZo-A3wD}SfLH!k4Hq{7l1XQw@tj}<& z0}6VCKgB~aDuCCq4`OjWXX`&1&s%zy^E{Cnos=8!W#K_o>Q!OM?73N zvp;BCMs-(G?Yr~Ideuwi@qT$v#_(AOxFz0xjt55y*U#X6hO3-$botR_xN1iwS>38V z;P5g2t41uEMtj$2w0Dh0d)H_by`xdiI!)FcTh3or)Zv3$sl@4wXC<51_*uM5ZA=QVm2W4t>%Fb>vBp1Nne~}u5FC3RG9n*RM&uja zNxB2skgj<9X|o|I-j2*1%7&zPdo3Wq8D&F~44~8DtZzwYUQuR4o|1*F7+fLapSNtt zORYYgyuIBh#VM1g%EJNETn#-ioR17XLXT~?Kb{PqPIY>3Cte8A@Uoty;K7x*6L+IL z;Ij%du?4q=jz;1&{SanWvuOv^Saou8jpr_tKf6eVfT98a8kD2{g*2tbyqxk)LiV`F zMT9JpbOBH2ap%907$`7^mc!LEsoi6KWi;DCMV;7D-JD{q>v;kEyGuLB) zB4O*!e=(2Xd4=wKS0MtI%en%;iX9Nh0%_a9m)`k9L%B1Ti|0X9A2Vy@%!l-W=LmG4 zz|;y{RvAbGVm3Zq0B5Ay^Uot(+O0A*$ZRFhaYZ(s%Jsp06l8*fDPDx)Fvxktt`teb zz)4D+$YK@iwhLMW%e}5>5J8s!ja-30jcc`;7r}(Flfqyo&z$3_i#uv|{nlhT$++{@ zbYP0X9yI3ZAKxxpy~;#$GMS@QWquFN^pDTsOpzF7s=GRFonKZ?QK98#iD*47r8JDp z?kEDr+z}=XTKz~K|H#=+?(64pa?c3{i_sG?by-YjJNv(XerCV2E8jalechzeGjKMV$A3FZ&EvTe z^PfD|V*aV~K{EN_uelhy@@4wudEEJ7*O>v5jrQ0yN;b3+ z9R}`RR-pwso#vTy9D0IwM@XIj@1E(Q;w)sT9l4X5rH>~dVaH;;4<8)yl3i9=zn$~U zLKd@ENV{aVVHn#^1(hjn&*!)AQM-%dqS+>{N|s~_RH7K{UDdz}=rXX7;iUaf*3!!F-u1GwE ziimMoCh;H-4&Gg3VHgO>4iQsev^vK02ENMS!90D3%4uT@6|>98xQX-BMx(Lz6ywU{ zy|_{>He$JD_L7815ejgz3;@zV{WNhH4^g+-<7~I)29_2>mEGu0RcWM7d zYg8S*kp(wUC$vIFpemMZ36H*5@`~uxSK2U)V3k0OH|zwb4M!7aZ-9<5JC3x@DTwbv z#Ufl|?5tyR#E^Qc|a$5|8+K7wr{A%IXkM0KN;S;=qjE%YI z`zKR2I(n>0xrZe+gAuY1R~c5E-?mH6y?mQG8J8Qk>clm+rtPi)nwtFht-=qR&}rb> z57odsis|^!=g@RuY*2ju@&EWMe-T|9#x-^W8)N0M&C>S?@J(2gK~U5;ej}G)I#Fem zN3-VK_`&^i+YW#@Hc}h#Fb2potdYhA;6uo@7->$?a5A#$Mw9@>2vv&m|xujh&jf7tV%3HOq?Dflt|y zWph#ckLS|0hgt{Y!K&1UH6>y}CRijMB9&GY3!yoE^+jSpTZv$;*PW`j&bLcQ0HV39 z%V`E%D74OzEnAb>?u@=&+eNBwO|I{5(zlz*+u++R-IwUw>q+^b`2q3*Y2H9u3(c+F zHEP~Snhwpr?uB~b_U=pdZ80YChxYEcyH4%BarYv%Z;MGTqFn)>n{W4A?>U=5bwS<^~alK-pJC?^bTDz3YW@GTq zBud!8%R3X*gmpRj#dvySLUT6^;&pBq-NXVqlND9ckHm9L)wqNCTTml~b%<7)`JZjm z?ynxnlXwr>nJR3?F1mNUE z(w)7r$;6kxb%RT}WTR~D&~NNgXP_Kfx@#|AwKJRRiHgv~%Fx>Y$2Y)e?L39+5#6Xq z62{Iw-`h=)@rkhtn@hNrC05yjbT=gu5Yz=$bx0iF9FcR?`p@4PMT>{-dmQGhT)XBT z0<0hkgAwpbULN(v@?)t>@}_ubLNyOJ2+&bnLx`JED#PB~ z=FL#3j#k$n>Sw52f?Edu9(121F}L^0%WSeQFUdHIPcgZ`(K7=AOm67}7;^lC21>cU zhBeo=aYP~MxhkGO&FNZ?%_NM^C@PQP>;SEz0fsLD}ja()bOY0l<=d(Lp~K%fq>$*$3lZd(8c#&^l^5tyf0?$2W> zut(gw0e;lk__l7WpLh1Axvw_K25UyX0XhUUZHkjE@Z1=8yy`j*76OMh%r*ZFgP6!` z`!b^56S{B1+$NWzN|I*W`3aISm7KXLgL{P4{>C+(-%z3*X_h1}Zqpx2(#(1k_9j=e zx6yvrXG?`%pS>iT>D+61oh<}A*Q4%B^fHX;?Ryz38I5GMR$sDs%D-fGLHFOJKetr+ zxwbpQ?5z9Q?n^Z6cz<^TmpJvLf_hr3JR;E-aWK*Ng|jba9HF%>l!#1KN|5UJ%j$b1_YRbi{RO7U6Zi=A+Eip&IiuN$9}1(F()7Q*F3nj%}9 zBxvkHstekKKp`EbMF#8Re6bW@NUQaM*GB%o2Rk1#=)NA+2td6-&uDRbydDJDh!oNy zqd#o~PQ8tDt?%I_44=2cc}_$-U=o2bI3V!gWFCsxioc|t-)?nZmiscclN+;_bwj@5 zMvob=fo5WsZ*;)8UBK9wttWrHHZzypLxT5#-UinAf`y~s=bSqq zwiKp%uAKlahx5wz2a-p?b2d4|bBBBa_Y(+JhyA4S^Im>E9QQcSQ5pZkcWq4gU@ zg(2Am`JcrL@5?qgvWv*OW@&hFIxpNVN$k`UheR;CW*l}=^zhep=$pM4?q+_}0A-U! z*Y=W`%n0jYEM}uM2;u-DTjNR{%^gk|2`2(U>y!f8+ncb0KtPtn`u81}%l7xyKZHUM zT_^0-J@k~V$<`dr)_)&%RsMGxF7IFD{SHcOP)Jc4c*kPe-Nd4TrC?_=pC69V8#?c5 z7+xw}Il%QKAG!Z&L)T~Q?}^0mji-{{`p!p57Gn=cg33;NGHHVywqb@uGZOD{_(;og zu)Ua^Vw=K16Hf+rKVVu#(kkJ-h?5|HAh#+C9T?g><) zm*6F!;neLJzsl~JBlgV0_V=*;y+3i!o^*(^nDh+(ESkD~Hygzne%!NRd<_iIh8M;Q z&dQx=7-zr&ixLLAG1~y}J5Sp5pY}NOjBuv7ovEED5%jowFWJ((hI>-x!ZoSj%I>?h|pi*hWB3x6_ zOeYb=%2Fuq!0plMf@|F-dJIK^ej71V+Z=&jYqAUGdlxNqFXl&Wv_`Y6;e+^neO6de$&l3X8IHZ z2{Ho$EOA&Psm^>r8|fdl2y(JG{;zncKmTuR;H7$@G$LsuVS-*NIN4w+BGdS4mEv%i zk}{_8ZP#;BPsVodDR<7M!M>HQ3faOs#>KEvM>IJx!`60FTfFQ>@BjL=&J6EB3O1A( zE4sleP7Be#0-OjmB9CiPha1x-y# zk-VIXc-HX`(|qTA6_-KxbU_=z^_h;%IyZ=GhYX zkij2`cJ2ipjM*U~fSAmu7%9lfXS~-={!TfBG5Nd6iBKTCDToP4VCIQd5l=Rdt)`KQ zM2$Q&Q3zDz$&0zA#y~dhhoTGTr51$|Nu-oMC|HbSy1{W z7RLX~KoCWyzwmKAi|v?;W~_Er9N&Z*(thgIn#qCA#Y)HHfTRPbKch zZ-s*!WwrA$4loi`xjpu>b+P6lSQLlx>#|PXx^A!B^iqTKHP=bAABPsLZ^;3VNfS+IA62BPy0bV6L;Q8cDp368`KFus5K1h zz^(K74Cofn(;+#Sc-xFvkQAgaUTH>&8|!fm-83Wqq8ag*1E=*0KUVY_z{U}d`|@Z0 zX@kl_x`7_yx(yC(hufdDzsC}X0gt(dwNckYFR_JZY5jULe{)8`Vd)b85G-HI_QQ~6 z4SC$ffPznpGl{d#^IP;?l;zPcT55L_>Y{TxEZ+B}&+=QARw3GJ{U9YQBm9qG75|UZ z@cO!O_G#YSW23+i^)AfDbh-?7D%`^)aDHleZYd7G>qO=#&XCCTKVPz1twZ6tyUlcuA55!bN+NiKjm>nIH3=9<@3d{5-CnMsSi3dpn@G`MQ# zqQhdiEIV_RAb%TCcB(8OX5IM1t33(T=f!nBuleH7e&ENCn}!J*^9%TP5`6%T-Tp4> ze6{r6hE!udJX445(>`4X_sY?-GPV2!PkW+0?p~ogPgplk)ji2SNe7ydemY)9n6I4)!Ng;>?I2)_5K|0Q0YmXM+<`(gsVKT;8z}^_!}a<6^E@5ws#<=`t-xUe+WmE` zo((df0M=u5ly%x;bqpyMmq-5&IF*kc;ZbhaJ&X4Ez4gwoaV%bblDhojZiJdHu>%+SS;(Y;)w z;2Og&I(sH`cATrevlBL%r@~~YL1&#Euer`9KG4moL$pp0^LXYxFi(d*7t1~mTc7ub zKJWE?F8V%My-EkgppKLs9J3A{3mrV{J2*lI@Z$U{kKk=h6sSjU~EnbdOc>nK9&j*3@bp8)GhuIya35;elWX8 zg}%mp(|M9xRsS{-Pr@fa1CHFB{ z5YCXq;qSe;JfyF-W*EgLO?;8!aWim>i!&+y(Ra=F+WFr`^9+QQ!?9!(xCddnF&pTU ze()>8P=y&DZt@8iMz|nz(gd!Eq%DJ;7virlN;xUvif)~N`jn@FwZQ+gF)9q08AFj3 zxO{5-rFD4{&AsFvoGx>BNMznzqXJYtTR&$!YLO7r;+OAx*Zzaqden0)B93K*k)dd5 zA0B*N|1?d_WycI}bV3K#g7*=wNbO}+c%t?c?6#f1WC2Dfc_<$x_Lxa1xS~VlhN=%I z`LokTgl>EgDWTPtik*bpB{H&9a!9;MB1huWPtL@KNm#4(>=k?q8Bvl_-h@nd{&wWu z30s^yA%n#5_B-p`xf6y$YqA$Y0LFqZ7K2$?v~=2=P#BKRJfC(3l%l2ZrXpYphf4A- z1o_Z;h_S#!JhoZw7`AIT69|hb4t@?fXYq3&#gznyp@wzZ!T^^w=||YE#BsU362TT7auI!U@sp&7g5KTRw00mH{ud&39+TuSiMUJ&HnKx`Btj! z+B8OnFPXn8Ha6`zNdOMs(%}Ni5L7v|BHS0XNm$;M>`zg#0BriR!ze zWp=1DsRFz$$!O3ax6o|RQQQsQ%~9M`Y`B6mxEtBbmCU%Ix}4Y2Y`QYJo`&+AH`Bc2 z%H$TBsVkD#(@bBH`~VGAgx^53=8EK2nhUN--bi!d6;MPYd+C+Q?KD&zUZn0ow(bg& z3}`R9BDq)X#VA>9?{O2vo)htWI8oX(`lNG*3H$_AtrCX}SFkLpa6{*GhSO|Oq87HR zX+Bi$*adVIB90cUcr6r0RA$t(Y5t8<;tTxUHA6WOmev^gde>pcsrXdMUp(aG3W1lt zeqQBuvTNM~vo?Z%q+XPb;KwK?!U(VuYBIowpG@;-?l{2v`MY~2|Ji53ReS$cuDfk= zeTcT0wVTkq!p?dpvI94OrOoP-GG}=S_BS|mdBo4YHbzkz=`N~tsDjnvVzP(+LNTko z7RRQa_SMLgb-F&K3j1$4~dXjV|75T+l)SH~6C#BWf|~HT@%&q`VdNFhCY8A9R(fiox8XW^YbnAk3ScPsB>ChH zD4=Ro-1!?EBaS#GLbNoVq#QMNCu3lAHZ71Y?lnO=IV|*Iv*i)M+ZOD`b$QC1HA-9s z!o}->9X0%HCt7bj&y-E{GI3%*QJNg*_dYJa<@akS2op-!v}uCOsF2sA1yAn#~^BRP6H@$UCu_Jr9pNDXDow3F?=B)$z5V<>b;$RocyNWZS}b2+Q~74HjW!QVfRj$D8v-WO zuLYXGJ(0icHk$^}m)al#aud>RB3t-wyL&N98+R|rRZ+JI2{++k`TsyS+_7s?1*$F* z2eUpe;unI@SL304;wu~MYzQ+3TDz!;ABhTPb{g@p;L2Gs>hikz_Q{D1Z;67y7rKe} zu%t9_5)`<^y7thL;oh@aHl_%?@q^1nyaw@*`%s3=FH%K2AF~*f z#7eYS^k$Uig~Bu>`2Xy|4>avodk?NPZkx{U{A2`Q(<~v=e<#0Toa2d;g%oEO$T{>B zni3`EJPUEWrz)oXNlESppm5Ptx3)I8v35p({<~{*2U}A)y!oYOHc2O zPc^64O|0WCgXSMZ3aE`utOXUfrnB9R8X@+M<`iDxT2@88t2xz*q!`T98#6ouy9UT8 zq7m$)@9T#0>-&(G6WHwG?pMdr#Kq-TY7$IbRDM-o>&mb8FvFY339#p_-7{bo*^YYw z=+_uz8&Hh{#B2{DMN{Z)ya~1n!hw-YH{1A-0DR&f44JaYy{dq)ac=r`NSTduwRQkhd1@c?OnoABsuSD?#Z|LcQjwe z$TrTUdWVn~?ByNSHynO~q#t9}pgt4GCaz^>3L&|!iHL#6O3U7Opodj53x_iF5xH?@ zPlte|UAl|)B8~3uPevLhKe0&DoTYgo&V#j`&!$~Y#Ug+W>~I}SDrZ!v33t61oMaT? zb>BmLD(01IyJYY(5*{NP=O!B^baNeZVPkPdOmJdi!Y@yp|Kz6-L^Be5dE~{8vLJXB zEa@LP^Z=h8Qb}&lY*JE--$bDBGN55S`H$k#5XI!w1b~{*+`%oB{?u?$6k4XxMtLTl zN($ZA;O0(zt?8#xo{|~n!1*26Wqd+elx&jT#7jKaFfRzW4#rr*`1tnTqy#QJj}yNC zqK5RscQdKUFJ#0>xA!h!aAJv?jUYm&oKqzqKsGr!)z1GlKLCzv!5;v%rc$-d#?2!( zZlCz+cne(;WW-7a_UeiT#wZB1uyox}ZFmzJ9(6S}ya^3&LIVJSb{E&R;%h2LQIajj ztq6Lb*x3n!-cN!l=wZcv<$RKK`Vm%_ zWac2tn+Gssd;g!m_v?Rt_B0S-j-rwC0;|SYBW@A-N)F3pTM(8&miT@)-zR2boN)|D zPB(F#gNR@vFKi-m89Wt|4PcsDoGw#{QIuGSnM7b2A(CnC~C@g9z%$&=FtupV?-gKsJ#X%Je-EGLe5L&nI_;)aWLxyRUzO`zq7z7 zwH<>VxxZuRiCWxlE%t@6Appg<7$Z*nGgL06xEar|LgKvsnbwi;!18+a8bU<$`!vkP z_=l-^geVB!0D1)N21G3Tf{bKf^v`KuLuoQBMk+8bqP^hHW?AshgL$Ue*9(@}GVlf> zIRlffAz8_86F678k5P=W@aNb3PZ$KG<_*_PLM?_MTl_F!x->1#8b$Trl=L zlgnlfM&m*%^0T=tJ-v8NoWR#I&A?^D{Y8#qSZ5y{mlvF+LfjaKWjWs2p>`}xmL1Jf zi0A+5?ZffLga6?zXcvFcA7v&CyXDZ(+%uk#bp=(d7PHEBjv*?13u}KI6d0 zL8#&I-35m$Gaqpl&JN^l6G1r7^8aBR*Ilj5R%8-nJ$LIp=6)oc7#k+f^{?fLgP%2~ z@BSu3oD5&CcEf93@7Mf;Zsh@cVz-*O(>F0LUH`c>teJ4+ve@06VK`;MhkZtW$@id@ausTW7Cw&>WxK{ z`I$5H(TRZ?m<>+iwf_^*sxxID@_M6Dl+|}R`q3$J%B)Z{5DO5g0m#3J4}s4~4nlK< zEv0rPo)ke0@DP)cJ~b+&_e%b0)SwcqWNXDjMj#q&j|XWBX&*nE;lnh0STWHB4NjAajMi2O{4p1WZ1osT zOk$>e(F1-zopT6?JJvJLdp?o!CQh*#ST;nKGwJnl1u~HyW;V{yf-M-G$9D1otYren2cx@rH z(6P6WxHf1BZ(*gA=mzMd*4SpIDbqlEWz`3ZYfB5=x?+AEJPvVXew}1`{kqnA3u?p% zBU40#z!u;~uAoMuLD*JVROBqBUzvdP88lK>m{`snq;~^bhQTotjUyRMJD6Weuu+D< zI)>FzTS7EQ&6jGv-r&D(kU&jjEvtdc3rqoy7&p*rljQ6@Sv>9ckz5u-VOJ|{2P$vZzSL@z=4HY|sV7nJ!l;uMv2W_{DeHWjsxO7+y`9LA;VZ9 zzL_C?vV!Z}m-T60DvtgC5{*v2vRY;1Ppba3ug{O0SVYYs;Y`pOejLOip;tY;b-W28 zXJFnUZK52^)@RrU;s#rg2^_lCs3HN|8ug})x!|MJ_k-NEl;<8G*`* zSW}$KP1-f>?Zm(!{nVX7@edngcLzet0&mip;z1b)#(dt#_YM_RBR&R*L&&8fY8Oz> zY?ixghC%9q^@Ij)Hl7906#6u4KaPBRMO$y{qk~4rw43FN3k$~Bm~C2phd zWuf*(Kk#N2uHWQrXZ)_5ZO?WhK3Xuq^dOAf36dKPGmInXmx~g+PzpR%%iXW;9dD%h z?TSjbaESl1!ytch*~ZS}-v9c@umyj zz`|&8PWoT>LAeSWky5s9BVTL(Z$3-ZEMSCDk~Ue2kRW%Pu6EsP zaz#PIIb7PbxPaenS}Xl?(y|s!x8F z$N#YUEy{N}l8{(@q)*2SDC?)kwcd}*Yl*O~s2;caywv*iWARkgGA}RKZvsFx6i0Hr zCXGkr-CS?_&3f~7kg_nV1){8E*JuPjf&J-wZoTe5VpE>mff)Co^0}*4cxK_vxD@4WSJ@7&mkz8>lljU$PTUlkBV zCqy=ReNrX@l#ku+iHrkLbG#rCVZF^{!Z<6SfwlsUDf=tAC1zFK@RkC}YSnfVA0yqoRlUx54=o1XGlQ__Irhfs z?N;_a9ZOKbO2>91e`~6U%E+}N+HC6Q`CqWGpO-BmOK#zCc`i%4p`o+xmST5xLx<3a z7hEI)&N$^Z^nAa zY`7$<0w6F?F^IHC5?xGGdhD}4X?oVAOvmk53YtjJBT$-&1qq#zw2Z%SChbln0 z4o4J^VIxkS9@5FpdaOAl(O{3Yf_sf4uDa+kYFm(Z4KI5VbtPvY>O$*e6E`wP)cRF` zycB5Bm#%otFYMh1jF!c6UCBPXUZ^=|4jSR}oZKpAEnMKo7Lv)2jEX(a;~J2j6?{nf z<+d;>&=?IbblriWt3iOAe8E=RFn~X6nN1FZcF-UhM%^ipThi3)QVTX zjdnY$5(Z)~%KhZJ__&L_A=cw1kPi$`fRB~#z%X!yab%BtU>&)_wsFCWbUGJYVI;~b zj`}PvY~A@>@Q5vQA)NX`E;z<6KhnP(l35&bT;n1d0bxjhS%%A4?g3U zaQ=0ucyaUDF2lr0T1H*|(o*&A^5lvjp8S`DzUUt6%mC8xrta>k4gh6GJ4SennMdp_ ztMjLep4Y|Gi@CTNR-SbDe^8v1ZI%^zOhN#}aydF9%j#=7$V6uvfG>E?tKUa^<)(r( zt6Sq|uvU~rj02l9U@W^0hy@Yp4EGRhYvK({eVN51if_UVEUkn_seGdZ6Pb=#cKfV7 z#4~pZItCXa{UrDBX&3$4eOZLWML73e=`M7p5f0y3%D<_D)e8cSv}n69L2>Mu55MCI zP1!P5&?N`_>7cAxGfH7?M;V6jU5s5@jzE^$bm#4GBTPmm)+>NQ*0G+OLun%{mc^1$ z4GP6{YyvhY;u#nht!UM|tON1@ZpmwfZ7pSf?KbrfSq`Ov zs}iEs-eI9B49J+L22p6K3r0?6Wa!`utvX#mcS+1(kbJkO&Y|{%90isv^h5z{dYag- z;V*HjJdB#DvNh;q@`ErEb7mWVFeh0Uab6d9vOwNFF=owpM;!ys3QJY!w&sp-%2O)^ z_^hD~?;qxaY5H=yoa8=~K=bDfF7n)RIcgotZ3QQ>=}9tybx{O1mk#7W8jfodvdQ@9 zxk#7PCsaxJHtA(FSjF#b-o)iV#fYNaPanC;CIfD4E4*7I%|V`gMOObLicnqhB=A+Jk=6(vjB{)OAd6GH@kqps(&HT0yTZ@>5R5xn?!DA zs-?G2X6l4@L}=D+7>PoTgi5q0#}oh#j_J*6pZ?v5u_N2bJN9j}K9^|QG`3McZxJ=V z!dGPkmR3|?dLzXrm^4i>jLmv#v&EN*v^N^Ot%Al++bo5w))LAIoz}t)G!IXj5KAJ} zHs!`>xES^<=8YJtLT3z#1M4I{Gh&)jzaHr`18sFg>oFQ7WIB7)<|W|<^<=a` z=xMf~TN;T>aY{VnJDJn$nTWm`j3Z(AcC=f#9z9`Yw}IF2Y@aTeui{|RhWaP9iB-$| zYJds@_KbyA*l$MEvPU8<@#(r@HkWinLMXXiObBa(e49Mrk^PoR1 zks1d4&Z{*R6%tr3Yi)U|>lam)Smw4N6J&?>wUyyeH5~CL>i{hxE94R3nps@A|CJ#vpG(g@Q)(?oP^%E#Bl=MHkxtK@e z1jWpuAP-S5bV>n5!Cb5wj%J6X5Fkvj5g^`}J@F5^<(I%B&NcIrRSZwEsFDfUQqc&l zgN=zEJzX#ScVg9Rp{(WeGDcXHq>!fKtcj^Vu9Q9?r-uI_rf%f|b=el>meZjwOmFz% ze05gWB;kcz2FiRaN0cH0*43ADWI=&FuuNo14i*G*Y=RfDO19b9zdd7vXJzuQOJ23$ z_&7=n@%Ohy0VZxU_>Uab@?On48nZ#*)GEMHurERVZN*u5FI?G8nP==E0fbZo3fODd zudZ#(kK;sTcJEzV^NrIypTthvXU1%2FtB}uU1|Hc940QzBEhyGR`5uTSixm0Oq1~cjVj$~xP}(GUA*p`OHfxRJ(6FhG2n>Hp3i@3ILVVs6dbalbs07)a(og zaA2kM_*)Xk!ATcjw5DSBG@H7+(87JoMbn$PqI)_4Rn`kTJ znDx<>9qJnJMIcF;z-Dj>W!#ECvLqmj4J;yyy>>H6K|7i;seq_MllK7q6H+5RrFMKg`4?BUv;L6dQ?Lc^!a~2A#!`z2-peRwZhfW8@a>*XUxW_)B zK>(A}`FYZ)Yda0#iP9f25B2x#Wh3;CLSh7lu?I8LN3UCWn?P! z5`-?1WDCu(`e=^Y$upFJs9Ed9uv%fC=m}kr&5{~-8M9)6tpPGdkl*0}HDekGIw)JC z%1IUQXsn6ZJ^JV;GMO@nWJkf|7vfUfGcK{Mo?~cO%%PZ?j!|iSmW&EOAg}A!0(!xi znF)_e`fmvMV)ePsWQZb$=IGkN)U2~Hz;OXA?m966OW@B~K7=D35smAz=JXqaZAuvs zL|*FR3VN)C9KlrUp|+^L+!g7Hcv|OdP=WaY^%854{(s5Rn3RoTkLUr5GRg%e`l1!< zn1F|Fh{3|<3pWR&;aUJ7NMBT6>5hGyw;p$!7(Q0D>AUv6;V#(B(v^w#g{5l+IWjk! zsM`+)0do}4H+5J`g3&JHQaVN8vW}6VF=qjUL`gWlsNZk|%NGgk${j=4OCWXg$Zz8u zdH@}XYl!gxR|x!QN3*Wxl(${!?48&Kx;G+2A5aTQ+^4DJ9tzswlhN<$i~1Su!txWR zbHPjSr5?($0mRWUh}RXOpxcU@1#h$;W7`Y~UB~@tUVW;J=iSGI9<}U;^+UOof&qba)EEf~B#1oS*_96_dUmDa>Pr z-)O&P(ivqbNcX5$08%JPbGOEx5XUNfNSNYxwuIltU9Vw_yFmu>OZ+c&8A2BEc6soF zJi-Zu#(HoB%&{z+d7A8O>2#iEwAL!dJ1z49@LT$58KtA%Xj8d_(SVF3`_G%jwiSK?UzkX;4{ z7t51>9$>KY7Rx+yJ}H(9Go3-V8Vn?+^~h7lgfzE76tYJ)DD(#*uHRqR)35GJ7Vd{B z#={r`jp0HpD?-?vXhzZuIx(3@j(SExuk%65Y`q)9c>KF7V5omLMDxh87~V~0{nT#^ zeev&7+s(fk0$>bue7Ex8h(I<&j?pLn)jGZ!Vo=Ph=wI!GS94bqTFF9t(X@w%Xi>tX zwK#wlOEEB)ms(PA!Vb6SDm1F#5h=e){$=E7vE+-Cj4I7DGhO^RI`15l%aZdls>$=bo&D z=oIBkJsCZ@MByk7-S9SsfWYG1^R)!NzYqvAi4C$KB6(aQ3N8@@ z7o8;6XlpYJBvda&Erh;>m|Ciyg9#?$&u)5kTDGs5R!juM&5?NK#}Ps!CWQL6ri9SK zA!XtyF~~s(HZ*xH&M8DYOw6g=!Kq`|)?^Ps~1l^Z9hAqLvM1s2+7b64&8ZW?<5o85;#5=Zuv`Rm$W91V^n!j(}=BKdb~xhO9Zt4W9j0$KU}N zBESeZdYB0z1e7C_a^50OR9>S;+-mgA>TX81&jZv%r$6XOV<-~7so?szrXs$2kP%J7 zc{%|yji(xsGlEQTSX&bjWYU;)9-!^B2}6xLdtyGpuZ;vd1w$SY0(QZZM4!TZ?MO_x zqSTm7%EBBM=^zX{?f$wDb7gj%$8+M@q%#}?FFAHHOv@QQD=VXU!Q~Uj3of5H?r-_T zad^uoj>B6%aipGex#0JfYuxfe&EYNAxaEbK!~3#m=Od}r3{t~4l{mYMxi=|ijZpIMdf+qc46` z<~#EUCRM>V`_9;`biB2i%|yUx_!b%t0<2%S;fRs=@zoN*yruOq0Rj+!HBAs!#r=tA zbAIb5^Ao1m_X|H(OP<;8&hiGmbG2yx&pXe283HR_E{9bx8cxo)w^&X}^7>{?>jOuk&g5lprqj*l zWWIrM=q*~39Zjbko1F~59H>Th3l$-fTZdDl#2N{mP*9^S0%8eDq^*b=nry+|=LnDZ zz7`5L%9+FPQeKCTr{2d4OjlKyt}sb=V!D&9j#rHfkyzuZ7*}ghp%e9xj2escxfsXH@Wg!0wJZ%>n`-4BmS)w1bN&(PlzJ3db zAd9ew)Gpb%)Sh%@u`D{KLk7W`_RQC4228w(nAxP++wyBGG_dfT0a~Lo20ee^*k^JW5uec{iJN{{UBh{t29v$X92c=tWHLCBAVxC zD2^XJ#7k9TpHERzYDA%Dv)a3OW^o$28B}8z&_RN8)&0uc4t4=0;~*^g1!hTWcFOD} z3L2x#iWU@mxDlt3V5?xawZ#gC(U!~PIK((>BM1O(RXx$2>_Hi06o?31n-%f|y>)`{ zP0>6hL_dTDd6728Z6N$YZ}#;HwLW#(SaYxR;Q)ABN7|M40?NN z+evp*HL)4jR@XcJ>7c5w_4I^x>z@vq?OIPa$}ApV|8y(!!NX;89|`;oJ8C`C2tSZ) zix0`b0E8qw2RgHguoa5kYPyXEn>H+HuSy9?z>hM4f+s@`?=%tk#1i{~1x+(eBW_#h z&-c|Rm#MFyRi^ji(yE(AhfHu9G{|Xkp*l28#5qOh>>Z|kn6Z(^wDT#Epile zvb0L-#mLb*PmVD2<@JfNlcoQOv?)@WwP=whYV;@-a1xMudQ=5^WYi0)N_F-?BZZIJ z{YIyhYHD~G^hqzzO4#=U6>>$a& zWCy&VoD|TO9S9HqcVu#yT;k zlxKm6HcR`+*2Fi2#r2wkodOp`C+i?6Dt`1TFQQSr*xyh$QG6c z5Sam+M(~^)v;Y1)QE3(|n`s$+1D2MO7L`1~^?C&j1oaNKD2dEtW6(}fiV#GKmMeJ? z6JnH;0k>JnQ{bSe({occ&v?6ve7yWL_n*k z#)i6ts9c}CeWmZB~U90^aw<&-^g6_gYkdFxuh8!zHkx&i2$y z;$8Q==Vz~WOV_$Xyh&``@XdMN)u|9GM3;58W`%}P?6QbBVs>+-l33V1&J#vknh&2Y zR)j<=9PBXeD$)SVw4XsTy(4uP6yj6q@94Wd2pz$b#8(-oK}&yH3_nufLZO#FS;VTV zU?5(R<9m22QMNMBvJ-o%zwZ+^qw-a{)6rLq&O}&|kT4v6rkBr5gVvTNDALpddgVo2 z99;Sm+-2+N=u&wmqtI5qaZJV04Bx?fa!Nsva;{oB3`&?naLjqx=oCuKVFB~>4MuuC zP+1E|8{N(3;JqyhA14NtF{#qW`LGWGv{561ixxX_x`S^xyZR@_+HOf8C9l&Mc;9;-7q&7DTiZ9Dad*Dq?A@$CLp106G7MK= zStr@EU^Y9*_1%Yw@O<;qxj&FnMVPH=bZ^ln6*iAXffnSrwGY&P_JJUH2 z5vo>j10rmMMF{QtX|NLT2TY|Gv$B>UgyCI}YV}2l$6*ry8Uk+oc#KOzf`jeUTn=yo z_q`9Ft^a%A)6TF~y8m77`-IW1yX)q&cdoIw1iLTmcHW9E%IG54_Mq|}G=LVBFlK}K zL$OuH!Di)c6fS>c7f@d+lA~KWA$0Xmgo#u)mQ9>~wcQT3$&VBOPJo>a9j}`LYGASw zCoOUr$x8uWil-qWeh{B+=fch!I85|o9c>#jKYSx8* zK6$vyQu>PJa@oyVK(4Tt=q5YHK-80l_AC^IfkNY3_2|j+TTXgo9&!1u^+Z&u$%E1Ww;{94&6br*eaqL`FAhY{qCH3f1 zBfD@>WlVnS$oV==P9|MnDR!9>p%l&QL9K#WoXDr=lLBhN@|~FUNu(`E(%)TO0EC(i z7s-r~L3*_zb_Zt7AT9E44rs@yv#cNdNrDhmd6FO%&_a93{AltYe+t}}1G#Lait^ak zX0Cq!cyOqDVP^k5xPLh6pHdoa3nMKc`SWb%xI81P9eCAYGxTOovvv5Hf2|;8}5k7^~R-O3faX$aXeg+Nn!{6YSRdM{?B`f>>{RF96)15uMog9K>t$MK2b9<=I0QL$wiF;?}zq;2A zcXFy8A3v4tBv_M^1_V2 z{-K>CELQu%iG@NXIGj)k|M$~z^>SkL(+ly2*{2sNg=Bkh&I)flT2!wnhadUTibi)T z^4s``mVPpsL}cI433?&|^nu)8iJW|_LetmsBHv$3taLvIDw=q#hB&@-$qO>vU5zk&ALpxhUt9-%dwY=G%4@cfOrPE&$)o#fQkZ^GOHc zn`#GhIR+vcb;^cGd@H+56l(c+|03xDxY=a)&XtwzmxsZd4d=roCPwE&oM%!^M& zX7HVF@tq?_+1y`yinBf*gZ9mI9Epq~KK%=?SA}!Y#&NcvsG2%DSC5)<( z>B6X}`u{V?FH_^PRi^!S{^rWPnO~J#G)f!E{1Wxo`SBM0sC7|D;mXR&{WcQNH!O?* z(uT0j4`Dk}D8HQx%-XmHt#Ku3(pF2vn#|gIu(%GH%8zZyuNg<1Xw3kO_Y{+BmhR_k z-@kF{ew-sCf6%5uRJEodc{RX~&c9=*N1DbmIL9Nqz&V=~G&wDH%i+)9(xfnw3>O!( zD8R0QM22uM*SdxQ9kKy6JA6C?QY97!^enL7hBx0DUgOCYEKCd!Q{VjJMwHblxQJ_f z*79~6x~d6lEsKOJqAs9C%S*jD%tmEAZeoiv15=EfIQH%N9C~7_<%5M5CA56V zz90mvn|E0^5=pf9`e!o*8hsndLSsPlSA~aW;OFDvBk$jCjh$$X-TA>d=B6=y(g_=J zRKC|cTW_u0y?O}tmj2mRU6KaFtMvUXlI~WiUcS|PtyKyn8cM}h9|KCYJpAqLUF>Vs zgRg&StyOQW7;E!jdps*tJuc=IE6gtkOKt8+n&ELHN`Ompp!9kmPL2D24S-zSqH%{{ zfRoo6_el|23=C9eS4|^hY~Ee%e0m8yr9gdt=y==?T{r0kbS)J=c;PpDsuN4jL+qElg5!RJA4)g|P~6kzA|@J!(wZ;xA^gPM<$R zh?A09RQ6uu;)a$-!s?Fa;$bn`(FBQ=EG}d#1S84B4QX*o_qNDX6euSz@gAWouK zd}bEw<@vJ{Dd!g2KFsb-N*{r3cRbq;vuK4a#4VK&QqL|{nM?8S>L-PIu+m3br6B7} z3JGh{zIOCOT0!+)<7Zs_UosbBA!a?)hof>@#N^n8lu4Q3Ij8~#FAKVam1sp*Os<4R zL#c~}#V0~mJ@yRzh+0`YlccqYq7Z4#Ma4r5MSm?So@%-^OFKy?+rbE;ljupM3*iVe zYqi)*U^l&4lVocmTtV{CVyUJ>$O4H2s|A$gC~XEixet>xqaET9HhD2qA0g0z(E8PV zB+JL)`UsFciIEc_5mC5X?5VR58bQ$M>dsO`{ZTrb1nfyPYR6Yhfb!zJx(~4y==rO= z_dZt{Jf^p5O&wwquZX{Ffp9x+V`3Bt-*XyAh~lu)5>tYw048}ZKB6DJCjj}i3Gm3O zuamCjaUfcVqpi2jFbHqL+9U%H52PbmDev9`Z)QsKx#ZP1lj$k$gUZk;^EoNu?v7WVUHu~g15pLX z#8%Lv=NY}~L3}xrIS{;^lx4RO>m1IuxY?~&t+WW-Qe{Vw<}4%I-ScW0E%6lY$FxPF zs;ny&S-;FcXRvqmz;Nt0I}s-q6R7WuJF8}zlw-G|0QMrP#DK0GSAGr#C5cwh;T(Pm z{GluPui_Zwdw)E*2rqttsb;Di7GQ0T5o}4a$0b*oE!zF8RNso}%_I{ZRyyrQH@ajx z%gy=*w+y7LS>MBq#yf>Tw2s-dI#`9nWYGGr;qcrsmK-5M$KAyhvA!Pcq+=k~XKK#l z5Yf=9%V>(>v@}{FXV6~p^4s%qIw|@D@CTRX(tW58jkGjWH4JkH-qy zj_A`=@gW$-IS^3KO zlF1&ln_3%Ge}OF!`WG9+>k}GN^$7WZd}HP1nn7LexpLop;q-pFn~kRagSAOzW5tg# zK+NnInJ8ztN50Wr3O<$%#KIT5-mR^YZqysrD3*r*S-Dwu;8I7<_fzsSvghN=C6|h| ze4b@*pF)7IE8KyDRkdEeE4iAVPn&H2^DxHRYzSy4*1!6_UiDN)p;F<)3*m?*k_vNksm(;KNe6p@sHKtwv6<0}w~q?rL{xSGIN z^CTP}26vuT^dov!=4!Pi_a32AzSQB}`D$0g-0B4vast$5*iTIHa5cwDFgvaxpv>YC z?es;`ZsRIKol8h!STrL|$1h^UiOmJN^ZoLFVjd#q?e12AuUwatJlM~w>%RU`C?|xa zlNQ4#48FDJKK{|e<{^q;*q(RyxZ=t+6C5A<0c6(_92>auO}{-h9ZdFzNpXA~R`}H^ zj(4RL$0Eg0gv`m*{ZHJjn4)TnQkd7n5qU>1Od3=KyBf~G{pfFECq<4$eF!#ACc z-;RDe@godA+%(2E)HmF8c=+At{KJe)AN|eY@NLEF$gyL^g(Qzo`Xh0e8$sM_v6zjY z$WTF4#(m*$0g&p4tEE9$cEpfsg<4dWx>B~JLoiE`Y25O($*?MBfEyQwQ@hi5pVk#7XW&D#*dCv9Tng29h?Y+=jncjSwHhb8oUpvKY~vey?$5uFA0gW~HxC!y z3gI~$-R4E5i#U$xpODcv{L0wy;cy&e1QlOLs!c?`k_a}<;CN&}xW8mTCYLx!B($IH zJVsRuD&d{LT;v4ia_p*B@Zx%5W`^ld*bT|_6f_ov#vtAx7U@pQdFt-F>FnxdMt}o& z88x!oFGWIEiZOa-pWqb0<2kgnUnhCQ$`}y$+KzhcHKA#QVztzz@E$@WF2z+RF=_mY%cizR1189B z=p6KZa`e_o4JDZDII8Xtqp=isbwhzpU?T+wfj~(?{YES?oCZ2gEIAr72hj>hDFi9`)VJ0!?mOAN;ahaYUsgTa9pwApzCzzu_7g^2 zZFIMA=hG8+-pHMM?GBP(&LeklbVEF|AU)#-#_;~zJKQJxvwj!Cilm~ydP!Y zALbg&t+`i{5Ie|3g?9iMN0DQXCx?|paWKJ=EddWyT{J(as2rQ|7Y z<@SnxuIKJgxi9d!aDQf>Kk#1N|BQY93ZLKo{i6Ec+{^xeybAY;cl9dtX#4ywTA6cS z;B)T&!R{Y;pIW*59lC!jpG)^o_W3?OcifHd)cuF~+;z9w=eONqJy|>V@VV>0YoC4l zuezma|J(MwZ~s2K@7wVi7@04iT*#WY3F50JoECIeS{Sk)!pTCI^k1Xw&O_QqG}ynRIP){F(}nxNjx|1V_MLm6qFhy z4@$>T7$De}016d}Icze?Sh^5@sY{0q)t~Kiv0P`+;f!s?E=H#K=kjq@eOyIPd78`x z@@?CCCFeU2(4hk?;TPyO8YPy$zKntkT;^0a0pi=?XWw0|cUqc1wGCB!iX!f$f&u^j zDUIg{&mmN=)JY2$B6D-cb&y%uG1u|7uw<){rM7Gc4{?Viz6?84?uikg7QIN^p#!rnaq9iwM8|6 zH~NVjJl*d9&Gh}>{ky_``0UgVirv*fc^%VVuS?+sPy?yO(y2^wWG%&)dt;yiVvQM{ zqg$7N3Sh$JY-Y;kbBA70y4!B*x|gA@zPy|qmhQiN`o4yxA6_x_L!ALRkbNMBiDxlQ z!FB==np3g(odPDz(tJ|fykM3H+qxMUl*Va1SwdBa}8Xn@6k{@2_#_byya`m&;~_F>@^M(wuvHyII}jp)TF;q`IB%NSk1j48 zTvA*(M*1y+IeFO#50{q>N~IJ-5Kak)UHR3vbFn-;4h6%@7RAr=gZTN-k?Z&?gLj1L z<>d=5@~@d%0yCFu9&5amK4|?kTbow7Wowq1WK;^_+U#H8uIw!puLk$gZvcFeIGI;$ zLrsMDJYQ5B*o7lBex?qH14d)%H(Unq@F~zJ8o`+=vt9UV+a!kSDF80W0yWYFbcs5F zBp?|@>{$+k=xM3JoCg;!dD)6{E2}~GxpO9GgXiu{|EsbKtj)R*yiX8kZ?q4f`;tJ& z{;K1?I6=t1`miTh_fGv#KNgWB=w>KoEx!)a+!(ihbJ%*~Sns^aa+Ac3FB-nCyIR!T z+{h*fkOBphFiJa516kchRAsaSS#L2H7T84w!bbksXRaZAinI+e_V6 zHfw`t7Vrtlc^q+xt8)hqpu$t_%smAO)^ba7_Nn9EcWdSAqx1Rw{xi8M5NGWFN=ARr zBc9D%Kj;44)9Bg?Ex~s=pu)^^uvY+BzzFSk(7)>6T4rwxUI=DyenirmBdyTVYCHfK zUH5bI6tw{8o3;+5Y|emkCjjEPdTjHiA1Z-JZ8l)xTO|Y2x0W85xGea;|gXYR881y>`XLc1Dt;*tM5mk@+Nyr>(=V zp;W4{V|WB}rsS6&%M`$mfk-w(=pcJu?vTu)aW-mvI(L`Rd}c_$nu+MT@mDin)g=-uPkr+rIdmOe;61tf(4Dy?R>`sN zc(m)jN3qQ>X6}w}c1(`-&5gT&b9a=LtQLDGsAfr+1+$Xm-^Jk!#98mwPlQ0`!n|{V zDM4*ZDpw3O*A{dF^=J9nG#X_N8-1ELpE!|1E0Mxb)PUdLAO_>g&FRoDvcwCj*+lIk zg`_~W{1fhPu|7#>_+;*W_)?p1c9ayVF-WGVF?Ma9Sy@|Iu`-HAIu?s{el=h1%4nHA zwQ3_;^-}0j1uC1G`-tDpw)3J~_Ok|cGC@*dNT5Ad_4ok)KucH~qBWG>oSO4ccnmgS zs2&KRRhYDD4nJ0|Ht)7vHmf9wV-Ok?05pvfe(D^7AaNn$tFlpfl(_?j6noaJ1&vHn zSn2F6yTHU)5-{^%IV$6-7()z^cR(c)spy1F5tEYdkXh@Ktht#ss~<)XR$WXzcV9o$ zQ-p|81$ksn+W=fAecbRikOO6>hdq)V-iR`0WxbFPy}F(vDV}hpc(M=J&Ku(mOAiPi*PF-MHAGHslV$X zPYjJO}dHyerpO%%m|Rf=Lj zKhmMLK91wJ`>PNCY=t`_)PUHl1)e175JTjBa9qOiTnIx)W1?7cCz*~XMG#tno~>gf zEiAH}DJ7*t#sqMIVf`J`7F_XfR*)G&&d1V?{Z=$$Qi~j6wPTbcF9 z?-=Gib)kBZzC)E8&=y>3#Mh5Xq}M<0F|^VKGo{8XQ_ylS%S=qEZVkqkGMHxKQU=>h zq>38L#_3l=5?6dBm}%OtY@L23Bwxi>Lh2Q-Fz6=1O2(m3?UbLC3;uYjEtvpq$DMNq zo{z!wh2A46u^7zZTL-I&LrWX-T;CX=7p6s>xfv>GD@&Vikcy*`gCLajfg`KwhL1z}>AkJ;CIS z)V5VgQF{%&wiaLbXV6P)F<`tHb8HdkZ$`JI0u#E(yNPcynm@X+s171wMC1(!M-?}yki(5}-<22RJjfXczjDU-8Cm9j?jlutQrS^(ZAO((#N#g2 zbBGRQ3$rNr(ut_0>SAPCCRRA({yReNq1=6tGpn8(4V^JMnOKFNvt8P+_+(yevLUU} zfJnmEIx~8bw910*P#kGXi1#34`_rU0X3hR29Ajk?_1Dq6P@}SibcHsk!Mbv}&;~WB ziiO`G_C#a~i7t;|B2|J>;G3vhgK2UUagA%qZJ*}WdL5C#UevB+?23E7yC)yA0 zg}3&qhf#zC*zg;-(!1K-e$x|no9!Im+1d}hy7j;?j53AJ!2QhKUidnMf__t5UcX-#U@VbE z_kn_XPwfanOB<5Pi!KgV&b@w`HBxXK|KENCZvlwdQZVRKGx)1GgCGfk+K!SS>yoeKxHLqp_w9!a0;+~BZ;|GVh&(Pd;nyoblXlJS_ z3EDO`E0Ua=khkO4cf7SxMn}PK1l*{l-`ihptZE70SYERcs30|qar%{B`GYB31xQ<|HQ5$jL=z z`x=tn>@M_#SVdu7+knfl=xPSzIxLgf-gG0n^DDU;cY$3Q$nqM{e<+b#+=U4e=M zhaBK&RBuqHIyey7@XO~n1L_lkZF6NkKyrkNrnU#1aj(7sk^}E(J0@}?I)7cbFJ50D zMF#rewOh8b*~l@hdQL1gY2H9_1_py{MI;eOY)ve!c!-wA6yV0%D+M@Ei6pG*(IY6z z&2tv{)d)i7qc>h9I`A0saDvCx{8$$KHOW$jZ|kT?s@AbFi?tNCHN=iFtsAk^#O{x|e(?WoN}FM-|PGmKhT>#$1>NGa;qs}8sRh1C44n`;w>Ki^W3uv?%4GhqN%}x9ukWl@a9UBmjmW9pUPJPEH! zk5k>5F==xRO=l)q;XC3KEi3$6d+zNYo}>|Jt30`9ErS`pXQx2Q?&0mfEgc4kU&9pN zYDr#2;>QSK9rqe7!uK%a-uq#QMg<0AgF<|oRA(Of5X@gT{??ZNI&ZF0WxSZCGRYYN zLyJ&!up7XgGWW#iQv90vC+o&cTmN`WzyJ>DNWV#w9}u!CV)#wPk0EPK-ZE3wJj2Io z7I}r_sTRL4+*{5wx?CmzC@i+&&kOg`^VUZFh)=oj=?)dpZ{ty6zLJowbo`_=Dr?bI zb;BB%)8eg%^OT5A@>_D495sH;)6--jFzz}D*B&T)31ylU%bXlnFYURzKXfGHfR-zu zOm~Nb@TBgcMm4nZ7*M8zIf&rzad#SJdhWgtLD(udy+@h0sg#oSM?x7`XiM>uW)q6h z1Ubw&>){Y4Fwn>9p!6&=D(rk?5~~>K5FiHQe_rf!PDssqnh)`zjjI*<7K}8!bef3< z`O9)BjzRuvTagYGK7I)Q=4zKr10>UQ^%c4M#@i)BH-dSK8UlVENZf(SDyq|To0`gp z5_l)Fiw8&q+m43NCXT^)69}ViTr{{E3}SDj14?vA)Q69+IfYL=OaQ7G!CG)(kp9Xz zi2xaGBa$Cf*InP5K%>xW0*&yMCcwUE0xg5Ow>|}1`kE7rjlP#{fl&jP{nUGJP8qQCbeg+#b@yd@4#U6%2E|IFT`5H^p-V_ zrof+P0lydbA{6;!xIC4r_Gu!aR-bl>QrJ;gX{zuQ?*5PG)q54P5^C^;(W2{kfjjM8 zLLZI+_rqfr&t!Ov@+x)Q6yo#4dtV%0IIVAbkJ%-YvRak({N99$dbT(AM5>RcDTPD% zCR>y7?B>cnKUgE1GIxb9!5T{2t-TcotCrlNJ;6{hHSHqt;ZEylcRx=;+a9zKl2E_S zTLzM$VuB4%WL$JwNBp(ea40%A)r^F8I53G4wj@o-Igogwp=MoESdO4#4@cPrEBseIt#}!X)jqG}Pb&`C+?pzNnfqQ@eOCC| zoXlPVH3H?xVl=+7QV1FImBMB5p_a^P0Q#Uc+!UwtJ4bY$XOF2kT|kotxRA^VOi|m_ zpXUHR$*D5TWtNP(?rF$ARiaC9F}<=YTG^GUm2DN8n_St+ z5_6`ZiJkY{{TWtM+Z%V#autDX)%x~IS(_O9jc7x5Q&7&Y&!2KwfjM%Y=!qU6*%BX+ z_-F8@NXi@ood>H%JY+HIM!IX1vidOXpp<3qW>PHkFlY&!2RW!rfjXl4t^F+AJO7(h zetr)L*sKPmp1b*- za0DcvwyN?5RF%6*_weDQP}$V*KgbZ%jfNPR_5iESnBOk=+EV{Uu_&Ep>zz- zoskjS09o@tDcx6%%6o7rpL_1LE8ZAbPN+Q^*7j z>n>=EpdDwhA}%LY*5&xQ{po8-YpHX9CTFqI9460bXqOtnEwiBOxEv zk0k6_;>BxvcRuKQOT;`>_trl&=V)dP2N<8 zC_VA<)gg{AzyeaKpip|B3<|}F@;k-AYFcrroJ#M_YRi0KyC!5;8`RqyHzZ&(9wTITe_d*I+BLZ+iekgSo^rm~f$TFEKZ zlSXd_R4l;mo8QT+k3vR0BTM{KsIM$Xh! z=JPI0y(*>C(0bdx0J?ZCOcWVxv2s}TtaYjO~FULZ5<)i`5FjZR0Dy_c8VWxIg3&V zTvP*r%lXtg=dw(3Z!Q;(Ht4czMBL?Z?)LqhKZ5rJ!t%LH0lct5@wV1}Q_$0WiCR%> z?Y9IX2$&ATuuV;*(U|fFUTV9Owm#5B958UqprkWenB4B6pk#WZZL}aX zv@C&>*xO%!!g>y-m=VfxJtgIA2n;|~ee23H53+H8m zz8el~JtqT2-2hgtK{R$48*Q+@(0wf>-bBhMPjubAw%)dOw%(29g%#&8>IXYb@I+iW z)_XkTSNtl!gpC~rE1&zzPuV^-agCl6`4#s%r$Tee(ZGKZmsBYVii%QBhX$xCnpJNb zR40wex#mGSG~l=!A%9l&4*-v9u{wl?qzO01nmKJxW1{i>_BCGm(4&nRW=4;uP>MJ; zfiJN}Zh4Pyx-rBMe&XJBhfR!!C+smyY}r5F*juy?0rHZ~rRgL3mmGK5EOcK*_lILfx#;TQ{nGx{H!O;Dm%_uyp;zWDv;!;Kxb7vwM^)+cyJ_#u78*#~Um##2RqkM>9P{$7Y-Dz#nbt zTYtN(KAewry6AY;Z=Y4=N|qZx$6&ij-D~@_`-vnpW}GmJV8XFc1n<2bUsh!ocP^z( zw33aPhDs-KYl4X;^~GD%KiA`pb*As98mu$cNjxos$9GvL+c}n6Z=I0vf0j-@jc$dIom1pQnoiqmutfQ0fe8@VPFv9pv+vXo{D*lH~ zlA(o7izknCk+dM@enRS`F|;hw$w$9skP)i;$C;p-gxWdtdZjUk%=;w^W)PcAtR;cq zB5Ib^^XFyg7xl*TAZb~>K_rc%sYTMzH_pr80rlK@z;fnp0HzT_5`AmzB#Xj{U?O2q zjG-}gtkZA7z~O&u>=d*5Etx3vUSn_==(k{I@b5L|fv$dQi~_vZsQaaUt373i3setx z;Qeo+unZav|CT-eH5$CAZC})O788(V}`EfpYFA;}ZZ6GyzRd3P~BMjA@}Z1g+{% zwOaVCA7s9TpYknW98(KMq8)}D4E-Uj5*$xqtOZtyi1#4BT(c{%kJU0W7q# zP3QW>-Ikh|t7qKjKW-qrEsnpTR-Ce+9#2h=L$S0_r=~~w^|a>RcoM4z7tuTjR)PxEKui&lwVTJE_P#z&ljJ1g~JxO-N7H1wg0S{PH{rTN}V4UOT* ztN^lsfjljoJ=wz9z6H3mJ%_XsA3SIB!E+`bLBr=G}CB{@uj7io2 z#AY=iTk5%~i9#glT;D_^each{KSg5PV-S;nwwa4!H@RR|sJRSP zQK#c8>U4ZX9XrxqC)-n4=PWKqJJ~+!KKIxu7HGcjSVIq;w%?fH2GH{M8&lr!;2h0< z6NGM+fM3bi@YtS$f$cngY6MqFtK=Pi=bL%;p)$mf`CrNP;_;fA@Yscse;&TMEBQxS zvPnOH3EYrvlkv>kDG#f#4jW$SKt z@6R(zz0??R-fJ%foraf`%yNvCI8jr@u2ECP(a~KeZ7svQiq#hv!tlw5e@>M32+wAYIhyVp6-mu|~y) z7F}xWW0=BZ5j*yb|G*(zlhY6|JX}~E()N!baMia#MrkCNs04;B=Mkpttw0BKNa3}6tZ=nuQFi=B~MjX1$w2i$|IO?jb6^r9r7oZXbqgNY!UNojXWQEkl3N0zRS%eVVS*c&v1*V! zrvrEoxB8Tz6ImRW)jw;u`@8Y$a78PGT_6ZW9)n=@kL@kBFvS_12dZJ`*bW2%%~@gr z?RLh<22fn15M#szgaw-2Xt29+$w%X0{D59?6SpFnI%0=;#py)OQ;PA84Tt4&!MQOF`=ezFC_>o3-Y2CcIW6jLk}qX?sCzr-iS^zA3M^57&S%uqCBii9 zn|nGg2D3?uY&fcOOi+txtH%JejzBD{2z}PaKJmOnyj%G|-NxGESK3Co zF}(uY+ZbM%Q}Lh7x5RDmxUl61==BSu(|kxkBK1dIaJRB4FG+#@3l>TBOck~#!)P^e93 z>cDlBCa!Rb=j~&aQ72gsM1rBfIIsRmCR4+k>J_EtKGn<16}v!-qaK^eA3MBcVKn`g z0X2+11+X=vw|5N?!&t|_2mqkjCmX8pFQuL_YX)B8xuZ)GWFUCKgYLmO&_-Ybx=}v% zVwdJLU>$^m1bqu5;ohP`R^?K~E+v{r8DlHaEg3TPjMkvPd-zZ{pP6$G>IT*^RiuR5X6KsH@@%EU5gOyUiI1T zC@&y2$MQ#mbGsKd%ntf9y>6#0@@&K6aBhBKUA2Db-uyLMn&ZQLf20qKL-)ZS>O(bj zH$JKl>xS;@x9Y>f(Ea`$`Y=CqFMO{)%njY2kr1DAV1;||MLj;u4&6Op)t$l6ea7ze zhwi37*PWT6d!@bJ8@f9V=;7|refgjDQ)lSzwN62k*ILWP5D$W$VeLxyru|g})VX?9(n%m)JXfUWvg)Mwh7rn-=Uwl51P8c(pIegEK3)t5 zU>u)*e=z)`Ts>>m)|Bt{IwaQ+pwVCtcd!&23b^|$6G&iI-7**z5d+Ng89htK?U{_r z)ekh|M}Er9cRI~LB@^aHDgrwkO;@Jd;K5g?#7QW@fH$!19F2W z?v{La^-2}x56EH1V0t>032p9VK*lnTxME{)O;CvZV^AnCU3GHJn~q$-7M>|!G}dW4 zr}zNhjyo451TuO;F6S?cMnbkoJ$koDJ?uR}a`gv;7HCL1;Ls+CBJ5*pL2WmJ!qM!8 zn%?SOzyWbvZA*9=sSlr$ts;tS_Dc0y z(gZxqOx)J@S6kFx6KGN$9F2YuLsu=g<$X=4ROoplHV!pszrz9(NDz0>P}3I!tdjoX&i~s(BUhJ)hUaQ zlVGLLt8K+c3Sm4YP6+1R*@6-H8Fo>C+7PG=NMMPt00$G3{t{77N#X*Oi3|kZ1@jDL zY7X&LsR1(_K2Gv8{F60yce3_jb8gxZHq}dahG|$az(a4vSQS*u#+%Ke+3rjhi!j|_ z3_aqU)?h-nt-*vID}+Y7kC#f!Q0xxA=4@p~w2V0J;2X}aCQgV8;w7FZ!-Jp9U+OH~eVEF{Ub!<$73%t+?F3s<{=e5fU6Db2WA18!q_ll87Jc4AB%|bk{{vjB77_d zCa!JpT!+HQLRu-YUb}tdX9`XWl5*y)Gni=1hJ+>`3`4wuUIb|li@^Q@`_YOXHP)g{~=e624rk7;4)a;jNwrt64q87f{ z(scOa;0q>=!A+*6vEdunki}X>l!Uw^lf@1bBiNA6@WINvB#PG><|!nNAi0b|ueE=#Rv4n#iQa z(2Ctd6MhSa{(SL!{4Rh9qEkdVN6~UwmVA52-qI9HyC+f5T9-gBI}NQX7ZOlrBr|PM z3t*0&6zU|{q#CH}ddm@~hi8wkfM#&&n&oK1sT(PGJjDFI9*(K<1%Ss2Cxihg-b4bw zz|eg`R=vk6qj$mqcF%axXh6Bh&IQ}Ae<#2wAzLv+EU@+9z*S3TjL;{Y zk5=dn`Qg($7hx(?PJ*peoeNU1L3~W2bobPfgVS}{tOO>Eo4-qp(y66c`%f)Ns4!a~ zjmkFo=%degQQf=kg6%IpKwzQ9o$j{AIpZG~Fd@!#VDoa!%nX$8`eGHh7|MegekK~$ z)HRk<%jcm2a``piX|MAF*_^s^z^e%!#CXYncYc^OEC0r?jAw0qzMt*ElE%BwVJ|rV zi+(ItQ{Arh-m}Jo^d7E@Q%eiX9Hi;Qp0Wd=LStsfZ)byv!URJ+!mF6Q7yF?xffn*42k~m`qRGZAVYsH{7G-D>l19+F z%D;#mmo4QSCd>x-HdBZkuPfCM?YeXEgt1TU(36@dF0ww@3Z=Fub`VDug!r<>7gQ9n zVGGCZT{OELvdSt>eCreQ&C@2juN_akePG2Fc7Nn}dyBB&?!)eN<{(`D7~<_O8=ash zuNs}G%QHutba~bY-{ZF8*(39gJZE&0zWwrONta^~1d=-wQjI8ZqGG6%a}ln$S&2WL z2qwm#$t3F4)eb3^y$EDINc?k+-vw4Nhqb40{mVSki<7nFt~t+Xfg$6xZQo-?pWnTk z0%>sCxt8b^feB9AYjIllve$E5S9KEu(wS3ad$bQOj&}Yzc`dK0=VTE6HI4~{j0XvT2mS|<*6KHa;M)Dt87a$>CJ=e1CuhkV^x}opw*N17@}-ADCjow^J7IkxE*Hyw zvsU9zAjO{5WtVjl;;3p%MDr8Ac!@Ty_&YzV>lN*rdjQ|1=n95&lu1_|Wb3)x4Eu4~}J1_4ZFK#7o zeYDACjHMvTSAY<=f58oQ!Eeg?1Toa1E)*uX+HGdJM6ERHCi??X(~la6lwDy~qmBhe zC{HkC$xran3^VT4ke$$+&d^&g3bfvDRcEKxLyfecZP8)oJgX-BUMRJgP^!r$5zzhp z$2u+%ppa8Cv>i+EKquLF;0704xdXpbT~Ozdhh{jT6yzDy3zx2u!@Q`N&5aCz0}m?( z5Q$ThpCW+N0Nxh?GGwaE`2j?mBLg6P8HzC;((Ucvr`x)V07us+_$5&>g-*R*R+x?T zdctB57B->W!`pee7;VxZ=LI}7+G)xE3-w^nctHqF*osHwK^u{0{H%+M$Lr|ytu|Mj z`!-jcaY|=tFSh2o)z7tNu8~MKnKp5*ulY(Kk|FEHANk6muzq3bHXqM|e1>|n9`)7% z2d(ipqX&NmE&Q3OhkMv5@TWaOK(5Ki8F1KDCnn>}3EpD#H;0U_qejInGWo#JV!b^2 zRlVM}aTpf~m=zx$53N8WifUANH_+mOFwt)CR;bWgXJF;CqCp|; zXI(=^tqOZGk;@@n+ImIv22~^=Z#Knu?8TK}LLb0=iJ|SbscgD7)UPL&0m#={$ z)_g_t5jUEAqS*Rfkt2kxqUotfy$AoaCE|!Jn6$>X`gN-5Bf?~pgd~{Ma(&}V0VYE_ z()0}6i(cP#pS_u$T>sLgdP$@Q|CKOgsA~5Mg1e2vrIrpL6~~(+xTM|A_0k6M$2N%i zm71+Lh*ZrcQguRtt+*Qh5V?Oye_CvBEJufNy6%R0qpijihFaqnvKkx3gJ%;DZnCA~ zYTOs8QOKL}eI#M0cOaos>1j!j%d80 zW;roO)*Aq}dSksos|t>M68YAwh23eei~*c z4aJwdX=q7{LJ&yU1_`Sm;85M{0&RI3>=iAo2c%LFOTmt#^74--svI(~8=^Fj(lrpp zol?32SH$GN+PTh7IAo{Zq;JJVd@gjJbm-iehGBJ+E2hndO#pI>TDp)ghFk$WqCLqM z$~rWOVkbx=3~6G0o`TcsshBLb$lf!(`7k}^MeLN0DrF>b7*&0;W||J8BSBVzVJ_(< zM<`&TCrkckq6On8x%Oc!-JSZ=0j9*9u*t`?A3A3*4ElG=QhHgsNJx+HwkB& z`{!>h-5>s-Q=h2WhvYLFrNbuqtU@&nxo6%&2*^wmPHVraPfXON$xjpPtD8Gsm3t9B zmBfiFQYxVW*A0suw(3ME3hVfzHVs-(*^%=-$nZEF(+Tun`5tzH^3n4>c=CjEip#j1 zNR2Hno8&j|Nbr9amy_i??}$A;hszSgKN=>#7869?yoTMpRWL?z{iAH6;4j8439ESE zeGo7g1p#w89z9uFayJ^xt!_*(n1_7W4!h997!HD1O2|WZ7cnI^ri3K@+GoRN0AAbk z>_ebb%e7y2yvIqA%G%D7oY@lFT$BQX7fBj4-+- z#7_PD8lLXQ>LpHb3_eB)+4{~LMO8sV@6d<4a}$XQS!&F>Hx<-SXFPO&Zcro3OoWDpah5rQf1ou3a8hWO(-0g~@@^0~hOln*ds?S9w zEVyj5KyE{gCa`YOx16GoP+JH@odK>h3j!f`vstgfnn57jiWSsvo_{#QHM?`dN&>!d zn8qH%!ze#vblXLopweSxw#7OmwZ0_>c8F=xuNIvIpK9+!UqhHSo>Bv9E3rIi20<~J zHCexCVX)ZJJ%3%ggMR}{5L*h^97D`&YXfsP*{4#;Jryb1wp7qYEqv*Qj&C90rX4mY z*E8dsG%@MvcfYyxPX{EUzrc<90?Mw!XK3#nmIO1A)C6=QW2z|@2^5z!rq=%Z=lETt zZ){1SHR7Z8K?p15+d_5}pU=zA0*|D^qj*71|Ak>^)l;o4KZ2GKNr6+raMX;zz+OXb z8G@?!ljFv=cpkuSO|c7|A{Z<;sSOqJ#!7p9AxYR1Eu99lqBpHUwiJ8?+1kj((mGLV zmDXAKv`)&MNr|>XHQOR(J6)7*cs3Cx?(T2tfIIRD5M>DvQ7l4E*g*%iLt9Er3g1wE z^$odXY514r>Nu!YWg&1mPz3q$_@=0HE~-4u8#8_R~sP zv2T9Gt!}1l8$5|2tRr<=$Dm?0OdL{B@K1kLxSMVc*b#6va;|tbvKX+S+y~Y$Z)IYE zJ7lV)wu~$X{A`>qauO581X%beCQG)1sQX;3VlutND+at_aZRm4UF^ZXcA`&&!388S zS}u5bJlsz35~08f6b%pl*djx;8kv%BM1^bvBY9O&Q=L)K*{VM^#Jd!-g&mE%f|P<{ z0Qk|^#WA_NO>X5tYWUu<J)Y|9slwAKPugKkYA0%1|Ah* zjiic^otJG*xD3Y_$z}CG&REX#Lp2@GT1uA48s?XRzgnrqxKNdWAd6~t8BTA5e3|5+ zIitQFtmhykn>lZ`R4eoBiqS@3e^izT$m|*hJCt|C4lI-Nd@|Il0I>S1&2)(*4dlt-(fC(O=0ydy$<&3Uih7XJJ@$0 zdQDk^*nOc@K24FJu$P2_*!3%Y>+PjxamO;;vdX_;i049LAttrk5hy!uJE(PKyv%kW# zzzk%~c@QPSH{N59FTqPjYmGzHTALyYm_G-4W3Y3=uQp?r8u8;FL0JydK9QS`UX~-6 zX|T`8OoO#1mgR_8b-u}V@9eIw!`sTO#wa12l5IkcLyuEjDugvI;$d8bQ(U${b-2{9 zGA_q}DZ%^UgArk6tRLFLocnc=FCV?Xt+*?%{)fs6iAe$FXuHtOS>cZK-s*KdrF(ir zLb&Vkq^Ilnk^9D)`ZBxPkqtE$AVX&Z7b-S`mZBn6Gd_hzHdKY^N+`xmB!PLxy_>I_ z!}HM47E_$5zTctihAZ~qykU^CxEOC8`=hk*nj~gAQ~lnc!8-=)jgvaIkd0+c4RrZ1 zhcRa6$|=MM%fg-zYiUo;CT6(|^)K9CzNl~?`wg6`{~vqr9&OiM*8R>k=eq1`veKp{ zG#i|k?>U}vc*i-sc8v4>;Ym3TT6+`~=theoa3IhYODPy= zm5QLDEf)nOK!sLH4N?%5ON5GuC{;jExt!1U`Q7GPYwu*IO*gv6+m3ebz4n^F>+^fA z-{<+swhBi!#p#h-T8^+pQm@>#ukg1tOmPZl8dhIVDI;UjG;sYXgCur+E|<<+q$*3= zvX23Rv6;}0SCY|rwDKtTGDu*>T3;g3;`;1_R=F#?WPt}~xsDCSWY+6@4>5@~C|eM~ znrJdu6`m%;Z8j?f!tzxm+1M!DTd%jm$amc_dUNq<@q0UNgOw!?uPpsK58ko;zGQb&uS@XOPYX`cgpDFSa5_)%Fj7 z`)fex*xLtfoR5&OT#vi2G)P_+2W^r*X)zHLsvMdc4v|FIZTG;prrjqS-3RI+MOJ;g8vLz zBIS)HJT(iwk-@d-1V)JZJGSdR)Eu1A07nvDRY^k}Z`s^0wIq zU#c|7EPR0k3)yUcIsw_CipAq0G2nRu5K?p)luv~RrHmv>!QbL;d9ZMQ_}kE%*nH9t zW!9NbW3eq!WJa9{L0u_~zu<;)(Ho2k^rM@e4wq2dNj&x6kc3lmSM=Nwf~t5qB-_yv zF=NtD4$o4=QlfQ`t9|BCY{AguC&d+6pE~8y-yi`l?nh zG}pYfT6zI@m0B&mX-4DE^b^gfr;bYXRgR^Ap60o)SeGg>(F{zoi3TuIYSG4Nl#&5N z5QKX<10+c#K!=)Nf2Jp_jKL{=&jER3JsVkPc#QQNO4X*O3Y@r$8=dNss-8gq>OuP| z-*g7QY?LEC0AJ#Zh%tEh7PpzIJ$11MsE(P2_&fIwtU?aOX%_p{Ep;kf1_fi; zefLr5NajIQg+1h;O2hE5VYN}Z{ddsbVLVz3BY+Hqu^>VKzj(Vw9E8dF7dB&$^uI}) z{_TN0_1f=@b+I1$@1J%7<3b~HSTiX8J7u>YFk{DC!!KJ0(kW~Tw9-VgP>4z_>GSY4 zv7~@z38q#IXBmC7m6@J0%mjJk-u{hdecfIJXc#3M`DMfiHEy)d0ViVXyfL0|LxG^a z>vY*`xxlV&TlwzA2K9`1Q)pD28Te3%k3||_3 zOD+iedam(n#dWJ#jTWRX5 zs|LI?;GI{M7q!gcn~Mxv<^HqMJlKUs8DSmLA8h_D*9@-pw@@({dgr}d75Fs$?d;}z zxhn9Z^|w$H*uR(S0dLXYLOo#rw;gHKAEm#As=xkkxzO)p^|w&w*Z(b7^*vR83srsn z-+m;u+1KAf;a>l@T&dS`Izy#i{uY$hvy0lDvLOtM>L@ny} ziz&;^>3Sw@nTk3nsVW(5?G17>q1P8!StOaTpd&zYT&iT#T#Yt?7UXS0eO-P|>=Hb# zgwBVy;)#s~Yr7Y5@!IQt#Lw@EiBA04`c6xQ>W#Wv}tDyX-KVfF9bz^2}g)D;3mf)O| zy}@3{_vtQ9U7Ff@vF|c!pMcQ;kM09OivRto@^=WN$VS`i$`ecmQbA)+N{tnL?hJa8 zZ>(W}c~Gc!%QV8`>BMNH;l?#cE2?0iycFUSKbl*0ZLgL7sBamMOx19d1`AQqG{(qo zO93rtp8+dMWxlg1TPAjXQK})vLs8)=stdk9=%{jEM{!#JB^Jv_r0`)WytcHbEs&*J zbL*M{QeF3BX@I4+?Z?uz0~grf?U=SX8y`+I8!w}Bhm?&o>S+{aFR)RfX)e8i% zjRz$cmw4bW-_8Rk`VJljax@I)PJY{Tet9tugEEtAqMJ=C!5S~+0j%+9Jb*P`#sfU# zPx3fPAjiss94o=BFXuOb9C=VR=%;x+_WbhMJRYNbwW|IBWv^9reSZ1e=xzaz#1ayz z`@_xSLFWe03eHt%gTxxGmQxCXS@dh|mjvPOKUNNEa+TulBGff2Cr5UM9)8th`mZ*M z7qP&06$JHkN^Kc;+jWm&sDr7HrrN|`5VmpGy^ODLA8FIQk)p5ruX~K+KYv;SWm(Ja zM*EZuGD!OR>mEZ*Hg_|RzXl`B(8@?}2#F(h!CH!d;cBCRSfIOVx1ESmoUO9RZov&& z557u05`A!Ax1aF#^$$(YhAMFFU5doQS$IXbqw7?9^y2W`ypNIa`?>HNjR|YkmV*-n z7)R`Ev5bpT;u{4=dA0iEL{Tp0ExJ; z55aMZbg_s-7d99>Vfz$Hux}FdmY0ZHmbgu{4EQqZ?(V@1#m6m*J++}-v|25S4HiBk z1ZEVwnHY@GCunSUHG>rX6ibnd-#GEKQ&S}!6n|J?P^{wnfYF&7-vy&(JU!W#zHjZb zjSON@+`#B7JCpDu8J!%8bQ1i{FyYY8to!s0oajEu>o+PZ|BhKXk;!B?*BWVdks#O` z-`2aoh~6e?EC~+XrpSpL5S62rl;2qaF>Q+hV)BDmz!ff#51&oGlOkr4r-d*0a;4QP z!u95MkYM9@e0#Q_JrJ4$;yft2JCqXu%PqCmg;tN3(N9#pfI7jjCt0q=)Acvq+-e-& zK)V0|!4279?t=A0vzEdnreSV& zECR(Iq-i5vDo*(y1X8k34%-h*=`g-TIj<^(&t?YQ{%&rXCpb}Z;A^=i8y=4`mUm&M zAq}MA17~4c?nA%Ya<7R6UV^5{dMX%Mk0 z619V{p32JZ*vGdlEzNyYuj`!fRYckN`|Za2wf}l(r4FsY1qv9fHJ~Gt2Ed9QXf_{O zT2|HVK8?t0*7uF5>T~73_D>9kBj6WC#g&cBljkw6iAX|(8GMi)s>#995U6-V=#zQ# z1C4R`K&XhT#Gq3tj|f}DDTIb>Z$@_p$MzhDKGs?n6(t8IAUb8P1@EQZ^TLn`pBn4x zMb_0bwkdcClN2vx6BHa&TiIo)qxL87XuJ1*i@$3|!F`#Of7lUshA>|r%r{sa_qlW$ z$(ucS{5a$~qK)@BdWxbzw0OPVZt<1u*sS_@65t(qr-whxc9QAe%uQB`$?@Z@E#36e zaoOA1h2dh{ZkjHlx08MYn+f)^UtF<6y_!9rGyQi>$9ulmw(t_YT&vCEtJwwG>VLJ2 z34%$N;?XAkW$)o!|DDtEzVv2)`*nW#W_A-= zE5SwB{N`Puzw8QZ_1{5KpzN){QQ&4ORhx1l*PHab`(fES{?^ln0|Vhi;28Fb>`);e zK14*+JPgK*eS;z!l}Cf|qC38@951xkxXfTocNFG>4?*T0OBLj(!3CMQM19eJ1L}Y$ zfMjmtjEAU9J8A^77%yxM{`oz$FDF@Hx+2!ea7EjPto+9%=tuSWlyd%>@&$C%tjv3V zBV;Kyx>$&tYWh5+LGw5|<15pEO{to**%kx<;nW($wV%B zTuMBW51&Q=liwr`j#2$(+LIU1&z?I%N}}DpsFCW9I_Uq?((ZVEO7?QvmsbBZB-`bk zsfh&nhDzkL?wzlmf_hQ$6H$3bIRG$bg*#_2x$rVr@qFDM$Vzy&U@KIM8G7| z77B?&yNC%>?dXUlPXMne_xaC4u(XGC&PU3<=Q`qcz^`A@;l5<4gU~}fq3-#M{e0e0 z$IdSgV$HdO6&^%2RHcS`Zuz4mAM}5bAqCCXz(Mx4h6XtV81;(kl>0Q54g?#Qtg-66*a42X+4fr2^he&{kAAlgYu8Z??+v?ucliA-d46~i19*EOlKHD* zrJ4mqWzH`T*o1Rnw6Yz!Kki6S$3|RDQ}la(hZDA6+p(YRFxp5e4CB7#MGT_9UyBwL z7#y@B5f;=Fh?@5P9LgP}jr9G0D)t{Vkdgj@WpRC}miGS6V0P~~3=tW`++NJ+#3irQ z6E?YQb8RXnqQ1|>zJgjZ(pTj^Q}j(!7}~_Z{#fJbhMM9>|ApA1&H(g0(jtef<({;6 zq&c>%G-s1qY$!3dA76?s26bk%MaLGf+n|IYr@gkyjn&OcjUOMbQh(k;7nQWCXplm3A)^yjnpXm9n9~p=iPURxSn*?Zr!!3fNz7&(VNkv=2)-$ z{;2BzF`Q-(xC{4BpJ@E@f%F%_J=_EFZ*bDeee|YT|Jn-MT)8e5h#P2w<~TbHPdrN} zv#E|58w`PH%6@c-B>1y7=LYtDZ+?*(D|)MI&$juwUfoe(|k_8pt=$MrSrL8 zPrPeiL3_c;3;BpWc=Dk!BGi7Nl#)Q!5?aHT#ZQ7#8u&@r$lY~E??Z~kUWAzrSCheH zZ55jcXnec>VXnK0S}O%?#F~6lQz{H6?xJJBea0LEEOo7S3|)hqw?=TD_P%Cpd3a|t6V5R4p}Pj}S0{$zqS$Ikr{yg7Cr zV(3C4^?iYYejEU*l5F7qBZ^&Rk7^*SriFLCJGm=A@^(J7ocXSICsV=f{BkEBo_qoB z?i1?AJC>Uw{4{rljJVz?R4{Ze^37xi$;k{<$6nQ^apW7+?emQ<)2cbos&Zqw2WUulgn zmy}m8<{};Vx5N*EHf#DFhq#$UG1LDuF`uBKhHse5%agmxFt**Tk1|~dS8L+&rF-o? z_@??FQU^gd1#kwqHqdD)geK}xH*G%`25z;HvW-jp*U=dy4*ycTyzg{qaj(F zwjPOnXn4(r%?S|12+}Z&{ziJ>zQ{pGNdk0yKM;0eQ2Ox!z~*+(8Uwj0e60*$`%)Kr z1Q>>2feaQ6+*hGPyP2<5vQkUP%>4pt;#s3%0dKPf^z+2xYFrn^JERr(^$NQ4keuS$ zH;wJKu+CXy?)BfG?1Euk*;5un8+k3O%dB4iF9~YUHe`Q(ZG zH97hr8b2%B>8xS%f`%6~YhUV2VoHN4-SUyvm2UY!OC_N+9zWfV4zM)Y`brAnuzAZz zD!z84+IyAXueQ4p7DCf*r=03`Bj1g{lxS4(;%3b^F8$*$-J^rcVH2gz51+gj9zr&D z=1E8pqhfE)Y28$j86)z(laK`KAu*{dy8tJZ$sMTDw1?A4w-PsO`S| zm=?f#!`EL4+CZbeTl;`M}3yg_14DdG#Xo5c*b2} zh=+K(LnJEO5SymJ%iqBn=>I}=Z-&}vQ4M01p>nu_R+}*~)fJ+m9%NuC#p@Ot^PM93xalSZN&s|2>@--a6Pmm- zJN0De4{CYwKl|}yCv4^3@Xjg5@e2_cYRk*vng({zf9@>b_Z#O|18r5SVdR_D@(!!; zomTYM&dVR^_d_m68T;8?+v&f*6*XhN=-ZxF9k_CiOdtQd?V&Mx7?9CJQ!mzuB301u zVesctR!)K{yx*FiflV;d21kK0P&qMcom8(Xk!4Np(24Iih$rgO@E*@2f(~u*N^^ri zEQv$xVGJc-9o{V?&CCdF*K7qFsy8cE_FpH_8#M4)%_ve*BE=?gTN7F3R`#S0WFYRK za$7Sts8t|9el)8Pdv+>EV*ghSF(}fj5PR05JMQHW`?rRPJ*d_8GL$XfwJ04@8L)k0 zRE|obQqn^f*b#y@PLV_Pft?z>Q6ID`S- zO0CPWGn7HCc7_6+HI(Iyg9r@UORO5EEg=Qz!ojbU(h1E|3&zj!Xgo7RVn=vpfX144 zqH*4^lR0f-zs5V`K@tZXAfeb}8^N!4H1!cZWmHJ>jm81YFxzkd1H?8Rz>(9H_HXQ{ zWCZTWQK|iYnj>Kqi52#B&hP7swVwnst_}OTtbJW(Uri~^m|efGJ@$3ccR^8I(Ku`e zh(wfNs3n;#iH~C{8Touk&8tkz&r8dGK%IQ*2)z7=vBW{r+`SaPCrR;v?<~b1%l>mw zhg2w7O&}&M5(Ha5JvC8^EuZe+%b`G1mC5Co+eCUAZU)mqWuphGry%D(DyBXrASUc6 zNc)m8v)oeD5{m}&Nw!i$fO+NKGTzbU&AiI6;=+CGlkjD)od$5RSt5K-z%CCwOl}i@ z{47U-667q`FZrsyZTA-+1X6`rKGgsg`^Eb0zlui5Ye=1T9FVby#sLzn|+I4iyu ziL>plXQ77_iHvO)j`P)0-F`4nop}UmT2XfwC1n6K>mQZ&1cNp$#5YlzSTiN#DEhE% z)cvxl(S;9d!w$1yb|5mGx^mKi3;0ODR7Xb|8R;c=u*N|L?VPHVlK3nAYeR!V%MDXS zS+zUe-V`zzb_-m$(iui_xo=5AHCH-=x3y?5lFAwY+$S~7l(z0%Ijj6uIoR~lA1{jH z8P7ucY`RU^r+}Q6p9>`I!s5n9ai44)u@zqAbAeNu;ta_6M zQ(QjiT&eN=j>bb}kY0jnNfr3}v>TBQKZA8n|yN|`wv7ZqhBe;RZ^^AGoxS825qe|`xS;m)s!4R^(-N!>rKB0uf9aG!~VGjlq|%QhcdoO4di~@mVn+59)b~K zI-pfLFuF>Iip)ft)O1K%EY7*nw$6oX+t5<}%JK1}_c!{B!+!sYedTo$IsH^qw)qwN zeXUsG7b=fte4#$DLYE&1T?U`Q$Wk5DQXL#!st-2WX)e_VS7|FPRnoD|G?eN=QLJ&* zgacS-fZ3iPX9p7&Sk^9GucRaM{k5_y{COQsT(?;FlPhu+^YDvZWP=4QA3tvjs z!iQ2ro@)U8DUT{6Kb+f2C*Z@OkzjC+tn)6Gfyns~ce}gMN^_O(UZo{}aHVV|?k3$3 z<2x`rZ;z`Jb8?#ceoyYiR9lwYT$}fVPRtyMd`6bNcVqlXeywyL|JNz^pkFOsH|OS` zG+)QI$48YMJ|nJcS-UcT0m=Tn(ibj9EyiuKQ&ycX6orzkJV}rNrXqhN_gy(Tc%&nL zBy@<999g@cq<3HYH}B1FN{h#b;C16p4`d6T+?uJDR_mp@M~b z$IE*CYt>1J!47qjU#XIeDctY;YuCRL;;yT_k^zE+d&L*RD6YckZuN=qsEioQnt%xI+Z{^$6>bHh+&J!Tt11S-|ZCbaSA+H|3m?E7_h+b}6&6NZ`no;5i#K6_fE zObJljq3XqhSXw@RIR7xy5MOgl$_`~{mU##j0YxeEs<IK# zB1%HBQ>+tTtL&!dVRBcZ;W>?`aNqqTb@n*n3ak)Q`yN|f_>@=34w^k1xMthXL#~Et znQrJC;AKKJh5OulOSe@muqbC2TdDTJx)pBgK1$eWxHOg$l(X+aT4g6~DW{ac0$HknWPMS=&+c#E zTUzVXOLbojKX2maZ@#x&DvI-qNAoj#W#4J}R-OyKh;0#YjIt~j6$>J(cnibv31r(1 zFma>1G5f!!)1~FIO_ZWS1|yctnI*R<@+l%g)af@k{30^v`}!N-wqN4WyRIDPJ&h|D ztf(?fRDuRs;ZdSIl;FgJtCEhj&Ee$u6WC$g9Flz;u{V=Rl=xCRoj?SwJMaqfT7dTz zC{>w1)l%I&J+Q|814wCVyTL$CM4jYF_Fm=rm8o%}Z`{f=MD)j+f8fOK$i3evw{>}( zx2@yuy8gWWQ}uuSrxX0(_2-?g)K&LsJ~LVNb$xPr=L&sz^9|>@{qM0a-p}99(r4G| zvsc?^FXl)7<5R!Ng&n53eNg7qzW&oq1@H?e-efRX%BP?r4M_w^?!@#sDN5(Gw@kho z*R-H9@9VO0_)Sto*^bd_|8c9N83mmQf`xD-za_T40QxT|1+)5seH8UxBnbQJ4!--m z@1DdFryRLrx6*{_!fH8Vz(u7+-|Bxt{5mKtHuPvXlK2S%{q)uVCP|+fbu#YUeXV|i z)24(g>2Hv_|2}6Ks2s1sR-{kBhe$;p>Y6;Kpr$17tgTwVwOI5E@K#k+Kv)Tl^&6>B zK<=~8(86M0`|3G&BmdpWe}%h?|F_(S?Pvf0Pf@wx9)2(T|F_e3@s99+eQ(;$^nY6Y zC0)k7`CaH{{kNn{e$*}go=ieYyxiDf<+3?gGFiXrYWv!|lz4rFpC07D4O*1`8EPR} zh;I1?6fE_S>_h!MnS<`{evQucclnddtk>TYywmmk2m-v5Gd(5Q$OOb9i`lw{n_)6#ubF7(EH-T3iuZQ58FN&dSJ}*5gkl%rIK1c;H`}`IUXm)V zQKVy+?RDM7i%#95Ev_WJT)$XA0Ki8oL;;?O0F>}dY1eT}=PNJ`YD92KVHHAmsgeW^ zL4~X`o+-JA8A-icLA5Xjg8l3QM8;=T_)M{t>S`|0!wtD@pCW}bKjXI@(Au=$eM^JO z+ddttZ2ckw4gPbh_8Jr5Y@qf|a+_Oqf@^_7gdl%P&r+{-SN&=L{XM$cUf852T?;;E zxCIMY=86<#JaND1^B6^n`74G;Y(UTi=IB>mtHAt#MR51#Qz_k=$dG!&eEllLH*ETG z_9A}zv_;NoJENC+iLdeRS6P_;`TJdJv^;OxA+_6BgU@}#9KezP~MeDn7huF7CHIes?!WeAUBvQ4^l~jn|{oB=4h~K3o=AGSDRS2eD7iUr4q?>bz zx{d5XD&P(41P1Im!8*bIc3E9hjn=YiXay#$n77voct|VY0ZO56oki^ts!yNA&BFjl z&a&IQ`P&+_f^;#XfGX?`nVo1#lK;epDRUd7uP!JxeWB#K^rRAWqj${#m^coVpxcP9 zuc8tl=*}+sckC2y^X#I&Lnz9#i={#54%MAMyV!9DLZ2y`s0B9{!`6seO4Cs<;XY!k zKGvAji~^^j5QTaR4UzD8dMgOQAoY1;Tn5^%pD-EN+i5azYNwZhJHOvD@WGoVR|fjI ztrsu7skK%Y_SA&Cun$bIUghVuUNp77det(#U{YP7er}VwZ--wqx%=klHktdj|HcKk zWkT&wKex%;x8;9T=;7ve_Jb+8W-?%Her~Uu$hjT)*5vBCer}U_-VU>GlN##tbDPY4 zJ2b)j=I1t<`*v`G_s!33GWTu&1j{!+x5?bMBj21{=$N0|WbWJHe^GkNWZD6KZWC$; zd}G1QPiR`w5u4k3r6s+!L-cCwCYDC3?dq5oyM}uWfvSu}itrVJR0ASOS1Ol!mjFkj za14?nF9y7D@i8Dvh6w@GM1(5p zm7|URa!~Gi_9%}KZM=BU%hAT(aI{fHmF&v^bGT|zNF1t5CDYAe8uP0BWrsl}#up=w^G-zkO#}>xcSwUBS3rQQ6y>H9zebRJSwnmE*EA z9GAI9TsF6AAg0yhviR2$0mel6RQ{e4FLpfg>=W&|22d@fF|Q6(Y=?@vTL9ML**f7x1KF+$GhELGiauVe0tYXLO$xa-Y#-RZmEePIZkg ztb84mTNS(`2W16|YJJt92fsGCfj~dE^*Y{%TI7z!6PmK2j+6NmEV}GD&XKF& zInJgKb?(h^9LL9;A2~bdE$dl}VaqWBn}$X{k+m59b%XoDb&b%bcj2c{jP`F~Bp$fM z#{=_rw%peqV8dl#r>uM{ACS#-m2enKx_l%GF?_z=>Wq3P7F3kjtm6Uky8>gJ$0|`k zi(PLaT(`DJU#`HAP95b86zMDXj<_}y=_Agk`^h0_je~jv%?b?E85pm?5PT^<(9=zU zy=DalK3(Am;)Gx%sNY8E1r=@fhtmo{EZg9R%`*XD2(g`i2eei$_-H2>&5ct6%vaCAFF|D=Dx)l3E>(dpzvWcXDbz zBDvK*icfB}Me)HKgeX3_)kN`cpY+`7SGUXdI9_SX@v{CkpgRI1Y~Bz+61qz6;3@VY zZST15u3SdRl(8Ca@1aSl0)qKw<&;$sCA_t`X+0*%n$7;~j(LbbxWRpE{FusNZuk0l zc3JN7{{|YpVne%ZbqYvPr?{g62~$5_*u}{=s5X=A{z>D=xU^Zc1humKo8Gfg&t7f&S{0(4Ad;L ziVWwptRe${Sh~Y*iZU=tqkcoK+8_nv4p9K@4D+GPeZ-G$p9NlI;vS1YHc1?A2^MB% zO(h;c<)pXJqogD>3~pbBUa6+6MzT)w_m6MjX*Vhv&?M@ci#?7@V@!EP3FEGesIA}Pbh}Z&uudI?I8O$ zsUdqmx5?bMW%g}is}R}TCUf5&{OSaQvutjYxo?M<+oXo<{oE#V-wsajdGm9d%zaz7 z^L9(4iuwdqkFvSlI+1fb@{f}Xk@0g|uk-c_t2+HWb0g)8wEuHeonHOoinpHSUjCtS zbDQz4qt3-(2 zG}R(kN@26C?=(;+9mT=OyYqlU9=hX!M;~-950xF^aa`d+kcK_to5bAhMkh8($dj>a z9ol;by5hlth?c?_GAbRZfIf&g4EE&;)}C-Hya3AAN9pao#s;p4G}O}9!oG-Ja)}Cd zpyaHOhiy-DS(L&C@H~*;p)yKW3ARQIslZWwFV{OMY*F-H zxMqqvBk{dB==@%;c~aO$>Ah6-B)u2$!abj?+DqBDvAD@D*wyFmFTjR!6IQ5ivO>|3 z=>|fipcYEUr2-|^7o_R|$XBIkDa?z}w^UwC8`R_?;{pe3g%gYVch%MI{+Dgl?ep?;4_flP`i~Fu@t`=nCH6zFU!UbV{}}Myn9fnj2;79 zpg4E*j@H$M#Wvc$j$&}NJ9&}Ib{FwFE>;YV2wHOwJ)L zNygT?usF{?^~+W!Ph6KKPVN6rXCwtE4y)kLzF^*IbypShS~SL1sA8Vx^YdB^xoz+L z_zXEI!>K_n%ZPmCXR_gvUHMG?0ZTSqdPvEJ%jFe=N|RK{#qItq>4xN_ z5~=9FV_Xp`l~8CKv{yd!ky_MYzeoo7mA<`O^J<5jWVb^8i5-4xng)9L^RF7)l{5`ac(oF-Dg#fssZ#G||@U%?v`l z)FhV>0D+$Mz2v6PF_U)m(_4Xybnu5`CcQ@4adN0sogp~a|D-h~s0d2k+8d}6$0xIzeU5$Yz0iBNN1Jdg9W zd%j}ZAZHQGjzAPmm%VsOWw~D2X|J{P8)R;N_)yPfKRq0yS%ln5q1$Sus|IYAoklij z_S(k^=GkjcM9O#O2W-I*Ka)lz#4VRf{3{>!!EU4z6V8EtRX=<>)DMR{M%RAK_I%I8 zi>m8iv7)Hj&&Ml@szb#iE~`$5go_J{0gvm-i&|b}wf=L7tT&$FKJ(@F_gQ3p<9~{* zwTi62dA$3k?bn(`76pGEp2({Hql+xDhKD7x#6*rRvfw6@BD4Hd{v!yj4+t6BdV%Ru z8M<=JT3KfTU9sv|TTmg_RwOHDw)-MkXp-Bk&RN%@@Y1=`tw$r6BUEYq8O3!QprC(z zosd7+ESI3C>T;;8iZTyt$DPx^S>Gskja?o^x7#Vtu$jYNSk>@8Pb?@5tY)Ts%U$~o zD(4MZP`X0}ODpz4ZLi8*Ghop3C^p5pTn*GqH#}MM>ZrJ+#nmRXosA%0io6)AlxC_? zYMYyAt`S59%jE@i52gFOa{DFquhzY5XMq(^J*DmdTao(9?72F{ESwhAKI+~D73v&j z4!p_M%wrlJKI*A=0hQ3L#>$qc_{2(B2d2y3I1M#!T>{&LE`1dE6FTde*gGhzGIXeZ z!%kCUg~t*qFpo7rqjHUv{g^!kmi#rca#V$FYVRo4IH0C7Hp(o5jExFa*oLuDLz-@` z!q&8DR<6S4u~CBM)V{8Eths>!0QEQS8xlIo##(td0cs5v0o7*qommxw*~^;q(1~#W z{JIjZd13Kne&%2-;V-~)-z7BM?3)HE5XS<}UQ)mKO}tv`+MNc3iV}FLnqR1DK6i&< z5$j9(ii3PqK&I_p!ZFZ&MybaAv=Baqrb-1HtetZqd6eWGw1e@`Y%XG`)SOP0Z!Q>I z0%*}(I8`Tp0?H z-VC2bZ^_otAQuy4i|whjJ>9T9Mjpwi4W~Dj-e4%~XwwEPZD&+^BVn)LAsufaHFk#D z9pZKPO(LW7GqdKhbyo&{r{;onhgGTOnmZE!fn!#l72pX-ER5UQv-D&d7H+@UWWEB= z2|!j^S-ws^djU2X*KLW2J2K6-@xU=OcA3)`HkEVNl+=fTw6m1kCHCwqLUuie;vqjG z4*@iJ2%yPhGg6L+Dnjy*N2aUtPksHijRVGG3GT&*+ZQ+Kw;f!T#^c<@c|CS6ZqVc6 z#f^HbftTfik_TH?3_6&za@q`LX;JUbW8&Z1vMVxD=}3g9U6El+9{{^uq!m0z(AnZr z$;lCzBX+mH0HRTAEJAjhwIzM6u@5Y{*N>~ck<`lP>+JOnkIV3umtie$X~E!n)D&CZ ztFllnRhPL^SXX}R|J;Di-_ojEl!MyDN1)|y19ZGp-r7RQ|NW~w@`!T4wQZ7QZE(IV z2?fV{`ey9Iw+}sYE1bKn#im}%U-|hh`gz&D85gTeoXrb(yAK4}3}t|EhT^qkEG1s1 zJuKK_s||6r8zT^JP0c^Yk4d8zme)O4>|2}@9$8gAn~YDlq|Hg>QwzuU#&PW? z2G({hA$36o`{|kNe}3JEtkv&Zv?l$l2jEL7D||chy&pJ)+vI-d)~f&QmYh`xuqJ;m z>pAn1PGuifJ*%(7sJi_RV^l;xmd!l+vG9``p4y*$2&i9A-+sfOUvH{=JU2aSuz|fm zqE|?u#TI`yzg6LuU(%N=d(gg}Pp^v^{svV83>hioND;?X8XTfGTnT? zpop3BZF#yQ+D3D_mo}&SWIFlm+u-86H0JC8^wYg5PB-`gfku1Mx9RTSUGJ-$a`~3Q zJlk;5V0y{VwiBgV-p$#>8MK>K{~qlnJ&7+M=Z|M{OU=n4lH8lWglwucxw+JfpWJKX zKJQ|h*jCP`H}mA?M_wA4992NYk=v+%>72}PPTFF=z1w+ej|ZIX#Z8=Y zV{diu*@GF+>)_4P&#q@+i!}-!86XNm@zY)u8qH-x9FaS8(_H^eEw^E0I32fNq=Oo< zRPN^lEtS`|1~XT<_NDLu+6eo&QD^z`-B<1A0PDw}y7DSGMjAXn+sFnp8e5OCMUFW0 zY&7Fu9G^}u9HO^djmM$J52g5p?o`RLFPZU-XW6sx^)CCN-X#pv7)&HGcd(V~$aVeg zO7f9MBdFa_B0OLn+d)Apv_T11Oc33!gytv>3`0lySXa_+3lDQAck8~cqwGp`*~Wu| zzrF zplhPbj%HgQ29eFKhs`Q1csNiGAsS`J=(*yIF&cF>XX>jukI#`lowHi}dHk0%+}p=> z9OJEQ>gBw91m24H5hHiONSZd@+Jd(xJt7VW-rCJRftZEUh&?$!G>YycpZt`DVoJdn zv2+~xKqDFj6%>jo1#>9IlyXLp)-h`YK_Fi8y*HKh%!@B+{mNyyBT}A+M7*lL0+eN9AKeGt(5A!T+Ow+OU_i$RniXqh!IJG51X*m6=Og&l}8K@}&QTD7ZHY(=Z|1TETIY zX2>?In;DkaHRLTx!lmNQF)9Q|*9**frmbz{((;k=cK-azEQ0r9q)8;R!@!w2u=PO8q5Y!2GM< zK)Yua%{s6n-6W$}j3c?ss0dBdsGIDR?D5ENB!t-U6IL@kToTSG$GqF0-q@NRrRs)n z8(M`%M6#m@v_RDcMB4&|@ReaK&$dNO4S9~{)=2SL#S*e-%3R#x=7DN&gWt&*&bo#c z4r*;`8hkXyc1^_y4nE^KnX&?UMW@7=b>QtO_c(J}FEwpUwK#azKhh3Hfoh^#nx82k z;b{3VXPIakN1K=7feMYDr(^$0dYy)Yhf}ymK2m+Lag@D+AjPRljpE=lR7xN@6REs8 zWBMGnl2?1uX~a96+{RHizuetG+-xmD zGB#YCG;uv_C$bYf3E`mi;XQAAmoMxF?>8&5m+`_|M3zjd2}07#&&wK`y=w<59k)E^ zhN~R#oz%7|u^i50Qvb4=Rv70gO`tW^w4n@O8_eq3SypVsIJL8ElV4RB=3apnecw$I z%}67WsOC1TCXH<>-nD()f~##D)>Dj@6{a7e<+^%8tJe3Q&|3Nl(`(|McHWPBfP-&J zU;5B1A*{1#Vmfa$3=FCo+i2{+;f>C!nv{Ffkb<6On-v34wmfJ#qgy?!tZ6xduD15A z7MhWDM*HbDwz{diNyv0?)ALM!(+U zFPJ^rPcNWJ*jd0uto>;ysYBhc28sIYaBfO1U`u%F+vJ-t^>nztyjaUgLoc9}o)o|C zd8jRPS}M;+19zPYFul$r4%0)?Lbcz<15e6WWaxeEb;FmBz#f`t@@gDS9fyukxh1G~P!HSa z`SBv}UD4+^bR9SN662-ZMI`70rVvUx7Kxw_xZg%3T7W*RlZxnz!eDGk<;;W!>m_mt zuT891fmAsO;|HZgC>BF-w{-XAd3f_pZEmPqWr0^ZI|md?$i9JHvZFfgMR!-{$XRev zi@1Xh%9#bZ8N1{p?zmt3cVxdIC_0Wa6TAwBppchmFoUNcJ9=h*X3%v%_iXoF1c58+ z=_^bm?7d3np!e)39L!iHA_(p?gQ1CI72)Nr=@)HEQ0?fY$vSUgSMPZd8`NGf7b`l` z&h^cOAV{;htnGSlgKsWqyg?lZtk}kY)7lJ~VHcw$y=fsCbCJER=BFuY5>te^u#MVt zRLlh-WskW)K#pK8#>S9+iyA{iYi)Y*pdgx(D2|wmk@aVeR z!#XrblO;vpl{X=7O;gcT7}tAlf}-1yu90P%{kz$>6GAw0QO4%74(zwa>&+Q-G3wq7 zLop%WRCrtR0|k9oejpD8zz^vaE21w3x|muo2^)D+bO#;$Pa#^X1U1mzZDO_2i7U}c zARj67`L~$Ihu@!Xzh}`}dC_VxixDSMv6^UQBheU>Xsyf}xQg3GcKeWMU1~(;Yjt55 zL)fXcnwdxy?(Z~bP~aj)suGl9Ru!`e7(@MP!qucHE%6l-y~t9c9$uC*JNuq@ygYn7 zp$v^kG4Y8=s`L>%BDyQG6&KmEkHxPPA^4 z5bbWL%9ey^kv!}I69yql)Y61#;lB8m9zyh@mj1|rkeswX+M8L37Ey@WAF(SGZAQ|C zU^6%ug`>xjh|oh#%O({g^ll2aY)%;nw4J2lnvjSzw}a+@24H;#B;PO~M?QE-Mf^AL zf9xcr;wTa^NJZP;?1a&KNX1SJy$vG~E#w}Nh-;9F^zEf$Z%iuMz{AbBHij$}0h}Ne zQ@J*zVgf@#5;WD6isMK`Nkt$ZVs)JKHYDo~ypO;}0}j2s<` zh+Zx`gLa~k(P%D9#p8t{HbE))Jx8P>Cq(u^P?71-OU0f^#S;fbw0OQ@5Ep`q7nxg3 z5Bs|g$b;4>2Ju7}#m2}aiCOGi%&`m+k*2M=LguoGuL29sqXdUlbuR?avtVlBM$*!~ z=6>(cZwj)~@^5dst8gFrx1-z~j1_0eVy?c*eZJTukqZ?{wzT-Kbk|^|3u0F&*Yh0x zy&jRQ3fgH^xlcOfK4(TzxWBp+dw3jOA7cl+epb2d$BW_@pM3qGyA#)dAR%2oD2mGm zKnM506q>gd`02k<^crW65@M)o)2LF1Su&NewB?w(GWUb z+Gha~bcxKFD)+YKWgV_|{~aYRri2ZM<^yvwbYG00mnTG=M^f*HK;YpG<@7bJ(faS_ zW+Vy{`RI}yjOY&nw*~0BNM@m?*j*EpwV8PgZLcYH+0RE(%XQQ{C z_9^W+N6s&S6!L^le_lA)>!oIX;RX)Xe(1eRdr|IHcB|OL11XqatdR8&Z#dc&87FTuG1}wm>TDN771wi3AU|4_|cA&g^-=GJT z5w$HYT^tXz2$uOh{^?yQEr$5r9mWuDcsDfHc3Cz&}W)`+kKSN-|OF=vb}o-SWGb%YvegJBB-#)EH#qt%(i=PY$U}~wD1XKu=e3X zAyR*aI?A%P?LH7Y3I?c;^QMk$w3pF_;3-3mWK*>5-W?kW<|yFOKqr2BS%>L1@SW0O zRP#23INA}|sS_mkx|J>lw=dxi-`fdZqgqCr-LC#&&q+Zxw& zg)Gr*L=b!n_-Uf5!lGel|meX zBty)~vld&@93@fFhY%r=_XI1K&7WQ5|6=qNVj?39PJo_h2!jp`WR;W^v_`@d+j$7^ z871nuL8AUutJNCyG9Rbvcuj0`$ajq953gnBnlx*On#WoHn+11ov2Jxtzb})!Rq!(% zTh7uWc|X(dPnDhV)T0J0>X^C^UJczmZ|;n?)a6k^7~0Ti>7eKw;RfmUHm~TI1%59) zoKxUUBGb6h247@R(6kU8Q^-XMD_aBjHUw*yiz8SAZ5QD^T1K^#! z>Sg|c0ACI&ZxKxTQu#E-7Fch|`#^s^P%srnl4&5A5ubYx+(2I{-ShP^EWC~6zQ5qa zTxvglNJ|;XvHj~7E@!a&%8tb z|H(UU(BuES<5jVH>u5*r{#^PrAB4@%y3U??A5`ngQb|e{K057yXF|$CvYJrViSPG@ z*cAdB89HRZ>PT?>1zA58BoFGHW^SN@T$rJsVWH63g% zCWF%r)CF(CxVPcsI&|%mA{0+=lT)L>yg9X|?znC+^HR0#1urSWl+yxa2xNCUc2 zfPnQF!<+qTcN|4oXVZ!Ok?F+a=y)@7hUElB&pl4>CmsYMh#5vc&E_VrVGS-Q`b7E3 z+zcSFY)r#GP!_9isP@2PhakQqShJ=NR0=Fvgk0!H{-h3f%r-%llz+#4QiySj#C!)I(#jZab7StbeSg^0t2hF_e$%X!T z@dtO^^2AC38Wb8hYtvy_xZnOT7+xtu$^RY|8T)=vitV+`6i9gRA-9!12XTU$DG;eW z>QyV;uu`n?Y??Kb|FpOSjS?@2j{9%6AdaR4?|UzP>vR& zdQ!vIP{wB0S1Wk%vkUISMgQjUs%M_k9wyQ>PA+;#p55wPgM_Z_teuV@pI`c3T7wLC zQ~L(E0)U0OIqgfU{}*Ndi+HBkzW7rWe!_8UdTNce+jo`w$_;ZQ%Gdn^C^ZT)Z~H#2 zG`29R{4_L#cH~mVsH5N$ zp2*Zs^Nw7`v?mVQ zEm0efU%Z9obu&kmv1?JuM+1#(AfOy!lxAK;AzOhum5|LLMuco!=k^tY=?zs;7RVhF zvla&uYeutjCqC2&I%rUa8<&CvtqC8oh1zz!Xsl(K;88U3Dgj|lbVOZ4u+;FSG(@5$W?Q&Wx47}$NU2n z+i3>+Pz`*rF33|;fN2s%^KZwsk1OHv}`r+ayhsFWdc4i)CDAaOPp1(<<+f+M^T!t87w-HMdXCY1yZ&{49#k z^ixTDZ6(DBK|i#jHA{(|5LVQt)pS{=6%BfQa>eBp&CW?wO24AwV(4hLqBJR&st+KI z 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 z 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