{
  "version": 3,
  "sources": ["../wasm/index.cjs", "../../common/src/init-wasm.ts", "../../common/src/wasm/index.d.ts", "../../common/src/utils.ts", "../../common/src/version.ts", "../src/init.ts", "../src/regression/linear-regression.ts", "../src/regression/spatial-error.ts", "../src/regression/spatial-lag.ts"],
  "sourcesContent": ["\nvar geoda = (() => {\n  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n  if (typeof __filename !== 'undefined') _scriptDir ||= __filename;\n  return (\nfunction(moduleArg = {}) {\n\nvar Module=moduleArg;var readyPromiseResolve,readyPromiseReject;Module[\"ready\"]=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},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 scriptDirectory=\"\";function locateFile(path){if(Module[\"locateFile\"]){return Module[\"locateFile\"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary;if(ENVIRONMENT_IS_NODE){var fs=require(\"fs\");var nodePath=require(\"path\");if(ENVIRONMENT_IS_WORKER){scriptDirectory=nodePath.dirname(scriptDirectory)+\"/\"}else{scriptDirectory=__dirname+\"/\"}read_=(filename,binary)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);return fs.readFileSync(filename,binary?undefined:\"utf8\")};readBinary=filename=>{var ret=read_(filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}return ret};readAsync=(filename,onload,onerror,binary=true)=>{filename=isFileURI(filename)?new URL(filename):nodePath.normalize(filename);fs.readFile(filename,binary?undefined:\"utf8\",(err,data)=>{if(err)onerror(err);else onload(binary?data.buffer:data)})};if(!Module[\"thisProgram\"]&&process.argv.length>1){thisProgram=process.argv[1].replace(/\\\\/g,\"/\")}arguments_=process.argv.slice(2);quit_=(status,toThrow)=>{process.exitCode=status;throw toThrow}}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.startsWith(\"blob:\")){scriptDirectory=\"\"}else{scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}{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)}}}else{}var out=Module[\"print\"]||console.log.bind(console);var err=Module[\"printErr\"]||console.error.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module[\"arguments\"])arguments_=Module[\"arguments\"];if(Module[\"thisProgram\"])thisProgram=Module[\"thisProgram\"];if(Module[\"quit\"])quit_=Module[\"quit\"];var wasmBinary;if(Module[\"wasmBinary\"])wasmBinary=Module[\"wasmBinary\"];if(typeof WebAssembly!=\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;var HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateMemoryViews(){var b=wasmMemory.buffer;Module[\"HEAP8\"]=HEAP8=new Int8Array(b);Module[\"HEAP16\"]=HEAP16=new Int16Array(b);Module[\"HEAPU8\"]=HEAPU8=new Uint8Array(b);Module[\"HEAPU16\"]=HEAPU16=new Uint16Array(b);Module[\"HEAP32\"]=HEAP32=new Int32Array(b);Module[\"HEAPU32\"]=HEAPU32=new Uint32Array(b);Module[\"HEAPF32\"]=HEAPF32=new Float32Array(b);Module[\"HEAPF64\"]=HEAPF64=new Float64Array(b)}var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;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;callRuntimeCallbacks(__ATINIT__)}function postRun(){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 addRunDependency(id){runDependencies++;Module[\"monitorRunDependencies\"]?.(runDependencies)}function removeRunDependency(id){runDependencies--;Module[\"monitorRunDependencies\"]?.(runDependencies);if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){Module[\"onAbort\"]?.(what);what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -sASSERTIONS for more info.\";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";var isDataURI=filename=>filename.startsWith(dataURIPrefix);var isFileURI=filename=>filename.startsWith(\"file://\");var wasmBinaryFile;wasmBinaryFile=\"geoda-regression.wasm\";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw\"both async and sync fetching of the wasm failed\"}function getBinaryPromise(binaryFile){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch==\"function\"&&!isFileURI(binaryFile)){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{if(!response[\"ok\"]){throw`failed to load wasm binary file at '${binaryFile}'`}return response[\"arrayBuffer\"]()}).catch(()=>getBinarySync(binaryFile))}else if(readAsync){return new Promise((resolve,reject)=>{readAsync(binaryFile,response=>resolve(new Uint8Array(response)),reject)})}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(receiver,reason=>{err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)})}function instantiateAsync(binary,binaryFile,imports,callback){if(!binary&&typeof WebAssembly.instantiateStreaming==\"function\"&&!isDataURI(binaryFile)&&!isFileURI(binaryFile)&&!ENVIRONMENT_IS_NODE&&typeof fetch==\"function\"){return fetch(binaryFile,{credentials:\"same-origin\"}).then(response=>{var result=WebAssembly.instantiateStreaming(response,imports);return result.then(callback,function(reason){err(`wasm streaming compile failed: ${reason}`);err(\"falling back to ArrayBuffer instantiation\");return instantiateArrayBuffer(binaryFile,imports,callback)})})}return instantiateArrayBuffer(binaryFile,imports,callback)}function createWasm(){var info={\"a\":wasmImports};function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=applySignatureConversions(wasmExports);wasmMemory=wasmExports[\"O\"];updateMemoryViews();wasmTable=wasmExports[\"Q\"];addOnInit(wasmExports[\"P\"]);removeRunDependency(\"wasm-instantiate\");return wasmExports}addRunDependency(\"wasm-instantiate\");function receiveInstantiationResult(result){receiveInstance(result[\"instance\"])}if(Module[\"instantiateWasm\"]){try{return Module[\"instantiateWasm\"](info,receiveInstance)}catch(e){err(`Module.instantiateWasm callback failed with error: ${e}`);readyPromiseReject(e)}}instantiateAsync(wasmBinary,wasmBinaryFile,info,receiveInstantiationResult).catch(readyPromiseReject);return{}}var tempDouble;var tempI64;function ExitStatus(status){this.name=\"ExitStatus\";this.message=`Program terminated with exit(${status})`;this.status=status}var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var noExitRuntime=Module[\"noExitRuntime\"]||true;class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-24}set_type(type){HEAPU32[this.ptr+4>>>2>>>0]=type}get_type(){return HEAPU32[this.ptr+4>>>2>>>0]}set_destructor(destructor){HEAPU32[this.ptr+8>>>2>>>0]=destructor}get_destructor(){return HEAPU32[this.ptr+8>>>2>>>0]}set_caught(caught){caught=caught?1:0;HEAP8[this.ptr+12>>>0]=caught}get_caught(){return HEAP8[this.ptr+12>>>0]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;HEAP8[this.ptr+13>>>0]=rethrown}get_rethrown(){return HEAP8[this.ptr+13>>>0]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){HEAPU32[this.ptr+16>>>2>>>0]=adjustedPtr}get_adjusted_ptr(){return HEAPU32[this.ptr+16>>>2>>>0]}get_exception_ptr(){var isPointer=___cxa_is_pointer_type(this.get_type());if(isPointer){return HEAPU32[this.excPtr>>>2>>>0]}var adjusted=this.get_adjusted_ptr();if(adjusted!==0)return adjusted;return this.excPtr}}var exceptionLast=0;var uncaughtExceptionCount=0;var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___cxa_throw(ptr,type,destructor){ptr>>>=0;type>>>=0;destructor>>>=0;var info=new ExceptionInfo(ptr);info.init(type,destructor);exceptionLast=ptr;uncaughtExceptionCount++;throw exceptionLast}var ___syscall_dup3=(fd,newfd,flags)=>{};function ___syscall_faccessat(dirfd,path,amode,flags){path>>>=0}var UTF8Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf8\"):undefined;var UTF8ArrayToString=(heapOrArray,idx,maxBytesToRead)=>{idx>>>=0;var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heapOrArray[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.subarray(idx,endPtr))}var str=\"\";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead)=>{ptr>>>=0;return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):\"\"};var SYSCALLS={varargs:undefined,get(){var ret=HEAP32[+SYSCALLS.varargs>>>2>>>0];SYSCALLS.varargs+=4;return ret},getp(){return SYSCALLS.get()},getStr(ptr){var ret=UTF8ToString(ptr);return ret}};function ___syscall_fcntl64(fd,cmd,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;return 0}function ___syscall_fstat64(fd,buf){buf>>>=0}function ___syscall_ftruncate64(fd,length_low,length_high){var length=convertI32PairToI53Checked(length_low,length_high)}function ___syscall_ioctl(fd,op,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;return 0}function ___syscall_lstat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_newfstatat(dirfd,path,buf,flags){path>>>=0;buf>>>=0}function ___syscall_openat(dirfd,path,flags,varargs){path>>>=0;varargs>>>=0;SYSCALLS.varargs=varargs}function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_unlinkat(dirfd,path,flags){path>>>=0}function __embind_register_bigint(primitiveType,name,size,minRange,maxRange){primitiveType>>>=0;name>>>=0;size>>>=0}var 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;var readLatin1String=ptr=>{var ret=\"\";var c=ptr;while(HEAPU8[c>>>0]){ret+=embind_charCodes[HEAPU8[c++>>>0]]}return ret};var awaitingDependencies={};var registeredTypes={};var typeDependencies={};var BindingError;var throwBindingError=message=>{throw new BindingError(message)};var InternalError;var throwInternalError=message=>{throw new InternalError(message)};var 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<myTypes.length;++i){registerType(myTypes[i],myTypeConverters[i])}}var typeConverters=new Array(dependentTypes.length);var unregisteredTypes=[];var registered=0;dependentTypes.forEach((dt,i)=>{if(registeredTypes.hasOwnProperty(dt)){typeConverters[i]=registeredTypes[dt]}else{unregisteredTypes.push(dt);if(!awaitingDependencies.hasOwnProperty(dt)){awaitingDependencies[dt]=[]}awaitingDependencies[dt].push(()=>{typeConverters[i]=registeredTypes[dt];++registered;if(registered===unregisteredTypes.length){onComplete(typeConverters)}})}});if(0===unregisteredTypes.length){onComplete(typeConverters)}};function sharedRegisterType(rawType,registeredInstance,options={}){var name=registeredInstance.name;if(!rawType){throwBindingError(`type \"${name}\" must have a positive integer typeid pointer`)}if(registeredTypes.hasOwnProperty(rawType)){if(options.ignoreDuplicateRegistrations){return}else{throwBindingError(`Cannot register type '${name}' twice`)}}registeredTypes[rawType]=registeredInstance;delete typeDependencies[rawType];if(awaitingDependencies.hasOwnProperty(rawType)){var callbacks=awaitingDependencies[rawType];delete awaitingDependencies[rawType];callbacks.forEach(cb=>cb())}}function registerType(rawType,registeredInstance,options={}){if(!(\"argPackAdvance\"in registeredInstance)){throw new TypeError(\"registerType registeredInstance requires argPackAdvance\")}return sharedRegisterType(rawType,registeredInstance,options)}var GenericWireTypeSize=8;function __embind_register_bool(rawType,name,trueValue,falseValue){rawType>>>=0;name>>>=0;name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":function(wt){return!!wt},\"toWireType\":function(destructors,o){return o?trueValue:falseValue},\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":function(pointer){return this[\"fromWireType\"](HEAPU8[pointer>>>0])},destructorFunction:null})}var shallowCopyInternalPointer=o=>({count:o.count,deleteScheduled:o.deleteScheduled,preservePointerOnDelete:o.preservePointerOnDelete,ptr:o.ptr,ptrType:o.ptrType,smartPtr:o.smartPtr,smartPtrType:o.smartPtrType});var throwInstanceAlreadyDeleted=obj=>{function getInstanceTypeName(handle){return handle.$$.ptrType.registeredClass.name}throwBindingError(getInstanceTypeName(obj)+\" instance already deleted\")};var finalizationRegistry=false;var detachFinalizer=handle=>{};var runDestructor=$$=>{if($$.smartPtr){$$.smartPtrType.rawDestructor($$.smartPtr)}else{$$.ptrType.registeredClass.rawDestructor($$.ptr)}};var releaseClassHandle=$$=>{$$.count.value-=1;var toDelete=0===$$.count.value;if(toDelete){runDestructor($$)}};var 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)};var registeredPointers={};var getInheritedInstanceCount=()=>Object.keys(registeredInstances).length;var getLiveInheritedInstances=()=>{var rv=[];for(var k in registeredInstances){if(registeredInstances.hasOwnProperty(k)){rv.push(registeredInstances[k])}}return rv};var deletionQueue=[];var flushPendingDeletes=()=>{while(deletionQueue.length){var obj=deletionQueue.pop();obj.$$.deleteScheduled=false;obj[\"delete\"]()}};var delayFunction;var setDelayFunction=fn=>{delayFunction=fn;if(deletionQueue.length&&delayFunction){delayFunction(flushPendingDeletes)}};var init_embind=()=>{Module[\"getInheritedInstanceCount\"]=getInheritedInstanceCount;Module[\"getLiveInheritedInstances\"]=getLiveInheritedInstances;Module[\"flushPendingDeletes\"]=flushPendingDeletes;Module[\"setDelayFunction\"]=setDelayFunction};var registeredInstances={};var getBasestPointer=(class_,ptr)=>{if(ptr===undefined){throwBindingError(\"ptr should not be undefined\")}while(class_.baseClass){ptr=class_.upcast(ptr);class_=class_.baseClass}return ptr};var getInheritedInstance=(class_,ptr)=>{ptr=getBasestPointer(class_,ptr);return registeredInstances[ptr]};var 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,writable:true}}))};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})}}var attachFinalizer=handle=>{if(\"undefined\"===typeof FinalizationRegistry){attachFinalizer=handle=>handle;return handle}finalizationRegistry=new FinalizationRegistry(info=>{releaseClassHandle(info.$$)});attachFinalizer=handle=>{var $$=handle.$$;var hasSmartPtr=!!$$.smartPtr;if(hasSmartPtr){var info={$$:$$};finalizationRegistry.register(handle,info,handle)}return handle};detachFinalizer=handle=>finalizationRegistry.unregister(handle);return attachFinalizer(handle)};var init_ClassHandle=()=>{Object.assign(ClassHandle.prototype,{\"isAliasOf\"(other){if(!(this instanceof ClassHandle)){return false}if(!(other instanceof ClassHandle)){return false}var leftClass=this.$$.ptrType.registeredClass;var left=this.$$.ptr;other.$$=other.$$;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},\"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}},\"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}},\"isDeleted\"(){return!this.$$.ptr},\"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 ClassHandle(){}var createNamedFunction=(name,body)=>Object.defineProperty(body,\"name\",{value:name});var ensureOverloadTable=(proto,methodName,humanName)=>{if(undefined===proto[methodName].overloadTable){var prevFunc=proto[methodName];proto[methodName]=function(...args){if(!proto[methodName].overloadTable.hasOwnProperty(args.length)){throwBindingError(`Function '${humanName}' called with an invalid number of arguments (${args.length}) - expects one of (${proto[methodName].overloadTable})!`)}return proto[methodName].overloadTable[args.length].apply(this,args)};proto[methodName].overloadTable=[];proto[methodName].overloadTable[prevFunc.argCount]=prevFunc}};var 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}}};var char_0=48;var char_9=57;var 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}`}return name};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=[]}var 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 \"${embindRepr(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||!handle.$$){throwBindingError(`Cannot pass \"${embindRepr(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(()=>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 \"${embindRepr(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 readPointer(pointer){return this[\"fromWireType\"](HEAPU32[pointer>>>2>>>0])}var init_RegisteredPointer=()=>{Object.assign(RegisteredPointer.prototype,{getPointee(ptr){if(this.rawGetPointee){ptr=this.rawGetPointee(ptr)}return ptr},destructor(ptr){this.rawDestructor?.(ptr)},\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":readPointer,\"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&&registeredClass.baseClass===undefined){if(isConst){this[\"toWireType\"]=constNoSmartPtrRawPointerToWireType;this.destructorFunction=null}else{this[\"toWireType\"]=nonConstNoSmartPtrRawPointerToWireType;this.destructorFunction=null}}else{this[\"toWireType\"]=genericPointerToWireType}}var replacePublicSymbol=(name,value,numArguments)=>{if(!Module.hasOwnProperty(name)){throwInternalError(\"Replacing nonexistent public symbol\")}if(undefined!==Module[name].overloadTable&&undefined!==numArguments){Module[name].overloadTable[numArguments]=value}else{Module[name]=value;Module[name].argCount=numArguments}};var dynCallLegacy=(sig,ptr,args)=>{var f=Module[\"dynCall_\"+sig];return f(ptr,...args)};var wasmTableMirror=[];var wasmTable;var getWasmTableEntry=funcPtr=>{var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func};var dynCall=(sig,ptr,args=[])=>{if(sig.includes(\"j\")){return dynCallLegacy(sig,ptr,args)}var rtn=getWasmTableEntry(ptr)(...args);return rtn};var getDynCaller=(sig,ptr)=>(...args)=>dynCall(sig,ptr,args);var embind__requireFunction=(signature,rawFunction)=>{signature=readLatin1String(signature);function makeDynCaller(){if(signature.includes(\"j\")){return getDynCaller(signature,rawFunction)}return getWasmTableEntry(rawFunction)}var fp=makeDynCaller();if(typeof fp!=\"function\"){throwBindingError(`unknown function pointer with signature ${signature}: ${rawFunction}`)}return fp};var 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 UnboundTypeError;var getTypeName=type=>{var ptr=___getTypeName(type);var rv=readLatin1String(ptr);_free(ptr);return rv};var throwUnboundTypeError=(message,types)=>{var unboundTypes=[];var seen={};function visit(type){if(seen[type]){return}if(registeredTypes[type]){return}if(typeDependencies[type]){typeDependencies[type].forEach(visit);return}unboundTypes.push(type);seen[type]=true}types.forEach(visit);throw new UnboundTypeError(`${message}: `+unboundTypes.map(getTypeName).join([\", \"]))};function __embind_register_class(rawType,rawPointerType,rawConstPointerType,baseClassRawType,getActualTypeSignature,getActualType,upcastSignature,upcast,downcastSignature,downcast,name,destructorSignature,rawDestructor){rawType>>>=0;rawPointerType>>>=0;rawConstPointerType>>>=0;baseClassRawType>>>=0;getActualTypeSignature>>>=0;getActualType>>>=0;upcastSignature>>>=0;upcast>>>=0;downcastSignature>>>=0;downcast>>>=0;name>>>=0;destructorSignature>>>=0;rawDestructor>>>=0;name=readLatin1String(name);getActualType=embind__requireFunction(getActualTypeSignature,getActualType);upcast&&=embind__requireFunction(upcastSignature,upcast);downcast&&=embind__requireFunction(downcastSignature,downcast);rawDestructor=embind__requireFunction(destructorSignature,rawDestructor);var legalFunctionName=makeLegalFunctionName(name);exposePublicSymbol(legalFunctionName,function(){throwUnboundTypeError(`Cannot construct ${name} due to unbound types`,[baseClassRawType])});whenDependentTypesAreResolved([rawType,rawPointerType,rawConstPointerType],baseClassRawType?[baseClassRawType]:[],base=>{base=base[0];var baseClass;var basePrototype;if(baseClassRawType){baseClass=base.registeredClass;basePrototype=baseClass.instancePrototype}else{basePrototype=ClassHandle.prototype}var constructor=createNamedFunction(name,function(...args){if(Object.getPrototypeOf(this)!==instancePrototype){throw new BindingError(\"Use 'new' to construct \"+name)}if(undefined===registeredClass.constructor_body){throw new BindingError(name+\" has no accessible constructor\")}var body=registeredClass.constructor_body[args.length];if(undefined===body){throw new BindingError(`Tried to invoke ctor of ${name} with invalid number of parameters (${args.length}) - expected (${Object.keys(registeredClass.constructor_body).toString()}) parameters instead!`)}return body.apply(this,args)});var instancePrototype=Object.create(basePrototype,{constructor:{value:constructor}});constructor.prototype=instancePrototype;var registeredClass=new RegisteredClass(name,constructor,instancePrototype,rawDestructor,baseClass,getActualType,upcast,downcast);if(registeredClass.baseClass){registeredClass.baseClass.__derivedClasses??=[];registeredClass.baseClass.__derivedClasses.push(registeredClass)}var referenceConverter=new RegisteredPointer(name,registeredClass,true,false,false);var pointerConverter=new RegisteredPointer(name+\"*\",registeredClass,false,false,false);var constPointerConverter=new RegisteredPointer(name+\" const*\",registeredClass,false,true,false);registeredPointers[rawType]={pointerType:pointerConverter,constPointerType:constPointerConverter};replacePublicSymbol(legalFunctionName,constructor);return[referenceConverter,pointerConverter,constPointerConverter]})}var heap32VectorToArray=(count,firstElement)=>{var array=[];for(var i=0;i<count;i++){array.push(HEAPU32[firstElement+i*4>>>2>>>0])}return array};var runDestructors=destructors=>{while(destructors.length){var ptr=destructors.pop();var del=destructors.pop();del(ptr)}};function usesDestructorStack(argTypes){for(var i=1;i<argTypes.length;++i){if(argTypes[i]!==null&&argTypes[i].destructorFunction===undefined){return true}}return false}function newFunc(constructor,argumentList){if(!(constructor instanceof Function)){throw new TypeError(`new_ called with constructor type ${typeof constructor} which is not a function`)}var dummy=createNamedFunction(constructor.name||\"unknownFunctionName\",function(){});dummy.prototype=constructor.prototype;var obj=new dummy;var r=constructor.apply(obj,argumentList);return r instanceof Object?r:obj}function createJsInvoker(argTypes,isClassMethodFunc,returns,isAsync){var needsDestructorStack=usesDestructorStack(argTypes);var argCount=argTypes.length;var argsList=\"\";var argsListWired=\"\";for(var i=0;i<argCount-2;++i){argsList+=(i!==0?\", \":\"\")+\"arg\"+i;argsListWired+=(i!==0?\", \":\"\")+\"arg\"+i+\"Wired\"}var invokerFnBody=`\\n        return function (${argsList}) {\\n        if (arguments.length !== ${argCount-2}) {\\n          throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${argCount-2}');\\n        }`;if(needsDestructorStack){invokerFnBody+=\"var destructors = [];\\n\"}var dtorStack=needsDestructorStack?\"destructors\":\"null\";var args1=[\"humanName\",\"throwBindingError\",\"invoker\",\"fn\",\"runDestructors\",\"retType\",\"classParam\"];if(isClassMethodFunc){invokerFnBody+=\"var thisWired = classParam['toWireType'](\"+dtorStack+\", this);\\n\"}for(var i=0;i<argCount-2;++i){invokerFnBody+=\"var arg\"+i+\"Wired = argType\"+i+\"['toWireType'](\"+dtorStack+\", arg\"+i+\");\\n\";args1.push(\"argType\"+i)}if(isClassMethodFunc){argsListWired=\"thisWired\"+(argsListWired.length>0?\", \":\"\")+argsListWired}invokerFnBody+=(returns||isAsync?\"var rv = \":\"\")+\"invoker(fn\"+(argsListWired.length>0?\", \":\"\")+argsListWired+\");\\n\";if(needsDestructorStack){invokerFnBody+=\"runDestructors(destructors);\\n\"}else{for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){var paramName=i===1?\"thisWired\":\"arg\"+(i-2)+\"Wired\";if(argTypes[i].destructorFunction!==null){invokerFnBody+=`${paramName}_dtor(${paramName});\\n`;args1.push(`${paramName}_dtor`)}}}if(returns){invokerFnBody+=\"var ret = retType['fromWireType'](rv);\\n\"+\"return ret;\\n\"}else{}invokerFnBody+=\"}\\n\";return[args1,invokerFnBody]}function craftInvokerFunction(humanName,argTypes,classType,cppInvokerFunc,cppTargetFunc,isAsync){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=usesDestructorStack(argTypes);var returns=argTypes[0].name!==\"void\";var closureArgs=[humanName,throwBindingError,cppInvokerFunc,cppTargetFunc,runDestructors,argTypes[0],argTypes[1]];for(var i=0;i<argCount-2;++i){closureArgs.push(argTypes[i+2])}if(!needsDestructorStack){for(var i=isClassMethodFunc?1:2;i<argTypes.length;++i){if(argTypes[i].destructorFunction!==null){closureArgs.push(argTypes[i].destructorFunction)}}}let[args,invokerFnBody]=createJsInvoker(argTypes,isClassMethodFunc,returns,isAsync);args.push(invokerFnBody);var invokerFn=newFunc(Function,args)(...closureArgs);return createNamedFunction(humanName,invokerFn)}var __embind_register_class_constructor=function(rawClassType,argCount,rawArgTypesAddr,invokerSignature,invoker,rawConstructor){rawClassType>>>=0;rawArgTypesAddr>>>=0;invokerSignature>>>=0;invoker>>>=0;rawConstructor>>>=0;var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);invoker=embind__requireFunction(invokerSignature,invoker);whenDependentTypesAreResolved([],[rawClassType],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,argTypes=>{argTypes.splice(1,0,null);classType.registeredClass.constructor_body[argCount-1]=craftInvokerFunction(humanName,argTypes,null,invoker,rawConstructor);return[]});return[]})};var getFunctionName=signature=>{signature=signature.trim();const argsIndex=signature.indexOf(\"(\");if(argsIndex!==-1){return signature.substr(0,argsIndex)}else{return signature}};var __embind_register_class_function=function(rawClassType,methodName,argCount,rawArgTypesAddr,invokerSignature,rawInvoker,context,isPureVirtual,isAsync){rawClassType>>>=0;methodName>>>=0;rawArgTypesAddr>>>=0;invokerSignature>>>=0;rawInvoker>>>=0;context>>>=0;var rawArgTypes=heap32VectorToArray(argCount,rawArgTypesAddr);methodName=readLatin1String(methodName);methodName=getFunctionName(methodName);rawInvoker=embind__requireFunction(invokerSignature,rawInvoker);whenDependentTypesAreResolved([],[rawClassType],classType=>{classType=classType[0];var humanName=`${classType.name}.${methodName}`;if(methodName.startsWith(\"@@\")){methodName=Symbol[methodName.substring(2)]}if(isPureVirtual){classType.registeredClass.pureVirtualFunctions.push(methodName)}function unboundTypesHandler(){throwUnboundTypeError(`Cannot call ${humanName} due to unbound types`,rawArgTypes)}var proto=classType.registeredClass.instancePrototype;var method=proto[methodName];if(undefined===method||undefined===method.overloadTable&&method.className!==classType.name&&method.argCount===argCount-2){unboundTypesHandler.argCount=argCount-2;unboundTypesHandler.className=classType.name;proto[methodName]=unboundTypesHandler}else{ensureOverloadTable(proto,methodName,humanName);proto[methodName].overloadTable[argCount-2]=unboundTypesHandler}whenDependentTypesAreResolved([],rawArgTypes,argTypes=>{var memberFunction=craftInvokerFunction(humanName,argTypes,classType,rawInvoker,context,isAsync);if(undefined===proto[methodName].overloadTable){memberFunction.argCount=argCount-2;proto[methodName]=memberFunction}else{proto[methodName].overloadTable[argCount-2]=memberFunction}return[]});return[]})};var emval_freelist=[];var emval_handles=[];function __emval_decref(handle){handle>>>=0;if(handle>9&&0===--emval_handles[handle+1]){emval_handles[handle]=undefined;emval_freelist.push(handle)}}var count_emval_handles=()=>emval_handles.length/2-5-emval_freelist.length;var init_emval=()=>{emval_handles.push(0,1,undefined,1,null,1,true,1,false,1);Module[\"count_emval_handles\"]=count_emval_handles};var Emval={toValue:handle=>{if(!handle){throwBindingError(\"Cannot use deleted val. handle = \"+handle)}return emval_handles[handle]},toHandle:value=>{switch(value){case undefined:return 2;case null:return 4;case true:return 6;case false:return 8;default:{const handle=emval_freelist.pop()||emval_handles.length;emval_handles[handle]=value;emval_handles[handle+1]=1;return handle}}}};var EmValType={name:\"emscripten::val\",\"fromWireType\":handle=>{var rv=Emval.toValue(handle);__emval_decref(handle);return rv},\"toWireType\":(destructors,value)=>Emval.toHandle(value),\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":readPointer,destructorFunction:null};function __embind_register_emval(rawType){rawType>>>=0;return registerType(rawType,EmValType)}var embindRepr=v=>{if(v===null){return\"null\"}var t=typeof v;if(t===\"object\"||t===\"array\"||t===\"function\"){return v.toString()}else{return\"\"+v}};var floatReadValueFromPointer=(name,width)=>{switch(width){case 4:return function(pointer){return this[\"fromWireType\"](HEAPF32[pointer>>>2>>>0])};case 8:return function(pointer){return this[\"fromWireType\"](HEAPF64[pointer>>>3>>>0])};default:throw new TypeError(`invalid float width (${width}): ${name}`)}};var __embind_register_float=function(rawType,name,size){rawType>>>=0;name>>>=0;size>>>=0;name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":value=>value,\"toWireType\":(destructors,value)=>value,\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":floatReadValueFromPointer(name,size),destructorFunction:null})};function __embind_register_function(name,argCount,rawArgTypesAddr,signature,rawInvoker,fn,isAsync){name>>>=0;rawArgTypesAddr>>>=0;signature>>>=0;rawInvoker>>>=0;fn>>>=0;var argTypes=heap32VectorToArray(argCount,rawArgTypesAddr);name=readLatin1String(name);name=getFunctionName(name);rawInvoker=embind__requireFunction(signature,rawInvoker);exposePublicSymbol(name,function(){throwUnboundTypeError(`Cannot call ${name} due to unbound types`,argTypes)},argCount-1);whenDependentTypesAreResolved([],argTypes,argTypes=>{var invokerArgsArray=[argTypes[0],null].concat(argTypes.slice(1));replacePublicSymbol(name,craftInvokerFunction(name,invokerArgsArray,null,rawInvoker,fn,isAsync),argCount-1);return[]})}var integerReadValueFromPointer=(name,width,signed)=>{switch(width){case 1:return signed?pointer=>HEAP8[pointer>>>0]:pointer=>HEAPU8[pointer>>>0];case 2:return signed?pointer=>HEAP16[pointer>>>1>>>0]:pointer=>HEAPU16[pointer>>>1>>>0];case 4:return signed?pointer=>HEAP32[pointer>>>2>>>0]:pointer=>HEAPU32[pointer>>>2>>>0];default:throw new TypeError(`invalid integer width (${width}): ${name}`)}};function __embind_register_integer(primitiveType,name,size,minRange,maxRange){primitiveType>>>=0;name>>>=0;size>>>=0;name=readLatin1String(name);if(maxRange===-1){maxRange=4294967295}var fromWireType=value=>value;if(minRange===0){var bitshift=32-8*size;fromWireType=value=>value<<bitshift>>>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\":GenericWireTypeSize,\"readValueFromPointer\":integerReadValueFromPointer(name,size,minRange!==0),destructorFunction:null})}function __embind_register_memory_view(rawType,dataTypeIndex,name){rawType>>>=0;name>>>=0;var typeMapping=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array];var TA=typeMapping[dataTypeIndex];function decodeMemoryView(handle){var size=HEAPU32[handle>>>2>>>0];var data=HEAPU32[handle+4>>>2>>>0];return new TA(HEAP8.buffer,data,size)}name=readLatin1String(name);registerType(rawType,{name:name,\"fromWireType\":decodeMemoryView,\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":decodeMemoryView},{ignoreDuplicateRegistrations:true})}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{outIdx>>>=0;if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++>>>0]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++>>>0]=192|u>>6;heap[outIdx++>>>0]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++>>>0]=224|u>>12;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++>>>0]=240|u>>18;heap[outIdx++>>>0]=128|u>>12&63;heap[outIdx++>>>0]=128|u>>6&63;heap[outIdx++>>>0]=128|u&63}}heap[outIdx>>>0]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite);var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};function __embind_register_std_string(rawType,name){rawType>>>=0;name>>>=0;name=readLatin1String(name);var stdStringIsUTF8=name===\"std::string\";registerType(rawType,{name:name,\"fromWireType\"(value){var length=HEAPU32[value>>>2>>>0];var payload=value+4;var str;if(stdStringIsUTF8){var decodeStartPtr=payload;for(var i=0;i<=length;++i){var currentBytePtr=payload+i;if(i==length||HEAPU8[currentBytePtr>>>0]==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;i<length;++i){a[i]=String.fromCharCode(HEAPU8[payload+i>>>0])}str=a.join(\"\")}_free(value);return str},\"toWireType\"(destructors,value){if(value instanceof ArrayBuffer){value=new Uint8Array(value)}var length;var valueIsOfTypeString=typeof value==\"string\";if(!(valueIsOfTypeString||value instanceof Uint8Array||value instanceof Uint8ClampedArray||value instanceof Int8Array)){throwBindingError(\"Cannot pass non-string to std::string\")}if(stdStringIsUTF8&&valueIsOfTypeString){length=lengthBytesUTF8(value)}else{length=value.length}var base=_malloc(4+length+1);var ptr=base+4;HEAPU32[base>>>2>>>0]=length;if(stdStringIsUTF8&&valueIsOfTypeString){stringToUTF8(value,ptr,length+1)}else{if(valueIsOfTypeString){for(var i=0;i<length;++i){var charCode=value.charCodeAt(i);if(charCode>255){_free(ptr);throwBindingError(\"String has UTF-16 code units that do not fit in 8 bits\")}HEAPU8[ptr+i>>>0]=charCode}}else{for(var i=0;i<length;++i){HEAPU8[ptr+i>>>0]=value[i]}}}if(destructors!==null){destructors.push(_free,base)}return base},\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":readPointer,destructorFunction(ptr){_free(ptr)}})}var UTF16Decoder=typeof TextDecoder!=\"undefined\"?new TextDecoder(\"utf-16le\"):undefined;var UTF16ToString=(ptr,maxBytesToRead)=>{var endPtr=ptr;var idx=endPtr>>1;var maxIdx=idx+maxBytesToRead/2;while(!(idx>=maxIdx)&&HEAPU16[idx>>>0])++idx;endPtr=idx<<1;if(endPtr-ptr>32&&UTF16Decoder)return UTF16Decoder.decode(HEAPU8.subarray(ptr>>>0,endPtr>>>0));var str=\"\";for(var i=0;!(i>=maxBytesToRead/2);++i){var codeUnit=HEAP16[ptr+i*2>>>1>>>0];if(codeUnit==0)break;str+=String.fromCharCode(codeUnit)}return str};var stringToUTF16=(str,outPtr,maxBytesToWrite)=>{maxBytesToWrite??=2147483647;if(maxBytesToWrite<2)return 0;maxBytesToWrite-=2;var startPtr=outPtr;var numCharsToWrite=maxBytesToWrite<str.length*2?maxBytesToWrite/2:str.length;for(var i=0;i<numCharsToWrite;++i){var codeUnit=str.charCodeAt(i);HEAP16[outPtr>>>1>>>0]=codeUnit;outPtr+=2}HEAP16[outPtr>>>1>>>0]=0;return outPtr-startPtr};var lengthBytesUTF16=str=>str.length*2;var UTF32ToString=(ptr,maxBytesToRead)=>{var i=0;var str=\"\";while(!(i>=maxBytesToRead/4)){var utf32=HEAP32[ptr+i*4>>>2>>>0];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};var stringToUTF32=(str,outPtr,maxBytesToWrite)=>{outPtr>>>=0;maxBytesToWrite??=2147483647;if(maxBytesToWrite<4)return 0;var startPtr=outPtr;var endPtr=startPtr+maxBytesToWrite-4;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343){var trailSurrogate=str.charCodeAt(++i);codeUnit=65536+((codeUnit&1023)<<10)|trailSurrogate&1023}HEAP32[outPtr>>>2>>>0]=codeUnit;outPtr+=4;if(outPtr+4>endPtr)break}HEAP32[outPtr>>>2>>>0]=0;return outPtr-startPtr};var lengthBytesUTF32=str=>{var len=0;for(var i=0;i<str.length;++i){var codeUnit=str.charCodeAt(i);if(codeUnit>=55296&&codeUnit<=57343)++i;len+=4}return len};var __embind_register_std_wstring=function(rawType,charSize,name){rawType>>>=0;charSize>>>=0;name>>>=0;name=readLatin1String(name);var decodeString,encodeString,readCharAt,lengthBytesUTF;if(charSize===2){decodeString=UTF16ToString;encodeString=stringToUTF16;lengthBytesUTF=lengthBytesUTF16;readCharAt=pointer=>HEAPU16[pointer>>>1>>>0]}else if(charSize===4){decodeString=UTF32ToString;encodeString=stringToUTF32;lengthBytesUTF=lengthBytesUTF32;readCharAt=pointer=>HEAPU32[pointer>>>2>>>0]}registerType(rawType,{name:name,\"fromWireType\":value=>{var length=HEAPU32[value>>>2>>>0];var str;var decodeStartPtr=value+4;for(var i=0;i<=length;++i){var currentBytePtr=value+4+i*charSize;if(i==length||readCharAt(currentBytePtr)==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\":(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);HEAPU32[ptr>>>2>>>0]=length/charSize;encodeString(value,ptr+4,length+charSize);if(destructors!==null){destructors.push(_free,ptr)}return ptr},\"argPackAdvance\":GenericWireTypeSize,\"readValueFromPointer\":readPointer,destructorFunction(ptr){_free(ptr)}})};var __embind_register_void=function(rawType,name){rawType>>>=0;name>>>=0;name=readLatin1String(name);registerType(rawType,{isVoid:true,name:name,\"argPackAdvance\":0,\"fromWireType\":()=>undefined,\"toWireType\":(destructors,o)=>undefined})};var nowIsMonotonic=1;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var requireRegisteredType=(rawType,humanName)=>{var impl=registeredTypes[rawType];if(undefined===impl){throwBindingError(`${humanName} has unknown type ${getTypeName(rawType)}`)}return impl};function __emval_take_value(type,arg){type>>>=0;arg>>>=0;type=requireRegisteredType(type,\"_emval_take_value\");var v=type[\"readValueFromPointer\"](arg);return Emval.toHandle(v)}var _abort=()=>{abort(\"\")};var _emscripten_date_now=()=>Date.now();var _emscripten_get_now;_emscripten_get_now=()=>performance.now();function _emscripten_memcpy_js(dest,src,num){dest>>>=0;src>>>=0;num>>>=0;return HEAPU8.copyWithin(dest>>>0,src>>>0,src+num>>>0)}var getHeapMax=()=>3221225472;var growMemory=size=>{var b=wasmMemory.buffer;var pages=(size-b.byteLength+65535)/65536;try{wasmMemory.grow(pages);updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize>>>=0;var oldSize=HEAPU8.length;var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}var alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;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=growMemory(newSize);if(replacement){return true}}return false}var ENV={};var getExecutableName=()=>thisProgram||\"./this.program\";var 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};var stringToAscii=(str,buffer)=>{for(var i=0;i<str.length;++i){HEAP8[buffer++>>>0]=str.charCodeAt(i)}HEAP8[buffer>>>0]=0};var _environ_get=function(__environ,environ_buf){__environ>>>=0;environ_buf>>>=0;var bufSize=0;getEnvStrings().forEach((string,i)=>{var ptr=environ_buf+bufSize;HEAPU32[__environ+i*4>>>2>>>0]=ptr;stringToAscii(string,ptr);bufSize+=string.length+1});return 0};var _environ_sizes_get=function(penviron_count,penviron_buf_size){penviron_count>>>=0;penviron_buf_size>>>=0;var strings=getEnvStrings();HEAPU32[penviron_count>>>2>>>0]=strings.length;var bufSize=0;strings.forEach(string=>bufSize+=string.length+1);HEAPU32[penviron_buf_size>>>2>>>0]=bufSize;return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){Module[\"onExit\"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var _exit=exitJS;var _fd_close=fd=>52;function _fd_fdstat_get(fd,pbuf){pbuf>>>=0;var rightsBase=0;var rightsInheriting=0;var flags=0;{var type=2;if(fd==0){rightsBase=2}else if(fd==1||fd==2){rightsBase=64}flags=1}HEAP8[pbuf>>>0]=type;HEAP16[pbuf+2>>>1>>>0]=flags;tempI64=[rightsBase>>>0,(tempDouble=rightsBase,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+8>>>2>>>0]=tempI64[0],HEAP32[pbuf+12>>>2>>>0]=tempI64[1];tempI64=[rightsInheriting>>>0,(tempDouble=rightsInheriting,+Math.abs(tempDouble)>=1?tempDouble>0?+Math.floor(tempDouble/4294967296)>>>0:~~+Math.ceil((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0)],HEAP32[pbuf+16>>>2>>>0]=tempI64[0],HEAP32[pbuf+20>>>2>>>0]=tempI64[1];return 0}function _fd_read(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;return 52}function _fd_seek(fd,offset_low,offset_high,whence,newOffset){var offset=convertI32PairToI53Checked(offset_low,offset_high);newOffset>>>=0;return 70}var printCharBuffers=[null,[],[]];var printChar=(stream,curr)=>{var buffer=printCharBuffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}};function _fd_write(fd,iov,iovcnt,pnum){iov>>>=0;iovcnt>>>=0;pnum>>>=0;var num=0;for(var i=0;i<iovcnt;i++){var ptr=HEAPU32[iov>>>2>>>0];var len=HEAPU32[iov+4>>>2>>>0];iov+=8;for(var j=0;j<len;j++){printChar(fd,HEAPU8[ptr+j>>>0])}num+=len}HEAPU32[pnum>>>2>>>0]=num;return 0}var isLeapYear=year=>year%4===0&&(year%100!==0||year%400===0);var 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];var 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 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 writeArrayToMemory=(array,buffer)=>{HEAP8.set(array,buffer>>>0)};function _strftime(s,maxsize,format,tm){s>>>=0;maxsize>>>=0;format>>>=0;tm>>>=0;var tm_zone=HEAPU32[tm+40>>>2>>>0];var date={tm_sec:HEAP32[tm>>>2>>>0],tm_min:HEAP32[tm+4>>>2>>>0],tm_hour:HEAP32[tm+8>>>2>>>0],tm_mday:HEAP32[tm+12>>>2>>>0],tm_mon:HEAP32[tm+16>>>2>>>0],tm_year:HEAP32[tm+20>>>2>>>0],tm_wday:HEAP32[tm+24>>>2>>>0],tm_yday:HEAP32[tm+28>>>2>>>0],tm_isdst:HEAP32[tm+32>>>2>>>0],tm_gmtoff:HEAP32[tm+36>>>2>>>0],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.length<digits){str=character[0]+str}return str}function leadingNulls(value,digits){return leadingSomething(value,digits,\"0\")}function compareByDay(date1,date2){function sgn(value){return value<0?-1:value>0?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}return thisDate.getFullYear()}return thisDate.getFullYear()-1}var EXPANSION_RULES_2={\"%a\":date=>WEEKDAYS[date.tm_wday].substring(0,3),\"%A\":date=>WEEKDAYS[date.tm_wday],\"%b\":date=>MONTHS[date.tm_mon].substring(0,3),\"%B\":date=>MONTHS[date.tm_mon],\"%C\":date=>{var year=date.tm_year+1900;return leadingNulls(year/100|0,2)},\"%d\":date=>leadingNulls(date.tm_mday,2),\"%e\":date=>leadingSomething(date.tm_mday,2,\" \"),\"%g\":date=>getWeekBasedYear(date).toString().substring(2),\"%G\":getWeekBasedYear,\"%H\":date=>leadingNulls(date.tm_hour,2),\"%I\":date=>{var twelveHour=date.tm_hour;if(twelveHour==0)twelveHour=12;else if(twelveHour>12)twelveHour-=12;return leadingNulls(twelveHour,2)},\"%j\":date=>leadingNulls(date.tm_mday+arraySum(isLeapYear(date.tm_year+1900)?MONTH_DAYS_LEAP:MONTH_DAYS_REGULAR,date.tm_mon-1),3),\"%m\":date=>leadingNulls(date.tm_mon+1,2),\"%M\":date=>leadingNulls(date.tm_min,2),\"%n\":()=>\"\\n\",\"%p\":date=>{if(date.tm_hour>=0&&date.tm_hour<12){return\"AM\"}return\"PM\"},\"%S\":date=>leadingNulls(date.tm_sec,2),\"%t\":()=>\"\\t\",\"%u\":date=>date.tm_wday||7,\"%U\":date=>{var days=date.tm_yday+7-date.tm_wday;return leadingNulls(Math.floor(days/7),2)},\"%V\":date=>{var val=Math.floor((date.tm_yday+7-(date.tm_wday+6)%7)/7);if((date.tm_wday+371-date.tm_yday-2)%7<=2){val++}if(!val){val=52;var dec31=(date.tm_wday+7-date.tm_yday-1)%7;if(dec31==4||dec31==5&&isLeapYear(date.tm_year%400-1)){val++}}else if(val==53){var jan1=(date.tm_wday+371-date.tm_yday)%7;if(jan1!=4&&(jan1!=3||!isLeapYear(date.tm_year)))val=1}return leadingNulls(val,2)},\"%w\":date=>date.tm_wday,\"%W\":date=>{var days=date.tm_yday+7-(date.tm_wday+6)%7;return leadingNulls(Math.floor(days/7),2)},\"%y\":date=>(date.tm_year+1900).toString().substring(2),\"%Y\":date=>date.tm_year+1900,\"%z\":date=>{var off=date.tm_gmtoff;var ahead=off>=0;off=Math.abs(off)/60;off=off/60*100+off%60;return(ahead?\"+\":\"-\")+String(\"0000\"+off).slice(-4)},\"%Z\":date=>date.tm_zone,\"%%\":()=>\"%\"};pattern=pattern.replace(/%%/g,\"\\0\\0\");for(var rule in EXPANSION_RULES_2){if(pattern.includes(rule)){pattern=pattern.replace(new RegExp(rule,\"g\"),EXPANSION_RULES_2[rule](date))}}pattern=pattern.replace(/\\0\\0/g,\"%\");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,loc){s>>>=0;maxsize>>>=0;format>>>=0;tm>>>=0;loc>>>=0;return _strftime(s,maxsize,format,tm)}embind_init_charCodes();BindingError=Module[\"BindingError\"]=class BindingError extends Error{constructor(message){super(message);this.name=\"BindingError\"}};InternalError=Module[\"InternalError\"]=class InternalError extends Error{constructor(message){super(message);this.name=\"InternalError\"}};init_ClassHandle();init_embind();init_RegisteredPointer();UnboundTypeError=Module[\"UnboundTypeError\"]=extendError(Error,\"UnboundTypeError\");init_emval();var wasmImports={r:___cxa_throw,G:___syscall_dup3,L:___syscall_faccessat,i:___syscall_fcntl64,F:___syscall_fstat64,v:___syscall_ftruncate64,I:___syscall_ioctl,C:___syscall_lstat64,D:___syscall_newfstatat,o:___syscall_openat,E:___syscall_stat64,m:___syscall_unlinkat,w:__embind_register_bigint,s:__embind_register_bool,d:__embind_register_class,f:__embind_register_class_constructor,a:__embind_register_class_function,M:__embind_register_emval,q:__embind_register_float,g:__embind_register_function,c:__embind_register_integer,b:__embind_register_memory_view,p:__embind_register_std_string,l:__embind_register_std_wstring,t:__embind_register_void,J:__emscripten_get_now_is_monotonic,e:__emval_take_value,j:_abort,k:_emscripten_date_now,K:_emscripten_memcpy_js,A:_emscripten_resize_heap,y:_environ_get,z:_environ_sizes_get,N:_exit,h:_fd_close,B:_fd_fdstat_get,H:_fd_read,u:_fd_seek,n:_fd_write,x:_strftime_l};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports[\"P\"])();var _malloc=a0=>(_malloc=wasmExports[\"R\"])(a0);var _free=a0=>(_free=wasmExports[\"S\"])(a0);var ___getTypeName=a0=>(___getTypeName=wasmExports[\"T\"])(a0);var ___cxa_is_pointer_type=a0=>(___cxa_is_pointer_type=wasmExports[\"U\"])(a0);var dynCall_jiji=Module[\"dynCall_jiji\"]=(a0,a1,a2,a3,a4)=>(dynCall_jiji=Module[\"dynCall_jiji\"]=wasmExports[\"V\"])(a0,a1,a2,a3,a4);var dynCall_viijii=Module[\"dynCall_viijii\"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_viijii=Module[\"dynCall_viijii\"]=wasmExports[\"W\"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiij=Module[\"dynCall_iiiiij\"]=(a0,a1,a2,a3,a4,a5,a6)=>(dynCall_iiiiij=Module[\"dynCall_iiiiij\"]=wasmExports[\"X\"])(a0,a1,a2,a3,a4,a5,a6);var dynCall_iiiiijj=Module[\"dynCall_iiiiijj\"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>(dynCall_iiiiijj=Module[\"dynCall_iiiiijj\"]=wasmExports[\"Y\"])(a0,a1,a2,a3,a4,a5,a6,a7,a8);var dynCall_iiiiiijj=Module[\"dynCall_iiiiiijj\"]=(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9)=>(dynCall_iiiiiijj=Module[\"dynCall_iiiiiijj\"]=wasmExports[\"Z\"])(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9);function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_pp=f=>a0=>f(a0)>>>0;var makeWrapper_p=f=>()=>f()>>>0;wasmExports[\"R\"]=makeWrapper_pp(wasmExports[\"R\"]);wasmExports[\"T\"]=makeWrapper_pp(wasmExports[\"T\"]);wasmExports[\"stackSave\"]=makeWrapper_p(wasmExports[\"stackSave\"]);wasmExports[\"stackAlloc\"]=makeWrapper_pp(wasmExports[\"stackAlloc\"]);return wasmExports}var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(){if(runDependencies>0){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()}}if(Module[\"preInit\"]){if(typeof Module[\"preInit\"]==\"function\")Module[\"preInit\"]=[Module[\"preInit\"]];while(Module[\"preInit\"].length>0){Module[\"preInit\"].pop()()}}run();\n\n\n  return moduleArg.ready\n}\n);\n})();\nif (typeof exports === 'object' && typeof module === 'object')\n  module.exports = geoda;\nelse if (typeof define === 'function' && define['amd'])\n  define([], () => geoda);\n", "// SPDX-License-Identifier: MIT\n// Copyright contributors to the geodalib project\n\nimport type { GeoDaModule } from './wasm';\n\nexport type WasmModule = (\n  options: { locateFile: () => string } | Record<string, never>\n) => Promise<GeoDaModule>;\n\n/**\n * Manages WebAssembly (WASM) initialization and configuration for GeoDa\n * Handles custom WASM URL settings and instance creation\n *\n * @class WASMManager\n */\nclass WASMManager {\n  private customWASMUrl: string | null = null;\n  private wasmInstancePromise: Promise<GeoDaModule> | null = null;\n  public id: string = '';\n  private wasmModule: WasmModule;\n\n  /**\n   * Creates a new WASMManager instance\n   * @param {WasmModule} wasmModule - The WebAssembly module function that returns a Promise<GeoDaModule>\n   */\n  constructor(wasmModule: WasmModule) {\n    this.wasmModule = wasmModule;\n    this.wasmInstancePromise = null;\n    this.customWASMUrl = null;\n    // random id\n    this.id =\n      Math.random().toString(36).substring(2, 15) + Math.random().toString(36).substring(2, 15);\n  }\n\n  /**\n   * Sets a custom URL for the WASM file\n   * @param {string} wasmUrl - The absolute URL where the WASM file is hosted\n   * @returns {void}\n   */\n  setDeliveryWASM(wasmUrl: string): void {\n    this.customWASMUrl = wasmUrl;\n  }\n\n  /**\n   * Retrieves the currently set custom WASM URL\n   * @returns {string | null} The custom WASM URL if set, null otherwise\n   */\n  getDeliveryWASM(): string | null {\n    return this.customWASMUrl;\n  }\n\n  /**\n   * Initializes the WASM instance with the configured settings\n   * @param {string} [publicWASMUrl] - Optional URL to set as the WASM delivery URL before initialization\n   * @returns {Promise<GeoDaModule>} Promise resolving to the initialized GeoDaModule\n   * @throws {Error} Throws an error if custom WASM URL is not set\n   */\n  async initWASM(publicWASMUrl?: string): Promise<GeoDaModule> {\n    if (publicWASMUrl) {\n      this.setDeliveryWASM(publicWASMUrl);\n    }\n    if (this.customWASMUrl === null) {\n      throw new Error('Custom WASM URL is not set');\n    }\n    if (this.wasmInstancePromise === null) {\n      const wasmUrl = this.customWASMUrl;\n      this.wasmInstancePromise = this.wasmModule(wasmUrl ? { locateFile: () => wasmUrl } : {});\n    }\n    return this.wasmInstancePromise;\n  }\n\n  /**\n   * Resets the WASM instance by clearing the stored promise\n   * Allows for re-initialization of the WASM module\n   * @returns {Promise<void>}\n   */\n  async resetWASM(): Promise<void> {\n    this.wasmInstancePromise = null;\n  }\n}\n\n/**\n * Factory function to create a new WASMManager instance\n * @param {WasmModule} wasmModule - The WebAssembly module function\n * @returns {WASMManager} A new WASMManager instance\n * @see {@link WASMManager} for detailed documentation of the manager class\n */\nexport const createWASMManager = (wasmModule: WasmModule) => new WASMManager(wasmModule);\n", "// SPDX-License-Identifier: MIT\n// Copyright contributors to the geodalib project\n\n// generated by TSEMBIND\n\n// define type aliases for various native number types\ntype Char = number;\ntype SignedChar = number;\ntype UnsignedChar = number;\ntype Short = number;\ntype UnsignedShort = number;\ntype Int = number;\ntype UnsignedInt = number;\ntype Long = number;\ntype UnsignedLong = number;\ntype Float = number;\ntype Double = number;\n\n/**\n * Base class for geometry collections\n */\nexport class GeometryCollection {\n  /**\n   * Constructor for the base geometry collection class\n   */\n  constructor();\n  delete(): void;\n  size(): number;\n  getType(): number;\n  getCentroids(): VecVecDouble;\n  buffer(index: number, dist: number, pointsPerCircle: number): Polygon;\n  getArea(index: number): Double;\n  getLength(index: number): Double;\n  getPerimeter(index: number): Double;\n}\n\n/**\n * PolygonCollection class.\n */\nexport class PolygonCollection extends GeometryCollection {\n  /**\n   * Constructor for the polygon collection class\n   * @param xs VectorDouble Array of x coordinates\n   * @param ys VectorDouble Array of y coordinates\n   * @param parts VectorUInt Array of indices into xs/ys where each part starts\n   * @param holes VectorUInt Array of indices into parts where each hole starts\n   * @param sizes VectorUInt Array of number of parts for each feature\n   * @param fixPolygon boolean Whether to fix polygon\n   * @param convertToUTM boolean Whether to convert to UTM\n   */\n  constructor(\n    xs: VectorDouble,\n    ys: VectorDouble,\n    parts: VectorUInt,\n    holes: VectorUInt,\n    sizes: VectorUInt,\n    fixPolygon: boolean,\n    convertToUTM: boolean\n  );\n\n  delete(): void;\n}\n\n/**\n * LineCollection class.\n */\nexport class LineCollection extends GeometryCollection {\n  /**\n   * Constructor for the line collection class\n   * @param xs VectorDouble Array of x coordinates\n   * @param ys VectorDouble Array of y coordinates\n   * @param parts VectorUInt Array of indices into xs/ys where each part starts\n   * @param sizes VectorUInt Array of number of parts for each feature\n   * @param convertToUTM boolean Whether to convert to UTM\n   */\n  constructor(\n    xs: VectorDouble,\n    ys: VectorDouble,\n    parts: VectorUInt,\n    sizes: VectorUInt,\n    convertToUTM: boolean\n  );\n\n  delete(): void;\n}\n\n/**\n * Class representing a single point geometry\n */\nexport class Point {\n  /**\n   * Constructor for a single point geometry\n   */\n  constructor();\n  /**\n   * Get the x-coordinate of the point\n   */\n  getX(): VectorDouble;\n  /**\n   * Get the y-coordinate of the point\n   */\n  getY(): VectorDouble;\n}\n\n/**\n * PointCollection class.\n */\nexport class PointCollection extends GeometryCollection {\n  /**\n   * Constructor for the point collection class\n   * @param xs VectorDouble Array of x coordinates\n   * @param ys VectorDouble Array of y coordinates\n   * @param parts VectorUInt Array of indices into xs/ys where each part starts\n   * @param sizes VectorUInt Array of number of parts for each feature\n   * @param convertToUTM boolean Whether to convert to UTM\n   */\n  constructor(\n    xs: VectorDouble,\n    ys: VectorDouble,\n    parts: VectorUInt,\n    sizes: VectorUInt,\n    convertToUTM: boolean\n  );\n\n  delete(): void;\n}\n\n/**\n * Class representing a polygon geometry\n */\nexport class Polygon {\n  /**\n   * Constructor for the polygon class\n   */\n  constructor();\n  /**\n   * Get the x-coordinates of the polygon vertices\n   */\n  getX(): VectorDouble;\n  /**\n   * Get the y-coordinates of the polygon vertices\n   */\n  getY(): VectorDouble;\n  /**\n   * Get the indices of holes in the polygon\n   */\n  getHoles(): VectorUInt;\n  /**\n   * Get the indices where each part of the polygon starts\n   */\n  getParts(): VectorUInt;\n  /**\n   * Add a part to the polygon\n   * @param arg0 Array of x coordinates\n   * @param arg1 Array of y coordinates\n   * @param arg2 Whether to fix the polygon\n   */\n  addPart(arg0: VectorDouble, arg1: VectorDouble, arg2: boolean): void;\n  delete(): void;\n}\n\nexport class Line {\n  constructor();\n  getX(): VectorDouble;\n  getY(): VectorDouble;\n  getParts(): VectorUInt;\n  add(arg0: VectorDouble, arg1: VectorDouble): void;\n}\n\n/**\n * Vector class for unsigned integers\n */\nexport class VectorUInt {\n  /**\n   * Constructor for a vector of unsigned integers\n   */\n  constructor();\n  /**\n   * Add an element to the end of the vector\n   * @param arg0 Element to add\n   */\n  push_back(arg0: UnsignedInt): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: UnsignedInt): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get element at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set element at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: UnsignedInt): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for storing vectors of unsigned integers\n */\nexport class VecVecUInt {\n  /**\n   * Constructor for a vector of vectors of unsigned integers\n   */\n  constructor();\n  /**\n   * Add a vector to the end\n   * @param arg0 Vector to add\n   */\n  push_back(arg0: VectorUInt): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: VectorUInt): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get vector at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set vector at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: VectorUInt): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for integers\n */\nexport class VectorInt {\n  /**\n   * Constructor for a vector of integers\n   */\n  constructor();\n  /**\n   * Add an element to the end\n   * @param arg0 Element to add\n   */\n  push_back(arg0: Int): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: Int): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get element at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set element at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: Int): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for storing vectors of integers\n */\nexport class VecVecInt {\n  /**\n   * Constructor for a vector of vectors of integers\n   */\n  constructor();\n  /**\n   * Add a vector to the end\n   * @param arg0 Vector to add\n   */\n  push_back(arg0: VectorInt): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: VectorInt): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get vector at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set vector at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: VectorInt): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for double precision floating point numbers\n */\nexport class VectorDouble {\n  /**\n   * Constructor for a vector of double precision floating point numbers\n   */\n  constructor();\n  /**\n   * Add an element to the end\n   * @param arg0 Element to add\n   */\n  push_back(arg0: Double): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: Double): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get element at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set element at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: Double): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for storing vectors of doubles\n */\nexport class VecVecDouble {\n  /**\n   * Constructor for a vector of vectors of doubles\n   */\n  constructor();\n  /**\n   * Add a vector to the end\n   * @param arg0 Vector to add\n   */\n  push_back(arg0: VectorDouble): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: VectorDouble): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get vector at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set vector at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: VectorDouble): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for storing polygons\n */\nexport class VectorPolygon {\n  /**\n   * Constructor for a vector of polygons\n   */\n  constructor();\n  /**\n   * Add a polygon to the end\n   * @param arg0 Polygon to add\n   */\n  push_back(arg0: Polygon): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: Polygon): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get polygon at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): any;\n  /**\n   * Set polygon at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: Polygon): boolean;\n  delete(): void;\n}\n\n/**\n * Vector class for storing lines\n */\nexport class VectorLine {\n  constructor();\n  push_back(arg0: Line): void;\n  resize(arg0: UnsignedLong, arg1: Line): void;\n  size(): UnsignedLong;\n  get(arg0: UnsignedLong): any;\n}\n\n/**\n * Vector class for storing strings\n */\nexport class VectorString {\n  /**\n   * Constructor for a vector of strings\n   */\n  constructor();\n  /**\n   * Add a string to the end\n   * @param arg0 String to add\n   */\n  push_back(arg0: string): void;\n  /**\n   * Resize the vector\n   * @param arg0 New size\n   * @param arg1 Value to fill new elements with\n   */\n  resize(arg0: UnsignedLong, arg1: string): void;\n  /**\n   * Get the size of the vector\n   */\n  size(): UnsignedLong;\n  /**\n   * Get string at index\n   * @param arg0 Index\n   */\n  get(arg0: UnsignedLong): string;\n  /**\n   * Set string at index\n   * @param arg0 Index\n   * @param arg1 Value\n   */\n  set(arg0: UnsignedLong, arg1: string): boolean;\n  delete(): void;\n}\n\n/**\n * Class representing results from LISA (Local Indicators of Spatial Association) analysis\n */\nexport class LisaResult {\n  /**\n   * Check if the result is valid\n   */\n  isValid(): boolean;\n  /**\n   * Get the p-values for each observation\n   */\n  getPValues(): VectorDouble;\n  /**\n   * Get the cluster assignments for each observation\n   */\n  getClusters(): VectorUInt;\n  /**\n   * Get the spatial lag values\n   */\n  getLagValues(): VectorDouble;\n  /**\n   * Get the LISA statistic values\n   */\n  getLisaValues(): VectorDouble;\n  /**\n   * Get the significance categories\n   */\n  getSignificanceCategories(): VectorInt;\n  /**\n   * Get the number of neighbors for each observation\n   */\n  getNN(): VectorInt;\n  /**\n   * Get the labels for the clusters\n   */\n  getLabels(): VectorString;\n  /**\n   * Get the colors associated with each cluster\n   */\n  getColors(): VectorString;\n  delete(): void;\n}\n\nexport class Fragmentation {\n  n: number;\n  entropy: number;\n  simpson: number;\n  minClusterSize: number;\n  maxClusterSize: number;\n  meanClusterSize: number;\n  spatiallyContiguous: boolean;\n}\n\nexport class Compactness {\n  area: number;\n  perimeter: number;\n  isoperimeterQuotient: number;\n}\n\nexport class Diameter {\n  steps: number;\n  ratio: number;\n}\n\nexport class JoinCountRatio {\n  cluster: number;\n  n: number;\n  ratio: number;\n}\n\nexport class ValidationResult {\n  spatiallyConstrained: boolean;\n  fragmentation: Fragmentation;\n  clusterFragmentation: VectorFragmentation;\n  clusterDiameter: VectorDiameter;\n  clusterCompactness: VectorCompactness;\n  joincountRatio: VectorJoinCountRatio;\n}\n\nexport class VectorFragmentation {\n  size(): number;\n  get(i: number): Fragmentation;\n}\nexport class VectorDiameter {\n  size(): number;\n  get(i: number): Diameter;\n}\nexport class VectorCompactness {\n  size(): number;\n  get(i: number): Compactness;\n}\nexport class VectorJoinCountRatio {\n  size(): number;\n  get(i: number): JoinCountRatio;\n}\n\n/**\n * Result of a batch LISA computation (per-variable arrays).\n */\nexport class BatchLisaResult {\n  /**\n   * Check if the result is valid\n   */\n  isValid(): boolean;\n  /**\n   * Get the LISA statistic values for each variable\n   */\n  getLisaValues(): VecVecDouble;\n  /**\n   * Get the p-values for each variable\n   */\n  getPValues(): VecVecDouble;\n  /**\n   * Get the cluster assignments for each variable\n   */\n  getClusters(): VecVecInt;\n  /**\n   * Get the spatial lag values for each variable\n   */\n  getLagValues(): VecVecDouble;\n  /**\n   * Get the number of neighbors for each observation\n   */\n  getNN(): VectorInt;\n  /**\n   * Get the labels for the clusters\n   */\n  getLabels(): VectorString;\n  /**\n   * Get the colors associated with each cluster\n   */\n  getColors(): VectorString;\n  delete(): void;\n}\n\n/**\n * Class for the diagnostic report of regression analysis\n */\nexport class DiagnosticReport {\n  delete(): void;\n  /**\n   * Get the number of observations\n   */\n  GetNoObservation(): number;\n  /**\n   * Get the number of variables\n   */\n  GetNoVariable(): number;\n  /**\n   * Check if the constant is included\n   */\n  IncludeConstant(): boolean;\n  /**\n   * Get the name of the independent variable at index\n   * @param i Index\n   */\n  GetXVarName(i: number): string;\n  /**\n   * Get the coefficient of the independent variable at index\n   * @param i Index\n   */\n  GetCoefficient(i: number): Double;\n  /**\n   * Get the standard error of the independent variable at index\n   * @param i Index\n   */\n  GetStdError(i: number): Double;\n  /**\n   * Get the z-value of the independent variable at index\n   * @param i Index\n   */\n  GetZValue(i: number): Double;\n  /**\n   * Get the probability of the independent variable at index\n   * @param i Index\n   */\n  GetProbability(i: number): Double;\n  /**\n   * Get the R-squared value\n   */\n  GetR2(): number;\n  /**\n   * Get the adjusted R-squared value\n   */\n  GetR2_adjust(): number;\n  /**\n   * Get the Buse R-squared value\n   */\n  GetR2_buse(): number;\n  /**\n   * Get the likelihood value\n   */\n  GetLIK(): number;\n  /**\n   * Get the Akaike Information Criterion (AIC) value\n   */\n  GetAIC(): number;\n  /**\n   * Get the OLS SC value\n   */\n  GetOLS_SC(): number;\n  /**\n   * Get the residual sum of squares (RSS) value\n   */\n  GetRSS(): number;\n  /**\n   * Get the Rho value\n   */\n  GetRho(): number;\n  /**\n   * Get the F-test value\n   */\n  GetFtest(): number;\n  /**\n   * Get the F-test probability value\n   */\n  GetFtestProb(): number;\n  /**\n   * Get the SIQ_SQ value\n   */\n  GetSIQ_SQ(): number;\n  /**\n   * Get the SIQ_SQLM value\n   */\n  GetSIQ_SQLM(): number;\n  /**\n   * Get the condition number\n   */\n  GetConditionNumber(): number;\n  /**\n   * Get the JB test value for the independent variable at index\n   * @param i Index\n   */\n  GetJBtest(i: number): Double;\n  /**\n   * Get the BP test value for the independent variable at index\n   * @param i Index\n   */\n  GetBPtest(i: number): Double;\n  /**\n   * Get the LR test value for the independent variable at index\n   * @param i Index\n   */\n  GetLRTestValue(i: number): Double;\n  /**\n   * Get the Spatial BP test value for the independent variable at index\n   * @param i Index\n   */\n  GetSpatialBPtest(i: number): Double;\n  /**\n   * Get the KB test value for the independent variable at index\n   * @param i Index\n   */\n  GetKBtest(i: number): Double;\n  /**\n   * Get the white test value for the independent variable at index\n   * @param i Index\n   */\n  GetWhitetest(i: number): Double;\n  /**\n   * Get the Moran I value for the independent variable at index\n   * @param i Index\n   */\n  GetMoranI(i: number): Double;\n  /**\n   * Get the LMLAG value for the independent variable at index\n   * @param i Index\n   */\n  GetLMLAG(i: number): Double;\n  /**\n   * Get the LMLAGRob value for the independent variable at index\n   * @param i Index\n   */\n  GetLMLAGRob(i: number): Double;\n  /**\n   * Get the LMERR value for the independent variable at index\n   * @param i Index\n   */\n  GetLMERR(i: number): Double;\n  /**\n   * Get the LMERRRob value for the independent variable at index\n   * @param i Index\n   */\n  GetLMERRRob(i: number): Double;\n  /**\n   * Get the LMSarma value for the independent variable at index\n   * @param i Index\n   */\n  GetLMSarma(i: number): Double;\n  /**\n   * Get the KelRobin value for the independent variable at index\n   * @param i Index\n   */\n  GetKelRobin(i: number): Double;\n  /**\n   * Get the mean of the dependent variable\n   */\n  GetMeanY(): number;\n  /**\n   * Get the standard deviation of the dependent variable\n   */\n  GetSDevY(): number;\n}\n\n/**\n * The result of the Cartogram\n */\nexport class CartogramResult {\n  getX(): VectorDouble;\n  getY(): VectorDouble;\n  getRadius(): VectorDouble;\n  getCircles(): VectorPolygon;\n}\n\nexport interface GeoDaModule {\n  /**\n   * Calculate the Thiessen polygons\n   * @param x - The centroid x coordinates\n   * @param y - The centroid y coordinates\n   * @returns The Thiessen polygons\n   */\n  thiessenPolygon(x: VectorDouble, y: VectorDouble): VectorPolygon;\n\n  /**\n   * Calculate the Minimum Spanning Tree\n   * @param x - The centroid x coordinates\n   * @param y - The centroid y coordinates\n   * @param weights - The weights of the edges\n   * @returns The Minimum Spanning Tree\n   */\n  mst(x: VectorDouble, y: VectorDouble, weights: VectorDouble): VectorLine;\n\n  /**\n   * Calculate the Cartogram\n   * @param geoms - The collection of geometries\n   * @param values - The values to be used for the cartogram\n   * @param iterations - The number of iterations to run the cartogram\n   * @returns The Cartogram Circles\n   */\n  cartogram(\n    geoms: GeometryCollection,\n    values: VectorDouble,\n    iterations: number,\n    numberOfPointsPerCircle: number\n  ): CartogramResult;\n\n  /**\n   * Calculate the deviation from the mean\n   * @param data - The data values\n   * @param undefs - The undefined values\n   * @returns The deviation from the mean\n   */\n  deviationFromMean(data: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Standardize the data using the Median Absolute Deviation (MAD)\n   * @param data - The data values\n   * @param undefs - The undefined values\n   * @returns The standardized data\n   */\n  standardizeMAD(data: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Range adjust the data\n   * @param data - The data values\n   * @param undefs - The undefined values\n   * @returns The range adjusted data\n   */\n  rangeAdjust(data: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Range standardize the data\n   * @param data - The data values\n   * @param undefs - The undefined values\n   * @returns The range standardized data\n   */\n  rangeStandardize(data: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Standardize the data\n   * @param data - The data values\n   * @param undefs - The undefined values\n   * @returns The standardized data\n   */\n  standardize(data: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Calculate the raw rate\n   * @param baseData - The base data values\n   * @param eventData - The event data values\n   * @param undefs - The undefined values\n   * @returns The raw rate\n   */\n  rawRate(baseData: VectorDouble, eventData: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Calculate the excess risk\n   * @param baseData - The base data values\n   * @param eventData - The event data values\n   * @param undefs - The undefined values\n   * @returns The excess risk\n   */\n  excessRisk(baseData: VectorDouble, eventData: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Calculate the empirical Bayes\n   * @param baseData - The base data values\n   * @param eventData - The event data values\n   * @param undefs - The undefined values\n   * @returns The empirical Bayes\n   */\n  empiricalBayes(baseData: VectorDouble, eventData: VectorDouble, undefs: VectorUInt): VectorDouble;\n\n  /**\n   * Calculate the spatial rate\n   * @param neighbors - The neighbors of each observation\n   * @param baseData - The base data values\n   * @param eventData - The event data values\n   * @param undefs - The undefined values\n   * @returns The spatial rate\n   */\n  spatialRate(\n    neighbors: VecVecUInt,\n    baseData: VectorDouble,\n    eventData: VectorDouble,\n    undefs: VectorUInt\n  ): VectorDouble;\n\n  /**\n   * Calculate the rate standardize empirical Bayes\n   * @param baseData - The base data values\n   * @param eventData - The event data values\n   * @param undefs - The undefined values\n   * @returns The rate standardize empirical Bayes\n   */\n  rateStandardizeEmpiricalBayes(\n    baseData: VectorDouble,\n    eventData: VectorDouble,\n    undefs: VectorUInt\n  ): VectorDouble;\n\n  /**\n   * Calculate the spatial empirical Bayes\n   * @param neighbors - The neighbors of each observation\n   * @param baseData - The base data values\n   * @param eventData - The event data values\n   * @param undefs - The undefined values\n   * @returns The spatial empirical Bayes\n   */\n  spatialEmpiricalBayes(\n    neighbors: VecVecUInt,\n    baseData: VectorDouble,\n    eventData: VectorDouble,\n    undefs: VectorUInt\n  ): VectorDouble;\n\n  /**\n   * get the contiguity neighbors using the centroids of a collection of geometries\n   * @param geometries\n   * @param isQueen\n   * @param precisionThreshold\n   * @param orderOfContiguity\n   * @param includeLowerOrder\n   */\n  getPointContiguityWeights(\n    geometries: GeometryCollection,\n    isQueen: boolean,\n    precisionThreshold: number,\n    orderOfContiguity: number,\n    includeLowerOrder: boolean\n  ): VecVecUInt;\n\n  /**\n   * get the contiguity neighbors of a collection of polygons\n   * @param geometries\n   * @param isQueen\n   * @param precisionThreshold\n   * @param orderOfContiguity\n   * @param includeLowerOrder\n   */\n  getPolygonContiguityWeights(\n    geometries: GeometryCollection,\n    isQueen: boolean,\n    precisionThreshold: number,\n    orderOfContiguity: number,\n    includeLowerOrder: boolean\n  ): VecVecUInt;\n\n  /**\n   * get the nearest neighbors of a collection of geometries\n   * @param geometries the collection of geometries\n   * @param k the number of nearest neighbors\n   */\n  getNearestNeighbors(geometries: GeometryCollection, k: UnsignedInt): VecVecUInt;\n\n  /**\n   * Spatially constrained hierarchical clustering (SCHC)\n   * @param k the number of clusters\n   * @param neighbors spatial weights matrix as adjacency list\n   * @param data multivariate data (one array per variable)\n   * @param scaleMethod raw | standardize\n   * @param linkageMethod single | complete | average | ward\n   * @param distanceMethod euclidean | manhattan\n   * @param boundVals optional bound values per observation\n   * @param minBound minimum bound\n   */\n  schc(\n    k: UnsignedInt,\n    neighbors: VecVecUInt,\n    data: VecVecDouble,\n    scaleMethod: string,\n    linkageMethod: string,\n    distanceMethod: string,\n    boundVals: VectorDouble,\n    minBound: Double\n  ): VecVecInt;\n\n  /**\n   * Regionally constrained clustering (REDCAP)\n   * @param k the number of clusters\n   * @param neighbors spatial weights matrix as adjacency list\n   * @param data multivariate data\n   * @param scaleMethod raw | standardize\n   * @param redcapMethod firstorder-singlelinkage | fullorder-completelinkage | fullorder-averagelinkage | fullorder-singlelinkage | fullorder-wardlinkage\n   * @param distanceMethod euclidean | manhattan\n   * @param boundVals optional bound values per observation\n   * @param minBound minimum bound\n   */\n  redcap(\n    k: UnsignedInt,\n    neighbors: VecVecUInt,\n    data: VecVecDouble,\n    scaleMethod: string,\n    redcapMethod: string,\n    distanceMethod: string,\n    boundVals: VectorDouble,\n    minBound: Double\n  ): VecVecInt;\n\n  /**\n   * Spatially constrained clustering (SKATER)\n   * @param k the number of clusters\n   * @param neighbors spatial weights matrix as adjacency list\n   * @param data multivariate data\n   * @param scaleMethod raw | standardize\n   * @param distanceMethod euclidean | manhattan\n   * @param boundVals optional bound values per observation\n   * @param minBound minimum bound\n   */\n  skater(\n    k: UnsignedInt,\n    neighbors: VecVecUInt,\n    data: VecVecDouble,\n    scaleMethod: string,\n    distanceMethod: string,\n    boundVals: VectorDouble,\n    minBound: Double\n  ): VecVecInt;\n\n  /**\n   * AZP (Automatic Zoning Procedure) greedy regionalization\n   */\n  azpGreedy(\n    p: UnsignedInt,\n    neighbors: VecVecUInt,\n    data: VecVecDouble,\n    inits: UnsignedInt,\n    distanceMethod: string,\n    rndSeed: number\n  ): VecVecInt;\n\n  /**\n   * Max-P greedy regionalization\n   */\n  maxpGreedy(\n    neighbors: VecVecUInt,\n    data: VecVecDouble,\n    iterations: UnsignedInt,\n    distanceMethod: string,\n    rndSeed: number\n  ): VecVecInt;\n\n  /**\n   * AZP with simulated annealing\n   */\n  azpSA(\n    p: UnsignedInt,\n    neighbors: VecVecUInt,\n    data: VecVecDouble,\n    inits: UnsignedInt,\n    coolingRate: Double,\n    saMaxit: UnsignedInt,\n    distanceMethod: string,\n    rndSeed: number\n  ): VecVecInt;\n\n  /**\n   * AZP with tabu search\n   */\n  azpTabu(\n    p: UnsignedInt,\n    neighbors: VecVecUInt,\n    data: VecVecDouble,\n    inits: UnsignedInt,\n    tabuLength: UnsignedInt,\n    convTabu: UnsignedInt,\n    distanceMethod: string,\n    rndSeed: number\n  ): VecVecInt;\n\n  /**\n   * Max-P with simulated annealing\n   */\n  maxpSA(\n    neighbors: VecVecUInt,\n    data: VecVecDouble,\n    iterations: UnsignedInt,\n    coolingRate: Double,\n    saMaxit: UnsignedInt,\n    distanceMethod: string,\n    rndSeed: number\n  ): VecVecInt;\n\n  /**\n   * Max-P with tabu search\n   */\n  maxpTabu(\n    neighbors: VecVecUInt,\n    data: VecVecDouble,\n    iterations: UnsignedInt,\n    tabuLength: UnsignedInt,\n    convTabu: UnsignedInt,\n    distanceMethod: string,\n    rndSeed: number\n  ): VecVecInt;\n\n  /**\n   * Spatial validation of a clustering result\n   */\n  spatialValidation(\n    clusters: VectorInt,\n    neighbors: VecVecUInt,\n    geoms: GeometryCollection\n  ): ValidationResult;\n\n  /**\n   * Make clusters spatially contiguous\n   * @param clusters list of clusters (each a list of observation indices)\n   * @param neighbors spatial weights matrix as adjacency list\n   */\n  makeSpatial(clusters: VecVecInt, neighbors: VecVecUInt): VecVecInt;\n\n  /**\n   * Local Neighbor Match Test\n   * @param geoms the geometry collection\n   * @param k the number of nearest neighbors\n   * @param data the multiple data variables\n   * @param scaleMethod the scaling method (raw, standardize)\n   * @param distType the attribute distance metric (euclidean, manhattan)\n   * @param isMile the unit of spatial distance\n   */\n  neighborMatchTest(\n    geoms: GeometryCollection,\n    k: UnsignedInt,\n    data: VecVecDouble,\n    scaleMethod: string,\n    distType: string,\n    isMile: boolean\n  ): VecVecDouble;\n\n  /**\n   * Compute kernel weights for a collection of geometries using k-nearest neighbors.\n   * @param geometries the collection of geometries\n   * @param k the number of nearest neighbors\n   * @param kernel the kernel function (triangular, uniform, epanechnikov, quartic, gaussian)\n   * @param isMile the unit of distance\n   * @param useKernelDiagonals whether the diagonal (self) weight is kernel(0.0) instead of 1.0\n   * @param power the power (or exponent) applied to the distance before normalizing by the bandwidth\n   * @param adaptiveBandwidth whether to use each observation's k-th nearest neighbor distance as its\n   * bandwidth (true) or a single global maximum distance (false)\n   * @param isInverse whether to apply inverse distance weighting before the kernel\n   */\n  getKernelKnnWeights(\n    geometries: GeometryCollection,\n    k: UnsignedInt,\n    kernel: string,\n    isMile: boolean,\n    useKernelDiagonals: boolean,\n    power: Double,\n    adaptiveBandwidth: boolean,\n    isInverse: boolean\n  ): VecVecDouble;\n\n  /**\n   * get the nearest neighbors of a collection of geometries\n   * @param geometries the collection of geometries\n   * @param threshold the distance threshold\n   * @param isMile the unit of distance\n   */\n  getDistanceWeights(\n    geometries: GeometryCollection,\n    threshold: Double,\n    isMile: boolean\n  ): VecVecUInt;\n\n  /**\n   * Compute kernel weights for a collection of geometries using a fixed bandwidth.\n   * @param geometries the collection of geometries\n   * @param bandwidth the fixed bandwidth in the selected unit\n   * @param kernel the kernel function (triangular, uniform, epanechnikov, quartic, gaussian)\n   * @param isMile the unit of distance\n   * @param useKernelDiagonals whether the diagonal (self) weight is kernel(1.0) instead of 1.0\n   * @param power the power (or exponent) applied to the distance before normalizing by the bandwidth\n   */\n  getKernelWeights(\n    geometries: GeometryCollection,\n    bandwidth: Double,\n    kernel: string,\n    isMile: boolean,\n    useKernelDiagonals: boolean,\n    power: Double\n  ): VecVecDouble;\n\n  /**\n   * get the distance thresholds of a collection of geometries that guarantee 1 nearest neighbors\n   * @param geometries the collection of geometries\n   * @param isMile the unit of distance\n   */\n  getDistanceThresholds(geometries: GeometryCollection, isMile: boolean): VectorDouble;\n\n  /**\n   *\n   * @param k the number of breaks\n   * @param data the values to be classified into k classes\n   * @param undefs the indices of data that are undefined\n   */\n  quantileBreaks(k: number, data: VectorDouble, undefs?: VectorUInt): VectorDouble;\n\n  /**\n   * Natural Jenks breaks classification\n   * @param k number of breaks\n   * @param data the values to be classified into k classes\n   * @param undefs the indices of data that are undefined\n   */\n  naturalBreaks(k: number, data: VectorDouble, undefs?: VectorInt): VectorDouble;\n\n  /**\n   * Equal interval breaks classification\n   * @param k number of breaks\n   * @param data the values to be classified into k classes\n   * @param undefs the flags of undefined values\n   */\n  equalIntervalBreaks(k: number, data: VectorDouble, undefs?: VectorInt): VectorDouble;\n\n  /**\n   * Percentile breaks classification: <1%, 1-10%, 10-50%, 50-90%, 90-99%, >99%\n   * @param data the values to be classified\n   * @param undefs the flags of undefined values\n   */\n  percentileBreaks(data: VectorDouble, undefs?: VectorInt): VectorDouble;\n\n  /**\n   * Box breaks classification: Lower outlier, < 25%, [25-50)%, [50-75)%, >= 75%, Upper outlier\n   * @param data the values to be classified\n   * @param undefs the flags of undefined values\n   * @param hinge the hinge value, default is 1.5 and could be 3.0\n   */\n  boxBreaks(data: VectorDouble, undefs: VectorInt, hinge: Double): VectorDouble;\n\n  /**\n   * Standard deviation breaks classification\n   * @param data the values to be classified\n   * @param undefs the flags of undefined values\n   */\n  standardDeviationBreaks(data: VectorDouble, undefs: VectorInt): VectorDouble;\n\n  /**\n   * Local Moran statistics\n   * @param data the data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  localMoran(\n    data: VectorDouble,\n    neighbors: VecVecUInt,\n    undefs: VectorUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  /**\n   * Batch Local Moran statistics (multiple variables)\n   * @param data the multiple data variables\n   * @param neighbors the spatial weights matrix\n   * @param undefs the undefined values per variable\n   * Empirical Bayes smoothed Local Moran statistics\n   * @param eventData the event (numerator) data values\n   * @param baseData the base (denominator) data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  batchLocalMoran(\n    data: VecVecDouble,\n    neighbors: VecVecUInt,\n    undefs: VecVecUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): BatchLisaResult;\n  localMoranEB(\n    eventData: VectorDouble,\n    baseData: VectorDouble,\n    neighbors: VecVecUInt,\n    undefs: VectorUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  /**\n   * Bivariate Local Moran statistics\n   * @param data1 the first data values\n   * @param data2 the second data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  bivariateLocalMoran(\n    data1: VectorDouble,\n    data2: VectorDouble,\n    neighbors: VecVecUInt,\n    undefs: VectorUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  /**\n   * Local Getis-Ord statistics\n   * @param data the data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   * @param isGStar whether to use G* or G\n   */\n  localG(\n    data: VectorDouble,\n    neighbors: VecVecUInt,\n    undefs: VectorUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number,\n    isGStar: number\n  ): LisaResult;\n\n  /**\n   * Local Geary statistics\n   * @param data the data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  localGeary(\n    data: VectorDouble,\n    neighbors: VecVecUInt,\n    undefs: VectorUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  /**\n   * Multivariate Local Geary statistics\n   * @param data the array of data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the array of undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  multivariateLocalGeary(\n    data: VecVecDouble,\n    neighbors: VecVecUInt,\n    undefs: VecVecUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  /**\n   * Local Join Count statistics\n   * @param data the binary (0/1) data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  localJoinCount(\n    data: VectorDouble,\n    neighbors: VecVecUInt,\n    undefs: VectorUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  /**\n   * Multivariate Local Join Count statistics\n   * @param data the multiple binary (0/1) data variables\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  multivariateLocalJoinCount(\n    data: VecVecDouble,\n    neighbors: VecVecUInt,\n    undefs: VecVecUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  /**\n   * Local Quantile LISA statistics\n   * @param k the number of breaks\n   * @param quantile which quantile to use\n   * @param data the data values\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  quantileLisa(\n    k: number,\n    quantile: number,\n    data: VectorDouble,\n    neighbors: VecVecUInt,\n    undefs: VectorUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  /**\n   * Multivariate Local Quantile LISA statistics\n   * @param kValues the number of quantile breaks per variable\n   * @param quantileValues the quantile class per variable\n   * @param data the multiple data variables\n   * @param neighbors the spatial weights matrix that represents neighbor indices: [[1, 2], [0, 2], [0, 1],...]\n   * @param undefs the undefined values\n   * @param significanceCutoff the significance cutoff\n   * @param permuations the number of permutations\n   * @param lastSeed the last seed\n   */\n  multivariateQuantileLisa(\n    kValues: VectorInt,\n    quantileValues: VectorInt,\n    data: VecVecDouble,\n    neighbors: VecVecUInt,\n    undefs: VecVecUInt,\n    significanceCutoff: number,\n    permuations: UnsignedInt,\n    lastSeed: number\n  ): LisaResult;\n\n  // test for dotProduct\n  dotProduct(x: VectorDouble, y: VectorDouble): number;\n\n  /**\n   *\n   * @param dep The values of the dependent variable\n   * @param indeps The values of the independent variables, it's a 2D array\n   * @param weights The spatial weights represented as a 2D array and each row shows the neighbors of the corresponding observation\n   * @param weightsValues The spatial weights values represented as a 2D array and each row shows the neighbors of the corresponding observation\n   * @param depName The name of the dependent variable\n   * @param indepNames The names of the independent variables\n   * @param datasetName The name of the dataset\n   * @param depUndefs The 0/1 array indicating the undefined values of the dependent variable\n   * @param indepUndefs The 2D array of 0/1 indicating the undefined values of the independent variables\n   */\n  linearRegression(\n    dep: VectorDouble,\n    indeps: VecVecDouble,\n    weights: VecVecUInt,\n    weightsValues: VecVecDouble,\n    depName: string,\n    indepNames: VectorString,\n    datasetName: string,\n    depUndefs: VectorUInt,\n    indepUndefs: VecVecUInt\n  ): DiagnosticReport;\n\n  /**\n   * Spatial Lag regression\n   * @param dep The values of the dependent variable\n   * @param indeps The values of the independent variables, it's a 2D array\n   * @param weights The spatial weights represented as a 2D array and each row shows the neighbors of the corresponding observation\n   * @param weightsValues The spatial weights values represented as a 2D array and each row shows the neighbors of the corresponding observation\n   * @param depName The name of the dependent variable\n   * @param indepNames The names of the independent variables\n   * @param datasetName The name of the dataset\n   * @param depUndefs The 0/1 array indicating the undefined values of the dependent variable\n   * @param indepUndefs The 2D array of 0/1 indicating the undefined values of the independent variables\n   */\n  spatialLag(\n    dep: VectorDouble,\n    indeps: VecVecDouble,\n    weights: VecVecUInt,\n    weightsValues: VecVecDouble,\n    depName: string,\n    indepNames: VectorString,\n    datasetName: string,\n    depUndefs: VectorUInt,\n    indepUndefs: VecVecUInt\n  ): DiagnosticReport;\n\n  /**\n   * Spatial Error regression\n   * @param dep The values of the dependent variable\n   * @param indeps The values of the independent variables, it's a 2D array\n   * @param weights The spatial weights represented as a 2D array and each row shows the neighbors of the corresponding observation\n   * @param weightsValues The spatial weights values represented as a 2D array and each row shows the neighbors of the corresponding observation\n   * @param depName The name of the dependent variable\n   * @param indepNames The names of the independent variables\n   * @param datasetName The name of the dataset\n   * @param depUndefs The 0/1 array indicating the undefined values of the dependent variable\n   * @param indepUndefs The 2D array of 0/1 indicating the undefined values of the independent variables\n   */\n  spatialError(\n    dep: VectorDouble,\n    indeps: VecVecDouble,\n    weights: VecVecUInt,\n    weightsValues: VecVecDouble,\n    depName: string,\n    indepNames: VectorString,\n    datasetName: string,\n    depUndefs: VectorUInt,\n    indepUndefs: VecVecUInt\n  ): DiagnosticReport;\n\n  /**\n   * Spatial Join of two collections of geometries\n   * @param left The left collection of geometries\n   * @param right The right collection of geometries\n   * @returns The indices of the right geometries that are spatially joined to the left geometries\n   */\n  spatialJoin(left: GeometryCollection, right: GeometryCollection): VecVecUInt;\n\n  /**\n   * Spatial Dissolve of a collection of polygons\n   * @param polys The collection of polygons\n   * @returns The dissolved polygon\n   */\n  spatialDissolve(polys: GeometryCollection): Polygon;\n\n  GeometryCollection: typeof GeometryCollection;\n  PolygonCollection: typeof PolygonCollection;\n  LineCollection: typeof LineCollection;\n  PointCollection: typeof PointCollection;\n  Polygon: typeof Polygon;\n  Line: typeof Line;\n  VectorUInt: typeof VectorUInt;\n  VecVecUInt: typeof VecVecUInt;\n  VectorInt: typeof VectorInt;\n  VecVecInt: typeof VecVecInt;\n  VectorDouble: typeof VectorDouble;\n  VecVecDouble: typeof VecVecDouble;\n  VectorPolygon: typeof VectorPolygon;\n  VectorLine: typeof VectorLine;\n  VectorString: typeof VectorString;\n  LisaResult: typeof LisaResult;\n  DiagnosticReport: typeof DiagnosticReport;\n}\n// declare function factory(): Promise<GeoDaModule>;\n// export default factory;\n", "// SPDX-License-Identifier: MIT\n// Copyright contributors to the geodalib project\n\nimport { VectorDouble, VectorInt, VectorString } from './wasm/index.d';\n\nexport const earthRadius = 6371008.8;\nconst mileToMeters = 1609.344;\n\n// for lat and lng, we use the great circle distance or arc distance\n// in the unit of mile or kilometer (KM)\nexport enum DistanceUnit {\n  Mile = 'Mile',\n  KM = 'KM',\n}\n\n/**\n * Calculate the distance between two points on the earth in the unit of degree\n * @param distance The distance in the unit of mile or kilometer (KM)\n * @param unit The unit of the distance, Mile or KM\n * @returns The distance in the unit of degree\n */\nexport function lengthToDegrees(distance: number, unit: DistanceUnit): number {\n  // length to radians\n  const factor = unit === DistanceUnit.KM ? earthRadius / 1000 : earthRadius / mileToMeters;\n  const radians = distance / factor;\n  // radians to degrees\n  const degrees = radians % (2 * Math.PI);\n  return degrees;\n}\n\n/**\n * Calculate the distance between two points on the earth in the unit of meters\n * @param distance The distance in the unit of mile or kilometer (KM)\n * @param unit The unit of the distance, Mile or KM\n * @returns The distance in the unit of meters\n */\nexport function lengthToMeters(distance: number, unit: DistanceUnit): number {\n  return unit === DistanceUnit.Mile ? distance * mileToMeters : distance * 1000;\n}\n\n/**\n * Convert the std::vector<double> data to number[]\n * @param data The std::vector<double> data\n * @returns The values in number[] format.\n */\nexport function vecDoubleToNumber(data: VectorDouble): number[] {\n  const result: number[] = [];\n\n  const n = data.size();\n  for (let i = 0; i < n; ++i) {\n    result.push(data.get(i));\n  }\n\n  return result;\n}\n\n/**\n * Convert the std::vector<int> data to number[]\n * @param data The std::vector<int> data\n * @returns The values in number[] format.\n */\nexport function vecIntToNumber(data: VectorInt): number[] {\n  const result: number[] = [];\n\n  const n = data.size();\n  for (let i = 0; i < n; ++i) {\n    result.push(data.get(i));\n  }\n\n  return result;\n}\n\n/**\n * Convert the std::vector<string> data to string[]\n * @param data The std::vector<string> data\n * @returns The values in string[] format.\n */\nexport function vecStringToArray(data: VectorString): string[] {\n  const result: string[] = [];\n\n  const n = data.size();\n  for (let i = 0; i < n; ++i) {\n    result.push(data.get(i));\n  }\n\n  return result;\n}\n", "export const VERSION = '0.0.25';\n", "// SPDX-License-Identifier: MIT\n// Copyright contributors to the geodalib project\n\nimport { createWASMManager } from '@geoda/common';\nimport { VERSION } from '@geoda/common';\n// @ts-expect-error wasm module is not typed by emscripten\nimport wasmModule from '../wasm/index.cjs';\nimport { resolve } from 'path';\n\nconst wasmManager = createWASMManager(wasmModule);\n\n// use CDN URL by default\nwasmManager.setDeliveryWASM(\n  `https://cdn.jsdelivr.net/npm/@geoda/regression@${VERSION}/wasm/geoda-regression.wasm`\n);\n\n// Detect if we're in Node.js environment\nconst isNode =\n  typeof process !== 'undefined' && process.versions != null && process.versions.node != null;\n\n// if in Node.js, use local WASM file\nif (isNode) {\n  // For Node.js, construct absolute path to wasm file in node_modules\n  const wasmPath = resolve(__dirname, '../wasm/geoda-regression.wasm');\n  const wasmUrl = `file://${wasmPath}`;\n  wasmManager.setDeliveryWASM(wasmUrl);\n}\n\nexport function setDeliveryWASM(wasmURL: string) {\n  wasmManager.setDeliveryWASM(wasmURL);\n}\n\nexport async function initWASM(wasmURL?: string) {\n  return await wasmManager.initWASM(wasmURL);\n}\n\nexport async function resetWASM() {\n  return await wasmManager.resetWASM();\n}\n", "// SPDX-License-Identifier: MIT\n// Copyright contributors to the geodalib project\n\nimport { initWASM } from '../init';\nimport { SpatialErrorResult } from './spatial-error';\nimport { SpatialLagResult } from './spatial-lag';\n\nexport async function dotProduct(x: number[], y: number[]): Promise<number> {\n  // check if x and y are of the same length\n  if (x.length !== y.length) {\n    throw new Error('x and y must be of the same length');\n  }\n  const wasmInstance = await initWASM();\n\n  // Create a new vector of doubles\n  const wasmX = new wasmInstance.VectorDouble();\n  wasmX.resize(x.length, 0);\n  for (let i = 0; i < x.length; ++i) {\n    wasmX.set(i, x[i]);\n  }\n  const wasmY = new wasmInstance.VectorDouble();\n  wasmY.resize(y.length, 0);\n  for (let i = 0; i < y.length; ++i) {\n    wasmY.set(i, y[i]);\n  }\n  const result = wasmInstance.dotProduct(wasmX, wasmY);\n  return result;\n}\n\nexport type LinearRegressionProps = {\n  x: number[][];\n  y: number[];\n  weights?: number[][];\n  weightsValues?: number[][];\n  weightsId?: string;\n  xNames: string[];\n  yName: string;\n  datasetName: string;\n  xUndefs?: number[][];\n  yUndefs?: number[];\n};\n\nexport type LinearRegressionResult = {\n  type: string;\n  dependentVariable: string;\n  independentVariables: string[];\n  title: string;\n  datasetName: string;\n  weightsId?: string;\n  'Number of Observations': number;\n  'Mean Dependent Var': number;\n  'Number of Variables': number;\n  'SD Dependent Var': number;\n  'Degrees of Freedom': number;\n  'R-squared': number;\n  'Adjusted R-squared': number;\n  'F-statistic': number;\n  'Prob(F-statistic)': number;\n  'Sum Squared Residual': number;\n  'Log Likelihood': number;\n  'Sigma-Square': number;\n  'Akaike Info Criterion': number;\n  'SE of Regression': number;\n  'Schwarz Criterion': number;\n  'Sigma-Square ML': number;\n  'Variable Coefficients': Array<{\n    Variable: string;\n    Coefficient: number;\n    'Std Error': number;\n    't-Statistic': number;\n    Probability: number;\n  }>;\n  'REGRESSION DIAGNOSTICS': {\n    'MULTICOLLINEARITY CONDITION NUMBER': number;\n    'TEST ON NORMALITY OF ERRORS': {\n      Test: string;\n      'Jarque-Bera DF': number;\n      'Jarque-Bera Value': number;\n      'Jarque-Bera Probability': number;\n    };\n  };\n  'DIAGNOSTICS FOR HETEROSKEDASTICITY': {\n    'BREUSCH-PAGAN TEST': {\n      Test: string;\n      'Breusch-Pagan DF': number;\n      'Breusch-Pagan Value': number;\n      'Breusch-Pagan Probability': number;\n    };\n    'KOENKER-Bassett TEST': {\n      Test: string;\n      'Koenker-Bassett DF': number;\n      'Koenker-Bassett Value': number;\n      'Koenker-Bassett Probability': number;\n    };\n  };\n  'DIAGNOSTICS FOR SPATIAL DEPENDENCE': {\n    \"Moran's I (error)\": {\n      Test: string;\n      \"Moran's I (error)\": number;\n      'Moran\u2019s I (error) Z': number;\n      'Moran\u2019s I (error) Probability': number;\n    };\n    'Lagrange Multiplier (lag)': {\n      Test: string;\n      'Lagrange Multiplier (lag) DF': number;\n      'Lagrange Multiplier (lag) Value': number;\n      'Lagrange Multiplier (lag) Probability': number;\n    };\n    'Robust LM (lag)': {\n      Test: string;\n      'Robust LM (lag) DF': number;\n      'Robust LM (lag) Value': number;\n      'Robust LM (lag) Probability': number;\n    };\n    'Lagrange Multiplier (error)': {\n      Test: string;\n      'Lagrange Multiplier (error) DF': number;\n      'Lagrange Multiplier (error) Value': number;\n      'Lagrange Multiplier (error) Probability': number;\n    };\n    'Robust LM (error)': {\n      Test: string;\n      'Robust LM (error) DF': number;\n      'Robust LM (error) Value': number;\n      'Robust LM (error) Probability': number;\n    };\n    'Lagrange Multiplier (SARMA)': {\n      Test: string;\n      'Lagrange Multiplier (SARMA) DF': number;\n      'Lagrange Multiplier (SARMA) Value': number;\n      'Lagrange Multiplier (SARMA) Probability': number;\n    };\n  };\n};\n\n/**\n * Perform a linear regression analysis using OLS.\n *\n * ## Example\n * ```typescript\n * import { linearRegression } from '@geodash/regression';\n *\n * const result = await linearRegression({\n *   x: [[1, 2, 3], [4, 5, 6]],\n *   y: [1, 2, 3],\n *   xNames: ['x1', 'x2', 'x3'],\n *   yName: 'y',\n *   datasetName: 'dataset',\n * });\n * ```\n *\n * ## Example with spatial diagnostics\n * ```typescript\n * import { linearRegression } from '@geodash/regression';\n *\n * // two independent variables, one dependent variable, and weights\n * // three observations\n * const weights = [[1], [0, 2], [0]];\n * const weightsValues = [1.0, 1.0, 1.0];\n *\n * const result = await linearRegression({\n *   x: [[1, 2, 3], [4, 5, 6]],\n *   y: [1, 2, 3],\n *   xNames: ['x1', 'x2'],\n *   yName: 'y',\n *   datasetName: 'dataset',\n *   weightsId: 'weights',\n *   weights\n * });\n * ```\n *\n * @param x - The independent variables.\n * @param y - The dependent variable.\n * @param weightsId - The id of the weights to use.\n * @param weights - The weights to use.\n * @param weightsValues - The values of the weights.\n * @param xNames - The names of the independent variables.\n * @param yName - The name of the dependent variable.\n * @param datasetName - The name of the dataset.\n * @param xUndefs - The undefined values of the independent variables.\n * @param yUndefs - The undefined values of the dependent variable.\n * @returns The result of the linear regression analysis.\n */\nexport async function linearRegression({\n  x,\n  y,\n  weightsId,\n  weights,\n  weightsValues,\n  xNames,\n  yName,\n  datasetName,\n  xUndefs,\n  yUndefs,\n}: LinearRegressionProps): Promise<LinearRegressionResult> {\n  const wasmInstance = await initWASM();\n  // Create a new vector of doubles\n  const wasmY = new wasmInstance.VectorDouble();\n  for (let i = 0; i < y.length; ++i) {\n    wasmY.push_back(y[i]);\n  }\n  // Create a new VecVecDouble for x\n  const wasmX = new wasmInstance.VecVecDouble();\n  for (let i = 0; i < x.length; ++i) {\n    const vals = new wasmInstance.VectorDouble();\n    for (let j = 0; j < x[i].length; ++j) {\n      vals.push_back(x[i][j]);\n    }\n    wasmX.push_back(vals);\n  }\n  // Create a new VecVecUInt for weights\n  const wasmWeights = new wasmInstance.VecVecUInt();\n  if (weights) {\n    for (let i = 0; i < weights.length; ++i) {\n      const vals = new wasmInstance.VectorUInt();\n      for (let j = 0; j < weights[i].length; ++j) {\n        vals.push_back(weights[i][j]);\n      }\n      wasmWeights.push_back(vals);\n    }\n  }\n\n  // Create a new VecVecDouble for weightsValues\n  const wasmWeightsValues = new wasmInstance.VecVecDouble();\n  if (weightsValues) {\n    for (let i = 0; i < weightsValues.length; ++i) {\n      const vals = new wasmInstance.VectorDouble();\n      for (let j = 0; j < weightsValues[i].length; ++j) {\n        vals.push_back(weightsValues[i][j]);\n      }\n      wasmWeightsValues.push_back(vals);\n    }\n  }\n\n  // Create a new vector of strings for xNames\n  const wasmXNames = new wasmInstance.VectorString();\n  for (let i = 0; i < xNames.length; ++i) {\n    wasmXNames.push_back(xNames[i]);\n  }\n  // Create a new VectorInt for yUndefs\n  const wasmYUndefs = new wasmInstance.VectorUInt();\n  if (yUndefs) {\n    for (let i = 0; i < yUndefs.length; ++i) {\n      wasmYUndefs.push_back(yUndefs[i]);\n    }\n  }\n  // Create a new VecVecInt for xUndefs\n  const wasmXUndefs = new wasmInstance.VecVecUInt();\n  if (xUndefs) {\n    for (let i = 0; i < xUndefs.length; ++i) {\n      const vals = new wasmInstance.VectorUInt();\n      for (let j = 0; j < xUndefs[i].length; ++j) {\n        vals.push_back(xUndefs[i][j]);\n      }\n      wasmXUndefs.push_back(vals);\n    }\n  }\n\n  const regReport = wasmInstance.linearRegression(\n    wasmY,\n    wasmX,\n    wasmWeights,\n    wasmWeightsValues,\n    yName,\n    wasmXNames,\n    datasetName,\n    wasmYUndefs,\n    wasmXUndefs\n  );\n\n  const coefficients = [];\n  for (let i = 0; i < xNames.length + 1; ++i) {\n    coefficients.push({\n      Variable: regReport.GetXVarName(i),\n      Coefficient: regReport.GetCoefficient(i),\n      'Std Error': regReport.GetStdError(i),\n      't-Statistic': regReport.GetZValue(i),\n      Probability: regReport.GetProbability(i),\n    });\n  }\n\n  const result = {\n    type: 'linearRegression',\n    dependentVariable: yName,\n    independentVariables: xNames,\n    title: 'ORDINARY LEAST SQUARES ESTIMATION',\n    datasetName,\n    weightsId,\n    'Number of Observations': regReport.GetNoObservation(),\n    'Mean Dependent Var': regReport.GetMeanY(),\n    'Number of Variables': xNames.length + 1,\n    'SD Dependent Var': regReport.GetSDevY(),\n    'Degrees of Freedom': regReport.GetNoObservation() - xNames.length - 1,\n    'R-squared': regReport.GetR2(),\n    'Adjusted R-squared': regReport.GetR2_adjust(),\n    'F-statistic': regReport.GetFtest(),\n    'Prob(F-statistic)': regReport.GetFtestProb(),\n    'Sum Squared Residual': regReport.GetRSS(),\n    'Log Likelihood': regReport.GetLIK(),\n    'Sigma-Square': regReport.GetSIQ_SQ(),\n    'Akaike Info Criterion': regReport.GetAIC(),\n    'SE of Regression': Math.sqrt(regReport.GetSIQ_SQ()),\n    'Schwarz Criterion': regReport.GetOLS_SC(),\n    'Sigma-Square ML': regReport.GetSIQ_SQLM(),\n    'SE of Regression ML': Math.sqrt(regReport.GetSIQ_SQLM()),\n    'Variable Coefficients': coefficients,\n    'REGRESSION DIAGNOSTICS': {\n      'MULTICOLLINEARITY CONDITION NUMBER': regReport.GetConditionNumber(),\n      'TEST ON NORMALITY OF ERRORS': {\n        Test: 'Jarque-Bera',\n        'Jarque-Bera DF': regReport.GetJBtest(0),\n        'Jarque-Bera Value': regReport.GetJBtest(1),\n        'Jarque-Bera Probability': regReport.GetJBtest(2),\n      },\n    },\n    'DIAGNOSTICS FOR HETEROSKEDASTICITY': {\n      'BREUSCH-PAGAN TEST': {\n        Test: 'Breusch-Pagan',\n        'Breusch-Pagan DF': regReport.GetBPtest(0),\n        'Breusch-Pagan Value': regReport.GetBPtest(1),\n        'Breusch-Pagan Probability': regReport.GetBPtest(2),\n      },\n      'KOENKER-Bassett TEST': {\n        Test: 'Koenker-Bassett',\n        'Koenker-Bassett DF': regReport.GetKBtest(0),\n        'Koenker-Bassett Value': regReport.GetKBtest(1),\n        'Koenker-Bassett Probability': regReport.GetKBtest(2),\n      },\n    },\n    'DIAGNOSTICS FOR SPATIAL DEPENDENCE': {\n      \"Moran's I (error)\": {\n        Test: \"Moran's I (error)\",\n        \"Moran's I (error)\": regReport.GetMoranI(0),\n        'Moran\u2019s I (error) Z': regReport.GetMoranI(1),\n        'Moran\u2019s I (error) Probability': regReport.GetMoranI(2),\n      },\n      'Lagrange Multiplier (lag)': {\n        Test: 'Lagrange Multiplier (lag)',\n        'Lagrange Multiplier (lag) DF': regReport.GetLMLAG(0),\n        'Lagrange Multiplier (lag) Value': regReport.GetLMLAG(1),\n        'Lagrange Multiplier (lag) Probability': regReport.GetLMLAG(2),\n      },\n      'Robust LM (lag)': {\n        Test: 'Robust LM (lag)',\n        'Robust LM (lag) DF': regReport.GetLMLAGRob(0),\n        'Robust LM (lag) Value': regReport.GetLMLAGRob(1),\n        'Robust LM (lag) Probability': regReport.GetLMLAGRob(2),\n      },\n      'Lagrange Multiplier (error)': {\n        Test: 'Lagrange Multiplier (error)',\n        'Lagrange Multiplier (error) DF': regReport.GetLMERR(0),\n        'Lagrange Multiplier (error) Value': regReport.GetLMERR(1),\n        'Lagrange Multiplier (error) Probability': regReport.GetLMERR(2),\n      },\n      'Robust LM (error)': {\n        Test: 'Robust LM (error)',\n        'Robust LM (error) DF': regReport.GetLMERRRob(0),\n        'Robust LM (error) Value': regReport.GetLMERRRob(1),\n        'Robust LM (error) Probability': regReport.GetLMERRRob(2),\n      },\n      'Lagrange Multiplier (SARMA)': {\n        Test: 'Lagrange Multiplier (SARMA)',\n        'Lagrange Multiplier (SARMA) DF': regReport.GetLMSarma(0),\n        'Lagrange Multiplier (SARMA) Value': regReport.GetLMSarma(1),\n        'Lagrange Multiplier (SARMA) Probability': regReport.GetLMSarma(2),\n      },\n    },\n  };\n\n  return result;\n}\n\n// eslint-disable-next-line max-statements\nexport function printLinearRegressionResult(regressionReport: LinearRegressionResult): string {\n  // print the regression report using GeoDa's format\n  let output = '';\n  output += `Dataset: ${regressionReport.datasetName}\\n`;\n  output += `${regressionReport.weightsId ? `Weights: ${regressionReport.weightsId}\\n` : ''}`;\n  output += `Dependent Variable: ${regressionReport.dependentVariable}\\n`;\n  output += `Mean Dependent Var: ${regressionReport['Mean Dependent Var']}\\n`;\n  output += `SD Dependent Var: ${regressionReport['SD Dependent Var']}\\n`;\n  output += `No. Observations: ${regressionReport['Number of Observations']}\\n`;\n  output += `Degrees of Freedom: ${regressionReport['Degrees of Freedom']}\\n`;\n  output += `R-squared: ${regressionReport['R-squared']}\\n`;\n  output += `Adj. R-squared: ${regressionReport['Adjusted R-squared']}\\n`;\n  output += `F-statistic: ${regressionReport['F-statistic']}\\n`;\n  output += `Prob(F-statistic): ${regressionReport['Prob(F-statistic)']}\\n`;\n  output += `Log-Likelihood: ${regressionReport['Log Likelihood']}\\n`;\n  output += `Akaike Info Criterion: ${regressionReport['Akaike Info Criterion']}\\n`;\n  output += `Schwarz Criterion: ${regressionReport['Schwarz Criterion']}\\n`;\n  output += `Sum squared residual: ${regressionReport['Sum Squared Residual']}\\n`;\n  output += `Sigma-square: ${regressionReport['Sigma-Square']}\\n`;\n  output += `SE of regression: ${regressionReport['SE of Regression']}\\n`;\n  output += `Sigma-Square ML: ${regressionReport['Sigma-Square ML']}\\n`;\n  output += `S.E. of regression ML: ${Math.sqrt(regressionReport['Sigma-Square ML'])}\\n`;\n  output += `Variable Coefficients:\\n`;\n  output += `Variable\\tCoefficient\\tStd. Error\\tt-Statistic\\tProbability\\n`;\n  for (const coefficient of regressionReport['Variable Coefficients']) {\n    output += `${coefficient.Variable}\\t${coefficient.Coefficient}\\t${coefficient['Std Error']}\\t${coefficient['t-Statistic']}\\t${coefficient.Probability}\\n`;\n  }\n  output += `\\n\\n#REGRESSION DIAGNOSTICS*\\n`;\n  output += `Multicollinearity Condition Number: ${regressionReport['REGRESSION DIAGNOSTICS']['MULTICOLLINEARITY CONDITION NUMBER']}\\n`;\n  output += `Test on Normality of Errors:\\n`;\n  output += `Test\\tJarque-Bera DF\\tJarque-Bera Value\\tJarque-Bera Probability\\n`;\n  const normalityTest = regressionReport['REGRESSION DIAGNOSTICS']['TEST ON NORMALITY OF ERRORS'];\n  output += `${normalityTest.Test}\\t${normalityTest['Jarque-Bera DF']}\\t${normalityTest['Jarque-Bera Value']}\\t${normalityTest['Jarque-Bera Probability']}\\n\\n`;\n  output += `DIAGNOSTICS FOR HETEROSKEDASTICITY\\n`;\n  output += `Breusch-Pagan Test:\\n`;\n  output += `Test\\tBreusch-Pagan DF\\tBreusch-Pagan Value\\tBreusch-Pagan Probability\\n`;\n  const bpTest = regressionReport['DIAGNOSTICS FOR HETEROSKEDASTICITY']['BREUSCH-PAGAN TEST'];\n  output += `${bpTest.Test}\\t${bpTest['Breusch-Pagan DF']}\\t${bpTest['Breusch-Pagan Value']}\\t${bpTest['Breusch-Pagan Probability']}\\n`;\n  output += `Koenker-Bassett Test:\\n`;\n  output += `Test\\tKoenker-Bassett DF\\tKoenker-Bassett Value\\tKoenker-Bassett Probability\\n`;\n  const kbTest = regressionReport['DIAGNOSTICS FOR HETEROSKEDASTICITY']['KOENKER-Bassett TEST'];\n  output += `${kbTest.Test}\\t${kbTest['Koenker-Bassett DF']}\\t${kbTest['Koenker-Bassett Value']}\\t${kbTest['Koenker-Bassett Probability']}\\n\\n`;\n  if (regressionReport.weightsId) {\n    output += `DIAGNOSTICS FOR SPATIAL DEPENDENCE\\n`;\n    output += `Moran's I (error):\\n`;\n    output += `Test\\tMoran's I (error)\\tMoran\u2019s I (error) Z\\tMoran\u2019s I (error) Probability\\n`;\n    const moranI = regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE'][\"Moran's I (error)\"];\n    output += `${moranI.Test}\\t${moranI[\"Moran's I (error)\"]}\\t${moranI['Moran\u2019s I (error) Z']}\\t${moranI['Moran\u2019s I (error) Probability']}\\n`;\n    output += `Lagrange Multiplier (lag):\\n`;\n    output += `Test\\tLagrange Multiplier (lag) DF\\tLagrange Multiplier (lag) Value\\tLagrange Multiplier (lag) Probability\\n`;\n    const lmLag =\n      regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Lagrange Multiplier (lag)'];\n    output += `${lmLag.Test}\\t${lmLag['Lagrange Multiplier (lag) DF']}\\t${lmLag['Lagrange Multiplier (lag) Value']}\\t${lmLag['Lagrange Multiplier (lag) Probability']}\\n`;\n    output += `Robust LM (lag):\\n`;\n    output += `Test\\tRobust LM (lag) DF\\tRobust LM (lag) Value\\tRobust LM (lag) Probability\\n`;\n    const lmLagRob = regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Robust LM (lag)'];\n    output += `${lmLagRob.Test}\\t${lmLagRob['Robust LM (lag) DF']}\\t${lmLagRob['Robust LM (lag) Value']}\\t${lmLagRob['Robust LM (lag) Probability']}\\n`;\n    output += `Lagrange Multiplier (error):\\n`;\n    output += `Test\\tLagrange Multiplier (error) DF\\tLagrange Multiplier (error) Value\\tLagrange Multiplier (error) Probability\\n`;\n    const lmError =\n      regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Lagrange Multiplier (error)'];\n    output += `${lmError.Test}\\t${lmError['Lagrange Multiplier (error) DF']}\\t${lmError['Lagrange Multiplier (error) Value']}\\t${lmError['Lagrange Multiplier (error) Probability']}\\n`;\n    output += `Robust LM (error):\\n`;\n    output += `Test\\tRobust LM (error) DF\\tRobust LM (error) Value\\tRobust LM (error) Probability\\n`;\n    const lmErrorRob = regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Robust LM (error)'];\n    output += `${lmErrorRob.Test}\\t${lmErrorRob['Robust LM (error) DF']}\\t${lmErrorRob['Robust LM (error) Value']}\\t${lmErrorRob['Robust LM (error) Probability']}\\n`;\n    output += `Lagrange Multiplier (SARMA):\\n`;\n    output += `Test\\tLagrange Multiplier (SARMA) DF\\tLagrange Multiplier (SARMA) Value\\tLagrange Multiplier (SARMA) Probability\\n`;\n    const lmSarma =\n      regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Lagrange Multiplier (SARMA)'];\n    output += `${lmSarma.Test}\\t${lmSarma['Lagrange Multiplier (SARMA) DF']}\\t${lmSarma['Lagrange Multiplier (SARMA) Value']}\\t${lmSarma['Lagrange Multiplier (SARMA) Probability']}\\n`;\n    output += `Based on the spatial diagnostics, the recommended model is: ${selectSpatialModel(\n      regressionReport\n    )}\\n`;\n  }\n  return output;\n}\n\n// function to print number with 4 decimal places\nexport function printNumber(num: number): string {\n  // if num is float and has more than 4 decimal places, round it to 4 decimal places; otherwise return the number as is\n  const numStr = num.toString();\n  if (numStr.includes('.')) {\n    const decimalPlaces = numStr.split('.')[1].length;\n    if (decimalPlaces > 4) {\n      return num.toFixed(4);\n    }\n  }\n  return num.toString();\n}\n\nexport function printVariableCoefficients(\n  report: LinearRegressionResult | SpatialErrorResult | SpatialLagResult\n): string {\n  let output = '';\n  output += `Variable Coefficients: \\n\\n`;\n  output += `| Variable&nbsp;&nbsp; | Coefficient&nbsp;&nbsp; | Std. Error&nbsp;&nbsp; | t-Statistic | Probability |\\n`;\n  output += `|---------|-------------|------------|-------------|-------------|\\n`;\n  for (const coefficient of report['Variable Coefficients']) {\n    output += `${coefficient.Variable} | ${printNumber(coefficient.Coefficient)} | ${printNumber(\n      coefficient['Std Error']\n    )} | ${printNumber(coefficient['t-Statistic'])} | ${printNumber(coefficient.Probability)}\\n`;\n  }\n  return output;\n}\n\n// eslint-disable-next-line max-statements\nexport function printLinearRegressionResultUsingMarkdown(\n  regressionReport: LinearRegressionResult\n): string {\n  // print the linearRegression result in GeoDa's format using Markdown\n  let output = '';\n  output += `Dataset: ${regressionReport.datasetName}\\n`;\n  output += `${regressionReport.weightsId ? `Weights: ${regressionReport.weightsId}\\n` : ''}`;\n  output += '|  |  |  |  |\\n';\n  output += '|---|---|---|---|\\n';\n  output += `|Dependent Variable |${\n    regressionReport.dependentVariable\n  }| No. Observations |${printNumber(regressionReport['Number of Observations'])}|\\n`;\n  output += `|Mean Dependent Var | ${printNumber(\n    regressionReport['Mean Dependent Var']\n  )}| Number of Variables | ${regressionReport['Number of Variables']} |\\n`;\n  output += `|S.D. dependent var| ${printNumber(\n    regressionReport['SD Dependent Var']\n  )}| Degrees of Freedom | ${regressionReport['Degrees of Freedom']} |\\n`;\n\n  output += `&nbsp;  \\n`;\n  output += '|  |  |  |  |\\n';\n  output += `|R-squared| ${printNumber(regressionReport['R-squared'])}| F-statistic | ${printNumber(\n    regressionReport['F-statistic']\n  )}|\\n`;\n  output += `|Adj. R-squared| ${printNumber(\n    regressionReport['Adjusted R-squared']\n  )}| Prob(F-statistic)| ${printNumber(regressionReport['Prob(F-statistic)'])}|\\n`;\n  output += `|Sum squared residual| ${printNumber(\n    regressionReport['Sum Squared Residual']\n  )}|Log-Likelihood| ${printNumber(regressionReport['Log Likelihood'])}|\\n`;\n  output += `|Sigma-square| ${printNumber(regressionReport['Sigma-Square'])}|AIC| ${printNumber(\n    regressionReport['Akaike Info Criterion']\n  )}|\\n`;\n  output += `|S.E. of regression| ${printNumber(\n    regressionReport['SE of Regression']\n  )}|Schwarz Criterion| ${printNumber(regressionReport['Schwarz Criterion'])}|\\n`;\n  output += `|Sigma-square ML| ${printNumber(Math.sqrt(regressionReport['Sigma-Square ML']))}|||\\n`;\n  output += `|S.E. of regression ML| ${printNumber(\n    Math.sqrt(regressionReport['Sigma-Square ML'])\n  )}|||\\n`;\n\n  output += `&nbsp;  \\n`;\n  output += printVariableCoefficients(regressionReport);\n\n  output += `&nbsp;  \\n`;\n  output += `\\nREGRESSION DIAGNOSTICS\\n`;\n  output += `&nbsp;  \\n`;\n  output += `&nbsp;  \\n`;\n  output += `Multicollinearity Condition Number: ${printNumber(\n    regressionReport['REGRESSION DIAGNOSTICS']['MULTICOLLINEARITY CONDITION NUMBER']\n  )}\\n\\n`;\n  output += `Test on Normality of Errors:\\n\\n`;\n  output += `Test&nbsp;&nbsp; | DF&nbsp;&nbsp; | Value | Probability\\n`;\n  output += `-----|----------------|-------------------| -----------------------:\\n`;\n  const normalityTest = regressionReport['REGRESSION DIAGNOSTICS']['TEST ON NORMALITY OF ERRORS'];\n  output += `${normalityTest.Test} | ${printNumber(\n    normalityTest['Jarque-Bera DF']\n  )} | ${printNumber(normalityTest['Jarque-Bera Value'])} | ${printNumber(\n    normalityTest['Jarque-Bera Probability']\n  )}\\n\\n`;\n  output += `&nbsp;  \\n`;\n  output += `&nbsp;  \\n`;\n  output += `DIAGNOSTICS FOR HETEROSKEDASTICITY`;\n  output += `&nbsp;  \\n`;\n  output += `RANDOM COEFFICIENTS\\n\\n`;\n  output += `| Test | DF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Probability|\\n`;\n  output += `|------|----|-------|------------|\\n`;\n  const bpTest = regressionReport['DIAGNOSTICS FOR HETEROSKEDASTICITY']['BREUSCH-PAGAN TEST'];\n  output += `|${bpTest.Test}| ${printNumber(bpTest['Breusch-Pagan DF'])} | ${printNumber(\n    bpTest['Breusch-Pagan Value']\n  )} | ${printNumber(bpTest['Breusch-Pagan Probability'])}|\\n`;\n  const kbTest = regressionReport['DIAGNOSTICS FOR HETEROSKEDASTICITY']['KOENKER-Bassett TEST'];\n  output += `|${kbTest.Test}| ${printNumber(kbTest['Koenker-Bassett DF'])} | ${printNumber(\n    kbTest['Koenker-Bassett Value']\n  )} | ${printNumber(kbTest['Koenker-Bassett Probability'])} |\\n`;\n\n  if (regressionReport.weightsId) {\n    output += `&nbsp;  \\n`;\n    output += `&nbsp;  \\n`;\n    output += `DIAGNOSTICS FOR SPATIAL DEPENDENCE\\n\\n`;\n    output += `Test | MI/DF&nbsp;&nbsp; | Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Probability\\n`;\n    output += `-----|-------|-------|------------\\n`;\n\n    const moranI = regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE'][\"Moran's I (error)\"];\n    output += `${moranI.Test} | ${printNumber(moranI[\"Moran's I (error)\"])} | ${printNumber(\n      moranI['Moran\u2019s I (error) Z']\n    )} | ${printNumber(moranI['Moran\u2019s I (error) Probability'])}\\n`;\n\n    const lmLag =\n      regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Lagrange Multiplier (lag)'];\n    output += `${lmLag.Test} | ${printNumber(\n      lmLag['Lagrange Multiplier (lag) DF']\n    )} | ${printNumber(lmLag['Lagrange Multiplier (lag) Value'])} | ${printNumber(\n      lmLag['Lagrange Multiplier (lag) Probability']\n    )}\\n`;\n\n    const lmLagRob = regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Robust LM (lag)'];\n    output += `${lmLagRob.Test} | ${printNumber(lmLagRob['Robust LM (lag) DF'])} | ${printNumber(\n      lmLagRob['Robust LM (lag) Value']\n    )} | ${printNumber(lmLagRob['Robust LM (lag) Probability'])}\\n`;\n\n    const lmError =\n      regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Lagrange Multiplier (error)'];\n    output += `${lmError.Test} | ${printNumber(\n      lmError['Lagrange Multiplier (error) DF']\n    )} | ${printNumber(lmError['Lagrange Multiplier (error) Value'])} | ${printNumber(\n      lmError['Lagrange Multiplier (error) Probability']\n    )}\\n`;\n\n    const lmErrorRob = regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Robust LM (error)'];\n    output += `${lmErrorRob.Test} | ${printNumber(\n      lmErrorRob['Robust LM (error) DF']\n    )} | ${printNumber(lmErrorRob['Robust LM (error) Value'])} | ${printNumber(\n      lmErrorRob['Robust LM (error) Probability']\n    )}\\n`;\n\n    const lmSarma =\n      regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Lagrange Multiplier (SARMA)'];\n    output += `${lmSarma.Test} | ${printNumber(\n      lmSarma['Lagrange Multiplier (SARMA) DF']\n    )} | ${printNumber(lmSarma['Lagrange Multiplier (SARMA) Value'])} | ${printNumber(\n      lmSarma['Lagrange Multiplier (SARMA) Probability']\n    )}\\n`;\n\n    output += `&nbsp;  \\n`;\n    output += `&nbsp;  \\n`;\n    output += `Based on the spatial diagnostics, the recommended model is: ${selectSpatialModel(\n      regressionReport\n    )}\\n`;\n  }\n\n  return output;\n}\n\n/**\n * function to check which spatail model should be used based on spatial diagnostics\n */\n// eslint-disable-next-line complexity\nexport function selectSpatialModel(regressionReport: LinearRegressionResult): string {\n  let model = 'OLS Model';\n  if (regressionReport.weightsId) {\n    // check the probability of Lagrange Multiplier (lag), and Lagrange Multiplier (error)\n    const lmLag =\n      regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Lagrange Multiplier (lag)'];\n    const lmError =\n      regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Lagrange Multiplier (error)'];\n\n    // if both of them are significant, check the probability of Robust LM (lag) and Robust LM (error)\n    if (\n      lmLag['Lagrange Multiplier (lag) Probability'] <= 0.05 &&\n      lmError['Lagrange Multiplier (error) Probability'] <= 0.05\n    ) {\n      const lmLagRob = regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Robust LM (lag)'];\n      const lmErrorRob =\n        regressionReport['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['Robust LM (error)'];\n      if (\n        lmLagRob['Robust LM (lag) Probability'] <= 0.05 &&\n        lmErrorRob['Robust LM (error) Probability'] <= 0.05\n      ) {\n        // if both of them are significant, return the model that has the smaller probability\n        // eslint-disable-next-line max-depth\n        if (\n          lmLag['Lagrange Multiplier (lag) Probability'] <\n          lmError['Lagrange Multiplier (error) Probability']\n        ) {\n          model = 'Spatial Lag Model';\n        } else {\n          model = 'Spatial Error Model';\n        }\n      } else if (lmLagRob['Robust LM (lag) Probability'] <= 0.05) {\n        model = 'Spatial Lag Model';\n      } else if (lmErrorRob['Robust LM (error) Probability'] <= 0.05) {\n        model = 'Spatial Error Model';\n      } else {\n        // if none of them is significant, return the lmLag or lmError model which has smaller probability\n        // eslint-disable-next-line max-depth\n        if (\n          lmLag['Lagrange Multiplier (lag) Probability'] <\n          lmError['Lagrange Multiplier (error) Probability']\n        ) {\n          model = 'Spatial Lag Model';\n        } else {\n          model = 'Spatial Error Model';\n        }\n      }\n    } else if (lmLag['Lagrange Multiplier (lag) Probability'] <= 0.05) {\n      //  if one of them is significant, return the model that is significant\n      model = 'Spatial Lag Model';\n    } else if (lmError['Lagrange Multiplier (error) Probability'] <= 0.05) {\n      model = 'Spatial Error Model';\n    } else {\n      // if none of them is significant (larger than 0.05), set model to OLS and return\n      model = 'OLS Model';\n    }\n  }\n  return model;\n}\n", "// SPDX-License-Identifier: MIT\n// Copyright contributors to the geodalib project\n\nimport { LinearRegressionProps, printNumber, printVariableCoefficients } from './linear-regression';\nimport { initWASM } from '../init';\n\nexport type SpatialErrorResult = {\n  type: string;\n  dependentVariable: string;\n  independentVariables: string[];\n  title: string;\n  datasetName: string;\n  weightsId?: string;\n  'Number of Observations': number;\n  'Mean Dependent Var': number;\n  'Number of Variables': number;\n  'SD Dependent Var': number;\n  'Degrees of Freedom': number;\n  'Lag coefficient (Lambda)': number;\n  'R-squared': number;\n  'Log Likelihood': number;\n  'Akaike Info Criterion': number;\n  'Sigma-Square': number;\n  'Schwarz Criterion': number;\n  'SE of Regression': number;\n  'Variable Coefficients': Array<{\n    Variable: string;\n    Coefficient: number;\n    'Std Error': number;\n    't-Statistic': number;\n    Probability: number;\n  }>;\n  'DIAGNOSTICS FOR HETEROSKEDASTICITY': {\n    'BREUSCH-PAGAN TEST': {\n      Test: string;\n      'Breusch-Pagan DF': number;\n      'Breusch-Pagan Value': number;\n      'Breusch-Pagan Probability': number;\n    };\n  };\n  'DIAGNOSTICS FOR SPATIAL DEPENDENCE': {\n    'LIKELIHOOD RATIO TEST': {\n      Test: string;\n      'Likelihood Ratio DF': number;\n      'Likelihood Ratio Value': number;\n      'Likelihood Ratio Probability': number;\n    };\n  };\n};\n\n/**\n * Perform a spatial error regression analysis using maximum likelihood estimation.\n *\n * ## Example\n * ```typescript\n * import { spatialErrorRegression } from '@geodash/regression';\n *\n * // two independent variables, one dependent variable, and weights\n * // three observations\n * const weights = [[1], [0, 2], [0]];\n * const weightsValues = [1.0, 1.0, 1.0];\n *\n * const result = await spatialErrorRegression({\n *   x: [[1, 2, 3], [4, 5, 6]],\n *   y: [1, 2, 3],\n *   weightsId: 'weights',\n *   weights,\n *   weightsValues,\n *   xNames: ['x1', 'x2'],\n *   yName: 'y',\n *   datasetName: 'dataset',\n * });\n * ```\n *\n * @param props - The properties for the spatial error regression.\n * @param props.x - The independent variables.\n * @param props.y - The dependent variable.\n * @param props.weightsId - The id of the weights.\n * @param props.weights - The weights.\n * @param props.weightsValues - The values of the weights.\n * @param props.xNames - The names of the independent variables.\n * @param props.yName - The name of the dependent variable.\n * @param props.datasetName - The name of the dataset.\n * @param props.xUndefs - The undefined values of the independent variables.\n * @param props.yUndefs - The undefined values of the dependent variable.\n * @returns The result of the spatial error regression.\n */\n// eslint-disable-next-line max-statements, complexity\nexport async function spatialError({\n  x,\n  y,\n  weightsId,\n  weights,\n  weightsValues,\n  xNames,\n  yName,\n  datasetName,\n  xUndefs,\n  yUndefs,\n}: LinearRegressionProps): Promise<SpatialErrorResult> {\n  const wasmInstance = await initWASM();\n  // Create a new vector of doubles\n  const wasmY = new wasmInstance.VectorDouble();\n  for (let i = 0; i < y.length; ++i) {\n    wasmY.push_back(y[i]);\n  }\n  // Create a new VecVecDouble for x\n  const wasmX = new wasmInstance.VecVecDouble();\n  for (let i = 0; i < x.length; ++i) {\n    const vals = new wasmInstance.VectorDouble();\n    for (let j = 0; j < x[i].length; ++j) {\n      vals.push_back(x[i][j]);\n    }\n    wasmX.push_back(vals);\n  }\n  // Create a new VecVecUInt for weights\n  const wasmWeights = new wasmInstance.VecVecUInt();\n  if (weights) {\n    for (let i = 0; i < weights.length; ++i) {\n      const vals = new wasmInstance.VectorUInt();\n      for (let j = 0; j < weights[i].length; ++j) {\n        vals.push_back(weights[i][j]);\n      }\n      wasmWeights.push_back(vals);\n    }\n  }\n\n  // Create a new VecVecDouble for weightsValues\n  const wasmWeightsValues = new wasmInstance.VecVecDouble();\n  if (weightsValues) {\n    for (let i = 0; i < weightsValues.length; ++i) {\n      const vals = new wasmInstance.VectorDouble();\n      for (let j = 0; j < weightsValues[i].length; ++j) {\n        vals.push_back(weightsValues[i][j]);\n      }\n      wasmWeightsValues.push_back(vals);\n    }\n  }\n\n  // Create a new vector of strings for xNames\n  const wasmXNames = new wasmInstance.VectorString();\n  for (let i = 0; i < xNames.length; ++i) {\n    wasmXNames.push_back(xNames[i]);\n  }\n  // Create a new VectorInt for yUndefs\n  const wasmYUndefs = new wasmInstance.VectorUInt();\n  if (yUndefs) {\n    for (let i = 0; i < yUndefs.length; ++i) {\n      wasmYUndefs.push_back(yUndefs[i]);\n    }\n  }\n  // Create a new VecVecInt for xUndefs\n  const wasmXUndefs = new wasmInstance.VecVecUInt();\n  if (xUndefs) {\n    for (let i = 0; i < xUndefs.length; ++i) {\n      const vals = new wasmInstance.VectorUInt();\n      for (let j = 0; j < xUndefs[i].length; ++j) {\n        vals.push_back(xUndefs[i][j]);\n      }\n      wasmXUndefs.push_back(vals);\n    }\n  }\n\n  const regReport = wasmInstance.spatialLag(\n    wasmY,\n    wasmX,\n    wasmWeights,\n    wasmWeightsValues,\n    yName,\n    wasmXNames,\n    datasetName,\n    wasmYUndefs,\n    wasmXUndefs\n  );\n\n  const coefficients = [];\n  // 2 is added to xNames.length to account for the constant and lambda\n  for (let i = 0; i < xNames.length + 2; ++i) {\n    coefficients.push({\n      Variable: regReport.GetXVarName(i),\n      Coefficient: regReport.GetCoefficient(i),\n      'Std Error': regReport.GetStdError(i),\n      't-Statistic': regReport.GetZValue(i),\n      Probability: regReport.GetProbability(i),\n    });\n  }\n\n  const result = {\n    type: 'spatialError',\n    dependentVariable: yName,\n    independentVariables: xNames,\n    title: 'SPATIAL LAG MODEL - MAXIMUM LIKELIHOOD ESTIMATION',\n    datasetName,\n    weightsId,\n    'Number of Observations': regReport.GetNoObservation(),\n    'Mean Dependent Var': regReport.GetMeanY(),\n    'Number of Variables': xNames.length + 1,\n    'SD Dependent Var': regReport.GetSDevY(),\n    'Degrees of Freedom': regReport.GetNoObservation() - xNames.length,\n    'Lag coefficient (Lambda)': regReport.GetCoefficient(xNames.length + 1),\n    'R-squared': regReport.GetR2(),\n    'Log Likelihood': regReport.GetLIK(),\n    'Akaike Info Criterion': regReport.GetAIC(),\n    'Sigma-Square': regReport.GetSIQ_SQ(),\n    'Schwarz Criterion': regReport.GetOLS_SC(),\n    'SE of Regression': Math.sqrt(regReport.GetSIQ_SQ()),\n    'Variable Coefficients': coefficients,\n    'DIAGNOSTICS FOR HETEROSKEDASTICITY': {\n      'BREUSCH-PAGAN TEST': {\n        Test: 'Breusch-Pagan test',\n        'Breusch-Pagan DF': regReport.GetBPtest(0),\n        'Breusch-Pagan Value': regReport.GetBPtest(1),\n        'Breusch-Pagan Probability': regReport.GetBPtest(2),\n      },\n    },\n    'DIAGNOSTICS FOR SPATIAL DEPENDENCE': {\n      'LIKELIHOOD RATIO TEST': {\n        Test: 'Likelihood Ratio Test',\n        'Likelihood Ratio DF': regReport.GetLRTestValue(0),\n        'Likelihood Ratio Value': regReport.GetLRTestValue(1),\n        'Likelihood Ratio Probability': regReport.GetLRTestValue(2),\n      },\n    },\n  };\n\n  return result;\n}\n\n// eslint-disable-next-line max-statements\nexport function printSpatialErrorResultUsingMarkdown(report: SpatialErrorResult): string {\n  let output = '';\n\n  // printSummary\n  output += `Dataset: ${report.datasetName}\\n`;\n  output += `${report.weightsId ? `Weights: ${report.weightsId}\\n` : ''}`;\n  output += '|  |  |  |  |\\n';\n  output += '|---|---|---|---|\\n';\n  output += `|Dependent Variable |${report.dependentVariable}| No. Observations |${printNumber(\n    report['Number of Observations']\n  )}|\\n`;\n  output += `|Mean Dependent Var | ${printNumber(\n    report['Mean Dependent Var']\n  )}| Number of Variables | ${report['Number of Variables']} |\\n`;\n  output += `|S.D. dependent var| ${printNumber(\n    report['SD Dependent Var']\n  )}| Degrees of Freedom | ${report['Degrees of Freedom']} |\\n`;\n\n  // printMoreSummary\n  output += `|Lag coefficient (Lambda) | ${printNumber(report['Lag coefficient (Lambda)'])} |||\\n`;\n\n  output += `&nbsp;  \\n`;\n  output += '|  |  |  |  |\\n';\n  output += `|R-squared | ${printNumber(report['R-squared'])} | Log Likelihood | ${printNumber(\n    report['Log Likelihood']\n  )} |\\n`;\n  output += `|Sq. Correlation|-|Akaike Info Criterion|${printNumber(\n    report['Akaike Info Criterion']\n  )}|\\n`;\n  output += `|Sigma-Square|${printNumber(\n    report['Sigma-Square']\n  )}| Schwarz Criterion | ${printNumber(report['Schwarz Criterion'])} |\\n`;\n  output += `|SE of Regression|${printNumber(report['SE of Regression'])}|||\\n`;\n\n  // printVariableCoefficients\n  output += `&nbsp;  \\n`;\n  output += printVariableCoefficients(report);\n\n  // printRegressionDiagnostics\n  output += `&nbsp;  \\n`;\n  output += `&nbsp;  \\n`;\n  output += 'REGRESSION DIAGNOSTICS\\n';\n  output += 'DIAGNOSTICS FOR HETEROSKEDASTICITY\\n';\n  output += 'RANDOM COEFFICIENTS\\n';\n  output += `| Test | DF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Probability|\\n`;\n  output += `|------|----|-------|------------|\\n`;\n  const bpTest = report['DIAGNOSTICS FOR HETEROSKEDASTICITY']['BREUSCH-PAGAN TEST'];\n  output += `|${bpTest.Test}| ${printNumber(bpTest['Breusch-Pagan DF'])} | ${printNumber(\n    bpTest['Breusch-Pagan Value']\n  )} | ${printNumber(bpTest['Breusch-Pagan Probability'])}|\\n`;\n\n  // printDiagnosticsForSpatialDependence\n  output += `&nbsp;  \\n`;\n  output += `&nbsp;  \\n`;\n  output += 'DIAGNOSTICS FOR SPATIAL DEPENDENCE\\n';\n  output += 'SPATIAL ERROR DEPENDENCE FOR WEIGHT MATRIX\\n';\n\n  output += `| Test | DF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Probability|\\n`;\n  output += `|------|----|-------|------------|\\n`;\n\n  const likelihood = report['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['LIKELIHOOD RATIO TEST'];\n  output += `|${likelihood.Test}| ${printNumber(likelihood['Likelihood Ratio DF'])} | ${printNumber(\n    likelihood['Likelihood Ratio Value']\n  )} | ${printNumber(likelihood['Likelihood Ratio Probability'])}|\\n`;\n\n  return output;\n}\n", "// SPDX-License-Identifier: MIT\n// Copyright contributors to the geodalib project\n\nimport { LinearRegressionProps, printNumber, printVariableCoefficients } from './linear-regression';\nimport { initWASM } from '../init';\n\nexport type SpatialLagResult = {\n  type: string;\n  dependentVariable: string;\n  independentVariables: string[];\n  title: string;\n  datasetName: string;\n  weightsId?: string;\n  'Number of Observations': number;\n  'Mean Dependent Var': number;\n  'Number of Variables': number;\n  'SD Dependent Var': number;\n  'Degrees of Freedom': number;\n  'Lag coefficient (Rho)': number;\n  'R-squared': number;\n  'Log Likelihood': number;\n  'Akaike Info Criterion': number;\n  'Sigma-Square': number;\n  'Schwarz Criterion': number;\n  'SE of Regression': number;\n  'Variable Coefficients': Array<{\n    Variable: string;\n    Coefficient: number;\n    'Std Error': number;\n    't-Statistic': number;\n    Probability: number;\n  }>;\n  'DIAGNOSTICS FOR HETEROSKEDASTICITY': {\n    'BREUSCH-PAGAN TEST': {\n      Test: string;\n      'Breusch-Pagan DF': number;\n      'Breusch-Pagan Value': number;\n      'Breusch-Pagan Probability': number;\n    };\n  };\n  'DIAGNOSTICS FOR SPATIAL DEPENDENCE': {\n    'LIKELIHOOD RATIO TEST': {\n      Test: string;\n      'Likelihood Ratio DF': number;\n      'Likelihood Ratio Value': number;\n      'Likelihood Ratio Probability': number;\n    };\n  };\n};\n\n/**\n * Perform a spatial lag regression analysis using maximum likelihood estimation.\n *\n * ## Example\n * ```typescript\n * import { spatialLagRegression } from '@geodash/regression';\n *\n * // two independent variables, one dependent variable, and weights\n * // three observations\n * const weights = [[1], [0, 2], [0]];\n * const weightsValues = [1.0, 1.0, 1.0];\n *\n * const result = await spatialLagRegression({\n *   x: [[1, 2, 3], [4, 5, 6]],\n *   y: [1, 2, 3],\n *   weightsId: 'weights',\n *   weights,\n *   weightsValues,\n *   xNames: ['x1', 'x2'],\n *   yName: 'y',\n *   datasetName: 'dataset',\n * });\n * ```\n * @param props - The properties for the spatial lag regression.\n * @param props.x - The independent variables.\n * @param props.y - The dependent variable.\n * @param props.weightsId - The id of the weights.\n * @param props.weights - The weights.\n * @param props.weightsValues - The values of the weights.\n * @param props.xNames - The names of the independent variables.\n * @param props.yName - The name of the dependent variable.\n * @param props.datasetName - The name of the dataset.\n * @param props.xUndefs - The undefined values of the independent variables.\n * @param props.yUndefs - The undefined values of the dependent variable.\n * @returns The result of the spatial lag regression.\n */\nexport async function spatialLagRegression({\n  x,\n  y,\n  weightsId,\n  weights,\n  weightsValues,\n  xNames,\n  yName,\n  datasetName,\n  xUndefs,\n  yUndefs,\n}: LinearRegressionProps): Promise<SpatialLagResult> {\n  const wasmInstance = await initWASM();\n  // Create a new vector of doubles\n  const wasmY = new wasmInstance.VectorDouble();\n  for (let i = 0; i < y.length; ++i) {\n    wasmY.push_back(y[i]);\n  }\n  // Create a new VecVecDouble for x\n  const wasmX = new wasmInstance.VecVecDouble();\n  for (let i = 0; i < x.length; ++i) {\n    const vals = new wasmInstance.VectorDouble();\n    for (let j = 0; j < x[i].length; ++j) {\n      vals.push_back(x[i][j]);\n    }\n    wasmX.push_back(vals);\n  }\n  // Create a new VecVecUInt for weights\n  const wasmWeights = new wasmInstance.VecVecUInt();\n  if (weights) {\n    for (let i = 0; i < weights.length; ++i) {\n      const vals = new wasmInstance.VectorUInt();\n      for (let j = 0; j < weights[i].length; ++j) {\n        vals.push_back(weights[i][j]);\n      }\n      wasmWeights.push_back(vals);\n    }\n  }\n\n  // Create a new VecVecDouble for weightsValues\n  const wasmWeightsValues = new wasmInstance.VecVecDouble();\n  if (weightsValues) {\n    for (let i = 0; i < weightsValues.length; ++i) {\n      const vals = new wasmInstance.VectorDouble();\n      for (let j = 0; j < weightsValues[i].length; ++j) {\n        vals.push_back(weightsValues[i][j]);\n      }\n      wasmWeightsValues.push_back(vals);\n    }\n  }\n\n  // Create a new vector of strings for xNames\n  const wasmXNames = new wasmInstance.VectorString();\n  for (let i = 0; i < xNames.length; ++i) {\n    wasmXNames.push_back(xNames[i]);\n  }\n  // Create a new VectorInt for yUndefs\n  const wasmYUndefs = new wasmInstance.VectorUInt();\n  if (yUndefs) {\n    for (let i = 0; i < yUndefs.length; ++i) {\n      wasmYUndefs.push_back(yUndefs[i]);\n    }\n  }\n  // Create a new VecVecInt for xUndefs\n  const wasmXUndefs = new wasmInstance.VecVecUInt();\n  if (xUndefs) {\n    for (let i = 0; i < xUndefs.length; ++i) {\n      const vals = new wasmInstance.VectorUInt();\n      for (let j = 0; j < xUndefs[i].length; ++j) {\n        vals.push_back(xUndefs[i][j]);\n      }\n      wasmXUndefs.push_back(vals);\n    }\n  }\n\n  const regReport = wasmInstance.spatialLag(\n    wasmY,\n    wasmX,\n    wasmWeights,\n    wasmWeightsValues,\n    yName,\n    wasmXNames,\n    datasetName,\n    wasmYUndefs,\n    wasmXUndefs\n  );\n\n  const coefficients = [];\n  // 2 is added to xNames.length to account for the constant and the spatial lag of Y (W_Y)\n  for (let i = 0; i < xNames.length + 2; ++i) {\n    coefficients.push({\n      Variable: regReport.GetXVarName(i),\n      Coefficient: regReport.GetCoefficient(i),\n      'Std Error': regReport.GetStdError(i),\n      't-Statistic': regReport.GetZValue(i),\n      Probability: regReport.GetProbability(i),\n    });\n  }\n\n  const result = {\n    type: 'spatialLag',\n    dependentVariable: yName,\n    independentVariables: xNames,\n    title: 'SPATIAL LAG MODEL - MAXIMUM LIKELIHOOD ESTIMATION',\n    datasetName,\n    weightsId,\n    'Number of Observations': regReport.GetNoObservation(),\n    'Mean Dependent Var': regReport.GetMeanY(),\n    'Number of Variables': xNames.length + 1,\n    'SD Dependent Var': regReport.GetSDevY(),\n    'Degrees of Freedom': regReport.GetNoObservation() - xNames.length - 1,\n    'Lag coefficient (Rho)': regReport.GetCoefficient(0),\n    'R-squared': regReport.GetR2(),\n    'Log Likelihood': regReport.GetLIK(),\n    'Akaike Info Criterion': regReport.GetAIC(),\n    'Sigma-Square': regReport.GetSIQ_SQ(),\n    'Schwarz Criterion': regReport.GetOLS_SC(),\n    'SE of Regression': Math.sqrt(regReport.GetSIQ_SQ()),\n    'Variable Coefficients': coefficients,\n    'DIAGNOSTICS FOR HETEROSKEDASTICITY': {\n      'BREUSCH-PAGAN TEST': {\n        Test: 'Breusch-Pagan test',\n        'Breusch-Pagan DF': regReport.GetBPtest(0),\n        'Breusch-Pagan Value': regReport.GetBPtest(1),\n        'Breusch-Pagan Probability': regReport.GetBPtest(2),\n      },\n    },\n    'DIAGNOSTICS FOR SPATIAL DEPENDENCE': {\n      'LIKELIHOOD RATIO TEST': {\n        Test: 'Likelihood Ratio Test',\n        'Likelihood Ratio DF': regReport.GetLRTestValue(0),\n        'Likelihood Ratio Value': regReport.GetLRTestValue(1),\n        'Likelihood Ratio Probability': regReport.GetLRTestValue(2),\n      },\n    },\n  };\n\n  return result;\n}\n\nexport function printSpatialLagResultUsingMarkdown(report: SpatialLagResult): string {\n  let output = '';\n\n  // printSummary\n  output += `Dataset: ${report.datasetName}\\n`;\n  output += `${report.weightsId ? `Weights: ${report.weightsId}\\n` : ''}`;\n  output += '|  |  |  |  |\\n';\n  output += '|---|---|---|---|\\n';\n  output += `|Dependent Variable |${report.dependentVariable}| No. Observations |${printNumber(\n    report['Number of Observations']\n  )}|\\n`;\n  output += `|Mean Dependent Var | ${printNumber(\n    report['Mean Dependent Var']\n  )}| Number of Variables | ${report['Number of Variables']} |\\n`;\n  output += `|S.D. dependent var| ${printNumber(\n    report['SD Dependent Var']\n  )}| Degrees of Freedom | ${report['Degrees of Freedom']} |\\n`;\n\n  // printMoreSummary\n  output += `|Lag coefficient (Rho) | ${printNumber(report['Lag coefficient (Rho)'])} |||\\n`;\n\n  output += `&nbsp;  \\n`;\n  output += '|  |  |  |  |\\n';\n  output += `|R-squared | ${printNumber(report['R-squared'])} | Log Likelihood | ${printNumber(\n    report['Log Likelihood']\n  )} |\\n`;\n  output += `|Sq. Correlation|-|Akaike Info Criterion|${printNumber(\n    report['Akaike Info Criterion']\n  )}|\\n`;\n  output += `|Sigma-Square|${printNumber(\n    report['Sigma-Square']\n  )}| Schwarz Criterion | ${printNumber(report['Schwarz Criterion'])} |\\n`;\n  output += `|SE of Regression|${printNumber(report['SE of Regression'])}|||\\n`;\n\n  // printVariableCoefficients\n  output += `&nbsp;  \\n`;\n  output += printVariableCoefficients(report);\n\n  // printRegressionDiagnostics\n  output += `&nbsp;  \\n`;\n  output += `&nbsp;  \\n`;\n  output += 'REGRESSION DIAGNOSTICS\\n';\n  output += 'DIAGNOSTICS FOR HETEROSKEDASTICITY\\n';\n  output += 'RANDOM COEFFICIENTS\\n';\n  output += `| Test | DF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Probability|\\n`;\n  output += `|------|----|-------|------------|\\n`;\n  const bpTest = report['DIAGNOSTICS FOR HETEROSKEDASTICITY']['BREUSCH-PAGAN TEST'];\n  output += `|${bpTest.Test}| ${printNumber(bpTest['Breusch-Pagan DF'])} | ${printNumber(\n    bpTest['Breusch-Pagan Value']\n  )} | ${printNumber(bpTest['Breusch-Pagan Probability'])}|\\n`;\n\n  // printDiagnosticsForSpatialDependence\n  output += `&nbsp;  \\n`;\n  output += `&nbsp;  \\n`;\n  output += 'DIAGNOSTICS FOR SPATIAL DEPENDENCE\\n';\n  output += 'SPATIAL LAG DEPENDENCE FOR WEIGHT MATRIX\\n';\n\n  output += `| Test | DF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Probability|\\n`;\n  output += `|------|----|-------|------------|\\n`;\n\n  const likelihood = report['DIAGNOSTICS FOR SPATIAL DEPENDENCE']['LIKELIHOOD RATIO TEST'];\n  output += `|${likelihood.Test}| ${printNumber(likelihood['Likelihood Ratio DF'])} | ${printNumber(\n    likelihood['Likelihood Ratio Value']\n  )} | ${printNumber(likelihood['Likelihood Ratio Probability'])}|\\n`;\n\n  return output;\n}\n"],
  "mappings": "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",
  "names": ["require_wasm", "__commonJSMin", "exports", "module", "geoda", "_scriptDir", "moduleArg", "Module", "readyPromiseResolve", "readyPromiseReject", "resolve", "reject", "moduleOverrides", "arguments_", "thisProgram", "quit_", "status", "toThrow", "ENVIRONMENT_IS_WEB", "ENVIRONMENT_IS_WORKER", "ENVIRONMENT_IS_NODE", "scriptDirectory", "locateFile", "path", "read_", "readAsync", "readBinary", "fs", "nodePath", "filename", "binary", "isFileURI", "ret", "onload", "onerror", "err", "data", "url", "xhr", "out", "wasmBinary", "abort", "wasmMemory", "ABORT", "EXITSTATUS", "HEAP8", "HEAPU8", "HEAP16", "HEAPU16", "HEAP32", "HEAPU32", "HEAPF32", "HEAPF64", "updateMemoryViews", "b", "__ATPRERUN__", "__ATINIT__", "__ATPOSTRUN__", "runtimeInitialized", "preRun", "addOnPreRun", "callRuntimeCallbacks", "initRuntime", "postRun", "addOnPostRun", "cb", "addOnInit", "runDependencies", "runDependencyWatcher", "dependenciesFulfilled", "addRunDependency", "id", "removeRunDependency", "callback", "what", "e", "dataURIPrefix", "isDataURI", "wasmBinaryFile", "getBinarySync", "file", "getBinaryPromise", "binaryFile", "response", "instantiateArrayBuffer", "imports", "receiver", "reason", "instantiateAsync", "result", "createWasm", "info", "wasmImports", "receiveInstance", "instance", "wasmExports", "applySignatureConversions", "wasmTable", "receiveInstantiationResult", "tempDouble", "tempI64", "ExitStatus", "callbacks", "noExitRuntime", "ExceptionInfo", "excPtr", "type", "destructor", "caught", "rethrown", "adjustedPtr", "isPointer", "___cxa_is_pointer_type", "adjusted", "exceptionLast", "uncaughtExceptionCount", "convertI32PairToI53Checked", "lo", "hi", "___cxa_throw", "ptr", "___syscall_dup3", "fd", "newfd", "flags", "___syscall_faccessat", "dirfd", "amode", "UTF8Decoder", "UTF8ArrayToString", "heapOrArray", "idx", "maxBytesToRead", "endIdx", "endPtr", "str", "u0", "u1", "u2", "ch", "UTF8ToString", "SYSCALLS", "___syscall_fcntl64", "cmd", "varargs", "___syscall_fstat64", "buf", "___syscall_ftruncate64", "length_low", "length_high", "length", "___syscall_ioctl", "op", "___syscall_lstat64", "___syscall_newfstatat", "___syscall_openat", "___syscall_stat64", "___syscall_unlinkat", "__embind_register_bigint", "primitiveType", "name", "size", "minRange", "maxRange", "embind_init_charCodes", "codes", "i", "embind_charCodes", "readLatin1String", "c", "awaitingDependencies", "registeredTypes", "typeDependencies", "BindingError", "throwBindingError", "message", "InternalError", "throwInternalError", "whenDependentTypesAreResolved", "myTypes", "dependentTypes", "getTypeConverters", "onComplete", "typeConverters", "myTypeConverters", "registerType", "unregisteredTypes", "registered", "dt", "sharedRegisterType", "rawType", "registeredInstance", "options", "GenericWireTypeSize", "__embind_register_bool", "trueValue", "falseValue", "wt", "destructors", "o", "pointer", "shallowCopyInternalPointer", "throwInstanceAlreadyDeleted", "obj", "getInstanceTypeName", "handle", "finalizationRegistry", "detachFinalizer", "runDestructor", "$$", "releaseClassHandle", "toDelete", "downcastPointer", "ptrClass", "desiredClass", "rv", "registeredPointers", "getInheritedInstanceCount", "registeredInstances", "getLiveInheritedInstances", "k", "deletionQueue", "flushPendingDeletes", "delayFunction", "setDelayFunction", "fn", "init_embind", "getBasestPointer", "class_", "getInheritedInstance", "makeClassHandle", "prototype", "record", "hasSmartPtrType", "hasSmartPtr", "attachFinalizer", "RegisteredPointer_fromWireType", "rawPointer", "makeDefaultHandle", "actualType", "registeredPointerRecord", "toType", "dp", "init_ClassHandle", "ClassHandle", "other", "leftClass", "left", "rightClass", "right", "clone", "createNamedFunction", "body", "ensureOverloadTable", "proto", "methodName", "humanName", "prevFunc", "args", "exposePublicSymbol", "value", "numArguments", "char_0", "char_9", "makeLegalFunctionName", "f", "RegisteredClass", "constructor", "instancePrototype", "rawDestructor", "baseClass", "getActualType", "upcast", "downcast", "upcastPointer", "constNoSmartPtrRawPointerToWireType", "embindRepr", "handleClass", "genericPointerToWireType", "clonedHandle", "Emval", "nonConstNoSmartPtrRawPointerToWireType", "readPointer", "init_RegisteredPointer", "RegisteredPointer", "registeredClass", "isReference", "isConst", "isSmartPointer", "pointeeType", "sharingPolicy", "rawGetPointee", "rawConstructor", "rawShare", "replacePublicSymbol", "dynCallLegacy", "sig", "wasmTableMirror", "getWasmTableEntry", "funcPtr", "func", "dynCall", "rtn", "getDynCaller", "embind__requireFunction", "signature", "rawFunction", "makeDynCaller", "fp", "extendError", "baseErrorType", "errorName", "errorClass", "stack", "UnboundTypeError", "getTypeName", "___getTypeName", "_free", "throwUnboundTypeError", "types", "unboundTypes", "seen", "visit", "__embind_register_class", "rawPointerType", "rawConstPointerType", "baseClassRawType", "getActualTypeSignature", "upcastSignature", "downcastSignature", "destructorSignature", "legalFunctionName", "base", "_a", "basePrototype", "referenceConverter", "pointerConverter", "constPointerConverter", "heap32VectorToArray", "count", "firstElement", "array", "runDestructors", "del", "usesDestructorStack", "argTypes", "newFunc", "argumentList", "dummy", "r", "createJsInvoker", "isClassMethodFunc", "returns", "isAsync", "needsDestructorStack", "argCount", "argsList", "argsListWired", "invokerFnBody", "dtorStack", "args1", "paramName", "craftInvokerFunction", "classType", "cppInvokerFunc", "cppTargetFunc", "closureArgs", "invokerFn", "__embind_register_class_constructor", "rawClassType", "rawArgTypesAddr", "invokerSignature", "invoker", "rawArgTypes", "getFunctionName", "argsIndex", "__embind_register_class_function", "rawInvoker", "context", "isPureVirtual", "unboundTypesHandler", "method", "memberFunction", "emval_freelist", "emval_handles", "__emval_decref", "count_emval_handles", "init_emval", "EmValType", "__embind_register_emval", "v", "t", "floatReadValueFromPointer", "width", "__embind_register_float", "__embind_register_function", "invokerArgsArray", "integerReadValueFromPointer", "signed", "__embind_register_integer", "fromWireType", "bitshift", "isUnsignedType", "checkAssertions", "toTypeName", "toWireType", "__embind_register_memory_view", "dataTypeIndex", "typeMapping", "TA", "decodeMemoryView", "stringToUTF8Array", "heap", "outIdx", "maxBytesToWrite", "startIdx", "u", "stringToUTF8", "outPtr", "lengthBytesUTF8", "len", "__embind_register_std_string", "stdStringIsUTF8", "payload", "decodeStartPtr", "currentBytePtr", "maxRead", "stringSegment", "a", "valueIsOfTypeString", "_malloc", "charCode", "UTF16Decoder", "UTF16ToString", "maxIdx", "codeUnit", "stringToUTF16", "startPtr", "numCharsToWrite", "lengthBytesUTF16", "UTF32ToString", "utf32", "stringToUTF32", "trailSurrogate", "lengthBytesUTF32", "__embind_register_std_wstring", "charSize", "decodeString", "encodeString", "readCharAt", "lengthBytesUTF", "maxReadBytes", "__embind_register_void", "nowIsMonotonic", "__emscripten_get_now_is_monotonic", "requireRegisteredType", "impl", "__emval_take_value", "arg", "_abort", "_emscripten_date_now", "_emscripten_get_now", "_emscripten_memcpy_js", "dest", "src", "num", "getHeapMax", "growMemory", "pages", "_emscripten_resize_heap", "requestedSize", "oldSize", "maxHeapSize", "alignUp", "x", "multiple", "cutDown", "overGrownHeapSize", "newSize", "replacement", "ENV", "getExecutableName", "getEnvStrings", "lang", "env", "strings", "stringToAscii", "buffer", "_environ_get", "__environ", "environ_buf", "bufSize", "string", "_environ_sizes_get", "penviron_count", "penviron_buf_size", "runtimeKeepaliveCounter", "keepRuntimeAlive", "_proc_exit", "code", "exitJS", "implicit", "_exit", "_fd_close", "_fd_fdstat_get", "pbuf", "rightsBase", "rightsInheriting", "_fd_read", "iov", "iovcnt", "pnum", "_fd_seek", "offset_low", "offset_high", "whence", "newOffset", "offset", "printCharBuffers", "printChar", "stream", "curr", "_fd_write", "j", "isLeapYear", "year", "arraySum", "index", "sum", "MONTH_DAYS_LEAP", "MONTH_DAYS_REGULAR", "addDays", "date", "days", "newDate", "leap", "currentMonth", "daysInCurrentMonth", "intArrayFromString", "stringy", "dontAddNull", "u8array", "numBytesWritten", "writeArrayToMemory", "_strftime", "s", "maxsize", "format", "tm", "tm_zone", "pattern", "EXPANSION_RULES_1", "rule", "WEEKDAYS", "MONTHS", "leadingSomething", "digits", "character", "leadingNulls", "compareByDay", "date1", "date2", "sgn", "compare", "getFirstWeekStartDate", "janFourth", "getWeekBasedYear", "thisDate", "janFourthThisYear", "janFourthNextYear", "firstWeekStartThisYear", "firstWeekStartNextYear", "EXPANSION_RULES_2", "twelveHour", "val", "jan1", "dec31", "off", "ahead", "bytes", "_strftime_l", "loc", "___wasm_call_ctors", "a0", "dynCall_jiji", "a1", "a2", "a3", "a4", "dynCall_viijii", "a5", "a6", "dynCall_iiiiij", "dynCall_iiiiijj", "a7", "a8", "dynCall_iiiiiijj", "a9", "makeWrapper_pp", "makeWrapper_p", "calledRun", "runCaller", "run", "doRun", "WASMManager", "wasmModule", "wasmUrl", "publicWASMUrl", "createWASMManager", "DistanceUnit", "VERSION", "import_wasm", "resolve", "wasmManager", "A", "wasmModule", "q", "isNode", "wasmUrl", "setDeliveryWASM", "wasmURL", "initWASM", "resetWASM", "dotProduct", "x", "y", "wasmInstance", "initWASM", "wasmX", "i", "wasmY", "linearRegression", "weightsId", "weights", "weightsValues", "xNames", "yName", "datasetName", "xUndefs", "yUndefs", "vals", "j", "wasmWeights", "wasmWeightsValues", "wasmXNames", "wasmYUndefs", "wasmXUndefs", "regReport", "coefficients", "printLinearRegressionResult", "regressionReport", "output", "coefficient", "normalityTest", "bpTest", "kbTest", "moranI", "lmLag", "lmLagRob", "lmError", "lmErrorRob", "lmSarma", "selectSpatialModel", "printNumber", "num", "numStr", "printVariableCoefficients", "report", "printLinearRegressionResultUsingMarkdown", "model", "spatialError", "x", "y", "weightsId", "weights", "weightsValues", "xNames", "yName", "datasetName", "xUndefs", "yUndefs", "wasmInstance", "initWASM", "wasmY", "i", "wasmX", "vals", "j", "wasmWeights", "wasmWeightsValues", "wasmXNames", "wasmYUndefs", "wasmXUndefs", "regReport", "coefficients", "printSpatialErrorResultUsingMarkdown", "report", "output", "printNumber", "printVariableCoefficients", "bpTest", "likelihood", "spatialLagRegression", "x", "y", "weightsId", "weights", "weightsValues", "xNames", "yName", "datasetName", "xUndefs", "yUndefs", "wasmInstance", "initWASM", "wasmY", "i", "wasmX", "vals", "j", "wasmWeights", "wasmWeightsValues", "wasmXNames", "wasmYUndefs", "wasmXUndefs", "regReport", "coefficients", "printSpatialLagResultUsingMarkdown", "report", "output", "printNumber", "printVariableCoefficients", "bpTest", "likelihood"]
}
