@duckdb/duckdb-wasm 1.27.1-dev125.0 → 1.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/duckdb-browser-blocking.cjs +1 -1
  2. package/dist/duckdb-browser-blocking.cjs.map +3 -3
  3. package/dist/duckdb-browser-blocking.mjs +1 -1
  4. package/dist/duckdb-browser-blocking.mjs.map +3 -3
  5. package/dist/duckdb-browser-coi.pthread.worker.js +1 -1
  6. package/dist/duckdb-browser-coi.pthread.worker.js.map +3 -3
  7. package/dist/duckdb-browser-coi.worker.js +1 -1
  8. package/dist/duckdb-browser-coi.worker.js.map +3 -3
  9. package/dist/duckdb-browser-eh.worker.js +1 -1
  10. package/dist/duckdb-browser-eh.worker.js.map +3 -3
  11. package/dist/duckdb-browser-mvp.worker.js +1 -1
  12. package/dist/duckdb-browser-mvp.worker.js.map +3 -3
  13. package/dist/duckdb-browser.cjs +1 -1
  14. package/dist/duckdb-browser.cjs.map +2 -2
  15. package/dist/duckdb-browser.mjs +1 -1
  16. package/dist/duckdb-browser.mjs.map +2 -2
  17. package/dist/duckdb-coi.wasm +0 -0
  18. package/dist/duckdb-eh.wasm +0 -0
  19. package/dist/duckdb-mvp.wasm +0 -0
  20. package/dist/duckdb-node-blocking.cjs +4 -4
  21. package/dist/duckdb-node-blocking.cjs.map +3 -3
  22. package/dist/duckdb-node-eh.worker.cjs +4 -4
  23. package/dist/duckdb-node-eh.worker.cjs.map +3 -3
  24. package/dist/duckdb-node-mvp.worker.cjs +3 -3
  25. package/dist/duckdb-node-mvp.worker.cjs.map +3 -3
  26. package/dist/duckdb-node.cjs +1 -1
  27. package/dist/duckdb-node.cjs.map +2 -2
  28. package/dist/img/duckdb_version_badge.svg +1 -1
  29. package/dist/tests-browser.js +11 -22
  30. package/dist/tests-browser.js.map +2 -2
  31. package/dist/tests-node.cjs +10 -22
  32. package/dist/tests-node.cjs.map +2 -2
  33. package/dist/types/src/bindings/index.d.ts +1 -0
  34. package/dist/types/src/targets/duckdb.d.ts +1 -1
  35. package/package.json +8 -8
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/bindings/duckdb-eh.js", "../../js-sha256/src/sha256.js", "../src/targets/duckdb-browser-eh.worker.ts", "../../apache-arrow/node_modules/tslib/tslib.es6.mjs", "../../apache-arrow/util/util/buffer.ts", "../../apache-arrow/util/util/utf8.ts", "../../apache-arrow/util/util/compat.ts", "../../apache-arrow/io/io/adapters.ts", "../../apache-arrow/enum.ts", "../../apache-arrow/util/util/vector.ts", "../../apache-arrow/util/util/pretty.ts", "../../apache-arrow/util/util/bn.ts", "../../apache-arrow/util/util/bigint.ts", "../../apache-arrow/type.ts", "../../apache-arrow/visitor.ts", "../../apache-arrow/util/util/math.ts", "../../apache-arrow/visitor/visitor/set.ts", "../../apache-arrow/row/row/struct.ts", "../../apache-arrow/visitor/visitor/get.ts", "../../apache-arrow/row/row/map.ts", "../../apache-arrow/util/util/bit.ts", "../../apache-arrow/data.ts", "../../apache-arrow/util/util/chunk.ts", "../../apache-arrow/visitor/visitor/indexof.ts", "../../apache-arrow/visitor/visitor/iterator.ts", "../../apache-arrow/visitor/visitor/bytelength.ts", "../../apache-arrow/vector.ts", "../../apache-arrow/builder/builder/valid.ts", "../../apache-arrow/builder/builder/buffer.ts", "../../apache-arrow/builder.ts", "../../apache-arrow/fb/fb/block.ts", "../../flatbuffers/mjs/utils.js", "../../flatbuffers/mjs/encoding.js", "../../flatbuffers/mjs/byte-buffer.js", "../../flatbuffers/mjs/builder.js", "../../apache-arrow/fb/fb/key-value.ts", "../../apache-arrow/fb/fb/metadata-version.ts", "../../apache-arrow/fb/fb/endianness.ts", "../../apache-arrow/fb/fb/dictionary-kind.ts", "../../apache-arrow/fb/fb/int.ts", "../../apache-arrow/fb/fb/dictionary-encoding.ts", "../../apache-arrow/fb/fb/binary.ts", "../../apache-arrow/fb/fb/bool.ts", "../../apache-arrow/fb/fb/date-unit.ts", "../../apache-arrow/fb/fb/date.ts", "../../apache-arrow/fb/fb/decimal.ts", "../../apache-arrow/fb/fb/time-unit.ts", "../../apache-arrow/fb/fb/fixed-size-binary.ts", "../../apache-arrow/fb/fb/fixed-size-list.ts", "../../apache-arrow/fb/fb/precision.ts", "../../apache-arrow/fb/fb/floating-point.ts", "../../apache-arrow/fb/fb/interval-unit.ts", "../../apache-arrow/fb/fb/interval.ts", "../../apache-arrow/fb/fb/list.ts", "../../apache-arrow/fb/fb/map.ts", "../../apache-arrow/fb/fb/null.ts", "../../apache-arrow/fb/fb/struct-.ts", "../../apache-arrow/fb/fb/time.ts", "../../apache-arrow/fb/fb/timestamp.ts", "../../apache-arrow/fb/fb/union-mode.ts", "../../apache-arrow/fb/fb/union.ts", "../../apache-arrow/fb/fb/utf8.ts", "../../apache-arrow/fb/fb/type.ts", "../../apache-arrow/fb/fb/field.ts", "../../apache-arrow/fb/fb/schema.ts", "../../apache-arrow/fb/fb/footer.ts", "../../apache-arrow/schema.ts", "../../apache-arrow/ipc/metadata/ipc/metadata/file.ts", "../../apache-arrow/io/io/interfaces.ts", "../../apache-arrow/io/io/stream.ts", "../../apache-arrow/io/io/file.ts", "../../apache-arrow/util/util/int.ts", "../../apache-arrow/visitor/visitor/vectorloader.ts", "../../apache-arrow/builder/builder/binary.ts", "../../apache-arrow/builder/builder/bool.ts", "../../apache-arrow/builder/builder/date.ts", "../../apache-arrow/builder/builder/decimal.ts", "../../apache-arrow/builder/builder/dictionary.ts", "../../apache-arrow/builder/builder/fixedsizebinary.ts", "../../apache-arrow/builder/builder/fixedsizelist.ts", "../../apache-arrow/builder/builder/float.ts", "../../apache-arrow/builder/builder/interval.ts", "../../apache-arrow/builder/builder/int.ts", "../../apache-arrow/builder/builder/list.ts", "../../apache-arrow/builder/builder/map.ts", "../../apache-arrow/builder/builder/null.ts", "../../apache-arrow/builder/builder/struct.ts", "../../apache-arrow/builder/builder/timestamp.ts", "../../apache-arrow/builder/builder/time.ts", "../../apache-arrow/builder/builder/union.ts", "../../apache-arrow/builder/builder/utf8.ts", "../../apache-arrow/visitor/visitor/builderctor.ts", "../../apache-arrow/visitor/visitor/typecomparator.ts", "../../apache-arrow/factories.ts", "../../apache-arrow/util/util/recordbatch.ts", "../../apache-arrow/table.ts", "../../apache-arrow/recordbatch.ts", "../../apache-arrow/fb/fb/body-compression-method.ts", "../../apache-arrow/fb/fb/compression-type.ts", "../../apache-arrow/fb/fb/body-compression.ts", "../../apache-arrow/fb/fb/buffer.ts", "../../apache-arrow/fb/fb/field-node.ts", "../../apache-arrow/fb/fb/record-batch.ts", "../../apache-arrow/fb/fb/dictionary-batch.ts", "../../apache-arrow/fb/fb/message-header.ts", "../../apache-arrow/fb/fb/message.ts", "../../apache-arrow/visitor/visitor/typeassembler.ts", "../../apache-arrow/ipc/metadata/ipc/metadata/json.ts", "../../apache-arrow/ipc/metadata/ipc/metadata/message.ts", "../../apache-arrow/ipc/ipc/message.ts", "../../apache-arrow/ipc/ipc/reader.ts", "../../apache-arrow/visitor/visitor/vectorassembler.ts", "../../apache-arrow/ipc/ipc/writer.ts", "../../apache-arrow/io/whatwg/io/whatwg/iterable.ts", "../../apache-arrow/io/whatwg/io/whatwg/builder.ts", "../../apache-arrow/io/whatwg/io/whatwg/reader.ts", "../../apache-arrow/io/whatwg/io/whatwg/writer.ts", "../../apache-arrow/ipc/ipc/serialization.ts", "../../apache-arrow/Arrow.ts", "../../apache-arrow/Arrow.dom.ts", "../src/json_typedef.ts", "../src/parallel/worker_dispatcher.ts", "../src/bindings/bindings_browser_eh.ts", "../src/bindings/connection.ts", "../src/bindings/udf_runtime.ts", "../src/bindings/runtime.ts", "../src/bindings/file_stats.ts", "../src/bindings/bindings_base.ts", "../src/bindings/bindings_browser_base.ts", "../src/utils/s3_helper.ts", "../src/bindings/runtime_browser.ts"],
4
- "sourcesContent": ["\nvar DuckDB = (() => {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n if (typeof __filename !== 'undefined') _scriptDir = _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};Module[\"inspect\"]=()=>\"[Emscripten Module object]\"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{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\"];var noExitRuntime=Module[\"noExitRuntime\"]||true;if(typeof WebAssembly!=\"object\"){abort(\"no native wasm support detected\")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}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 __ATMAIN__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeKeepaliveCounter=0;function keepRuntimeAlive(){return noExitRuntime||runtimeKeepaliveCounter>0}function preRun(){if(Module[\"preRun\"]){if(typeof Module[\"preRun\"]==\"function\")Module[\"preRun\"]=[Module[\"preRun\"]];while(Module[\"preRun\"].length){addOnPreRun(Module[\"preRun\"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}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++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -sASSERTIONS for more info.\";if(runtimeInitialized){___trap()}var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix=\"data:application/octet-stream;base64,\";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}function isFileURI(filename){return filename.startsWith(\"file://\")}var wasmBinaryFile;wasmBinaryFile=\"./duckdb-eh.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\"){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))}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).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)&&!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[\"fa\"];updateMemoryViews();addOnInit(wasmExports[\"ga\"]);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 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}};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){readfds>>>=0;writefds>>>=0;exceptfds>>>=0;timeout>>>=0;var total=0;var srcReadLow=readfds?HEAP32[readfds>>>2>>>0]:0,srcReadHigh=readfds?HEAP32[readfds+4>>>2>>>0]:0;var srcWriteLow=writefds?HEAP32[writefds>>>2>>>0]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>>2>>>0]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>>2>>>0]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>>2>>>0]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>>2>>>0]:0)|(writefds?HEAP32[writefds>>>2>>>0]:0)|(exceptfds?HEAP32[exceptfds>>>2>>>0]:0);var allHigh=(readfds?HEAP32[readfds+4>>>2>>>0]:0)|(writefds?HEAP32[writefds+4>>>2>>>0]:0)|(exceptfds?HEAP32[exceptfds+4>>>2>>>0]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=SYSCALLS.getStreamFromFD(fd);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){var timeoutInMillis=-1;if(timeout){var tv_sec=readfds?HEAP32[timeout>>>2>>>0]:0,tv_usec=readfds?HEAP32[timeout+8>>>2>>>0]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>>2>>>0]=dstReadLow;HEAP32[readfds+4>>>2>>>0]=dstReadHigh}if(writefds){HEAP32[writefds>>>2>>>0]=dstWriteLow;HEAP32[writefds+4>>>2>>>0]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>>2>>>0]=dstExceptLow;HEAP32[exceptfds+4>>>2>>>0]=dstExceptHigh}return total}function SOCKFS(){abort(\"missing function: $SOCKFS\")}SOCKFS.stub=true;function FS(){abort(\"missing function: $FS\")}FS.stub=true;var getSocketFromFD=fd=>{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetNtop4=addr=>(addr&255)+\".\"+(addr>>8&255)+\".\"+(addr>>16&255)+\".\"+(addr>>24&255);var inetNtop6=ints=>{var str=\"\";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part=\"\";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str=\"::ffff:\";str+=v4part;return str}if(parts[5]===0){str=\"::\";if(v4part===\"0.0.0.0\")v4part=\"\";if(v4part===\"0.0.0.1\")v4part=\"1\";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=\":\";if(zstart===0)str+=\":\"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?\":\":\"\"}return str};var readSockaddr=(sa,salen)=>{var family=HEAP16[sa>>>1>>>0];var port=_ntohs(HEAPU16[sa+2>>>1>>>0]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>>2>>>0];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>>2>>>0],HEAP32[sa+12>>>2>>>0],HEAP32[sa+16>>>2>>>0],HEAP32[sa+20>>>2>>>0]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}};var inetPton4=str=>{var b=str.split(\".\");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var jstoi_q=str=>parseInt(str);var inetPton6=str=>{var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str===\"::\"){return[0,0,0,0,0,0,0,0]}if(str.startsWith(\"::\")){str=str.replace(\"::\",\"Z:\")}else{str=str.replace(\"::\",\":Z:\")}if(str.indexOf(\".\")>0){str=str.replace(new RegExp(\"[.]\",\"g\"),\":\");words=str.split(\":\");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(\":\")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==\"string\"){if(words[w]===\"Z\"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]};var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,\"exceeded max address mappings of 65535\");addr=\"172.29.\"+(id&255)+\".\"+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};var getSocketAddress=(addrp,addrlen,allowNull)=>{if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_bind(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}function ___syscall_faccessat(dirfd,path,amode,flags){path>>>=0}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)}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);function ___syscall_getdents64(fd,dirp,count){dirp>>>=0;count>>>=0}var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var writeSockaddr=(sa,family,addr,port,addrlen)=>{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>>2>>>0]=16}HEAP16[sa>>>1>>>0]=family;HEAP32[sa+4>>>2>>>0]=addr;HEAP16[sa+2>>>1>>>0]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>>2>>>0]=28}HEAP32[sa>>>2>>>0]=family;HEAP32[sa+8>>>2>>>0]=addr[0];HEAP32[sa+12>>>2>>>0]=addr[1];HEAP32[sa+16>>>2>>>0]=addr[2];HEAP32[sa+20>>>2>>>0]=addr[3];HEAP16[sa+2>>>1>>>0]=_htons(port);break;default:return 5}return 0};function ___syscall_getpeername(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){optval>>>=0;optlen>>>=0;var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>>2>>>0]=sock.error;HEAP32[optlen>>>2>>>0]=4;sock.error=null;return 0}}return-50}function ___syscall_ioctl(fd,op,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;return 0}function ___syscall_lstat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_mkdirat(dirfd,path,mode){path>>>=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_recvfrom(fd,buf,len,flags,addr,addrlen){buf>>>=0;len>>>=0;addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf>>>0);return msg.buffer.byteLength}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){oldpath>>>=0;newpath>>>=0}function ___syscall_rmdir(path){path>>>=0}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){message>>>=0;length>>>=0;addr>>>=0;addr_len>>>=0}var ___syscall_socket=(domain,type,protocol)=>{};function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_unlinkat(dirfd,path,flags){path>>>=0}var nowIsMonotonic=true;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var _abort=()=>{abort(\"\")};function _duckdb_web_fs_directory_create(path,pathLen){return globalThis.DUCKDB_RUNTIME.createDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_list_files(path,pathLen){return globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module,path,pathLen)}function _duckdb_web_fs_directory_remove(path,pathLen){return globalThis.DUCKDB_RUNTIME.removeDirectory(Module,path,pathLen)}function _duckdb_web_fs_file_close(fileId){return globalThis.DUCKDB_RUNTIME.closeFile(Module,fileId)}function _duckdb_web_fs_file_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkFile(Module,path,pathLen)}function _duckdb_web_fs_file_get_last_modified_time(fileId){return globalThis.DUCKDB_RUNTIME.getLastFileModificationTime(Module,fileId)}function _duckdb_web_fs_file_move(from,fromLen,to,toLen){return globalThis.DUCKDB_RUNTIME.moveFile(Module,from,fromLen,to,toLen)}function _duckdb_web_fs_file_open(fileId,flags){return globalThis.DUCKDB_RUNTIME.openFile(Module,fileId,flags)}function _duckdb_web_fs_file_read(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.readFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_file_truncate(fileId,newSize){return globalThis.DUCKDB_RUNTIME.truncateFile(Module,fileId,newSize)}function _duckdb_web_fs_file_write(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.writeFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_get_default_data_protocol(Module){return globalThis.DUCKDB_RUNTIME.getDefaultDataProtocol(Module)}function _duckdb_web_fs_glob(path,pathLen){return globalThis.DUCKDB_RUNTIME.glob(Module,path,pathLen)}function _duckdb_web_test_platform_feature(feature){return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module,feature)}function _duckdb_web_udf_scalar_call(funcId,descPtr,descSize,ptrsPtr,ptrsSize,response){return globalThis.DUCKDB_RUNTIME.callScalarUDF(Module,funcId,descPtr,descSize,ptrsPtr,ptrsSize,response)}var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>4294901760;function _emscripten_get_heap_max(){return getHeapMax()}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 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>>>0]=str.charCodeAt(i)}HEAP8[buffer>>>0>>>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 _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>>>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_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){iov>>>=0;iovcnt>>>=0;var offset=convertI32PairToI53Checked(offset_low,offset_high);pnum>>>=0;return 52}function _fd_pwrite(fd,iov,iovcnt,offset_low,offset_high,pnum){iov>>>=0;iovcnt>>>=0;var offset=convertI32PairToI53Checked(offset_low,offset_high);pnum>>>=0;return 52}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 _fd_sync=fd=>52;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}function _getaddrinfo(node,service,hint,out){node>>>=0;service>>>=0;hint>>>=0;out>>>=0;var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>>2>>>0]=family;HEAP32[ai+8>>>2>>>0]=type;HEAP32[ai+12>>>2>>>0]=proto;HEAPU32[ai+24>>>2>>>0]=canon;HEAPU32[ai+20>>>2>>>0]=sa;if(family===10){HEAP32[ai+16>>>2>>>0]=28}else{HEAP32[ai+16>>>2>>>0]=16}HEAP32[ai+28>>>2>>>0]=0;return ai}if(hint){flags=HEAP32[hint>>>2>>>0];family=HEAP32[hint+4>>>2>>>0];type=HEAP32[hint+8>>>2>>>0];proto=HEAP32[hint+12>>>2>>>0]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>>2>>>0]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}var initRandomFill=()=>{if(typeof crypto==\"object\"&&typeof crypto[\"getRandomValues\"]==\"function\"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require(\"crypto\");var randomFillSync=crypto_module[\"randomFillSync\"];if(randomFillSync){return view=>crypto_module[\"randomFillSync\"](view)}var randomBytes=crypto_module[\"randomBytes\"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort(\"initRandomDevice\")};var randomFill=view=>(randomFill=initRandomFill())(view);function _getentropy(buffer,size){buffer>>>=0;size>>>=0;randomFill(HEAPU8.subarray(buffer>>>0,buffer+size>>>0));return 0}function _getnameinfo(sa,salen,node,nodelen,serv,servlen,flags){sa>>>=0;node>>>=0;serv>>>=0;var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=\"\"+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}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};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 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\":date=>getWeekBasedYear(date),\"%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)}var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module[\"onExit\"])Module[\"onExit\"](code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var handleException=e=>{if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)};var getCFunc=ident=>{var func=Module[\"_\"+ident];return func};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={\"string\":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},\"array\":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\"){return UTF8ToString(ret)}if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var wasmImports={Z:___syscall__newselect,ba:___syscall_bind,aa:___syscall_connect,V:___syscall_faccessat,a:___syscall_fcntl64,U:___syscall_fstat64,v:___syscall_ftruncate64,P:___syscall_getdents64,X:___syscall_getpeername,Y:___syscall_getsockopt,o:___syscall_ioctl,R:___syscall_lstat64,Q:___syscall_mkdirat,S:___syscall_newfstatat,p:___syscall_openat,_:___syscall_recvfrom,N:___syscall_renameat,i:___syscall_rmdir,$:___syscall_sendto,l:___syscall_socket,T:___syscall_stat64,j:___syscall_unlinkat,q:__emscripten_get_now_is_monotonic,c:_abort,F:_duckdb_web_fs_directory_create,G:_duckdb_web_fs_directory_exists,D:_duckdb_web_fs_directory_list_files,E:_duckdb_web_fs_directory_remove,g:_duckdb_web_fs_file_close,A:_duckdb_web_fs_file_exists,u:_duckdb_web_fs_file_get_last_modified_time,B:_duckdb_web_fs_file_move,I:_duckdb_web_fs_file_open,d:_duckdb_web_fs_file_read,H:_duckdb_web_fs_file_truncate,h:_duckdb_web_fs_file_write,J:_duckdb_web_fs_get_default_data_protocol,z:_duckdb_web_fs_glob,f:_duckdb_web_test_platform_feature,L:_duckdb_web_udf_scalar_call,r:_emscripten_date_now,s:_emscripten_get_heap_max,k:_emscripten_get_now,da:_emscripten_memcpy_js,ea:_emscripten_resize_heap,C:_environ_get,K:_environ_sizes_get,b:_fd_close,ca:_fd_fdstat_get,x:_fd_pread,w:_fd_pwrite,n:_fd_read,y:_fd_seek,O:_fd_sync,e:_fd_write,m:_getaddrinfo,M:_getentropy,W:_getnameinfo,t:_strftime_l};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports[\"ga\"])();var _main=Module[\"_main\"]=(a0,a1)=>(_main=Module[\"_main\"]=wasmExports[\"ha\"])(a0,a1);var _duckdb_web_fs_glob_add_path=Module[\"_duckdb_web_fs_glob_add_path\"]=a0=>(_duckdb_web_fs_glob_add_path=Module[\"_duckdb_web_fs_glob_add_path\"]=wasmExports[\"ja\"])(a0);var _duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=()=>(_duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=wasmExports[\"ka\"])();var _duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=a0=>(_duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=wasmExports[\"la\"])(a0);var _duckdb_web_reset=Module[\"_duckdb_web_reset\"]=a0=>(_duckdb_web_reset=Module[\"_duckdb_web_reset\"]=wasmExports[\"ma\"])(a0);var _duckdb_web_connect=Module[\"_duckdb_web_connect\"]=()=>(_duckdb_web_connect=Module[\"_duckdb_web_connect\"]=wasmExports[\"na\"])();var _duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=a0=>(_duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=wasmExports[\"oa\"])(a0);var _duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=()=>(_duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=wasmExports[\"pa\"])();var _duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=a0=>(_duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=wasmExports[\"qa\"])(a0);var _duckdb_web_open=Module[\"_duckdb_web_open\"]=(a0,a1)=>(_duckdb_web_open=Module[\"_duckdb_web_open\"]=wasmExports[\"ra\"])(a0,a1);var _duckdb_web_get_global_file_info=Module[\"_duckdb_web_get_global_file_info\"]=(a0,a1)=>(_duckdb_web_get_global_file_info=Module[\"_duckdb_web_get_global_file_info\"]=wasmExports[\"sa\"])(a0,a1);var _duckdb_web_collect_file_stats=Module[\"_duckdb_web_collect_file_stats\"]=(a0,a1,a2)=>(_duckdb_web_collect_file_stats=Module[\"_duckdb_web_collect_file_stats\"]=wasmExports[\"ta\"])(a0,a1,a2);var _duckdb_web_export_file_stats=Module[\"_duckdb_web_export_file_stats\"]=(a0,a1)=>(_duckdb_web_export_file_stats=Module[\"_duckdb_web_export_file_stats\"]=wasmExports[\"ua\"])(a0,a1);var _duckdb_web_fs_drop_file=Module[\"_duckdb_web_fs_drop_file\"]=(a0,a1)=>(_duckdb_web_fs_drop_file=Module[\"_duckdb_web_fs_drop_file\"]=wasmExports[\"va\"])(a0,a1);var _duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=a0=>(_duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=wasmExports[\"wa\"])(a0);var _duckdb_web_fs_glob_file_infos=Module[\"_duckdb_web_fs_glob_file_infos\"]=(a0,a1)=>(_duckdb_web_fs_glob_file_infos=Module[\"_duckdb_web_fs_glob_file_infos\"]=wasmExports[\"xa\"])(a0,a1);var _duckdb_web_fs_get_file_info_by_id=Module[\"_duckdb_web_fs_get_file_info_by_id\"]=(a0,a1,a2)=>(_duckdb_web_fs_get_file_info_by_id=Module[\"_duckdb_web_fs_get_file_info_by_id\"]=wasmExports[\"ya\"])(a0,a1,a2);var _duckdb_web_fs_get_file_info_by_name=Module[\"_duckdb_web_fs_get_file_info_by_name\"]=(a0,a1,a2)=>(_duckdb_web_fs_get_file_info_by_name=Module[\"_duckdb_web_fs_get_file_info_by_name\"]=wasmExports[\"za\"])(a0,a1,a2);var _duckdb_web_fs_register_file_url=Module[\"_duckdb_web_fs_register_file_url\"]=(a0,a1,a2,a3,a4)=>(_duckdb_web_fs_register_file_url=Module[\"_duckdb_web_fs_register_file_url\"]=wasmExports[\"Aa\"])(a0,a1,a2,a3,a4);var _duckdb_web_fs_register_file_buffer=Module[\"_duckdb_web_fs_register_file_buffer\"]=(a0,a1,a2,a3)=>(_duckdb_web_fs_register_file_buffer=Module[\"_duckdb_web_fs_register_file_buffer\"]=wasmExports[\"Ba\"])(a0,a1,a2,a3);var _duckdb_web_copy_file_to_buffer=Module[\"_duckdb_web_copy_file_to_buffer\"]=(a0,a1)=>(_duckdb_web_copy_file_to_buffer=Module[\"_duckdb_web_copy_file_to_buffer\"]=wasmExports[\"Ca\"])(a0,a1);var _duckdb_web_copy_file_to_path=Module[\"_duckdb_web_copy_file_to_path\"]=(a0,a1,a2)=>(_duckdb_web_copy_file_to_path=Module[\"_duckdb_web_copy_file_to_path\"]=wasmExports[\"Da\"])(a0,a1,a2);var _duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=a0=>(_duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=wasmExports[\"Ea\"])(a0);var _duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=()=>(_duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=wasmExports[\"Fa\"])();var _duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=(a0,a1)=>(_duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=wasmExports[\"Ga\"])(a0,a1);var _duckdb_web_udf_scalar_create=Module[\"_duckdb_web_udf_scalar_create\"]=(a0,a1,a2)=>(_duckdb_web_udf_scalar_create=Module[\"_duckdb_web_udf_scalar_create\"]=wasmExports[\"Ha\"])(a0,a1,a2);var _duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=(a0,a1,a2)=>(_duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=wasmExports[\"Ia\"])(a0,a1,a2);var _duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=(a0,a1,a2)=>(_duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=wasmExports[\"Ja\"])(a0,a1,a2);var _duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=(a0,a1,a2,a3)=>(_duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=wasmExports[\"Ka\"])(a0,a1,a2,a3);var _duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=(a0,a1,a2,a3)=>(_duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=wasmExports[\"La\"])(a0,a1,a2,a3);var _duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=(a0,a1,a2)=>(_duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=wasmExports[\"Ma\"])(a0,a1,a2);var _duckdb_web_pending_query_start=Module[\"_duckdb_web_pending_query_start\"]=(a0,a1,a2)=>(_duckdb_web_pending_query_start=Module[\"_duckdb_web_pending_query_start\"]=wasmExports[\"Na\"])(a0,a1,a2);var _duckdb_web_pending_query_poll=Module[\"_duckdb_web_pending_query_poll\"]=(a0,a1,a2)=>(_duckdb_web_pending_query_poll=Module[\"_duckdb_web_pending_query_poll\"]=wasmExports[\"Oa\"])(a0,a1,a2);var _duckdb_web_pending_query_cancel=Module[\"_duckdb_web_pending_query_cancel\"]=(a0,a1)=>(_duckdb_web_pending_query_cancel=Module[\"_duckdb_web_pending_query_cancel\"]=wasmExports[\"Pa\"])(a0,a1);var _duckdb_web_query_fetch_results=Module[\"_duckdb_web_query_fetch_results\"]=(a0,a1)=>(_duckdb_web_query_fetch_results=Module[\"_duckdb_web_query_fetch_results\"]=wasmExports[\"Qa\"])(a0,a1);var _duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=(a0,a1,a2)=>(_duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=wasmExports[\"Ra\"])(a0,a1,a2);var _duckdb_web_insert_arrow_from_ipc_stream=Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"]=(a0,a1,a2,a3,a4)=>(_duckdb_web_insert_arrow_from_ipc_stream=Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"]=wasmExports[\"Sa\"])(a0,a1,a2,a3,a4);var _duckdb_web_insert_csv_from_path=Module[\"_duckdb_web_insert_csv_from_path\"]=(a0,a1,a2,a3)=>(_duckdb_web_insert_csv_from_path=Module[\"_duckdb_web_insert_csv_from_path\"]=wasmExports[\"Ta\"])(a0,a1,a2,a3);var _duckdb_web_insert_json_from_path=Module[\"_duckdb_web_insert_json_from_path\"]=(a0,a1,a2,a3)=>(_duckdb_web_insert_json_from_path=Module[\"_duckdb_web_insert_json_from_path\"]=wasmExports[\"Ua\"])(a0,a1,a2,a3);var ___errno_location=()=>(___errno_location=wasmExports[\"__errno_location\"])();var _htonl=a0=>(_htonl=wasmExports[\"Va\"])(a0);var _htons=a0=>(_htons=wasmExports[\"Wa\"])(a0);var _ntohs=a0=>(_ntohs=wasmExports[\"Xa\"])(a0);var _malloc=Module[\"_malloc\"]=a0=>(_malloc=Module[\"_malloc\"]=wasmExports[\"Ya\"])(a0);var _free=Module[\"_free\"]=a0=>(_free=Module[\"_free\"]=wasmExports[\"Za\"])(a0);var ___trap=()=>(___trap=wasmExports[\"_a\"])();var stackSave=()=>(stackSave=wasmExports[\"$a\"])();var stackRestore=a0=>(stackRestore=wasmExports[\"ab\"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports[\"bb\"])(a0);function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_p=f=>()=>f()>>>0;var makeWrapper_pp=f=>a0=>f(a0)>>>0;wasmExports[\"__errno_location\"]=makeWrapper_p(wasmExports[\"__errno_location\"]);wasmExports[\"Ya\"]=makeWrapper_pp(wasmExports[\"Ya\"]);wasmExports[\"$a\"]=makeWrapper_p(wasmExports[\"$a\"]);wasmExports[\"bb\"]=makeWrapper_pp(wasmExports[\"bb\"]);return wasmExports}Module[\"stackAlloc\"]=stackAlloc;Module[\"stackSave\"]=stackSave;Module[\"stackRestore\"]=stackRestore;Module[\"ccall\"]=ccall;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}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();preMain();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(shouldRunNow)callMain();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()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"])shouldRunNow=false;run();\n\n\n return moduleArg.ready\n}\n\n);\n})();\nif (typeof exports === 'object' && typeof module === 'object')\n module.exports = DuckDB;\nelse if (typeof define === 'function' && define['amd'])\n define([], () => DuckDB);\n", "/**\n * [js-sha256]{@link https://github.com/emn178/js-sha256}\n *\n * @version 0.9.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var ERROR = 'input is invalid type';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA256_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA256_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [-2147483648, 8388608, 32768, 128];\n var SHIFT = [24, 16, 8, 0];\n var K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n ];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];\n\n var blocks = [];\n\n if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function (outputType, is224) {\n return function (message) {\n return new Sha256(is224, true).update(message)[outputType]();\n };\n };\n\n var createMethod = function (is224) {\n var method = createOutputMethod('hex', is224);\n if (NODE_JS) {\n method = nodeWrap(method, is224);\n }\n method.create = function () {\n return new Sha256(is224);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type, is224);\n }\n return method;\n };\n\n var nodeWrap = function (method, is224) {\n var crypto = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var algorithm = is224 ? 'sha224' : 'sha256';\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash(algorithm).update(message, 'utf8').digest('hex');\n } else {\n if (message === null || message === undefined) {\n throw new Error(ERROR);\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n }\n }\n if (Array.isArray(message) || ArrayBuffer.isView(message) ||\n message.constructor === Buffer) {\n return crypto.createHash(algorithm).update(new Buffer(message)).digest('hex');\n } else {\n return method(message);\n }\n };\n return nodeMethod;\n };\n\n var createHmacOutputMethod = function (outputType, is224) {\n return function (key, message) {\n return new HmacSha256(key, is224, true).update(message)[outputType]();\n };\n };\n\n var createHmacMethod = function (is224) {\n var method = createHmacOutputMethod('hex', is224);\n method.create = function (key) {\n return new HmacSha256(key, is224);\n };\n method.update = function (key, message) {\n return method.create(key).update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createHmacOutputMethod(type, is224);\n }\n return method;\n };\n\n function Sha256(is224, sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n if (is224) {\n this.h0 = 0xc1059ed8;\n this.h1 = 0x367cd507;\n this.h2 = 0x3070dd17;\n this.h3 = 0xf70e5939;\n this.h4 = 0xffc00b31;\n this.h5 = 0x68581511;\n this.h6 = 0x64f98fa7;\n this.h7 = 0xbefa4fa4;\n } else { // 256\n this.h0 = 0x6a09e667;\n this.h1 = 0xbb67ae85;\n this.h2 = 0x3c6ef372;\n this.h3 = 0xa54ff53a;\n this.h4 = 0x510e527f;\n this.h5 = 0x9b05688c;\n this.h6 = 0x1f83d9ab;\n this.h7 = 0x5be0cd19;\n }\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n this.is224 = is224;\n }\n\n Sha256.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n notString = true;\n }\n var code, index = 0, i, length = message.length, blocks = this.blocks;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if (notString) {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.block = blocks[16];\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Sha256.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[16] = this.block;\n blocks[i >> 2] |= EXTRA[i & 3];\n this.block = blocks[16];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.hBytes << 3 | this.bytes >>> 29;\n blocks[15] = this.bytes << 3;\n this.hash();\n };\n\n Sha256.prototype.hash = function () {\n var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6,\n h = this.h7, blocks = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc;\n\n for (j = 16; j < 64; ++j) {\n // rightrotate\n t1 = blocks[j - 15];\n s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);\n t1 = blocks[j - 2];\n s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);\n blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;\n }\n\n bc = b & c;\n for (j = 0; j < 64; j += 4) {\n if (this.first) {\n if (this.is224) {\n ab = 300032;\n t1 = blocks[0] - 1413257819;\n h = t1 - 150054599 << 0;\n d = t1 + 24177077 << 0;\n } else {\n ab = 704751109;\n t1 = blocks[0] - 210244248;\n h = t1 - 1521486534 << 0;\n d = t1 + 143694565 << 0;\n }\n this.first = false;\n } else {\n s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10));\n s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7));\n ab = a & b;\n maj = ab ^ (a & c) ^ bc;\n ch = (e & f) ^ (~e & g);\n t1 = h + s1 + ch + K[j] + blocks[j];\n t2 = s0 + maj;\n h = d + t1 << 0;\n d = t1 + t2 << 0;\n }\n s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10));\n s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7));\n da = d & a;\n maj = da ^ (d & b) ^ ab;\n ch = (h & e) ^ (~h & f);\n t1 = g + s1 + ch + K[j + 1] + blocks[j + 1];\n t2 = s0 + maj;\n g = c + t1 << 0;\n c = t1 + t2 << 0;\n s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10));\n s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7));\n cd = c & d;\n maj = cd ^ (c & a) ^ da;\n ch = (g & h) ^ (~g & e);\n t1 = f + s1 + ch + K[j + 2] + blocks[j + 2];\n t2 = s0 + maj;\n f = b + t1 << 0;\n b = t1 + t2 << 0;\n s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10));\n s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7));\n bc = b & c;\n maj = bc ^ (b & d) ^ cd;\n ch = (f & g) ^ (~f & h);\n t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];\n t2 = s0 + maj;\n e = a + t1 << 0;\n a = t1 + t2 << 0;\n }\n\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n this.h4 = this.h4 + e << 0;\n this.h5 = this.h5 + f << 0;\n this.h6 = this.h6 + g << 0;\n this.h7 = this.h7 + h << 0;\n };\n\n Sha256.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,\n h6 = this.h6, h7 = this.h7;\n\n var hex = HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +\n HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +\n HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +\n HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +\n HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +\n HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +\n HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +\n HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +\n HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +\n HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] +\n HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +\n HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +\n HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] +\n HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] +\n HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] +\n HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F] +\n HEX_CHARS[(h5 >> 28) & 0x0F] + HEX_CHARS[(h5 >> 24) & 0x0F] +\n HEX_CHARS[(h5 >> 20) & 0x0F] + HEX_CHARS[(h5 >> 16) & 0x0F] +\n HEX_CHARS[(h5 >> 12) & 0x0F] + HEX_CHARS[(h5 >> 8) & 0x0F] +\n HEX_CHARS[(h5 >> 4) & 0x0F] + HEX_CHARS[h5 & 0x0F] +\n HEX_CHARS[(h6 >> 28) & 0x0F] + HEX_CHARS[(h6 >> 24) & 0x0F] +\n HEX_CHARS[(h6 >> 20) & 0x0F] + HEX_CHARS[(h6 >> 16) & 0x0F] +\n HEX_CHARS[(h6 >> 12) & 0x0F] + HEX_CHARS[(h6 >> 8) & 0x0F] +\n HEX_CHARS[(h6 >> 4) & 0x0F] + HEX_CHARS[h6 & 0x0F];\n if (!this.is224) {\n hex += HEX_CHARS[(h7 >> 28) & 0x0F] + HEX_CHARS[(h7 >> 24) & 0x0F] +\n HEX_CHARS[(h7 >> 20) & 0x0F] + HEX_CHARS[(h7 >> 16) & 0x0F] +\n HEX_CHARS[(h7 >> 12) & 0x0F] + HEX_CHARS[(h7 >> 8) & 0x0F] +\n HEX_CHARS[(h7 >> 4) & 0x0F] + HEX_CHARS[h7 & 0x0F];\n }\n return hex;\n };\n\n Sha256.prototype.toString = Sha256.prototype.hex;\n\n Sha256.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,\n h6 = this.h6, h7 = this.h7;\n\n var arr = [\n (h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF,\n (h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF,\n (h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF,\n (h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF,\n (h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF,\n (h5 >> 24) & 0xFF, (h5 >> 16) & 0xFF, (h5 >> 8) & 0xFF, h5 & 0xFF,\n (h6 >> 24) & 0xFF, (h6 >> 16) & 0xFF, (h6 >> 8) & 0xFF, h6 & 0xFF\n ];\n if (!this.is224) {\n arr.push((h7 >> 24) & 0xFF, (h7 >> 16) & 0xFF, (h7 >> 8) & 0xFF, h7 & 0xFF);\n }\n return arr;\n };\n\n Sha256.prototype.array = Sha256.prototype.digest;\n\n Sha256.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(this.is224 ? 28 : 32);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0);\n dataView.setUint32(4, this.h1);\n dataView.setUint32(8, this.h2);\n dataView.setUint32(12, this.h3);\n dataView.setUint32(16, this.h4);\n dataView.setUint32(20, this.h5);\n dataView.setUint32(24, this.h6);\n if (!this.is224) {\n dataView.setUint32(28, this.h7);\n }\n return buffer;\n };\n\n function HmacSha256(key, is224, sharedMemory) {\n var i, type = typeof key;\n if (type === 'string') {\n var bytes = [], length = key.length, index = 0, code;\n for (i = 0; i < length; ++i) {\n code = key.charCodeAt(i);\n if (code < 0x80) {\n bytes[index++] = code;\n } else if (code < 0x800) {\n bytes[index++] = (0xc0 | (code >> 6));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes[index++] = (0xe0 | (code >> 12));\n bytes[index++] = (0x80 | ((code >> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));\n bytes[index++] = (0xf0 | (code >> 18));\n bytes[index++] = (0x80 | ((code >> 12) & 0x3f));\n bytes[index++] = (0x80 | ((code >> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n }\n }\n key = bytes;\n } else {\n if (type === 'object') {\n if (key === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {\n key = new Uint8Array(key);\n } else if (!Array.isArray(key)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n }\n\n if (key.length > 64) {\n key = (new Sha256(is224, true)).update(key).array();\n }\n\n var oKeyPad = [], iKeyPad = [];\n for (i = 0; i < 64; ++i) {\n var b = key[i] || 0;\n oKeyPad[i] = 0x5c ^ b;\n iKeyPad[i] = 0x36 ^ b;\n }\n\n Sha256.call(this, is224, sharedMemory);\n\n this.update(iKeyPad);\n this.oKeyPad = oKeyPad;\n this.inner = true;\n this.sharedMemory = sharedMemory;\n }\n HmacSha256.prototype = new Sha256();\n\n HmacSha256.prototype.finalize = function () {\n Sha256.prototype.finalize.call(this);\n if (this.inner) {\n this.inner = false;\n var innerHash = this.array();\n Sha256.call(this, this.is224, this.sharedMemory);\n this.update(this.oKeyPad);\n this.update(innerHash);\n Sha256.prototype.finalize.call(this);\n }\n };\n\n var exports = createMethod();\n exports.sha256 = exports;\n exports.sha224 = createMethod(true);\n exports.sha256.hmac = createHmacMethod();\n exports.sha224.hmac = createHmacMethod(true);\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.sha256 = exports.sha256;\n root.sha224 = exports.sha224;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n", "import { AsyncDuckDBDispatcher, WorkerResponseVariant, WorkerRequestVariant } from '../parallel';\nimport { DuckDB } from '../bindings/bindings_browser_eh';\nimport { DuckDBBindings } from '../bindings';\nimport { BROWSER_RUNTIME } from '../bindings/runtime_browser';\nimport { InstantiationProgress } from '../bindings/progress';\n\n/** The duckdb worker API for web workers */\nclass WebWorker extends AsyncDuckDBDispatcher {\n /** Post a response back to the main thread */\n protected postMessage(response: WorkerResponseVariant, transfer: ArrayBuffer[]) {\n globalThis.postMessage(response, transfer);\n }\n\n /** Instantiate the wasm module */\n protected async instantiate(\n mainModuleURL: string,\n pthreadWorkerURL: string | null,\n progress: (p: InstantiationProgress) => void,\n ): Promise<DuckDBBindings> {\n const bindings = new DuckDB(this, BROWSER_RUNTIME, mainModuleURL, pthreadWorkerURL);\n return await bindings.instantiate(progress);\n }\n}\n\n/** Register the worker */\nexport function registerWorker(): void {\n const api = new WebWorker();\n globalThis.onmessage = async (event: MessageEvent<WorkerRequestVariant>) => {\n await api.onMessage(event.data);\n };\n}\n\nregisterWorker();\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "export const int32 = new Int32Array(2);\nexport const float32 = new Float32Array(int32.buffer);\nexport const float64 = new Float64Array(int32.buffer);\nexport const isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\n", "export var Encoding;\n(function (Encoding) {\n Encoding[Encoding[\"UTF8_BYTES\"] = 1] = \"UTF8_BYTES\";\n Encoding[Encoding[\"UTF16_STRING\"] = 2] = \"UTF16_STRING\";\n})(Encoding || (Encoding = {}));\n", "import { FILE_IDENTIFIER_LENGTH, SIZEOF_INT } from \"./constants.js\";\nimport { int32, isLittleEndian, float32, float64 } from \"./utils.js\";\nimport { Encoding } from \"./encoding.js\";\nexport class ByteBuffer {\n /**\n * Create a new ByteBuffer with a given array of bytes (`Uint8Array`)\n */\n constructor(bytes_) {\n this.bytes_ = bytes_;\n this.position_ = 0;\n this.text_decoder_ = new TextDecoder();\n }\n /**\n * Create and allocate a new ByteBuffer with a given size.\n */\n static allocate(byte_size) {\n return new ByteBuffer(new Uint8Array(byte_size));\n }\n clear() {\n this.position_ = 0;\n }\n /**\n * Get the underlying `Uint8Array`.\n */\n bytes() {\n return this.bytes_;\n }\n /**\n * Get the buffer's position.\n */\n position() {\n return this.position_;\n }\n /**\n * Set the buffer's position.\n */\n setPosition(position) {\n this.position_ = position;\n }\n /**\n * Get the buffer's capacity.\n */\n capacity() {\n return this.bytes_.length;\n }\n readInt8(offset) {\n return this.readUint8(offset) << 24 >> 24;\n }\n readUint8(offset) {\n return this.bytes_[offset];\n }\n readInt16(offset) {\n return this.readUint16(offset) << 16 >> 16;\n }\n readUint16(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8;\n }\n readInt32(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8 | this.bytes_[offset + 2] << 16 | this.bytes_[offset + 3] << 24;\n }\n readUint32(offset) {\n return this.readInt32(offset) >>> 0;\n }\n readInt64(offset) {\n return BigInt.asIntN(64, BigInt(this.readUint32(offset)) + (BigInt(this.readUint32(offset + 4)) << BigInt(32)));\n }\n readUint64(offset) {\n return BigInt.asUintN(64, BigInt(this.readUint32(offset)) + (BigInt(this.readUint32(offset + 4)) << BigInt(32)));\n }\n readFloat32(offset) {\n int32[0] = this.readInt32(offset);\n return float32[0];\n }\n readFloat64(offset) {\n int32[isLittleEndian ? 0 : 1] = this.readInt32(offset);\n int32[isLittleEndian ? 1 : 0] = this.readInt32(offset + 4);\n return float64[0];\n }\n writeInt8(offset, value) {\n this.bytes_[offset] = value;\n }\n writeUint8(offset, value) {\n this.bytes_[offset] = value;\n }\n writeInt16(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n }\n writeUint16(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n }\n writeInt32(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n }\n writeUint32(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n }\n writeInt64(offset, value) {\n this.writeInt32(offset, Number(BigInt.asIntN(32, value)));\n this.writeInt32(offset + 4, Number(BigInt.asIntN(32, value >> BigInt(32))));\n }\n writeUint64(offset, value) {\n this.writeUint32(offset, Number(BigInt.asUintN(32, value)));\n this.writeUint32(offset + 4, Number(BigInt.asUintN(32, value >> BigInt(32))));\n }\n writeFloat32(offset, value) {\n float32[0] = value;\n this.writeInt32(offset, int32[0]);\n }\n writeFloat64(offset, value) {\n float64[0] = value;\n this.writeInt32(offset, int32[isLittleEndian ? 0 : 1]);\n this.writeInt32(offset + 4, int32[isLittleEndian ? 1 : 0]);\n }\n /**\n * Return the file identifier. Behavior is undefined for FlatBuffers whose\n * schema does not include a file_identifier (likely points at padding or the\n * start of a the root vtable).\n */\n getBufferIdentifier() {\n if (this.bytes_.length < this.position_ + SIZEOF_INT +\n FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: ByteBuffer is too short to contain an identifier.');\n }\n let result = \"\";\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\n result += String.fromCharCode(this.readInt8(this.position_ + SIZEOF_INT + i));\n }\n return result;\n }\n /**\n * Look up a field in the vtable, return an offset into the object, or 0 if the\n * field is not present.\n */\n __offset(bb_pos, vtable_offset) {\n const vtable = bb_pos - this.readInt32(bb_pos);\n return vtable_offset < this.readInt16(vtable) ? this.readInt16(vtable + vtable_offset) : 0;\n }\n /**\n * Initialize any Table-derived type to point to the union at the given offset.\n */\n __union(t, offset) {\n t.bb_pos = offset + this.readInt32(offset);\n t.bb = this;\n return t;\n }\n /**\n * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer.\n * This allocates a new string and converts to wide chars upon each access.\n *\n * To avoid the conversion to string, pass Encoding.UTF8_BYTES as the\n * \"optionalEncoding\" argument. This is useful for avoiding conversion when\n * the data will just be packaged back up in another FlatBuffer later on.\n *\n * @param offset\n * @param opt_encoding Defaults to UTF16_STRING\n */\n __string(offset, opt_encoding) {\n offset += this.readInt32(offset);\n const length = this.readInt32(offset);\n offset += SIZEOF_INT;\n const utf8bytes = this.bytes_.subarray(offset, offset + length);\n if (opt_encoding === Encoding.UTF8_BYTES)\n return utf8bytes;\n else\n return this.text_decoder_.decode(utf8bytes);\n }\n /**\n * Handle unions that can contain string as its member, if a Table-derived type then initialize it,\n * if a string then return a new one\n *\n * WARNING: strings are immutable in JS so we can't change the string that the user gave us, this\n * makes the behaviour of __union_with_string different compared to __union\n */\n __union_with_string(o, offset) {\n if (typeof o === 'string') {\n return this.__string(offset);\n }\n return this.__union(o, offset);\n }\n /**\n * Retrieve the relative offset stored at \"offset\"\n */\n __indirect(offset) {\n return offset + this.readInt32(offset);\n }\n /**\n * Get the start of data of a vector whose offset is stored at \"offset\" in this object.\n */\n __vector(offset) {\n return offset + this.readInt32(offset) + SIZEOF_INT; // data starts after the length\n }\n /**\n * Get the length of a vector whose offset is stored at \"offset\" in this object.\n */\n __vector_len(offset) {\n return this.readInt32(offset + this.readInt32(offset));\n }\n __has_identifier(ident) {\n if (ident.length != FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: file identifier must be length ' +\n FILE_IDENTIFIER_LENGTH);\n }\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\n if (ident.charCodeAt(i) != this.readInt8(this.position() + SIZEOF_INT + i)) {\n return false;\n }\n }\n return true;\n }\n /**\n * A helper function for generating list for obj api\n */\n createScalarList(listAccessor, listLength) {\n const ret = [];\n for (let i = 0; i < listLength; ++i) {\n const val = listAccessor(i);\n if (val !== null) {\n ret.push(val);\n }\n }\n return ret;\n }\n /**\n * A helper function for generating list for obj api\n * @param listAccessor function that accepts an index and return data at that index\n * @param listLength listLength\n * @param res result list\n */\n createObjList(listAccessor, listLength) {\n const ret = [];\n for (let i = 0; i < listLength; ++i) {\n const val = listAccessor(i);\n if (val !== null) {\n ret.push(val.unpack());\n }\n }\n return ret;\n }\n}\n", "import { ByteBuffer } from \"./byte-buffer.js\";\nimport { SIZEOF_SHORT, SIZE_PREFIX_LENGTH, SIZEOF_INT, FILE_IDENTIFIER_LENGTH } from \"./constants.js\";\nexport class Builder {\n /**\n * Create a FlatBufferBuilder.\n */\n constructor(opt_initial_size) {\n /** Minimum alignment encountered so far. */\n this.minalign = 1;\n /** The vtable for the current table. */\n this.vtable = null;\n /** The amount of fields we're actually using. */\n this.vtable_in_use = 0;\n /** Whether we are currently serializing a table. */\n this.isNested = false;\n /** Starting offset of the current struct/table. */\n this.object_start = 0;\n /** List of offsets of all vtables. */\n this.vtables = [];\n /** For the current vector being built. */\n this.vector_num_elems = 0;\n /** False omits default values from the serialized data */\n this.force_defaults = false;\n this.string_maps = null;\n this.text_encoder = new TextEncoder();\n let initial_size;\n if (!opt_initial_size) {\n initial_size = 1024;\n }\n else {\n initial_size = opt_initial_size;\n }\n /**\n * @type {ByteBuffer}\n * @private\n */\n this.bb = ByteBuffer.allocate(initial_size);\n this.space = initial_size;\n }\n clear() {\n this.bb.clear();\n this.space = this.bb.capacity();\n this.minalign = 1;\n this.vtable = null;\n this.vtable_in_use = 0;\n this.isNested = false;\n this.object_start = 0;\n this.vtables = [];\n this.vector_num_elems = 0;\n this.force_defaults = false;\n this.string_maps = null;\n }\n /**\n * In order to save space, fields that are set to their default value\n * don't get serialized into the buffer. Forcing defaults provides a\n * way to manually disable this optimization.\n *\n * @param forceDefaults true always serializes default values\n */\n forceDefaults(forceDefaults) {\n this.force_defaults = forceDefaults;\n }\n /**\n * Get the ByteBuffer representing the FlatBuffer. Only call this after you've\n * called finish(). The actual data starts at the ByteBuffer's current position,\n * not necessarily at 0.\n */\n dataBuffer() {\n return this.bb;\n }\n /**\n * Get the bytes representing the FlatBuffer. Only call this after you've\n * called finish().\n */\n asUint8Array() {\n return this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset());\n }\n /**\n * Prepare to write an element of `size` after `additional_bytes` have been\n * written, e.g. if you write a string, you need to align such the int length\n * field is aligned to 4 bytes, and the string data follows it directly. If all\n * you need to do is alignment, `additional_bytes` will be 0.\n *\n * @param size This is the of the new element to write\n * @param additional_bytes The padding size\n */\n prep(size, additional_bytes) {\n // Track the biggest thing we've ever aligned to.\n if (size > this.minalign) {\n this.minalign = size;\n }\n // Find the amount of alignment needed such that `size` is properly\n // aligned after `additional_bytes`\n const align_size = ((~(this.bb.capacity() - this.space + additional_bytes)) + 1) & (size - 1);\n // Reallocate the buffer if needed.\n while (this.space < align_size + size + additional_bytes) {\n const old_buf_size = this.bb.capacity();\n this.bb = Builder.growByteBuffer(this.bb);\n this.space += this.bb.capacity() - old_buf_size;\n }\n this.pad(align_size);\n }\n pad(byte_size) {\n for (let i = 0; i < byte_size; i++) {\n this.bb.writeInt8(--this.space, 0);\n }\n }\n writeInt8(value) {\n this.bb.writeInt8(this.space -= 1, value);\n }\n writeInt16(value) {\n this.bb.writeInt16(this.space -= 2, value);\n }\n writeInt32(value) {\n this.bb.writeInt32(this.space -= 4, value);\n }\n writeInt64(value) {\n this.bb.writeInt64(this.space -= 8, value);\n }\n writeFloat32(value) {\n this.bb.writeFloat32(this.space -= 4, value);\n }\n writeFloat64(value) {\n this.bb.writeFloat64(this.space -= 8, value);\n }\n /**\n * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int8` to add the buffer.\n */\n addInt8(value) {\n this.prep(1, 0);\n this.writeInt8(value);\n }\n /**\n * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int16` to add the buffer.\n */\n addInt16(value) {\n this.prep(2, 0);\n this.writeInt16(value);\n }\n /**\n * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int32` to add the buffer.\n */\n addInt32(value) {\n this.prep(4, 0);\n this.writeInt32(value);\n }\n /**\n * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int64` to add the buffer.\n */\n addInt64(value) {\n this.prep(8, 0);\n this.writeInt64(value);\n }\n /**\n * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `float32` to add the buffer.\n */\n addFloat32(value) {\n this.prep(4, 0);\n this.writeFloat32(value);\n }\n /**\n * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `float64` to add the buffer.\n */\n addFloat64(value) {\n this.prep(8, 0);\n this.writeFloat64(value);\n }\n addFieldInt8(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt8(value);\n this.slot(voffset);\n }\n }\n addFieldInt16(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt16(value);\n this.slot(voffset);\n }\n }\n addFieldInt32(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt32(value);\n this.slot(voffset);\n }\n }\n addFieldInt64(voffset, value, defaultValue) {\n if (this.force_defaults || value !== defaultValue) {\n this.addInt64(value);\n this.slot(voffset);\n }\n }\n addFieldFloat32(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat32(value);\n this.slot(voffset);\n }\n }\n addFieldFloat64(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat64(value);\n this.slot(voffset);\n }\n }\n addFieldOffset(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addOffset(value);\n this.slot(voffset);\n }\n }\n /**\n * Structs are stored inline, so nothing additional is being added. `d` is always 0.\n */\n addFieldStruct(voffset, value, defaultValue) {\n if (value != defaultValue) {\n this.nested(value);\n this.slot(voffset);\n }\n }\n /**\n * Structures are always stored inline, they need to be created right\n * where they're used. You'll get this assertion failure if you\n * created it elsewhere.\n */\n nested(obj) {\n if (obj != this.offset()) {\n throw new TypeError('FlatBuffers: struct must be serialized inline.');\n }\n }\n /**\n * Should not be creating any other object, string or vector\n * while an object is being constructed\n */\n notNested() {\n if (this.isNested) {\n throw new TypeError('FlatBuffers: object serialization must not be nested.');\n }\n }\n /**\n * Set the current vtable at `voffset` to the current location in the buffer.\n */\n slot(voffset) {\n if (this.vtable !== null)\n this.vtable[voffset] = this.offset();\n }\n /**\n * @returns Offset relative to the end of the buffer.\n */\n offset() {\n return this.bb.capacity() - this.space;\n }\n /**\n * Doubles the size of the backing ByteBuffer and copies the old data towards\n * the end of the new buffer (since we build the buffer backwards).\n *\n * @param bb The current buffer with the existing data\n * @returns A new byte buffer with the old data copied\n * to it. The data is located at the end of the buffer.\n *\n * uint8Array.set() formally takes {Array<number>|ArrayBufferView}, so to pass\n * it a uint8Array we need to suppress the type check:\n * @suppress {checkTypes}\n */\n static growByteBuffer(bb) {\n const old_buf_size = bb.capacity();\n // Ensure we don't grow beyond what fits in an int.\n if (old_buf_size & 0xC0000000) {\n throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.');\n }\n const new_buf_size = old_buf_size << 1;\n const nbb = ByteBuffer.allocate(new_buf_size);\n nbb.setPosition(new_buf_size - old_buf_size);\n nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size);\n return nbb;\n }\n /**\n * Adds on offset, relative to where it will be written.\n *\n * @param offset The offset to add.\n */\n addOffset(offset) {\n this.prep(SIZEOF_INT, 0); // Ensure alignment is already done.\n this.writeInt32(this.offset() - offset + SIZEOF_INT);\n }\n /**\n * Start encoding a new object in the buffer. Users will not usually need to\n * call this directly. The FlatBuffers compiler will generate helper methods\n * that call this method internally.\n */\n startObject(numfields) {\n this.notNested();\n if (this.vtable == null) {\n this.vtable = [];\n }\n this.vtable_in_use = numfields;\n for (let i = 0; i < numfields; i++) {\n this.vtable[i] = 0; // This will push additional elements as needed\n }\n this.isNested = true;\n this.object_start = this.offset();\n }\n /**\n * Finish off writing the object that is under construction.\n *\n * @returns The offset to the object inside `dataBuffer`\n */\n endObject() {\n if (this.vtable == null || !this.isNested) {\n throw new Error('FlatBuffers: endObject called without startObject');\n }\n this.addInt32(0);\n const vtableloc = this.offset();\n // Trim trailing zeroes.\n let i = this.vtable_in_use - 1;\n // eslint-disable-next-line no-empty\n for (; i >= 0 && this.vtable[i] == 0; i--) { }\n const trimmed_size = i + 1;\n // Write out the current vtable.\n for (; i >= 0; i--) {\n // Offset relative to the start of the table.\n this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0);\n }\n const standard_fields = 2; // The fields below:\n this.addInt16(vtableloc - this.object_start);\n const len = (trimmed_size + standard_fields) * SIZEOF_SHORT;\n this.addInt16(len);\n // Search for an existing vtable that matches the current one.\n let existing_vtable = 0;\n const vt1 = this.space;\n outer_loop: for (i = 0; i < this.vtables.length; i++) {\n const vt2 = this.bb.capacity() - this.vtables[i];\n if (len == this.bb.readInt16(vt2)) {\n for (let j = SIZEOF_SHORT; j < len; j += SIZEOF_SHORT) {\n if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) {\n continue outer_loop;\n }\n }\n existing_vtable = this.vtables[i];\n break;\n }\n }\n if (existing_vtable) {\n // Found a match:\n // Remove the current vtable.\n this.space = this.bb.capacity() - vtableloc;\n // Point table to existing vtable.\n this.bb.writeInt32(this.space, existing_vtable - vtableloc);\n }\n else {\n // No match:\n // Add the location of the current vtable to the list of vtables.\n this.vtables.push(this.offset());\n // Point table to current vtable.\n this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc);\n }\n this.isNested = false;\n return vtableloc;\n }\n /**\n * Finalize a buffer, poiting to the given `root_table`.\n */\n finish(root_table, opt_file_identifier, opt_size_prefix) {\n const size_prefix = opt_size_prefix ? SIZE_PREFIX_LENGTH : 0;\n if (opt_file_identifier) {\n const file_identifier = opt_file_identifier;\n this.prep(this.minalign, SIZEOF_INT +\n FILE_IDENTIFIER_LENGTH + size_prefix);\n if (file_identifier.length != FILE_IDENTIFIER_LENGTH) {\n throw new TypeError('FlatBuffers: file identifier must be length ' +\n FILE_IDENTIFIER_LENGTH);\n }\n for (let i = FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) {\n this.writeInt8(file_identifier.charCodeAt(i));\n }\n }\n this.prep(this.minalign, SIZEOF_INT + size_prefix);\n this.addOffset(root_table);\n if (size_prefix) {\n this.addInt32(this.bb.capacity() - this.space);\n }\n this.bb.setPosition(this.space);\n }\n /**\n * Finalize a size prefixed buffer, pointing to the given `root_table`.\n */\n finishSizePrefixed(root_table, opt_file_identifier) {\n this.finish(root_table, opt_file_identifier, true);\n }\n /**\n * This checks a required field has been set in a given table that has\n * just been constructed.\n */\n requiredField(table, field) {\n const table_start = this.bb.capacity() - table;\n const vtable_start = table_start - this.bb.readInt32(table_start);\n const ok = field < this.bb.readInt16(vtable_start) &&\n this.bb.readInt16(vtable_start + field) != 0;\n // If this fails, the caller will show what field needs to be set.\n if (!ok) {\n throw new TypeError('FlatBuffers: field ' + field + ' must be set');\n }\n }\n /**\n * Start a new array/vector of objects. Users usually will not call\n * this directly. The FlatBuffers compiler will create a start/end\n * method for vector types in generated code.\n *\n * @param elem_size The size of each element in the array\n * @param num_elems The number of elements in the array\n * @param alignment The alignment of the array\n */\n startVector(elem_size, num_elems, alignment) {\n this.notNested();\n this.vector_num_elems = num_elems;\n this.prep(SIZEOF_INT, elem_size * num_elems);\n this.prep(alignment, elem_size * num_elems); // Just in case alignment > int.\n }\n /**\n * Finish off the creation of an array and all its elements. The array must be\n * created with `startVector`.\n *\n * @returns The offset at which the newly created array\n * starts.\n */\n endVector() {\n this.writeInt32(this.vector_num_elems);\n return this.offset();\n }\n /**\n * Encode the string `s` in the buffer using UTF-8. If the string passed has\n * already been seen, we return the offset of the already written string\n *\n * @param s The string to encode\n * @return The offset in the buffer where the encoded string starts\n */\n createSharedString(s) {\n if (!s) {\n return 0;\n }\n if (!this.string_maps) {\n this.string_maps = new Map();\n }\n if (this.string_maps.has(s)) {\n return this.string_maps.get(s);\n }\n const offset = this.createString(s);\n this.string_maps.set(s, offset);\n return offset;\n }\n /**\n * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed\n * instead of a string, it is assumed to contain valid UTF-8 encoded data.\n *\n * @param s The string to encode\n * @return The offset in the buffer where the encoded string starts\n */\n createString(s) {\n if (s === null || s === undefined) {\n return 0;\n }\n let utf8;\n if (s instanceof Uint8Array) {\n utf8 = s;\n }\n else {\n utf8 = this.text_encoder.encode(s);\n }\n this.addInt8(0);\n this.startVector(1, utf8.length, 1);\n this.bb.setPosition(this.space -= utf8.length);\n for (let i = 0, offset = this.space, bytes = this.bb.bytes(); i < utf8.length; i++) {\n bytes[offset++] = utf8[i];\n }\n return this.endVector();\n }\n /**\n * A helper function to pack an object\n *\n * @returns offset of obj\n */\n createObjectOffset(obj) {\n if (obj === null) {\n return 0;\n }\n if (typeof obj === 'string') {\n return this.createString(obj);\n }\n else {\n return obj.pack(this);\n }\n }\n /**\n * A helper function to pack a list of object\n *\n * @returns list of offsets of each non null object\n */\n createObjectOffsetList(list) {\n const ret = [];\n for (let i = 0; i < list.length; ++i) {\n const val = list[i];\n if (val !== null) {\n ret.push(this.createObjectOffset(val));\n }\n else {\n throw new TypeError('FlatBuffers: Argument for createObjectOffsetList cannot contain null.');\n }\n }\n return ret;\n }\n createStructOffsetList(list, startFunc) {\n startFunc(this, list.length);\n this.createObjectOffsetList(list.slice().reverse());\n return this.endVector();\n }\n}\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "import * as arrow from 'apache-arrow';\n\nexport interface SQLType {\n /// The sql type\n sqlType: string;\n /// Is nullable?\n nullable?: boolean;\n /// Decimal precision\n precision?: number;\n /// Decimal scaling\n scale?: number;\n /// Timezone\n timezone?: string;\n /// Byte width (FixedSizeBinary)\n byteWidth?: number;\n /// Key type\n keyType?: SQLType;\n /// Value type\n valueType?: SQLType;\n /// Fields\n fields?: SQLField[];\n}\n\nexport function arrowToSQLType(type: arrow.DataType): SQLType {\n switch (type.typeId) {\n case arrow.Type.Binary:\n return { sqlType: 'binary' };\n case arrow.Type.Bool:\n return { sqlType: 'bool' };\n case arrow.Type.Date:\n return { sqlType: 'date' };\n case arrow.Type.DateDay:\n return { sqlType: 'date32[d]' };\n case arrow.Type.DateMillisecond:\n return { sqlType: 'date64[ms]' };\n case arrow.Type.Decimal: {\n const dec = type as arrow.Decimal;\n return { sqlType: 'decimal', precision: dec.precision, scale: dec.scale };\n }\n case arrow.Type.Float:\n return { sqlType: 'float' };\n case arrow.Type.Float16:\n return { sqlType: 'float16' };\n case arrow.Type.Float32:\n return { sqlType: 'float32' };\n case arrow.Type.Float64:\n return { sqlType: 'float64' };\n case arrow.Type.Int:\n return { sqlType: 'int32' };\n case arrow.Type.Int16:\n return { sqlType: 'int16' };\n case arrow.Type.Int32:\n return { sqlType: 'int32' };\n case arrow.Type.Int64:\n return { sqlType: 'int64' };\n case arrow.Type.Uint16:\n return { sqlType: 'uint16' };\n case arrow.Type.Uint32:\n return { sqlType: 'uint32' };\n case arrow.Type.Uint64:\n return { sqlType: 'uint64' };\n case arrow.Type.Uint8:\n return { sqlType: 'uint8' };\n case arrow.Type.IntervalDayTime:\n return { sqlType: 'interval[dt]' };\n case arrow.Type.IntervalYearMonth:\n return { sqlType: 'interval[m]' };\n case arrow.Type.List: {\n const list = type as arrow.List;\n return {\n sqlType: 'list',\n valueType: arrowToSQLType(list.valueType),\n };\n }\n case arrow.Type.FixedSizeBinary: {\n const bin = type as arrow.FixedSizeBinary;\n return { sqlType: 'fixedsizebinary', byteWidth: bin.byteWidth };\n }\n case arrow.Type.Null:\n return { sqlType: 'null' };\n case arrow.Type.Utf8:\n return { sqlType: 'utf8' };\n case arrow.Type.Struct: {\n const struct_ = type as arrow.Struct;\n return {\n sqlType: 'struct',\n fields: struct_.children.map(c => arrowToSQLField(c.name, c.type)),\n };\n }\n case arrow.Type.Map: {\n const map_ = type as arrow.Map_;\n return {\n sqlType: 'map',\n keyType: arrowToSQLType(map_.keyType),\n valueType: arrowToSQLType(map_.valueType),\n };\n }\n case arrow.Type.Time:\n return { sqlType: 'time[s]' };\n case arrow.Type.TimeMicrosecond:\n return { sqlType: 'time[us]' };\n case arrow.Type.TimeMillisecond:\n return { sqlType: 'time[ms]' };\n case arrow.Type.TimeNanosecond:\n return { sqlType: 'time[ns]' };\n case arrow.Type.TimeSecond:\n return { sqlType: 'time[s]' };\n case arrow.Type.Timestamp: {\n const ts = type as arrow.Timestamp;\n return { sqlType: 'timestamp', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampSecond: {\n const ts = type as arrow.TimestampSecond;\n return { sqlType: 'timestamp[s]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampMicrosecond: {\n const ts = type as arrow.TimestampMicrosecond;\n return { sqlType: 'timestamp[us]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampNanosecond: {\n const ts = type as arrow.TimestampNanosecond;\n return { sqlType: 'timestamp[ns]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampMillisecond: {\n const ts = type as arrow.TimestampMillisecond;\n return { sqlType: 'timestamp[ms]', timezone: ts.timezone || undefined };\n }\n }\n throw new Error(`unsupported arrow type: ${type.toString()}`);\n}\n\nexport type SQLField = SQLType & { name: string };\n\nexport function arrowToSQLField(name: string, type: arrow.DataType): SQLField {\n const t = arrowToSQLType(type) as SQLField;\n t.name = name;\n return t;\n}\n", "import { DuckDBBindings } from '../bindings';\nimport { WorkerResponseVariant, WorkerRequestVariant, WorkerRequestType, WorkerResponseType } from './worker_request';\nimport { Logger, LogEntryVariant } from '../log';\nimport { InstantiationProgress } from '../bindings/progress';\n\nexport abstract class AsyncDuckDBDispatcher implements Logger {\n /** The bindings */\n protected _bindings: DuckDBBindings | null = null;\n /** The next message id */\n protected _nextMessageId = 0;\n\n /** Instantiate the wasm module */\n protected abstract instantiate(\n mainModule: string,\n pthreadWorker: string | null,\n progress: (p: InstantiationProgress) => void,\n ): Promise<DuckDBBindings>;\n /** Post a response to the main thread */\n protected abstract postMessage(response: WorkerResponseVariant, transfer: ArrayBuffer[]): void;\n\n /** Send log entry to the main thread */\n public log(entry: LogEntryVariant): void {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: 0,\n type: WorkerResponseType.LOG,\n data: entry,\n },\n [],\n );\n }\n\n /** Send plain OK without further data */\n protected sendOK(request: WorkerRequestVariant): void {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.OK,\n data: null,\n },\n [],\n );\n }\n\n /** Fail with an error */\n protected failWith(request: WorkerRequestVariant, e: Error): void {\n // Workaround for Firefox not being able to perform structured-clone on Native Errors\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1556604\n const obj: any = {\n name: e.name,\n message: e.message,\n stack: e.stack || undefined,\n };\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.ERROR,\n data: obj,\n },\n [],\n );\n return;\n }\n\n /** Process a request from the main thread */\n public async onMessage(request: WorkerRequestVariant): Promise<void> {\n // First process those requests that don't need bindings\n switch (request.type) {\n case WorkerRequestType.PING:\n this.sendOK(request);\n return;\n case WorkerRequestType.INSTANTIATE:\n if (this._bindings != null) {\n this.failWith(request, new Error('duckdb already initialized'));\n }\n try {\n this._bindings = await this.instantiate(request.data[0], request.data[1], p => {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.INSTANTIATE_PROGRESS,\n data: p,\n },\n [],\n );\n });\n this.sendOK(request);\n } catch (e: any) {\n console.log(e);\n this._bindings = null;\n this.failWith(request, e);\n }\n return;\n default:\n break;\n }\n\n // Bindings not initialized?\n if (!this._bindings) {\n return this.failWith(request, new Error('duckdb is not initialized'));\n }\n\n // Catch every exception and forward it as error message to the main thread\n try {\n switch (request.type) {\n case WorkerRequestType.GET_VERSION:\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.VERSION_STRING,\n data: this._bindings.getVersion(),\n },\n [],\n );\n break;\n case WorkerRequestType.GET_FEATURE_FLAGS:\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FEATURE_FLAGS,\n data: this._bindings.getFeatureFlags(),\n },\n [],\n );\n break;\n case WorkerRequestType.RESET:\n this._bindings.reset();\n this.sendOK(request);\n break;\n\n case WorkerRequestType.OPEN:\n this._bindings.open(request.data);\n this.sendOK(request);\n break;\n case WorkerRequestType.DROP_FILE:\n this._bindings.dropFile(request.data);\n this.sendOK(request);\n break;\n case WorkerRequestType.DROP_FILES:\n this._bindings.dropFiles();\n this.sendOK(request);\n break;\n case WorkerRequestType.FLUSH_FILES:\n this._bindings.flushFiles();\n this.sendOK(request);\n break;\n case WorkerRequestType.CONNECT: {\n const conn = this._bindings.connect();\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.CONNECTION_INFO,\n data: conn.useUnsafe((_, c) => c),\n },\n [],\n );\n break;\n }\n case WorkerRequestType.DISCONNECT:\n this._bindings.disconnect(request.data);\n this.sendOK(request);\n break;\n case WorkerRequestType.CREATE_PREPARED: {\n const result = this._bindings.createPrepared(request.data[0], request.data[1]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.PREPARED_STATEMENT_ID,\n data: result,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.CLOSE_PREPARED: {\n this._bindings.closePrepared(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.RUN_PREPARED: {\n const result = this._bindings.runPrepared(request.data[0], request.data[1], request.data[2]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.RUN_QUERY: {\n const result = this._bindings.runQuery(request.data[0], request.data[1]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.SEND_PREPARED: {\n const result = this._bindings.sendPrepared(request.data[0], request.data[1], request.data[2]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_HEADER,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.START_PENDING_QUERY: {\n const result = this._bindings.startPendingQuery(request.data[0], request.data[1]);\n const transfer = [];\n if (result) {\n transfer.push(result.buffer);\n }\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_HEADER_OR_NULL,\n data: result,\n },\n transfer,\n );\n break;\n }\n case WorkerRequestType.POLL_PENDING_QUERY: {\n const result = this._bindings.pollPendingQuery(request.data);\n const transfer = [];\n if (result) {\n transfer.push(result.buffer);\n }\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_HEADER_OR_NULL,\n data: result,\n },\n transfer,\n );\n break;\n }\n case WorkerRequestType.CANCEL_PENDING_QUERY: {\n const result = this._bindings.cancelPendingQuery(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.SUCCESS,\n data: result,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.FETCH_QUERY_RESULTS: {\n const result = this._bindings.fetchQueryResults(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_CHUNK,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.GET_TABLE_NAMES: {\n const result = this._bindings.getTableNames(request.data[0], request.data[1]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.TABLE_NAMES,\n data: result,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.GLOB_FILE_INFOS: {\n const infos = this._bindings.globFiles(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FILE_INFOS,\n data: infos,\n },\n [],\n );\n break;\n }\n\n case WorkerRequestType.REGISTER_FILE_URL:\n this._bindings.registerFileURL(request.data[0], request.data[1], request.data[2], request.data[3]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.REGISTER_FILE_BUFFER:\n this._bindings.registerFileBuffer(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.REGISTER_FILE_HANDLE:\n this._bindings.registerFileHandle(\n request.data[0],\n request.data[1],\n request.data[2],\n request.data[3],\n );\n this.sendOK(request);\n break;\n\n case WorkerRequestType.COPY_FILE_TO_PATH:\n this._bindings.copyFileToPath(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.COPY_FILE_TO_BUFFER: {\n const buffer = this._bindings.copyFileToBuffer(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FILE_BUFFER,\n data: buffer,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.COLLECT_FILE_STATISTICS:\n this._bindings.collectFileStatistics(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.EXPORT_FILE_STATISTICS: {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FILE_STATISTICS,\n data: this._bindings.exportFileStatistics(request.data),\n },\n [],\n );\n break;\n }\n case WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM: {\n this._bindings.insertArrowFromIPCStream(request.data[0], request.data[1], request.data[2]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.INSERT_CSV_FROM_PATH: {\n this._bindings.insertCSVFromPath(request.data[0], request.data[1], request.data[2]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.INSERT_JSON_FROM_PATH: {\n this._bindings.insertJSONFromPath(request.data[0], request.data[1], request.data[2]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.TOKENIZE: {\n const result = this._bindings.tokenize(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.SCRIPT_TOKENS,\n data: result,\n },\n [],\n );\n break;\n }\n }\n } catch (e: any) {\n console.log(e);\n return this.failWith(request, e);\n }\n }\n}\n", "import DuckDBWasm from './duckdb-eh.js';\nimport { DuckDBBrowserBindings } from './bindings_browser_base';\nimport { DuckDBModule } from './duckdb_module';\nimport { DuckDBRuntime } from './runtime';\nimport { Logger } from '../log';\n\n/** DuckDB bindings for the browser */\nexport class DuckDB extends DuckDBBrowserBindings {\n /** Constructor */\n public constructor(\n logger: Logger,\n runtime: DuckDBRuntime,\n mainModuleURL: string,\n pthreadWorkerURL: string | null = null,\n ) {\n super(logger, runtime, mainModuleURL, pthreadWorkerURL);\n }\n\n /** Instantiate the bindings */\n protected instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule> {\n return DuckDBWasm({\n ...moduleOverrides,\n instantiateWasm: this.instantiateWasm.bind(this),\n locateFile: this.locateFile.bind(this),\n });\n }\n}\n\nexport default DuckDB;\n", "import * as arrow from 'apache-arrow';\nimport { DuckDBBindings } from './bindings_interface';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from './insert_options';\n\n/** A thin helper to bind the connection id and talk record batches */\nexport class DuckDBConnection {\n /** The bindings */\n protected _bindings: DuckDBBindings;\n /** The connection handle */\n protected _conn: number;\n\n /** Constructor */\n constructor(bindings: DuckDBBindings, conn: number) {\n this._bindings = bindings;\n this._conn = conn;\n }\n\n /** Close a connection */\n public close(): void {\n this._bindings.disconnect(this._conn);\n }\n\n /** Brave souls may use this function to consume the underlying connection id */\n public useUnsafe<R>(callback: (bindings: DuckDBBindings, conn: number) => R) {\n return callback(this._bindings, this._conn);\n }\n\n /** Run a query */\n public query<T extends { [key: string]: arrow.DataType } = any>(text: string): arrow.Table<T> {\n const buffer = this._bindings.runQuery(this._conn, text);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return new arrow.Table(reader);\n }\n\n /** Send a query */\n public async send<T extends { [key: string]: arrow.DataType } = any>(\n text: string,\n ): Promise<arrow.RecordBatchStreamReader<T>> {\n let header = this._bindings.startPendingQuery(this._conn, text);\n while (header == null) {\n header = await new Promise((resolve, reject) => {\n try {\n resolve(this._bindings.pollPendingQuery(this._conn));\n } catch (e: any) {\n console.log(e);\n reject(e);\n }\n });\n }\n const iter = new ResultStreamIterator(this._bindings, this._conn, header);\n const reader = arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isSync());\n console.assert(reader.isStream());\n return reader;\n }\n\n /** Cancel a query that was sent earlier */\n public cancelSent(): boolean {\n return this._bindings.cancelPendingQuery(this._conn);\n }\n\n /** Get table names */\n public getTableNames(query: string): string[] {\n return this._bindings.getTableNames(this._conn, query);\n }\n\n /** Create a prepared statement */\n public prepare<T extends { [key: string]: arrow.DataType } = any>(text: string): PreparedStatement {\n const stmt = this._bindings.createPrepared(this._conn, text);\n return new PreparedStatement<T>(this._bindings, this._conn, stmt);\n }\n\n /** Create a scalar function */\n public createScalarFunction(name: string, returns: arrow.DataType, func: (...args: any[]) => void): void {\n this._bindings.createScalarFunction(this._conn, name, returns, func);\n }\n\n /** Insert an arrow table */\n public insertArrowTable(table: arrow.Table, options: ArrowInsertOptions): void {\n\tconst buffer = arrow.tableToIPC(table, 'stream');\n this.insertArrowFromIPCStream(buffer, options);\n }\n /** Insert an arrow table from an ipc stream */\n public insertArrowFromIPCStream(buffer: Uint8Array, options: ArrowInsertOptions): void {\n this._bindings.insertArrowFromIPCStream(this._conn, buffer, options);\n }\n\n /** Inesrt csv file from path */\n public insertCSVFromPath(path: string, options: CSVInsertOptions): void {\n this._bindings.insertCSVFromPath(this._conn, path, options);\n }\n /** Insert json file from path */\n public insertJSONFromPath(path: string, options: JSONInsertOptions): void {\n this._bindings.insertJSONFromPath(this._conn, path, options);\n }\n}\n\n/** A result stream iterator */\nexport class ResultStreamIterator implements Iterable<Uint8Array> {\n /** First chunk? */\n _first: boolean;\n /** Reached end of stream? */\n _depleted: boolean;\n\n constructor(protected bindings: DuckDBBindings, protected conn: number, protected header: Uint8Array) {\n this._first = true;\n this._depleted = false;\n }\n\n next(): IteratorResult<Uint8Array> {\n if (this._first) {\n this._first = false;\n return { done: false, value: this.header };\n }\n if (this._depleted) {\n return { done: true, value: null };\n }\n const bufferI8 = this.bindings.fetchQueryResults(this.conn);\n this._depleted = bufferI8.length == 0;\n return {\n done: this._depleted,\n value: bufferI8,\n };\n }\n\n [Symbol.iterator]() {\n return this;\n }\n}\n\n/** A thin helper to bind the prepared statement id*/\nexport class PreparedStatement<T extends { [key: string]: arrow.DataType } = any> {\n /** The bindings */\n protected readonly bindings: DuckDBBindings;\n /** The connection id */\n protected readonly connectionId: number;\n /** The statement id */\n protected readonly statementId: number;\n\n /** Constructor */\n constructor(bindings: DuckDBBindings, connectionId: number, statementId: number) {\n this.bindings = bindings;\n this.connectionId = connectionId;\n this.statementId = statementId;\n }\n\n /** Close a prepared statement */\n public close() {\n this.bindings.closePrepared(this.connectionId, this.statementId);\n }\n\n /** Run a prepared statement */\n public query(...params: any[]): arrow.Table<T> {\n const buffer = this.bindings.runPrepared(this.connectionId, this.statementId, params);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return new arrow.Table(reader as arrow.RecordBatchFileReader);\n }\n\n /** Send a prepared statement */\n public send(...params: any[]): arrow.RecordBatchStreamReader<T> {\n const header = this.bindings.sendPrepared(this.connectionId, this.statementId, params);\n const iter = new ResultStreamIterator(this.bindings, this.connectionId, header);\n const reader = arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isSync());\n console.assert(reader.isStream());\n return reader as arrow.RecordBatchStreamReader;\n }\n}\n", "import { DuckDBRuntime } from './runtime';\nimport { DuckDBModule } from './duckdb_module';\n\nconst TEXT_ENCODER = new TextEncoder();\nconst TEXT_DECODER = new TextDecoder('utf-8');\n\nfunction storeError(mod: DuckDBModule, response: number, message: string) {\n const msgBuffer = TEXT_ENCODER.encode(message);\n const heapAddr = mod._malloc(msgBuffer.byteLength);\n const heapArray = mod.HEAPU8.subarray(heapAddr, heapAddr + msgBuffer.byteLength);\n heapArray.set(msgBuffer);\n mod.HEAPF64[(response >> 3) + 0] = 1;\n mod.HEAPF64[(response >> 3) + 1] = heapAddr;\n mod.HEAPF64[(response >> 3) + 2] = heapArray.byteLength;\n}\n\nfunction getTypeSize(ptype: string) {\n switch (ptype) {\n case 'UINT8':\n case 'INT8':\n return 1;\n case 'INT32':\n case 'FLOAT':\n return 4;\n case 'INT64':\n case 'UINT64':\n case 'DOUBLE':\n case 'VARCHAR':\n return 8;\n default:\n return 0;\n }\n}\n\nfunction ptrToArray(mod: DuckDBModule, ptr: number, ptype: string, n: number) {\n const heap = mod.HEAPU8.subarray(ptr, ptr + n * getTypeSize(ptype));\n switch (ptype) {\n case 'UINT8':\n return new Uint8Array(heap.buffer, heap.byteOffset, n);\n case 'INT8':\n return new Int8Array(heap.buffer, heap.byteOffset, n);\n case 'INT32':\n return new Int32Array(heap.buffer, heap.byteOffset, n);\n case 'FLOAT':\n return new Float32Array(heap.buffer, heap.byteOffset, n);\n case 'DOUBLE':\n return new Float64Array(heap.buffer, heap.byteOffset, n);\n case 'VARCHAR':\n return new Float64Array(heap.buffer, heap.byteOffset, n);\n default:\n return new Array<string | undefined | null>(0); // cough\n }\n}\n\nfunction ptrToUint8Array(mod: DuckDBModule, ptr: number, n: number) {\n const heap = mod.HEAPU8.subarray(ptr, ptr + n);\n return new Uint8Array(heap.buffer, heap.byteOffset, n);\n}\nfunction ptrToFloat64Array(mod: DuckDBModule, ptr: number, n: number) {\n const heap = mod.HEAPU8.subarray(ptr, ptr + n * 8);\n return new Float64Array(heap.buffer, heap.byteOffset, n);\n}\n\ninterface ArgumentTypeDescription {\n name?: string;\n sqlType: string;\n physicalType: string;\n validityBuffer?: number;\n dataBuffer?: number;\n lengthBuffer?: number;\n children?: ArgumentTypeDescription[];\n}\n\ninterface ReturnTypeDescription {\n sqlType: string;\n physicalType: string;\n}\n\ninterface SchemaDescription {\n rows: number;\n args: ArgumentTypeDescription[];\n ret: ReturnTypeDescription;\n}\n\ntype ArgumentResolver = (row: number) => any | null;\n\n// this is called from webdb.cc/CallScalarUDFFunction, changes here need to be matched there\nexport function callScalarUDF(\n runtime: DuckDBRuntime,\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n) {\n try {\n const udf = runtime._udfFunctions.get(funcId);\n if (!udf) {\n storeError(mod, response, 'Unknown UDF with id: ' + funcId);\n return;\n }\n const rawDesc = TEXT_DECODER.decode(mod.HEAPU8.subarray(descPtr, descPtr + descSize));\n const desc = JSON.parse(rawDesc) as SchemaDescription;\n const ptrs = ptrToFloat64Array(mod, ptrsPtr, ptrsSize / 8);\n\n const buildResolver = (arg: ArgumentTypeDescription): ArgumentResolver => {\n let validity: Uint8Array | null = null;\n if (arg.validityBuffer !== undefined) {\n validity = ptrToUint8Array(mod, ptrs[arg.validityBuffer] as number, desc.rows);\n }\n switch (arg.physicalType) {\n case 'VARCHAR': {\n if (arg.dataBuffer === null || arg.dataBuffer === undefined) {\n throw new Error('malformed data view, expected data buffer for VARCHAR argument');\n }\n if (arg.lengthBuffer === null || arg.lengthBuffer === undefined) {\n throw new Error('malformed data view, expected data length buffer for VARCHAR argument');\n }\n const raw = ptrToArray(mod, ptrs[arg.dataBuffer] as number, arg.physicalType, desc.rows);\n const strings: (string | null)[] = [];\n const stringLengths = ptrToFloat64Array(mod, ptrs[arg.lengthBuffer] as number, desc.rows);\n for (let j = 0; j < desc.rows; ++j) {\n if (validity != null && !validity[j]) {\n strings.push(null);\n continue;\n }\n const subarray = mod.HEAPU8.subarray(\n raw[j] as number,\n (raw[j] as number) + (stringLengths[j] as number),\n );\n const str = TEXT_DECODER.decode(subarray);\n strings.push(str);\n }\n return (row: number) => strings[row];\n }\n case 'STRUCT': {\n const tmp: any = {};\n const children: ArgumentResolver[] = [];\n for (let j = 0; j < (arg.children?.length || 0); ++j) {\n const attr = arg.children![j];\n const child = buildResolver(attr);\n children.push((row: number) => {\n tmp[attr.name!] = child(row);\n });\n }\n if (validity != null) {\n return (row: number) => {\n if (!validity![row]) {\n return null;\n }\n for (const resolver of children) {\n resolver(row);\n }\n return tmp;\n };\n } else {\n return (row: number) => {\n for (const resolver of children) {\n resolver(row);\n }\n return tmp;\n };\n }\n }\n default: {\n if (arg.dataBuffer === undefined) {\n throw new Error(\n 'malformed data view, expected data buffer for argument of type: ' + arg.physicalType,\n );\n }\n const data = ptrToArray(mod, ptrs[arg.dataBuffer] as number, arg.physicalType, desc.rows);\n if (validity != null) {\n return (row: number) => (!validity![row] ? null : data[row]);\n } else {\n return (row: number) => data[row];\n }\n }\n }\n };\n\n // Translate argument data\n const argResolvers = [];\n for (let i = 0; i < desc.args.length; ++i) {\n argResolvers.push(buildResolver(desc.args[i]));\n }\n\n // Prepare result buffers\n // TODO: we probably do not want to recreate those every time\n const resultDataLen = desc.rows * getTypeSize(desc.ret.physicalType);\n const resultDataPtr = mod._malloc(resultDataLen);\n const resultData = ptrToArray(mod, resultDataPtr, desc.ret.physicalType, desc.rows);\n const resultValidityPtr = mod._malloc(desc.rows);\n const resultValidity = ptrToUint8Array(mod, resultValidityPtr, desc.rows);\n if (resultData.length == 0 || resultValidity.length == 0) {\n storeError(mod, response, \"Can't create physical arrays for result\");\n return;\n }\n let rawResultData = resultData;\n if (desc.ret.physicalType == 'VARCHAR') {\n rawResultData = new Array<string | undefined | null>(desc.rows);\n }\n\n // Call the function\n const args = [];\n for (let i = 0; i < desc.args.length; ++i) {\n args.push(null);\n }\n for (let i = 0; i < desc.rows; ++i) {\n for (let j = 0; j < desc.args.length; ++j) {\n args[j] = argResolvers[j](i);\n }\n const res = udf.func(...args);\n rawResultData[i] = res;\n resultValidity[i] = res === undefined || res === null ? 0 : 1;\n }\n\n // Encode return values\n let resultLengthsPtr = 0;\n switch (desc.ret.physicalType) {\n case 'VARCHAR': {\n // Allocate result buffers\n const resultDataUTF8 = new Array<Uint8Array>(0); // cough\n resultLengthsPtr = mod._malloc(desc.rows * getTypeSize('DOUBLE'));\n const resultLengths = ptrToFloat64Array(mod, resultLengthsPtr, desc.rows);\n\n // TODO: We need two loops to figure out the total length but maybe we can avoid the double allocation\n let totalLength = 0;\n for (let row = 0; row < desc.rows; ++row) {\n const utf8 = TEXT_ENCODER.encode((rawResultData as (string | null | undefined)[])[row] || '');\n resultDataUTF8.push(utf8);\n resultLengths[row] = utf8.length;\n totalLength += utf8.length;\n }\n\n // We malloc a buffer for the strings to live in for now\n const resultStringPtr = mod._malloc(totalLength);\n const resultStringBuf = mod.HEAPU8.subarray(resultStringPtr, resultStringPtr + totalLength);\n\n // Now copy all the strings to the new buffer back to back\n let writerOffset = 0;\n for (let row = 0; row < desc.rows; ++row) {\n resultData[row] = writerOffset;\n const resultUTF8 = resultDataUTF8[row];\n const writer = resultStringBuf.subarray(writerOffset, writerOffset + resultUTF8.length);\n writer.set(resultUTF8);\n writerOffset += resultUTF8.length;\n }\n }\n }\n\n // Need to store three pointers, data, validity and length\n const retLen = 3 * 8;\n const retPtr = mod._malloc(retLen);\n const retBuffer = ptrToFloat64Array(mod, retPtr, 3);\n retBuffer[0] = resultDataPtr;\n retBuffer[1] = resultValidityPtr;\n retBuffer[2] = resultLengthsPtr;\n\n // Pack response\n mod.HEAPF64[(response >> 3) + 0] = 0;\n mod.HEAPF64[(response >> 3) + 1] = retPtr;\n mod.HEAPF64[(response >> 3) + 2] = 0;\n } catch (e: any) {\n storeError(mod, response, e.toString());\n }\n}\n", "import { DuckDBModule } from './duckdb_module';\nimport { UDFFunction } from './udf_function';\nimport * as udf_rt from './udf_runtime';\n\n/** Wrapper for TextDecoder to support shared array buffers */\nfunction TextDecoderWrapper(): (input?: BufferSource) => string {\n const decoder = new TextDecoder();\n return (data: any) => {\n if (typeof SharedArrayBuffer !== 'undefined' && data.buffer instanceof SharedArrayBuffer) {\n data = new Uint8Array(data);\n }\n return decoder.decode(data);\n };\n}\n/** Helper to decode text */\nexport const decodeText = TextDecoderWrapper();\n\n/** Copy a buffer */\nexport function failWith(mod: DuckDBModule, msg: string): void {\n console.error(`FAIL WITH: ${msg}`);\n mod.ccall('duckdb_web_fail_with', null, ['string'], [msg]);\n}\n\n/** Copy a buffer */\nexport function copyBuffer(mod: DuckDBModule, begin: number, length: number): Uint8Array {\n const buffer = mod.HEAPU8.subarray(begin, begin + length);\n const copy = new Uint8Array(new ArrayBuffer(buffer.byteLength));\n copy.set(buffer);\n return copy;\n}\n\n/** Decode a string */\nexport function readString(mod: DuckDBModule, begin: number, length: number): string {\n return decodeText(mod.HEAPU8.subarray(begin, begin + length));\n}\n\n/** The data protocol */\nexport enum DuckDBDataProtocol {\n BUFFER = 0,\n NODE_FS = 1,\n BROWSER_FILEREADER = 2,\n BROWSER_FSACCESS = 3,\n HTTP = 4,\n S3 = 5,\n}\n\n/** File flags for opening files*/\nexport enum FileFlags {\n //! Open file with read access\n FILE_FLAGS_READ = 1 << 0,\n //! Open file with write access\n FILE_FLAGS_WRITE = 1 << 1,\n //! Use direct IO when reading/writing to the file\n FILE_FLAGS_DIRECT_IO = 1 << 2,\n //! Create file if not exists, can only be used together with WRITE\n FILE_FLAGS_FILE_CREATE = 1 << 3,\n //! Always create a new file. If a file exists, the file is truncated. Cannot be used together with CREATE.\n FILE_FLAGS_FILE_CREATE_NEW = 1 << 4,\n //! Open file in append mode\n FILE_FLAGS_APPEND = 1 << 5,\n}\n\n/** Configuration for the AWS S3 Filesystem */\nexport interface S3Config {\n region?: string;\n endpoint?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n sessionToken?: string;\n}\n\n/** An info for a file registered with DuckDB */\nexport interface DuckDBFileInfo {\n cacheEpoch: number;\n fileId: number;\n fileName: string;\n dataProtocol: DuckDBDataProtocol;\n dataUrl: string | null;\n allowFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\n/** Global info for all files registered with DuckDB */\nexport interface DuckDBGlobalFileInfo {\n cacheEpoch: number;\n allowFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\n/** Call a function with packed response buffer */\nexport function callSRet(\n mod: DuckDBModule,\n funcName: string,\n argTypes: Array<Emscripten.JSType>,\n args: Array<any>,\n): [number, number, number] {\n const stackPointer = mod.stackSave();\n\n // Allocate the packed response buffer\n const response = mod.stackAlloc(3 * 8);\n argTypes.unshift('number');\n args.unshift(response);\n\n // Do the call\n mod.ccall(funcName, null, argTypes, args);\n\n // Read the response\n const status = mod.HEAPF64[(response >> 3) + 0];\n const data = mod.HEAPF64[(response >> 3) + 1];\n const dataSize = mod.HEAPF64[(response >> 3) + 2];\n\n // Restore the stack\n mod.stackRestore(stackPointer);\n return [status, data, dataSize];\n}\n\n/** Drop response buffers */\nexport function dropResponseBuffers(mod: DuckDBModule): void {\n mod.ccall('duckdb_web_clear_response', null, [], []);\n}\n\n/** The duckdb runtime */\nexport interface DuckDBRuntime {\n _files?: Map<string, any>;\n _udfFunctions: Map<number, UDFFunction>;\n\n // Test a platform feature\n testPlatformFeature(mod: DuckDBModule, feature: number): boolean;\n\n // File APIs with dedicated file identifier\n getDefaultDataProtocol(mod: DuckDBModule): number;\n openFile(mod: DuckDBModule, fileId: number, flags: FileFlags): void;\n syncFile(mod: DuckDBModule, fileId: number): void;\n closeFile(mod: DuckDBModule, fileId: number): void;\n getLastFileModificationTime(mod: DuckDBModule, fileId: number): number;\n truncateFile(mod: DuckDBModule, fileId: number, newSize: number): void;\n readFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;\n writeFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;\n\n // File APIs with path parameter\n removeDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n checkDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n createDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n listDirectoryEntries(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n glob(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n moveFile(mod: DuckDBModule, fromPtr: number, fromLen: number, toPtr: number, toLen: number): void;\n checkFile(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n removeFile(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n\n // Call a scalar UDF function\n callScalarUDF(\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void;\n}\n\nexport const DEFAULT_RUNTIME: DuckDBRuntime = {\n _udfFunctions: new Map(),\n\n testPlatformFeature: (_mod: DuckDBModule, _feature: number): boolean => false,\n getDefaultDataProtocol: (_mod: DuckDBModule): number => DuckDBDataProtocol.BUFFER,\n openFile: (_mod: DuckDBModule, _fileId: number, flags: FileFlags): void => {},\n syncFile: (_mod: DuckDBModule, _fileId: number): void => {},\n closeFile: (_mod: DuckDBModule, _fileId: number): void => {},\n getLastFileModificationTime: (_mod: DuckDBModule, _fileId: number): number => {\n return 0;\n },\n truncateFile: (_mod: DuckDBModule, _fileId: number, _newSize: number): void => {},\n readFile: (_mod: DuckDBModule, _fileId: number, _buffer: number, _bytes: number, _location: number): number => {\n return 0;\n },\n writeFile: (_mod: DuckDBModule, _fileId: number, _buffer: number, _bytes: number, _location: number): number => {\n return 0;\n },\n\n removeDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n checkDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n createDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n listDirectoryEntries: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n glob: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n moveFile: (_mod: DuckDBModule, _fromPtr: number, _fromLen: number, _toPtr: number, _toLen: number): void => {},\n checkFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n removeFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n callScalarUDF: (\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void => {\n udf_rt.callScalarUDF(DEFAULT_RUNTIME, mod, response, funcId, descPtr, descSize, ptrsPtr, ptrsSize);\n },\n};\n", "export interface FileBlockStatistics {\n /** The file reads cold */\n file_reads_cold: number;\n /** The file reads aheads */\n file_reads_ahead: number;\n /** The file reads cached */\n file_reads_cached: number;\n /** The file writes */\n file_writes: number;\n /** The page accesses */\n page_accesses: number;\n /** The page loads */\n page_loads: number;\n}\n\n/** The file block statistics */\nexport class FileStatistics {\n /** The cold file reads */\n public totalFileReadsCold: number;\n /** The file readaheads */\n public totalFileReadsAhead: number;\n /** The cached file reads */\n public totalFileReadsCached: number;\n /** The file writes */\n public totalFileWrites: number;\n /** The page accesses */\n public totalPageAccesses: number;\n /** The page loads */\n public totalPageLoads: number;\n /** The blocks */\n public blockSize: number;\n /** The blocks */\n public blockStats: Uint8Array;\n\n constructor(u8array: Uint8Array) {\n const f64 = new Float64Array(u8array.buffer, u8array.byteOffset, u8array.byteLength / 8);\n const blocks = new Uint8Array(new ArrayBuffer(u8array.byteLength));\n blocks.set(u8array.subarray(7 * 8));\n this.totalFileReadsCold = f64[0];\n this.totalFileReadsAhead = f64[1];\n this.totalFileReadsCached = f64[2];\n this.totalFileWrites = f64[3];\n this.totalPageAccesses = f64[4];\n this.totalPageLoads = f64[5];\n this.blockSize = f64[6];\n this.blockStats = blocks;\n }\n\n /** The block stats */\n public getBlockStats(index: number, out?: FileBlockStatistics): FileBlockStatistics {\n out = out || {\n file_reads_cold: 0,\n file_reads_ahead: 0,\n file_reads_cached: 0,\n file_writes: 0,\n page_accesses: 0,\n page_loads: 0,\n };\n out.file_writes = this.blockStats[index * 3 + 0] & 0b1111;\n out.file_reads_cold = this.blockStats[index * 3 + 0] >> 4;\n out.file_reads_ahead = this.blockStats[index * 3 + 1] & 0b1111;\n out.file_reads_cached = this.blockStats[index * 3 + 1] >> 4;\n out.page_accesses = this.blockStats[index * 3 + 1] & 0b1111;\n out.page_loads = this.blockStats[index * 3 + 1] >> 4;\n return out;\n }\n}\n", "import { DuckDBModule, PThread } from './duckdb_module';\nimport { DuckDBConfig } from './config';\nimport { Logger } from '../log';\nimport { InstantiationProgress } from './progress';\nimport { DuckDBBindings } from './bindings_interface';\nimport { DuckDBConnection } from './connection';\nimport { StatusCode } from '../status';\nimport { dropResponseBuffers, DuckDBRuntime, readString, callSRet, copyBuffer, DuckDBDataProtocol } from './runtime';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from './insert_options';\nimport { ScriptTokens } from './tokens';\nimport { FileStatistics } from './file_stats';\nimport { arrowToSQLField, arrowToSQLType } from '../json_typedef';\nimport { WebFile } from './web_file';\nimport { UDFFunction, UDFFunctionDeclaration } from './udf_function';\nimport * as arrow from 'apache-arrow';\n\nconst TEXT_ENCODER = new TextEncoder();\n\ndeclare global {\n // eslint-disable-next-line no-var\n var DUCKDB_RUNTIME: any;\n}\n\n/** A DuckDB Feature */\nexport enum DuckDBFeature {\n WASM_EXCEPTIONS = 1 << 0,\n WASM_THREADS = 1 << 1,\n WASM_SIMD = 1 << 2,\n WASM_BULK_MEMORY = 1 << 3,\n EMIT_BIGINT = 1 << 4,\n}\n\n/** The proxy for either the browser- order node-based DuckDB API */\nexport abstract class DuckDBBindingsBase implements DuckDBBindings {\n /** The logger */\n protected readonly _logger: Logger;\n /** Backend-dependent native-glue code for DuckDB */\n protected readonly _runtime: DuckDBRuntime;\n /** The instance */\n protected _instance: DuckDBModule | null = null;\n /** The loading promise */\n protected _initPromise: Promise<void> | null = null;\n /** The resolver for the open promise (called by onRuntimeInitialized) */\n protected _initPromiseResolver: () => void = () => {};\n /** The next UDF id */\n protected _nextUDFId: number;\n\n constructor(logger: Logger, runtime: DuckDBRuntime) {\n this._logger = logger;\n this._runtime = runtime;\n this._nextUDFId = 1;\n }\n\n /** Get the logger */\n public get logger(): Logger {\n return this._logger;\n }\n /** Get the instance */\n public get mod(): DuckDBModule {\n return this._instance!;\n }\n /** Get the instance */\n public get pthread(): PThread | null {\n return this.mod.PThread || null;\n }\n\n /** Instantiate the module */\n protected abstract instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule>;\n /** Instantiate the module */\n protected onInstantiationProgress: ((p: InstantiationProgress) => void)[] = [];\n /** Instantiate the database */\n public async instantiate(onProgress: (progress: InstantiationProgress) => void = _ => {}): Promise<this> {\n // Already opened?\n if (this._instance != null) {\n return this;\n }\n // Open in progress?\n if (this._initPromise != null) {\n this.onInstantiationProgress.push(onProgress);\n await this._initPromise;\n }\n // Create a promise that we can await\n this._initPromise = new Promise(resolve => {\n this._initPromiseResolver = resolve;\n });\n // Register progress handler\n this.onInstantiationProgress = [onProgress];\n // Initialize duckdb\n this._instance = await this.instantiateImpl({\n print: console.log.bind(console),\n printErr: console.log.bind(console),\n onRuntimeInitialized: this._initPromiseResolver,\n });\n // Wait for onRuntimeInitialized\n await this._initPromise;\n this._initPromise = null;\n // Remove own progress callback\n this.onInstantiationProgress = this.onInstantiationProgress.filter(x => x != onProgress);\n return this;\n }\n /** Open a database with a config */\n public open(config: DuckDBConfig): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_open', ['string'], [JSON.stringify(config)]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Reset the database */\n public reset(): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_reset', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Get the version */\n public getVersion(): string {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_get_version', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const version = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return version;\n }\n /** Get the feature flags */\n public getFeatureFlags(): number {\n return this.mod.ccall('duckdb_web_get_feature_flags', 'number', [], []);\n }\n\n /** Tokenize a script */\n public tokenize(text: string): ScriptTokens {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_tokenize', ['string'], [text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return JSON.parse(res) as ScriptTokens;\n }\n\n /** Connect to database */\n public connect(): DuckDBConnection {\n const conn = this.mod.ccall('duckdb_web_connect', 'number', [], []);\n return new DuckDBConnection(this, conn);\n }\n /** Disconnect from database */\n public disconnect(conn: number): void {\n this.mod.ccall('duckdb_web_disconnect', null, ['number'], [conn]);\n if (this.pthread) {\n for (const worker of [...this.pthread.runningWorkers, ...this.pthread.unusedWorkers]) {\n worker.postMessage({\n cmd: 'dropUDFFunctions',\n connectionId: conn,\n });\n }\n }\n }\n\n /** Send a query and return the full result */\n public runQuery(conn: number, text: string): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_run', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /**\n * Start a pending query asynchronously.\n * This method returns either the arrow ipc schema or null.\n * On null, the query has to be executed using `pollPendingQuery` until that returns != null.\n * Results can then be fetched using `fetchQueryResults`\n */\n public startPendingQuery(conn: number, text: string): Uint8Array | null {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_pending_query_start', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n if (d == 0) {\n return null;\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Poll a pending query */\n public pollPendingQuery(conn: number): Uint8Array | null {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_pending_query_poll', ['number'], [conn]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n if (d == 0) {\n return null;\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Cancel a pending query */\n public cancelPendingQuery(conn: number): boolean {\n return this.mod.ccall('duckdb_web_pending_query_cancel', 'boolean', ['number'], [conn]);\n }\n /** Fetch query results */\n public fetchQueryResults(conn: number): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_fetch_results', ['number'], [conn]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Get table names */\n public getTableNames(conn: number, text: string): string[] {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_get_tablenames', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return JSON.parse(res) as string[];\n }\n\n /** Create a scalar function */\n public createScalarFunction(\n conn: number,\n name: string,\n returns: arrow.DataType,\n func: (...args: any[]) => void,\n ): void {\n const decl: UDFFunctionDeclaration = {\n functionId: this._nextUDFId,\n name: name,\n returnType: arrowToSQLType(returns),\n };\n const def: UDFFunction = {\n functionId: decl.functionId,\n connectionId: conn,\n name: name,\n returnType: returns,\n func,\n };\n this._nextUDFId += 1;\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_udf_scalar_create',\n ['number', 'string'],\n [conn, JSON.stringify(decl)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n globalThis.DUCKDB_RUNTIME._udfFunctions = (globalThis.DUCKDB_RUNTIME._udfFunctions || new Map()).set(\n def.functionId,\n def,\n );\n if (this.pthread) {\n for (const worker of [...this.pthread.runningWorkers, ...this.pthread.unusedWorkers]) {\n worker.postMessage({\n cmd: 'registerUDFFunction',\n udf: def,\n });\n }\n }\n }\n\n /** Prepare a statement and return its identifier */\n public createPrepared(conn: number, text: string): number {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_prepared_create', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n return d;\n }\n\n /** Close a prepared statement */\n public closePrepared(conn: number, statement: number): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_prepared_close', ['number', 'number'], [conn, statement]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Execute a prepared statement and return the full result */\n public runPrepared(conn: number, statement: number, params: any[]): Uint8Array {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_run',\n ['number', 'number', 'string'],\n [conn, statement, JSON.stringify(params)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n\n /** Execute a prepared statement and stream the result */\n public sendPrepared(conn: number, statement: number, params: any[]): Uint8Array {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_send',\n ['number', 'number', 'string'],\n [conn, statement, JSON.stringify(params)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n\n /** Insert record batches from an arrow ipc stream */\n public insertArrowFromIPCStream(conn: number, buffer: Uint8Array, options?: ArrowInsertOptions): void {\n if (buffer.length == 0) return;\n // Store buffer\n const bufferPtr = this.mod._malloc(buffer.length);\n const bufferOfs = this.mod.HEAPU8.subarray(bufferPtr, bufferPtr + buffer.length);\n bufferOfs.set(buffer);\n const optJSON = options ? JSON.stringify(options) : '';\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_arrow_from_ipc_stream',\n ['number', 'number', 'number', 'string'],\n [conn, bufferPtr, buffer.length, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n\n /** Insert csv from path */\n public insertCSVFromPath(conn: number, path: string, options: CSVInsertOptions): void {\n // Stringify options\n if (options.columns !== undefined) {\n options.columnsFlat = [];\n for (const k in options.columns) {\n options.columnsFlat.push(arrowToSQLField(k, options.columns[k]));\n }\n }\n const opt = { ...options } as any;\n opt.columns = opt.columnsFlat;\n delete opt.columnsFlat;\n const optJSON = JSON.stringify(opt);\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_csv_from_path',\n ['number', 'string', 'string'],\n [conn, path, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Insert json from path */\n public insertJSONFromPath(conn: number, path: string, options: JSONInsertOptions): void {\n // Stringify options\n if (options.columns !== undefined) {\n options.columnsFlat = [];\n for (const k in options.columns) {\n options.columnsFlat.push(arrowToSQLField(k, options.columns[k]));\n }\n }\n const opt = { ...options } as any;\n opt.columns = opt.columnsFlat;\n delete opt.columnsFlat;\n const optJSON = JSON.stringify(opt);\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_json_from_path',\n ['number', 'string', 'string'],\n [conn, path, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Glob file infos */\n public globFiles(path: string): WebFile[] {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_glob_file_infos', ['string'], [path]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const infoStr = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n const info = JSON.parse(infoStr) as WebFile[];\n if (info == null) {\n return [];\n }\n return info;\n }\n /** Register a file object URL */\n public registerFileURL(name: string, url: string, proto: DuckDBDataProtocol, directIO = false): void {\n if (url === undefined) {\n url = name;\n }\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_url',\n ['string', 'string'],\n [name, url, proto, directIO],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Register file text */\n public registerFileText(name: string, text: string): void {\n const buffer = TEXT_ENCODER.encode(text);\n this.registerFileBuffer(name, buffer);\n }\n /** Register a file buffer */\n public registerFileBuffer(name: string, buffer: Uint8Array): void {\n const ptr = this.mod._malloc(buffer.length);\n const dst = this.mod.HEAPU8.subarray(ptr, ptr + buffer.length);\n dst.set(buffer);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_buffer',\n ['string', 'number', 'number'],\n [name, ptr, buffer.length],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Register a file object URL */\n public registerFileHandle<HandleType>(\n name: string,\n handle: HandleType,\n protocol: DuckDBDataProtocol,\n directIO: boolean,\n ): void {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_url',\n ['string', 'string', 'number', 'boolean'],\n [name, name, protocol, directIO],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n globalThis.DUCKDB_RUNTIME._files = (globalThis.DUCKDB_RUNTIME._files || new Map()).set(name, handle);\n if (this.pthread) {\n for (const worker of this.pthread.runningWorkers) {\n worker.postMessage({\n cmd: 'registerFileHandle',\n fileName: name,\n fileHandle: handle,\n });\n }\n for (const worker of this.pthread.unusedWorkers) {\n worker.postMessage({\n cmd: 'dropFileHandle',\n fileName: name,\n });\n }\n }\n }\n /** Drop file */\n public dropFile(name: string): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_drop_file', ['string'], [name]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Drop files */\n public dropFiles(): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_drop_files', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Flush all files */\n public flushFiles(): void {\n this.mod.ccall('duckdb_web_flush_files', null, [], []);\n }\n /** Write a file to a path */\n public copyFileToPath(name: string, path: string): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_copy_file_to_path', ['string', 'string'], [name, path]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Write a file to a buffer */\n public copyFileToBuffer(name: string): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_copy_file_to_buffer', ['string'], [name]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const buffer = this.mod.HEAPU8.subarray(d, d + n);\n const copy = new Uint8Array(buffer.length);\n copy.set(buffer);\n dropResponseBuffers(this.mod);\n return copy;\n }\n\n /** Enable tracking of file statistics */\n public collectFileStatistics(file: string, enable: boolean): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_collect_file_stats', ['string', 'boolean'], [file, enable]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Export file statistics */\n public exportFileStatistics(file: string): FileStatistics {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_export_file_stats', ['string'], [file]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n return new FileStatistics(this.mod.HEAPU8.subarray(d, d + n));\n }\n}\n", "import { DuckDBModule } from './duckdb_module';\nimport { DuckDBBindingsBase } from './bindings_base';\nimport { DuckDBRuntime } from './runtime';\nimport { LogLevel, LogTopic, LogOrigin, LogEvent } from '../log';\nimport { Logger } from '../log';\nimport { InstantiationProgress } from '.';\n\n/** DuckDB bindings for the browser */\nexport abstract class DuckDBBrowserBindings extends DuckDBBindingsBase {\n /** The path of the wasm module */\n protected readonly mainModuleURL: string;\n /** The path of the pthread worker script */\n protected readonly pthreadWorkerURL: string | null;\n\n /** Constructor */\n public constructor(logger: Logger, runtime: DuckDBRuntime, mainModuleURL: string, pthreadWorkerURL: string | null) {\n super(logger, runtime);\n this.mainModuleURL = mainModuleURL;\n this.pthreadWorkerURL = pthreadWorkerURL;\n }\n\n /** Locate a file */\n protected locateFile(path: string, prefix: string): string {\n if (path.endsWith('.wasm')) {\n return this.mainModuleURL;\n }\n if (path.endsWith('.worker.js')) {\n if (!this.pthreadWorkerURL) {\n throw new Error('Missing DuckDB worker URL!');\n }\n return this.pthreadWorkerURL!;\n }\n throw new Error(`WASM instantiation requested unexpected file: prefix=${prefix} path=${path}`);\n }\n\n /** Instantiate the wasm module */\n protected instantiateWasm(\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n imports: any,\n success: (instance: WebAssembly.Instance, module: WebAssembly.Module) => void,\n ): Emscripten.WebAssemblyExports {\n // We rely on the following here:\n //\n // ...when a Request object is created using the Request.Request constructor,\n // the value of the mode property for that Request is set to cors.\n // [ref: MDN]\n //\n // Cloudflare throws when mode: 'cors' is set\n //\n globalThis.DUCKDB_RUNTIME = this._runtime;\n const handlers = this.onInstantiationProgress;\n\n // Does the browser support streaming instantiation?\n if (WebAssembly.instantiateStreaming) {\n // Does the browser support transform streams?\n if (typeof TransformStream === 'function') {\n const fetchWithProgress = async () => {\n // Try to determine file size\n const request = new Request(this.mainModuleURL);\n const response = await fetch(request);\n const contentLengthHdr = response.headers.get('content-length');\n const contentLength = contentLengthHdr ? parseInt(contentLengthHdr, 10) || 0 : 0;\n\n // Transform the stream\n const start = new Date();\n const progress: InstantiationProgress = {\n startedAt: start,\n updatedAt: start,\n bytesTotal: contentLength || 0,\n bytesLoaded: 0,\n };\n const tracker = {\n transform(chunk: any, ctrl: TransformStreamDefaultController) {\n progress.bytesLoaded += chunk.byteLength;\n const now = new Date();\n if (now.getTime() - progress.updatedAt.getTime() < 20) {\n progress.updatedAt = now;\n ctrl.enqueue(chunk);\n return;\n }\n for (const p of handlers) {\n p(progress);\n }\n ctrl.enqueue(chunk);\n },\n };\n const ts = new TransformStream(tracker);\n return new Response(response.body?.pipeThrough(ts), response);\n };\n // Instantiate streaming\n const response = fetchWithProgress();\n WebAssembly.instantiateStreaming(response, imports).then(output => {\n success(output.instance, output.module);\n });\n } else {\n console.warn('instantiating without progress handler since transform streams are unavailable');\n const request = new Request(this.mainModuleURL);\n WebAssembly.instantiateStreaming(fetch(request), imports).then(output => {\n success(output.instance, output.module);\n });\n }\n } else if (typeof XMLHttpRequest == 'function') {\n // Otherwise we fall back to XHRs\n const xhr = new XMLHttpRequest();\n const url = this.mainModuleURL;\n const start = new Date();\n const progress: InstantiationProgress = {\n startedAt: start,\n updatedAt: start,\n bytesTotal: 0,\n bytesLoaded: 0,\n };\n xhr.open('GET', url);\n xhr.responseType = 'arraybuffer';\n xhr.onerror = error => {\n this.logger.log({\n timestamp: new Date(),\n level: LogLevel.ERROR,\n origin: LogOrigin.BINDINGS,\n topic: LogTopic.INSTANTIATE,\n event: LogEvent.ERROR,\n value: 'Failed to load WASM: ' + error,\n });\n throw new Error(error.toString());\n };\n xhr.onprogress = e => {\n progress.bytesTotal = e.total;\n progress.bytesLoaded = e.loaded;\n const now = new Date();\n if (now.getTime() - progress.updatedAt.getTime() < 20) {\n progress.updatedAt = now;\n return;\n }\n for (const p of handlers) {\n p(progress);\n }\n };\n xhr.onload = () => {\n WebAssembly.instantiate(xhr.response, imports)\n .then(output => {\n success(output.instance, output.module);\n })\n .catch(error => {\n this.logger.log({\n timestamp: new Date(),\n level: LogLevel.ERROR,\n origin: LogOrigin.BINDINGS,\n topic: LogTopic.INSTANTIATE,\n event: LogEvent.ERROR,\n value: 'Failed to instantiate WASM: ' + error,\n });\n throw new Error(error);\n });\n };\n xhr.send();\n } else {\n console.warn('instantiating with manual fetch since streaming instantiation and xhrs are unavailable');\n const run = async () => {\n const request = new Request(this.mainModuleURL);\n const response = await fetch(request);\n const buffer = await response.arrayBuffer();\n WebAssembly.instantiate(buffer, imports).then(output => {\n success(output.instance, output.module);\n });\n };\n run();\n }\n return [];\n }\n\n /// Instantiation must be done by the browser variants\n protected abstract instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule>;\n}\n", "import {S3Config} from \"../bindings\";\nimport {sha256} from \"js-sha256\";\n\nexport interface S3Params {\n url: string,\n query: string,\n host: string,\n region: string,\n service: string,\n method: string,\n accessKeyId: string,\n secretAccessKey: string,\n sessionToken: string,\n dateNow: string,\n datetimeNow: string\n}\n\nexport interface S3PayloadParams {\n contentHash: string | null,\n contentType: string | null\n}\n\nconst getHTTPHost = function (config : S3Config | undefined, url : string, bucket : string) : string {\n if (config?.endpoint?.startsWith(\"http\")) {\n // Endpoint is a full url, we append the bucket\n const httpHost = `${config?.endpoint}`;\n const offset = httpHost.indexOf(\"://\")+3;\n return httpHost.substring(offset);\n } else if (config?.endpoint) {\n // Endpoint is not a full url and the https://{bucket}.{domain} format will be used\n return `${bucket}.${config?.endpoint}`;\n } else {\n // Default aws s3 url\n return `${bucket}.s3.amazonaws.com`;\n }\n}\n\nexport function getS3Params (config : S3Config | undefined, url: string, method : string) : S3Params {\n const parsedS3Url = parseS3Url(url);\n\n // when using S3 path-style access, the signed URL should also include the bucket name, \n // as it is present in the HTTP URL path.\n // See: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html#path-style-url-ex\n let path = parsedS3Url.path;\n if (isPathStyleAccess(config)) {\n path = `/${parsedS3Url.bucket}${path}`;\n }\n return {\n url: path,\n query: \"\",\n host: getHTTPHost(config, url, parsedS3Url.bucket),\n region: (config?.region) ?? \"\",\n service: \"s3\",\n method: method,\n accessKeyId: (config?.accessKeyId) ?? \"\",\n secretAccessKey: (config?.secretAccessKey) ?? \"\",\n sessionToken: (config?.sessionToken) ?? \"\",\n dateNow: new Date().toISOString().replace(/-/g,'').split('T')[0],\n datetimeNow: new Date().toISOString().replace(/-/g,'').replace(/:/g,'').split('.')[0]+ 'Z',\n };\n}\n\nexport function uriEncode(input : string, encode_slash = false) {\n // https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html\n\n const hexDigit = \"0123456789ABCDEF\";\n let result = \"\";\n\n for (let i = 0; i < input.length; i++) {\n const ch : string = input[i];\n\n if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9') || ch == '_' ||\n ch == '-' || ch == '~' || ch == '.') {\n result += ch;\n } else if (ch == '/') {\n if (encode_slash) {\n result += \"%2F\";\n } else {\n result += ch;\n }\n } else {\n result += \"%\";\n result += hexDigit[ch.charCodeAt(0) >> 4];\n result += hexDigit[ch.charCodeAt(0) & 15];\n }\n }\n return result;\n}\n\nexport function createS3Headers(params: S3Params, payloadParams : S3PayloadParams | null = null) : Map<string, string> {\n // this is the sha256 of the empty string, its useful since we have no payload for GET requests\n const payloadHash = (payloadParams?.contentHash) ?? \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n\n const res = new Map<string, string>();\n // res.set(\"host\", params.host)\n res.set(\"x-amz-date\", params.datetimeNow);\n res.set(\"x-amz-content-sha256\", payloadHash);\n\n if (params.sessionToken) {\n res.set(\"x-amz-security-token\", params.sessionToken);\n }\n\n // construct string to sign\n let signedHeaders = \"\";\n if (payloadParams?.contentType) {\n signedHeaders += \"content-type;\";\n }\n signedHeaders += \"host;x-amz-content-sha256;x-amz-date\";\n if (params.sessionToken) {\n signedHeaders += \";x-amz-security-token\";\n }\n\n let canonicalRequest = params.method + \"\\n\" + uriEncode(params.url) + \"\\n\" + params.query;\n if (payloadParams?.contentType) {\n canonicalRequest += \"\\ncontent-type:\" + payloadParams?.contentType;\n }\n canonicalRequest += \"\\nhost:\" + params.host +\n \"\\nx-amz-content-sha256:\" + payloadHash + \"\\nx-amz-date:\" + params.datetimeNow;\n if (params.sessionToken && params.sessionToken.length > 0) {\n canonicalRequest += \"\\nx-amz-security-token:\" + params.sessionToken;\n }\n\n canonicalRequest += \"\\n\\n\" + signedHeaders + \"\\n\" + payloadHash;\n const canonicalRequestHashStr = sha256(canonicalRequest);\n\n const stringToSign = \"AWS4-HMAC-SHA256\\n\" + params.datetimeNow + \"\\n\" + params.dateNow + \"/\" + params.region + \"/\" + params.service +\n \"/aws4_request\\n\" + canonicalRequestHashStr;\n\n // ts-ignore's because library can accept array buffer as key, but TS arg is incorrect\n const signKey = \"AWS4\" + params.secretAccessKey;\n const kDate = sha256.hmac.arrayBuffer(signKey, params.dateNow);\n\n // Note, js-sha256 has a bug in the TS interface that only supports strings as keys, while we need a bytearray\n // as key. PR is open but unmerged: https://github.com/emn178/js-sha256/pull/25\n // eslint-disable-next-line\n // @ts-ignore\n const kRegion = sha256.hmac.arrayBuffer(kDate, params.region);\n // eslint-disable-next-line\n // @ts-ignore\n const kService = sha256.hmac.arrayBuffer(kRegion, params.service,);\n // eslint-disable-next-line\n // @ts-ignore\n const signingKey = sha256.hmac.arrayBuffer(kService, \"aws4_request\");\n // eslint-disable-next-line\n // @ts-ignore\n const signature = sha256.hmac(signingKey, stringToSign);\n\n res.set(\"Authorization\", \"AWS4-HMAC-SHA256 Credential=\" + params.accessKeyId + \"/\" + params.dateNow + \"/\" + params.region + \"/\" +\n params.service + \"/aws4_request, SignedHeaders=\" + signedHeaders +\n \", Signature=\" + signature);\n\n return res;\n}\n\nconst createS3HeadersFromS3Config = function (config : S3Config | undefined, url : string, method : string, contentType: string | null = null, payload : Uint8Array | null = null) : Map<string, string> {\n const params = getS3Params(config, url, method);\n const payloadParams = {\n contentType: contentType,\n contentHash: payload ? sha256.hex(payload!) : null\n } as S3PayloadParams;\n return createS3Headers(params, payloadParams);\n}\n\nexport function addS3Headers(xhr: XMLHttpRequest, config : S3Config | undefined, url : string, method: string, contentType: string | null = null, payload : Uint8Array | null = null) {\n if (config?.accessKeyId || config?.sessionToken) {\n const headers = createS3HeadersFromS3Config(config, url, method, contentType, payload);\n headers.forEach((value: string, header: string) => {\n xhr.setRequestHeader(header, value);\n });\n\n if (contentType) {\n xhr.setRequestHeader(\"content-type\", contentType);\n }\n }\n}\n\nexport function parseS3Url (url: string) : {bucket : string, path : string} {\n if (url.indexOf(\"s3://\") != 0) {\n throw new Error(\"URL needs to start with s3://\");\n }\n const slashPos = url.indexOf('/', 5);\n\n if (slashPos == -1) {\n throw new Error(\"URL needs to contain a '/' after the host\");\n }\n\n const bucket = url.substring(5, slashPos);\n if (!bucket) {\n throw new Error(\"URL needs to contain a bucket name\");\n }\n const path = url.substring(slashPos);\n if (!path) {\n throw new Error(\"URL needs to contain key\");\n }\n\n return {bucket: bucket, path: path}\n}\n\nfunction isPathStyleAccess(config : S3Config | undefined) : boolean {\n if (config?.endpoint?.startsWith(\"http\")) {\n return true\n }\n return false\n}\n\nexport function getHTTPUrl(config : S3Config | undefined, url : string) : string {\n const parsedUrl = parseS3Url(url);\n if (isPathStyleAccess(config)) {\n // Endpoint is a full url, we append the bucket\n return `${config?.endpoint}/${parsedUrl.bucket}` + parsedUrl.path;\n }\n return 'https://' + getHTTPHost(config, url, parsedUrl.bucket) + parsedUrl.path;\n}", "import { StatusCode } from '../status';\nimport { addS3Headers, getHTTPUrl } from '../utils';\n\nimport {\n callSRet,\n dropResponseBuffers,\n DuckDBDataProtocol,\n DuckDBFileInfo,\n DuckDBGlobalFileInfo,\n DuckDBRuntime,\n failWith,\n FileFlags,\n readString,\n} from './runtime';\nimport { DuckDBModule } from './duckdb_module';\nimport * as udf from './udf_runtime';\n\nexport const BROWSER_RUNTIME: DuckDBRuntime & {\n _fileInfoCache: Map<number, DuckDBFileInfo>;\n _globalFileInfo: DuckDBGlobalFileInfo | null;\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null;\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null;\n} = {\n _files: new Map<string, any>(),\n _fileInfoCache: new Map<number, DuckDBFileInfo>(),\n _udfFunctions: new Map(),\n _globalFileInfo: null,\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null {\n try {\n const cached = BROWSER_RUNTIME._fileInfoCache.get(fileId);\n const [s, d, n] = callSRet(\n mod,\n 'duckdb_web_fs_get_file_info_by_id',\n ['number', 'number'],\n [fileId, cached?.cacheEpoch || 0],\n );\n if (s !== StatusCode.SUCCESS) {\n return null;\n } else if (n === 0) {\n // Epoch is up to date\n return cached!;\n }\n const infoStr = readString(mod, d, n);\n dropResponseBuffers(mod);\n const info = JSON.parse(infoStr);\n if (info == null) {\n return null;\n }\n const file = { ...info, blob: null } as DuckDBFileInfo;\n BROWSER_RUNTIME._fileInfoCache.set(fileId, file);\n return file;\n } catch (e: any) {\n console.log(e);\n return null;\n }\n },\n\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null {\n try {\n const [s, d, n] = callSRet(\n mod,\n 'duckdb_web_get_global_file_info',\n ['number'],\n [BROWSER_RUNTIME._globalFileInfo?.cacheEpoch || 0],\n );\n if (s !== StatusCode.SUCCESS) {\n return null;\n } else if (n === 0) {\n // Epoch is up to date\n return BROWSER_RUNTIME._globalFileInfo!;\n }\n const infoStr = readString(mod, d, n);\n dropResponseBuffers(mod);\n const info = JSON.parse(infoStr);\n if (info == null) {\n return null;\n }\n BROWSER_RUNTIME._globalFileInfo = { ...info, blob: null } as DuckDBGlobalFileInfo;\n\n return BROWSER_RUNTIME._globalFileInfo;\n } catch (e: any) {\n console.log(e);\n return null;\n }\n },\n\n testPlatformFeature: (_mod: DuckDBModule, feature: number): boolean => {\n switch (feature) {\n case 1:\n return typeof BigInt64Array !== 'undefined';\n default:\n console.warn(`test for unknown feature: ${feature}`);\n return false;\n }\n },\n\n getDefaultDataProtocol(mod: DuckDBModule): number {\n return DuckDBDataProtocol.BROWSER_FILEREADER;\n },\n\n openFile: (mod: DuckDBModule, fileId: number, flags: FileFlags): number => {\n try {\n BROWSER_RUNTIME._fileInfoCache.delete(fileId);\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3: {\n if (flags & FileFlags.FILE_FLAGS_READ && flags & FileFlags.FILE_FLAGS_WRITE) {\n throw new Error(\n `Opening file ${file.fileName} failed: cannot open file with both read and write flags set`,\n );\n } else if (flags & FileFlags.FILE_FLAGS_APPEND) {\n throw new Error(\n `Opening file ${file.fileName} failed: appending to HTTP/S3 files is not supported`,\n );\n } else if (flags & FileFlags.FILE_FLAGS_WRITE) {\n // We send a HEAD request to try to determine if we can write to data_url\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n xhr.open('HEAD', file.dataUrl!, false);\n }\n xhr.send(null);\n\n // Expect 200 for existing files that we will overwrite or 404 for non-existent files can be created\n if (xhr.status != 200 && xhr.status != 404) {\n throw new Error(\n `Opening file ${file.fileName} failed: Unexpected return status from server (${xhr.status})`,\n );\n } else if (\n xhr.status == 404 &&\n !(flags & FileFlags.FILE_FLAGS_FILE_CREATE || flags & FileFlags.FILE_FLAGS_FILE_CREATE_NEW)\n ) {\n throw new Error(\n `Opening file ${file.fileName} failed: Cannot write to non-existent file without FILE_FLAGS_FILE_CREATE or FILE_FLAGS_FILE_CREATE_NEW flag.`,\n );\n }\n // Return an empty buffer that can be used to buffer the writes to this s3/http file\n const data = mod._malloc(1);\n const src = new Uint8Array();\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n } else if (flags != FileFlags.FILE_FLAGS_READ) {\n throw new Error(`Opening file ${file.fileName} failed: unsupported file flags: ${flags}`);\n }\n\n // Supports ranges?\n let contentLength = null;\n let error: any | null = null;\n try {\n // Send a dummy HEAD request with range protocol\n // -> good IFF status is 206 and contentLenght is present\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n xhr.open('HEAD', file.dataUrl!, false);\n }\n xhr.setRequestHeader('Range', `bytes=0-`);\n xhr.send(null);\n\n // Supports range requests\n contentLength = xhr.getResponseHeader('Content-Length');\n if (contentLength !== null && xhr.status == 206) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +contentLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n } catch (e: any) {\n error = e;\n console.warn(`HEAD request with range header failed: ${e}`);\n }\n\n // Try to fallback to full read?\n if (file.allowFullHttpReads) {\n if ((contentLength !== null) && (+contentLength > 1)) {\n // 2. Send a dummy GET range request querying the first byte of the file\n // -> good IFF status is 206 and contentLenght2 is 1\n // -> otherwise, iff 200 and contentLenght2 == contentLenght\n // we just downloaded the file, save it and move further\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.setRequestHeader('Range', `bytes=0-0`);\n xhr.send(null);\n const contentLength2 = xhr.getResponseHeader('Content-Length');\n\n if (xhr.status == 206 && contentLength2 !== null && +contentLength2 == 1) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +contentLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n if (xhr.status == 200 && contentLength2 !== null && +contentLength2 == +contentLength) {\n console.warn(`fall back to full HTTP read for: ${file.dataUrl}`);\n const data = mod._malloc(xhr.response.byteLength);\n const src = new Uint8Array(xhr.response, 0, xhr.response.byteLength);\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n }\n }\n console.warn(`falling back to full HTTP read for: ${file.dataUrl}`);\n // 3. Send non-range request\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.send(null);\n\n // Return buffer\n if (xhr.status == 200) {\n const data = mod._malloc(xhr.response.byteLength);\n const src = new Uint8Array(xhr.response, 0, xhr.response.byteLength);\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n }\n }\n\n // Raise error?\n if (error != null) {\n throw new Error(`Reading file ${file.fileName} failed with error: ${error}`);\n }\n return 0;\n }\n // File reader File\n case DuckDBDataProtocol.BROWSER_FILEREADER: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (handle) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = handle.size;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n\n // Fall back to empty buffered file in the browser\n console.warn(`Buffering missing file: ${file.fileName}`);\n const result = mod._malloc(2 * 8);\n const buffer = mod._malloc(1); // malloc(0) is allowed to return a nullptr\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = buffer;\n return result;\n }\n }\n } catch (e: any) {\n // TODO (samansmink): this path causes the WASM code to hang\n console.error(e.toString());\n failWith(mod, e.toString());\n }\n return 0;\n },\n glob: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n try {\n const path = readString(mod, pathPtr, pathLen);\n // Starts with http?\n // Try a HTTP HEAD request\n if (path.startsWith('http') || path.startsWith('s3://')) {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr.open('HEAD', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr.open('HEAD', path!, false);\n }\n xhr.send(null);\n if (xhr.status != 200 && xhr.status !== 206) {\n // Pre-signed resources on S3 in common configurations fail on any HEAD request\n // https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/s3-example-presigned-urls.html\n // so we need (if enabled) to bump to a ranged GET\n if (!BROWSER_RUNTIME.getGlobalFileInfo(mod)?.allowFullHttpReads) {\n failWith(mod, `HEAD request failed: ${path}, with full http reads are disabled`);\n return;\n }\n const xhr2 = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr2.open('GET', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr2, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr2.open('GET', path!, false);\n }\n xhr2.setRequestHeader('Range', `bytes=0-0`);\n xhr2.send(null);\n if (xhr2.status != 200 && xhr2.status !== 206) {\n failWith(mod, `HEAD and GET requests failed: ${path}`);\n return;\n }\n const contentLength = xhr2.getResponseHeader('Content-Length');\n if (contentLength && (+contentLength > 1)) {\n console.warn(`Range request for ${path} did not return a partial response: ${xhr2.status} \"${xhr2.statusText}\"`);\n }\n }\n mod.ccall('duckdb_web_fs_glob_add_path', null, ['string'], [path]);\n }\n } catch (e: any) {\n console.log(e);\n failWith(mod, e.toString());\n return 0;\n }\n },\n checkFile: (mod: DuckDBModule, pathPtr: number, pathLen: number): boolean => {\n try {\n const path = readString(mod, pathPtr, pathLen);\n // Starts with http or S3?\n // Try a HTTP HEAD request\n if (path.startsWith('http') || path.startsWith('s3://')) {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr.open('HEAD', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr.open('HEAD', path!, false);\n }\n xhr.send(null);\n return xhr.status == 206 || xhr.status == 200;\n }\n } catch (e: any) {\n console.log(e);\n return false;\n }\n return false;\n },\n syncFile: (_mod: DuckDBModule, _fileId: number) => {},\n closeFile: (mod: DuckDBModule, fileId: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n BROWSER_RUNTIME._fileInfoCache.delete(fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.BUFFER:\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3:\n break;\n case DuckDBDataProtocol.NODE_FS:\n case DuckDBDataProtocol.BROWSER_FILEREADER:\n // XXX Remove from registry\n return;\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n return handle.flush();\n }\n }\n },\n truncateFile: (mod: DuckDBModule, fileId: number, newSize: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n failWith(mod, `Cannot truncate a http file`);\n return;\n case DuckDBDataProtocol.S3:\n failWith(mod, `Cannot truncate an s3 file`);\n return;\n case DuckDBDataProtocol.BUFFER:\n case DuckDBDataProtocol.NODE_FS:\n case DuckDBDataProtocol.BROWSER_FILEREADER:\n failWith(mod, `truncateFile not implemented`);\n return;\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n return handle.truncate(newSize);\n }\n }\n return 0;\n },\n readFile(mod: DuckDBModule, fileId: number, buf: number, bytes: number, location: number) {\n if (bytes == 0) {\n // Be robust to empty reads\n return 0;\n }\n try {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n // File reading from BLOB or HTTP MUST be done with range requests.\n // We have to check in OPEN if such file supports range requests and upgrade to BUFFER if not.\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3: {\n if (!file.dataUrl) {\n throw new Error(`Missing data URL for file ${fileId}`);\n }\n try {\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file?.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file?.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.setRequestHeader('Range', `bytes=${location}-${location + bytes - 1}`);\n xhr.send(null);\n if (\n xhr.status == 206 /* Partial content */ ||\n (xhr.status == 200 && bytes == xhr.response.byteLength && location == 0)\n ) {\n const src = new Uint8Array(xhr.response, 0, Math.min(xhr.response.byteLength, bytes));\n mod.HEAPU8.set(src, buf);\n return src.byteLength;\n } else if (xhr.status == 200) {\n // TODO: here we are actually throwing away all non-relevant bytes, but this is still better than failing\n // proper solution would require notifying duckdb-wasm cache, while we are piggybackign on browser cache\n console.warn(`Range request for ${file.dataUrl} did not return a partial response: ${xhr.status} \"${xhr.statusText}\"`);\n const src = new Uint8Array(xhr.response, location, Math.min(xhr.response.byteLength-location, bytes));\n mod.HEAPU8.set(src, buf);\n return src.byteLength;\n } else {\n throw new Error(\n `Range request for ${file.dataUrl} did returned non-success status: ${xhr.status} \"${xhr.statusText}\"`,\n );\n }\n } catch (e) {\n console.log(e);\n throw new Error(`Range request for ${file.dataUrl} failed with error: ${e}\"`);\n }\n }\n case DuckDBDataProtocol.BROWSER_FILEREADER: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No HTML5 file registered with name: ${file.fileName}`);\n }\n const sliced = handle!.slice(location, location + bytes);\n const data = new Uint8Array(new FileReaderSync().readAsArrayBuffer(sliced));\n mod.HEAPU8.set(data, buf);\n return data.byteLength;\n }\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n const out = mod.HEAPU8.subarray(buf, buf + bytes);\n return handle.read(out, { at: location });\n }\n }\n return 0;\n } catch (e: any) {\n console.log(e);\n failWith(mod, e.toString());\n return 0;\n }\n },\n writeFile: (mod: DuckDBModule, fileId: number, buf: number, bytes: number, location: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n failWith(mod, 'Cannot write to HTTP file');\n return 0;\n case DuckDBDataProtocol.S3: {\n const buffer = mod.HEAPU8.subarray(buf, buf + bytes);\n const xhr = new XMLHttpRequest();\n xhr.open('PUT', getHTTPUrl(file?.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file?.s3Config, file.dataUrl!, 'PUT', '', buffer);\n xhr.send(buffer);\n if (xhr.status !== 200) {\n failWith(mod, 'Failed writing file: HTTP ' + xhr.status);\n return 0;\n }\n return bytes;\n }\n case DuckDBDataProtocol.BROWSER_FILEREADER:\n failWith(mod, 'cannot write using the html5 file reader api');\n return 0;\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n const input = mod.HEAPU8.subarray(buf, buf + bytes);\n return handle.write(input, { at: location });\n }\n }\n return 0;\n },\n getLastFileModificationTime: (mod: DuckDBModule, fileId: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.BROWSER_FILEREADER: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw Error(`No handle available for file: ${file.fileName}`);\n }\n return 0;\n }\n\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3:\n return new Date().getTime();\n }\n return 0;\n },\n checkDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`checkDirectory: ${path}`);\n return false;\n },\n createDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`createDirectory: ${path}`);\n },\n removeDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`removeDirectory: ${path}`);\n },\n listDirectoryEntries: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`listDirectoryEntries: ${path}`);\n return false;\n },\n moveFile: (mod: DuckDBModule, fromPtr: number, fromLen: number, toPtr: number, toLen: number) => {\n const from = readString(mod, fromPtr, fromLen);\n const to = readString(mod, toPtr, toLen);\n const handle = BROWSER_RUNTIME._files?.get(from);\n if (handle !== undefined) {\n BROWSER_RUNTIME._files!.delete(handle);\n BROWSER_RUNTIME._files!.set(to, handle);\n }\n for (const [key, value] of BROWSER_RUNTIME._fileInfoCache?.entries() || []) {\n if (value.dataUrl == from) {\n BROWSER_RUNTIME._fileInfoCache.delete(key);\n break;\n }\n }\n return true;\n },\n removeFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number) => {},\n callScalarUDF: (\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void => {\n udf.callScalarUDF(BROWSER_RUNTIME, mod, response, funcId, descPtr, descSize, ptrsPtr, ptrsSize);\n },\n};\n\nexport default BROWSER_RUNTIME;\n"],
5
- "mappings": "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",
6
- "names": ["require_duckdb_eh", "__commonJSMin", "exports", "module", "DuckDB", "_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", "noExitRuntime", "abort", "wasmMemory", "ABORT", "EXITSTATUS", "assert", "condition", "text", "HEAP8", "HEAPU8", "HEAP16", "HEAPU16", "HEAP32", "HEAPU32", "HEAPF32", "HEAPF64", "updateMemoryViews", "b", "__ATPRERUN__", "__ATINIT__", "__ATMAIN__", "__ATPOSTRUN__", "runtimeInitialized", "runtimeKeepaliveCounter", "keepRuntimeAlive", "preRun", "addOnPreRun", "callRuntimeCallbacks", "initRuntime", "preMain", "postRun", "addOnPostRun", "cb", "addOnInit", "runDependencies", "runDependencyWatcher", "dependenciesFulfilled", "addRunDependency", "id", "removeRunDependency", "callback", "what", "___trap", "e", "dataURIPrefix", "isDataURI", "wasmBinaryFile", "getBinarySync", "file", "getBinaryPromise", "binaryFile", "response", "instantiateArrayBuffer", "imports", "receiver", "instance", "reason", "instantiateAsync", "result", "createWasm", "info", "wasmImports", "receiveInstance", "wasmExports", "applySignatureConversions", "receiveInstantiationResult", "tempDouble", "tempI64", "ExitStatus", "callbacks", "UTF8Decoder", "UTF8ArrayToString", "heapOrArray", "idx", "maxBytesToRead", "endIdx", "endPtr", "str", "u0", "u1", "u2", "ch", "UTF8ToString", "ptr", "SYSCALLS", "convertI32PairToI53Checked", "lo", "hi", "___syscall__newselect", "nfds", "readfds", "writefds", "exceptfds", "timeout", "total", "srcReadLow", "srcReadHigh", "srcWriteLow", "srcWriteHigh", "srcExceptLow", "srcExceptHigh", "dstReadLow", "dstReadHigh", "dstWriteLow", "dstWriteHigh", "dstExceptLow", "dstExceptHigh", "allLow", "allHigh", "check", "fd", "low", "high", "val", "mask", "stream", "flags", "timeoutInMillis", "tv_sec", "tv_usec", "SOCKFS", "FS", "getSocketFromFD", "socket", "inetNtop4", "addr", "inetNtop6", "ints", "word", "longest", "lastzero", "zstart", "len", "i", "parts", "hasipv4", "v4part", "_ntohs", "readSockaddr", "sa", "salen", "family", "port", "inetPton4", "tmp", "jstoi_q", "inetPton6", "words", "w", "offset", "z", "valid6regx", "_htons", "DNS", "name", "res", "getSocketAddress", "addrp", "addrlen", "allowNull", "___syscall_bind", "d1", "d2", "d3", "sock", "___syscall_connect", "___syscall_faccessat", "dirfd", "amode", "___syscall_fcntl64", "cmd", "varargs", "___syscall_fstat64", "buf", "___syscall_ftruncate64", "length_low", "length_high", "length", "stringToUTF8Array", "heap", "outIdx", "maxBytesToWrite", "startIdx", "u", "stringToUTF8", "outPtr", "___syscall_getdents64", "dirp", "count", "zeroMemory", "address", "size", "writeSockaddr", "___syscall_getpeername", "errno", "___syscall_getsockopt", "level", "optname", "optval", "optlen", "___syscall_ioctl", "op", "___syscall_lstat64", "___syscall_mkdirat", "mode", "___syscall_newfstatat", "___syscall_openat", "___syscall_recvfrom", "msg", "___syscall_renameat", "olddirfd", "oldpath", "newdirfd", "newpath", "___syscall_rmdir", "___syscall_sendto", "message", "addr_len", "___syscall_socket", "domain", "type", "protocol", "___syscall_stat64", "___syscall_unlinkat", "nowIsMonotonic", "__emscripten_get_now_is_monotonic", "_abort", "_duckdb_web_fs_directory_create", "pathLen", "_duckdb_web_fs_directory_exists", "_duckdb_web_fs_directory_list_files", "_duckdb_web_fs_directory_remove", "_duckdb_web_fs_file_close", "fileId", "_duckdb_web_fs_file_exists", "_duckdb_web_fs_file_get_last_modified_time", "_duckdb_web_fs_file_move", "from", "fromLen", "to", "toLen", "_duckdb_web_fs_file_open", "_duckdb_web_fs_file_read", "location", "_duckdb_web_fs_file_truncate", "newSize", "_duckdb_web_fs_file_write", "_duckdb_web_fs_get_default_data_protocol", "_duckdb_web_fs_glob", "_duckdb_web_test_platform_feature", "feature", "_duckdb_web_udf_scalar_call", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "_emscripten_date_now", "getHeapMax", "_emscripten_get_heap_max", "_emscripten_get_now", "_emscripten_memcpy_js", "dest", "src", "num", "growMemory", "pages", "_emscripten_resize_heap", "requestedSize", "oldSize", "maxHeapSize", "alignUp", "multiple", "cutDown", "overGrownHeapSize", "replacement", "ENV", "getExecutableName", "getEnvStrings", "lang", "env", "x", "strings", "stringToAscii", "buffer", "_environ_get", "__environ", "environ_buf", "bufSize", "string", "_environ_sizes_get", "penviron_count", "penviron_buf_size", "_fd_close", "_fd_fdstat_get", "pbuf", "rightsBase", "rightsInheriting", "_fd_pread", "iov", "iovcnt", "offset_low", "offset_high", "pnum", "_fd_pwrite", "_fd_read", "_fd_seek", "whence", "newOffset", "_fd_sync", "printCharBuffers", "printChar", "curr", "_fd_write", "j", "_getaddrinfo", "node", "service", "hint", "proto", "ai", "allocaddrinfo", "canon", "_malloc", "_htonl", "initRandomFill", "view", "crypto_module", "randomFillSync", "randomBytes", "randomFill", "_getentropy", "_getnameinfo", "nodelen", "serv", "servlen", "overflowed", "lookup", "numBytesWrittenExclNull", "isLeapYear", "year", "arraySum", "array", "index", "sum", "MONTH_DAYS_LEAP", "MONTH_DAYS_REGULAR", "addDays", "date", "days", "newDate", "leap", "currentMonth", "daysInCurrentMonth", "lengthBytesUTF8", "c", "intArrayFromString", "stringy", "dontAddNull", "u8array", "numBytesWritten", "writeArrayToMemory", "_strftime", "s", "maxsize", "format", "tm", "tm_zone", "pattern", "EXPANSION_RULES_1", "rule", "WEEKDAYS", "MONTHS", "leadingSomething", "value", "digits", "character", "leadingNulls", "compareByDay", "date1", "date2", "sgn", "compare", "getFirstWeekStartDate", "janFourth", "getWeekBasedYear", "thisDate", "janFourthThisYear", "janFourthNextYear", "firstWeekStartThisYear", "firstWeekStartNextYear", "EXPANSION_RULES_2", "twelveHour", "jan1", "dec31", "off", "ahead", "bytes", "_strftime_l", "loc", "_proc_exit", "code", "exitJS", "implicit", "handleException", "getCFunc", "ident", "func", "stringToUTF8OnStack", "stackAlloc", "ccall", "returnType", "argTypes", "args", "opts", "toC", "arr", "convertReturnValue", "cArgs", "stack", "converter", "stackSave", "onDone", "stackRestore", "___wasm_call_ctors", "_main", "a0", "a1", "_duckdb_web_fs_glob_add_path", "_duckdb_web_clear_response", "_duckdb_web_fail_with", "_duckdb_web_reset", "_duckdb_web_connect", "_duckdb_web_disconnect", "_duckdb_web_flush_files", "_duckdb_web_flush_file", "_duckdb_web_open", "_duckdb_web_get_global_file_info", "_duckdb_web_collect_file_stats", "a2", "_duckdb_web_export_file_stats", "_duckdb_web_fs_drop_file", "_duckdb_web_fs_drop_files", "_duckdb_web_fs_glob_file_infos", "_duckdb_web_fs_get_file_info_by_id", "_duckdb_web_fs_get_file_info_by_name", "_duckdb_web_fs_register_file_url", "a3", "a4", "_duckdb_web_fs_register_file_buffer", "_duckdb_web_copy_file_to_buffer", "_duckdb_web_copy_file_to_path", "_duckdb_web_get_version", "_duckdb_web_get_feature_flags", "_duckdb_web_tokenize", "_duckdb_web_udf_scalar_create", "_duckdb_web_prepared_create", "_duckdb_web_prepared_close", "_duckdb_web_prepared_run", "_duckdb_web_prepared_send", "_duckdb_web_query_run", "_duckdb_web_pending_query_start", "_duckdb_web_pending_query_poll", "_duckdb_web_pending_query_cancel", "_duckdb_web_query_fetch_results", "_duckdb_web_get_tablenames", "_duckdb_web_insert_arrow_from_ipc_stream", "_duckdb_web_insert_csv_from_path", "_duckdb_web_insert_json_from_path", "___errno_location", "_free", "makeWrapper_p", "f", "makeWrapper_pp", "calledRun", "runCaller", "run", "callMain", "entryFunction", "argc", "argv", "doRun", "shouldRunNow", "require_sha256", "__commonJSMin", "obj", "outputType", "is224", "message", "method", "i", "type", "key", "sharedMemory", "notString", "code", "index", "length", "blocks", "a", "b", "c", "d", "e", "f", "g", "h", "j", "s0", "s1", "maj", "t1", "t2", "ch", "ab", "da", "cd", "bc", "h0", "h1", "h2", "h3", "h4", "h5", "h6", "h7", "hex", "arr", "buffer", "dataView", "bytes", "oKeyPad", "iKeyPad", "innerHash", "duckdb_browser_eh_worker_exports", "__export", "registerWorker", "__rest", "s", "e", "t", "p", "__awaiter", "thisArg", "_arguments", "P", "generator", "adopt", "value", "resolve", "reject", "fulfilled", "step", "e", "rejected", "result", "__values", "o", "s", "m", "i", "__await", "v", "__asyncGenerator", "thisArg", "_arguments", "generator", "g", "q", "verb", "n", "a", "b", "resume", "step", "e", "settle", "r", "fulfill", "reject", "value", "f", "__asyncDelegator", "o", "i", "p", "__asyncValues", "m", "__values", "resolve", "d", "buffer_exports", "__export", "compareArrayLike", "joinUint8Arrays", "memcpy", "rebaseValueOffsets", "toArrayBufferView", "toArrayBufferViewAsyncIterator", "toArrayBufferViewIterator", "toBigInt64Array", "toBigUint64Array", "toFloat32Array", "toFloat32ArrayAsyncIterator", "toFloat32ArrayIterator", "toFloat64Array", "toFloat64ArrayAsyncIterator", "toFloat64ArrayIterator", "toInt16Array", "toInt16ArrayAsyncIterator", "toInt16ArrayIterator", "toInt32Array", "toInt32ArrayAsyncIterator", "toInt32ArrayIterator", "toInt8Array", "toInt8ArrayAsyncIterator", "toInt8ArrayIterator", "toUint16Array", "toUint16ArrayAsyncIterator", "toUint16ArrayIterator", "toUint32Array", "toUint32ArrayAsyncIterator", "toUint32ArrayIterator", "toUint8Array", "toUint8ArrayAsyncIterator", "toUint8ArrayIterator", "toUint8ClampedArray", "toUint8ClampedArrayAsyncIterator", "toUint8ClampedArrayIterator", "decoder", "decodeUtf8", "buffer", "encoder", "encodeUtf8", "value", "isNumber", "x", "isBoolean", "isFunction", "isObject", "isPromise", "isIterable", "x", "isObject", "isFunction", "isAsyncIterable", "isArrowJSON", "isIteratorResult", "x", "isObject", "isFileHandle", "x", "isObject", "isFunction", "isNumber", "isFetchResponse", "x", "isObject", "isReadableDOMStream", "isReadableInterop", "isWritableDOMStream", "isFunction", "isWritableNodeStream", "isBoolean", "isReadableNodeStream", "isFlatbuffersByteBuffer", "SharedArrayBuf", "collapseContiguousByteRanges", "chunks", "result", "xOffset", "yOffset", "xLen", "yLen", "x", "y", "i", "j", "n", "memcpy", "target", "source", "targetByteOffset", "sourceByteLength", "targetByteLength", "dst", "src", "joinUint8Arrays", "size", "byteLength", "b", "sliced", "buffer", "offset", "index", "length", "toArrayBufferView", "ArrayBufferViewCtor", "input", "value", "isIteratorResult", "encodeUtf8", "isFlatbuffersByteBuffer", "toInt8Array", "toInt16Array", "toInt32Array", "toBigInt64Array", "toUint8Array", "toUint16Array", "toUint32Array", "toBigUint64Array", "toFloat32Array", "toFloat64Array", "toUint8ClampedArray", "pump", "iterator", "toArrayBufferViewIterator", "ArrayCtor", "wrap", "buffers", "isIterable", "__yieldStar", "it", "r", "toInt8ArrayIterator", "toInt16ArrayIterator", "toInt32ArrayIterator", "toUint8ArrayIterator", "toUint16ArrayIterator", "toUint32ArrayIterator", "toFloat32ArrayIterator", "toFloat64ArrayIterator", "toUint8ClampedArrayIterator", "toArrayBufferViewAsyncIterator", "isPromise", "__await", "__asyncDelegator", "__asyncValues", "__asyncGenerator", "emit", "isAsyncIterable", "toInt8ArrayAsyncIterator", "toInt16ArrayAsyncIterator", "toInt32ArrayAsyncIterator", "toUint8ArrayAsyncIterator", "toUint16ArrayAsyncIterator", "toUint32ArrayAsyncIterator", "toFloat32ArrayAsyncIterator", "toFloat64ArrayAsyncIterator", "toUint8ClampedArrayAsyncIterator", "rebaseValueOffsets", "valueOffsets", "compareArrayLike", "a", "adapters_default", "source", "pump", "fromIterable", "fromAsyncIterable", "fromDOMStream", "stream", "fromNodeStream", "options", "iterator", "done", "threw", "buffers", "buffer", "cmd", "size", "bufferLength", "byteRange", "joinUint8Arrays", "it", "toUint8ArrayIterator", "e", "__await", "toUint8ArrayAsyncIterator", "AdaptiveByteReader", "toUint8Array", "reason", "reader", "result", "onEvent", "event", "handler", "_", "resolve", "r", "events", "err", "x", "cleanup", "reject", "evt", "fn", "destroy", "MetadataVersion", "UnionMode", "Precision", "DateUnit", "TimeUnit", "IntervalUnit", "MessageHeader", "Type", "BufferType", "vector_exports", "__export", "clampIndex", "clampRange", "createElementComparator", "valueToString", "x", "_", "y", "bn_exports", "__export", "BN", "bigNumToBigInt", "bigNumToString", "isArrowBigNumSymbol", "isArrowBigNumSymbol", "BigNum", "x", "xs", "toArrayBufferView", "bigNumToString", "bigNumToNumber", "hint", "bigNumToBigInt", "SignedBigNum", "args", "UnsignedBigNum", "DecimalBigNum", "bn", "buffer", "byteOffset", "length", "signed", "words", "negative", "number", "i", "word", "a", "bigIntArray", "unsignedBigNumToString", "array", "carry", "elem", "updated", "negated", "digits", "base64", "base32", "checks", "n", "BN", "_BN", "num", "isSigned", "bigIntToNumber", "number", "DataType", "_DataType", "x", "Type", "UnionMode", "_a", "proto", "Null", "_b", "Int_", "isSigned", "bitWidth", "_c", "Int8", "Int_", "Int16", "Int32", "Int64", "Uint8", "Uint16", "Uint32", "Uint64", "Float", "DataType", "precision", "Type", "Precision", "_d", "proto", "Float16", "Float32", "Float64", "Binary", "_e", "Utf8", "_f", "Bool", "_g", "Decimal", "scale", "bitWidth", "_h", "Date_", "unit", "DateUnit", "_j", "Time_", "DataType", "unit", "bitWidth", "Type", "TimeUnit", "_k", "proto", "Timestamp_", "DataType", "unit", "timezone", "Type", "TimeUnit", "_l", "proto", "Interval_", "DataType", "unit", "Type", "IntervalUnit", "_m", "proto", "List", "DataType", "child", "Type", "_o", "proto", "Struct", "children", "f", "_p", "Union_", "mode", "typeIds", "typeIdToChildIndex", "typeId", "idx", "x", "_q", "FixedSizeBinary", "DataType", "byteWidth", "Type", "_r", "proto", "FixedSizeList", "listSize", "child", "_s", "Map_", "keysSorted", "f", "_t", "getId", "atomicDictionaryId", "Dictionary", "dictionary", "indices", "id", "isOrdered", "bigIntToNumber", "_u", "strideForType", "type", "Visitor", "nodes", "args", "node", "x", "throwIfNotFound", "getVisitFn", "typeId", "getVisitFnByTypeId", "_node", "_args", "visitor", "Type", "DataType", "inferDType", "dtype", "fn", "type", "bitWidth", "isSigned", "Precision", "TimeUnit", "DateUnit", "IntervalUnit", "UnionMode", "math_exports", "__export", "float64ToUint16", "uint16ToFloat64", "f64", "u32", "h", "expo", "sigf", "sign", "d", "SetVisitor", "Visitor", "wrapSet", "fn", "data", "_1", "_2", "setEpochMsToDays", "index", "epochMs", "setEpochMsToMillisecondsLong", "setEpochMsToMicrosecondsLong", "setEpochMsToNanosecondsLong", "setVariableWidthBytes", "values", "valueOffsets", "value", "x", "y", "setBool", "offset", "val", "idx", "setInt", "setFloat", "setFloat16", "float64ToUint16", "setAnyFloat", "Precision", "setDateDay", "setDateMillisecond", "setFixedSizeBinary", "stride", "setBinary", "setUtf8", "encodeUtf8", "setDate", "DateUnit", "setTimestampSecond", "setTimestampMillisecond", "setTimestampMicrosecond", "setTimestampNanosecond", "setTimestamp", "TimeUnit", "setTimeSecond", "setTimeMillisecond", "setTimeMicrosecond", "setTimeNanosecond", "setTime", "setDecimal", "setList", "set", "instance", "itr", "end", "setMap", "entries", "_setStructArrayValue", "o", "v", "c", "_", "i", "_setStructVectorValue", "_setStructMapValue", "f", "_setStructObjectValue", "setStruct", "childSetters", "Vector", "setUnion", "UnionMode", "setDenseUnion", "setSparseUnion", "childIndex", "child", "setDictionary", "_a", "setIntervalValue", "IntervalUnit", "setIntervalDayTime", "setIntervalYearMonth", "setFixedSizeList", "kParent", "kRowIndex", "StructRow", "parent", "rowIndex", "StructRowProxyHandler", "i", "keys", "json", "j", "n", "instance", "key", "val", "valueToString", "StructRowIterator", "data", "row", "f", "idx", "GetVisitor", "Visitor", "wrapGet", "fn", "data", "_1", "epochDaysToMs", "index", "epochMillisecondsLongToMs", "epochMicrosecondsLongToMs", "epochNanosecondsLongToMs", "epochMillisecondsToDate", "epochMs", "epochDaysToDate", "epochMillisecondsLongToDate", "getNull", "_data", "_index", "getVariableWidthBytes", "values", "valueOffsets", "x", "y", "getBool", "offset", "idx", "getDateDay", "getDateMillisecond", "getNumeric", "stride", "getFloat16", "uint16ToFloat64", "getBigInts", "getFixedSizeBinary", "getBinary", "getUtf8", "bytes", "decodeUtf8", "getInt", "getFloat", "type", "Precision", "getDate", "DateUnit", "getTimestampSecond", "getTimestampMillisecond", "getTimestampMicrosecond", "getTimestampNanosecond", "getTimestamp", "TimeUnit", "getTimeSecond", "getTimeMillisecond", "getTimeMicrosecond", "getTimeNanosecond", "getTime", "getDecimal", "BN", "getList", "children", "begin", "end", "slice", "Vector", "getMap", "child", "MapRow", "getStruct", "StructRow", "getUnion", "UnionMode", "getDenseUnion", "getSparseUnion", "childIndex", "instance", "getDictionary", "_a", "getInterval", "IntervalUnit", "getIntervalDayTime", "getIntervalYearMonth", "interval", "int32s", "getFixedSizeList", "kKeys", "kVals", "MapRow", "slice", "Vector", "MapRowProxyHandler", "MapRowIterator", "keys", "vals", "json", "n", "instance", "key", "val", "valueToString", "i", "row", "idx", "clampIndex", "source", "index", "then", "length", "adjust", "tmp", "clampRange", "begin", "end", "len", "lhs", "rhs", "isNaNFast", "value", "createElementComparator", "search", "valueOfSearch", "compareArrayLike", "createMapComparator", "createArrayLikeComparator", "Vector", "createVectorComparator", "createObjectComparator", "comparators", "i", "createSubElementsComparator", "v", "allowEmpty", "keys", "n", "compareArray", "compareObject", "MapRow", "StructRow", "compareVector", "arr", "vec", "obj", "lKeyItr", "rKeyItr", "rValItr", "rVal", "lKey", "rKey", "bit_exports", "__export", "BitIterator", "getBit", "getBool", "packBools", "popcnt_array", "popcnt_bit_range", "popcnt_uint32", "setBool", "truncateBitmap", "_data", "_index", "byte", "bit", "bytes", "index", "value", "offset", "length", "bitmap", "alignedSize", "values", "xs", "i", "b", "begin", "context", "get", "data", "lhs", "rhs", "sum", "rhsInside", "lhsInside", "arr", "byteOffset", "byteLength", "cnt", "pos", "view", "len", "uint32", "kUnknownNullCount", "Data", "_Data", "byteLength", "valueOffsets", "values", "nullBitmap", "typeIds", "child", "nullCount", "popcnt_bit_range", "type", "offset", "length", "buffers", "children", "dictionary", "buffer", "strideForType", "index", "pos", "value", "bit", "val", "stride", "typeId", "childStride", "newLength", "Type", "bitmap", "truncateBitmap", "BufferType", "arr", "MakeDataVisitor", "_MakeDataVisitor", "Visitor", "props", "toUint8Array", "data", "toArrayBufferView", "toInt32Array", "len", "DataType", "Vector", "makeData", "ChunkedIterator", "numChunks", "getChunkIterator", "next", "computeChunkNullCounts", "chunks", "nullCount", "chunk", "computeChunkOffsets", "offsets", "index", "sliceChunks", "begin", "end", "slices", "i", "n", "offset", "length", "from", "to", "binarySearch", "idx", "fn", "lhs", "mid", "rhs", "isChunkedValid", "data", "wrapChunkedCall1", "chunkedFn", "j", "wrapChunkedCall2", "_2", "value", "result", "wrapChunkedIndexOf", "indexOf", "_1", "chunkedIndexOf", "chunkIndex", "fromIndex", "total", "element", "IndexOfVisitor", "Visitor", "nullIndexOf", "data", "searchElement", "indexOfNull", "fromIndex", "nullBitmap", "i", "isValid", "BitIterator", "getBool", "indexOfValue", "get", "instance", "compare", "createElementComparator", "n", "indexOfUnion", "IteratorVisitor", "Visitor", "vectorIterator", "vector", "type", "Type", "Int_", "Time_", "Float", "Precision", "ChunkedIterator", "chunkIndex", "data", "offset", "length", "inner", "VectorIterator", "instance", "sum", "x", "y", "GetByteLengthVisitor", "Visitor", "____", "_", "data", "TimeUnit", "i", "total", "child", "instance", "_a", "getUtf8ByteLength", "valueOffsets", "index", "getBinaryByteLength", "getListByteLength", "stride", "children", "start", "end", "visit", "slice", "size", "idx", "len", "getFixedSizeListByteLength", "getUnionByteLength", "UnionMode", "getDenseUnionByteLength", "getSparseUnionByteLength", "type", "typeIds", "childIndex", "visitorsByTypeId", "vectorPrototypesByTypeId", "Vector", "_Vector", "input", "data", "x", "Data", "type", "_b", "get", "set", "indexOf", "byteLength", "unchunkedData", "index", "isChunkedValid", "value", "computeChunkOffsets", "strideForType", "_d", "_c", "computeChunkNullCounts", "Type", "element", "offset", "instance", "others", "begin", "end", "clampRange", "_offsets", "sliceChunks", "length", "stride", "ArrayType", "memo", "values", "chunk_length", "name", "f", "children", "DataType", "dictionary", "MemoizedVector", "newData", "cloned", "_a", "proto", "typeIds", "T", "typeId", "wrapChunkedCall1", "wrapChunkedCall2", "wrapChunkedIndexOf", "_MemoizedVector", "vector", "slice", "cache", "cachedValue", "createIsValidFunction", "nullValues", "value", "fnBody", "noNaNs", "x", "valueToCase", "valueToString", "roundLengthUpToNearest64Bytes", "len", "BPE", "sliceOrExtendArray", "arr", "memcpy", "BufferBuilder", "buffer", "stride", "index", "value", "extra", "length", "reserved", "array", "newLength", "DataBufferBuilder", "BitmapBufferBuilder", "data", "idx", "val", "byte", "bit", "cur", "OffsetsBufferBuilder", "offset", "Builder", "options", "type", "nulls", "strideForType", "BitmapBufferBuilder", "createIsValidFunction", "Vector", "size", "_offsets", "_values", "_nulls", "_typeIds", "children", "child", "value", "index", "valid", "name", "data", "typeIds", "nullBitmap", "valueOffsets", "length", "nullCount", "makeData", "_a", "_b", "_c", "_d", "FixedWidthBuilder", "opts", "DataBufferBuilder", "values", "VariableWidthBuilder", "OffsetsBufferBuilder", "pending", "current", "MapRow", "kKeys", "isValid", "pendingLength", "Block", "i", "bb", "builder", "offset", "metaDataLength", "bodyLength", "int32", "float32", "float64", "isLittleEndian", "Encoding", "ByteBuffer", "_ByteBuffer", "bytes_", "byte_size", "position", "offset", "int32", "float32", "isLittleEndian", "float64", "value", "result", "i", "bb_pos", "vtable_offset", "vtable", "opt_encoding", "length", "utf8bytes", "Encoding", "o", "ident", "listAccessor", "listLength", "ret", "val", "Builder", "_Builder", "opt_initial_size", "initial_size", "ByteBuffer", "forceDefaults", "size", "additional_bytes", "align_size", "old_buf_size", "byte_size", "i", "value", "voffset", "defaultValue", "obj", "bb", "new_buf_size", "nbb", "offset", "numfields", "vtableloc", "trimmed_size", "standard_fields", "len", "existing_vtable", "vt1", "outer_loop", "vt2", "j", "root_table", "opt_file_identifier", "opt_size_prefix", "size_prefix", "file_identifier", "table", "field", "table_start", "vtable_start", "elem_size", "num_elems", "alignment", "s", "utf8", "bytes", "list", "ret", "val", "startFunc", "KeyValue", "_KeyValue", "i", "bb", "obj", "optionalEncoding", "offset", "builder", "keyOffset", "valueOffset", "MetadataVersion", "Endianness", "DictionaryKind", "Int", "_Int", "i", "bb", "obj", "offset", "builder", "bitWidth", "isSigned", "DictionaryEncoding", "_DictionaryEncoding", "i", "bb", "obj", "offset", "Int", "DictionaryKind", "builder", "id", "indexTypeOffset", "isOrdered", "dictionaryKind", "Binary", "_Binary", "i", "bb", "obj", "builder", "Bool", "_Bool", "i", "bb", "obj", "builder", "DateUnit", "Date", "_Date", "i", "bb", "obj", "offset", "DateUnit", "builder", "unit", "Decimal", "_Decimal", "i", "bb", "obj", "offset", "builder", "precision", "scale", "bitWidth", "TimeUnit", "FixedSizeBinary", "_FixedSizeBinary", "i", "bb", "obj", "offset", "builder", "byteWidth", "FixedSizeList", "_FixedSizeList", "i", "bb", "obj", "offset", "builder", "listSize", "Precision", "FloatingPoint", "_FloatingPoint", "i", "bb", "obj", "offset", "Precision", "builder", "precision", "IntervalUnit", "Interval", "_Interval", "i", "bb", "obj", "offset", "IntervalUnit", "builder", "unit", "List", "_List", "i", "bb", "obj", "builder", "Map", "_Map", "i", "bb", "obj", "offset", "builder", "keysSorted", "Null", "_Null", "i", "bb", "obj", "builder", "Struct_", "_Struct_", "i", "bb", "obj", "builder", "Time", "_Time", "i", "bb", "obj", "offset", "TimeUnit", "builder", "unit", "bitWidth", "Timestamp", "_Timestamp", "i", "bb", "obj", "offset", "TimeUnit", "optionalEncoding", "builder", "unit", "timezoneOffset", "UnionMode", "Union", "_Union", "i", "bb", "obj", "offset", "UnionMode", "index", "builder", "mode", "typeIdsOffset", "data", "numElems", "Utf8", "_Utf8", "i", "bb", "obj", "builder", "Type", "Field", "_Field", "i", "bb", "obj", "optionalEncoding", "offset", "Type", "DictionaryEncoding", "index", "KeyValue", "builder", "nameOffset", "nullable", "typeType", "typeOffset", "dictionaryOffset", "childrenOffset", "data", "numElems", "customMetadataOffset", "Schema", "_Schema", "i", "bb", "obj", "offset", "Endianness", "index", "Field", "KeyValue", "builder", "endianness", "fieldsOffset", "data", "numElems", "customMetadataOffset", "featuresOffset", "Footer", "_Footer", "i", "bb", "obj", "offset", "MetadataVersion", "Schema", "index", "Block", "KeyValue", "builder", "version", "schemaOffset", "dictionariesOffset", "numElems", "recordBatchesOffset", "customMetadataOffset", "data", "Schema", "_Schema", "fields", "metadata", "dictionaries", "generateDictionaryMap", "f", "i", "fieldNames", "names", "fieldIndices", "args", "other", "curFields", "mergeMaps", "newFields", "f2", "newDictionaries", "Field", "_Field", "name", "type", "nullable", "m1", "m2", "DataType", "Builder", "ByteBuffer", "Footer_", "buf", "toUint8Array", "footer", "Footer", "schema", "Schema", "OffHeapFooter", "b", "schemaOffset", "rb", "FileBlock", "recordBatchesOffset", "db", "dictionaryBatchesOffset", "MetadataVersion", "version", "recordBatches", "dictionaryBatches", "block", "i", "index", "OffHeapFooter", "Footer_", "schema", "_footer", "index", "fileBlock", "FileBlock", "_FileBlock", "block", "b", "metaDataLength", "offset", "bodyLength", "Block", "bigIntToNumber", "ITERATOR_DONE", "ArrowJSON", "_json", "ReadableInterop", "writable", "options", "duplex", "AsyncQueue", "r", "reason", "value", "resolvers", "adapters_default", "_", "size", "_args", "resolve", "reject", "AsyncByteQueue", "AsyncQueue", "value", "toUint8Array", "sync", "decodeUtf8", "joinUint8Arrays", "__awaiter", "buffers", "byteLength", "_d", "_e", "__asyncValues", "_f", "_a", "_c", "chunk", "ByteStream", "source", "ByteStreamSource", "adapters_default", "size", "AsyncByteStream", "_AsyncByteStream", "AsyncByteStreamSource", "isReadableNodeStream", "isReadableDOMStream", "isFetchResponse", "isIterable", "isPromise", "isAsyncIterable", "reason", "cmd", "ITERATOR_DONE", "r", "result", "RandomAccessFile", "ByteStream", "buffer", "byteLength", "toUint8Array", "position", "byteOffset", "nBytes", "size", "buf", "end", "value", "AsyncRandomAccessFile", "AsyncByteStream", "file", "__awaiter", "pos", "offset", "bytesRead", "f", "int_exports", "__export", "BaseInt64", "Int128", "Int64", "Uint64", "intAsHex", "value", "kInt32DecimalDigits", "kPowersOfTen", "BaseInt64", "buffer", "other", "L", "R", "product", "sum", "Uint64", "_Uint64", "val", "out_buffer", "num", "str", "length", "out", "posn", "group", "chunk", "multiple", "values", "data", "i", "n", "left", "right", "Int64", "_Int64", "this_high", "other_high", "negate", "Int128", "_Int128", "L0", "L1", "L2", "L3", "R0", "R1", "R2", "R3", "sums", "VectorLoader", "Visitor", "bytes", "nodes", "buffers", "dictionaries", "node", "Field", "type", "length", "makeData", "nullCount", "UnionMode", "buffer", "_type", "offset", "JSONVectorLoader", "sources", "packBools", "toArrayBufferView", "DataType", "Int64", "DateUnit", "Int128", "binaryDataFromJSON", "encodeUtf8", "x", "values", "joined", "data", "i", "BinaryBuilder", "VariableWidthBuilder", "opts", "BufferBuilder", "size", "index", "value", "toUint8Array", "pending", "pendingLength", "offsets", "data", "offset", "length", "BoolBuilder", "Builder", "options", "BitmapBufferBuilder", "index", "value", "DateBuilder", "FixedWidthBuilder", "setDate", "DateDayBuilder", "setDateDay", "DateMillisecondBuilder", "setDateMillisecond", "DecimalBuilder", "FixedWidthBuilder", "setDecimal", "DictionaryBuilder", "Builder", "type", "nulls", "hashFn", "Dictionary", "makeBuilder", "value", "index", "valid", "indices", "keysToIndices", "key", "idx", "prev", "curr", "data", "val", "FixedSizeBinaryBuilder", "FixedWidthBuilder", "setFixedSizeBinary", "FixedSizeListBuilder", "Builder", "index", "value", "child", "start", "i", "n", "name", "childIndex", "FixedSizeList", "Field", "FloatBuilder", "FixedWidthBuilder", "index", "value", "Float16Builder", "float64ToUint16", "Float32Builder", "Float64Builder", "IntervalBuilder", "FixedWidthBuilder", "setIntervalValue", "IntervalDayTimeBuilder", "setIntervalDayTime", "IntervalYearMonthBuilder", "setIntervalYearMonth", "IntBuilder", "FixedWidthBuilder", "index", "value", "Int8Builder", "Int16Builder", "Int32Builder", "Int64Builder", "Uint8Builder", "Uint16Builder", "Uint32Builder", "Uint64Builder", "ListBuilder", "VariableWidthBuilder", "opts", "OffsetsBufferBuilder", "child", "name", "List", "Field", "pending", "offsets", "index", "value", "v", "n", "start", "i", "MapBuilder", "VariableWidthBuilder", "index", "value", "row", "pending", "current", "child", "name", "Map_", "Field", "offsets", "idx", "end", "val", "NullBuilder", "Builder", "index", "value", "valid", "StructBuilder", "Builder", "index", "value", "children", "type", "_", "i", "f", "valid", "child", "name", "childIndex", "Struct", "Field", "TimestampBuilder", "FixedWidthBuilder", "setTimestamp", "TimestampSecondBuilder", "setTimestampSecond", "TimestampMillisecondBuilder", "setTimestampMillisecond", "TimestampMicrosecondBuilder", "setTimestampMicrosecond", "TimestampNanosecondBuilder", "setTimestampNanosecond", "TimeBuilder", "FixedWidthBuilder", "setTime", "TimeSecondBuilder", "setTimeSecond", "TimeMillisecondBuilder", "setTimeMillisecond", "TimeMicrosecondBuilder", "setTimeMicrosecond", "TimeNanosecondBuilder", "setTimeNanosecond", "UnionBuilder", "Builder", "options", "DataBufferBuilder", "value", "childTypeId", "index", "childIndex", "child", "name", "children", "mode", "typeIds", "fields", "Field", "Union_", "builder", "offset", "SparseUnionBuilder", "DenseUnionBuilder", "id", "denseIndex", "Utf8Builder", "VariableWidthBuilder", "opts", "BufferBuilder", "size", "index", "value", "encodeUtf8", "pending", "pendingLength", "BinaryBuilder", "GetBuilderCtor", "Visitor", "NullBuilder", "BoolBuilder", "IntBuilder", "Int8Builder", "Int16Builder", "Int32Builder", "Int64Builder", "Uint8Builder", "Uint16Builder", "Uint32Builder", "Uint64Builder", "FloatBuilder", "Float16Builder", "Float32Builder", "Float64Builder", "Utf8Builder", "BinaryBuilder", "FixedSizeBinaryBuilder", "DateBuilder", "DateDayBuilder", "DateMillisecondBuilder", "TimestampBuilder", "TimestampSecondBuilder", "TimestampMillisecondBuilder", "TimestampMicrosecondBuilder", "TimestampNanosecondBuilder", "TimeBuilder", "TimeSecondBuilder", "TimeMillisecondBuilder", "TimeMicrosecondBuilder", "TimeNanosecondBuilder", "DecimalBuilder", "ListBuilder", "StructBuilder", "UnionBuilder", "DenseUnionBuilder", "SparseUnionBuilder", "DictionaryBuilder", "IntervalBuilder", "IntervalDayTimeBuilder", "IntervalYearMonthBuilder", "FixedSizeListBuilder", "MapBuilder", "instance", "TypeComparator", "Visitor", "schema", "other", "fields", "others", "f", "field", "compareConstructor", "type", "compareAny", "compareInt", "compareFloat", "compareFixedSizeBinary", "compareDate", "compareTimestamp", "compareTime", "compareList", "instance", "compareStruct", "compareUnion", "x", "i", "compareDictionary", "compareInterval", "compareFixedSizeList", "compareMap", "compareSchemas", "compareFields", "compareTypes", "makeBuilder", "options", "type", "builder", "instance", "children", "defaultOptions", "getChildOptions", "_", "i", "name", "index", "field", "opts", "distributeVectorsIntoRecordBatches", "schema", "vecs", "uniformlyDistributeChunksAcrossRecordBatches", "v", "cols", "fields", "batches", "memo", "n", "c", "numBatches", "batchLength", "i", "numColumns", "child", "children", "distributeChildren", "makeData", "Struct", "data", "RecordBatch", "columns", "nullBitmapSize", "length", "field", "_a", "Table", "_Table", "args", "Schema", "schema", "offsets", "unwrap", "x", "RecordBatch", "Data", "Struct", "v", "keys", "vecs", "k", "Vector", "i", "Field", "batches", "distributeVectorsIntoRecordBatches", "_c", "_b", "batch", "compareSchemas", "computeChunkOffsets", "data", "numRows", "computeChunkNullCounts", "index", "value", "element", "offset", "instance", "others", "begin", "end", "clampRange", "sliceChunks", "chunk", "name", "f", "type", "empty", "makeData", "child", "Null", "fields", "field", "children", "_", "columnNames", "nameToIndex", "m", "columnName", "columnIndices", "other", "indices", "oldToNew", "memo", "f2", "newIdx", "columns", "j", "_a", "proto", "wrapChunkedCall1", "isChunkedValid", "Type", "wrapChunkedCall2", "wrapChunkedIndexOf", "RecordBatch", "_RecordBatch", "args", "Schema", "makeData", "Struct", "f", "Data", "ensureSameLengthData", "obj", "fields", "children", "length", "memo", "name", "i", "Field", "schema", "data", "collectDictionaries", "index", "instance", "value", "element", "offset", "Vector", "others", "Table", "begin", "end", "slice", "_b", "child", "Null", "field", "columnNames", "type", "columnIndices", "subset", "_a", "proto", "chunks", "maxLength", "max", "col", "nullBitmapSize", "idx", "chunk", "dictionaries", "n", "DataType", "_InternalEmptyPlaceholderRecordBatch", "BodyCompressionMethod", "CompressionType", "BodyCompression", "_BodyCompression", "i", "bb", "obj", "offset", "CompressionType", "BodyCompressionMethod", "builder", "codec", "method", "Buffer", "i", "bb", "builder", "offset", "length", "FieldNode", "i", "bb", "builder", "length", "null_count", "RecordBatch", "_RecordBatch", "i", "bb", "obj", "offset", "index", "FieldNode", "Buffer", "BodyCompression", "builder", "length", "nodesOffset", "numElems", "buffersOffset", "compressionOffset", "DictionaryBatch", "_DictionaryBatch", "i", "bb", "obj", "offset", "RecordBatch", "builder", "id", "dataOffset", "isDelta", "MessageHeader", "Message", "_Message", "i", "bb", "obj", "offset", "MetadataVersion", "MessageHeader", "index", "KeyValue", "builder", "version", "headerType", "headerOffset", "bodyLength", "customMetadataOffset", "data", "numElems", "TypeAssembler", "Visitor", "node", "builder", "_node", "b", "Null", "Int", "FloatingPoint", "Binary", "Bool", "Utf8", "Decimal", "Date", "Time", "timezone", "Timestamp", "Interval", "List", "Struct_", "Union", "typeIds", "indexType", "DictionaryEncoding", "FixedSizeBinary", "FixedSizeList", "Map", "instance", "schemaFromJSON", "_schema", "dictionaries", "Schema", "schemaFieldsFromJSON", "customMetadataFromJSON", "recordBatchFromJSON", "b", "RecordBatch", "fieldNodesFromJSON", "buffersFromJSON", "dictionaryBatchFromJSON", "DictionaryBatch", "f", "Field", "fieldChildrenFromJSON", "_field", "xs", "fieldNodes", "column", "FieldNode", "nullCountFromJSON", "buffers", "i", "BufferRegion", "validity", "sum", "val", "fieldFromJSON", "id", "keys", "field", "dictMeta", "type", "dictType", "typeFromJSON", "indexTypeFromJSON", "Int32", "Dictionary", "_metadata", "_type", "Int_", "children", "typeId", "Null", "Binary", "Utf8", "Bool", "List", "Struct", "t", "Float", "Precision", "Decimal", "Date_", "DateUnit", "Time_", "TimeUnit", "Timestamp_", "Interval_", "IntervalUnit", "Union_", "UnionMode", "FixedSizeBinary", "FixedSizeList", "Map_", "Builder", "ByteBuffer", "Message", "_Message", "msg", "headerType", "message", "MetadataVersion", "messageHeaderFromJSON", "buf", "toUint8Array", "_message", "bodyLength", "version", "decodeMessageHeader", "b", "headerOffset", "Schema", "RecordBatch", "DictionaryBatch", "header", "MessageHeader", "bigIntToNumber", "length", "nodes", "buffers", "data", "id", "isDelta", "BufferRegion", "offset", "FieldNode", "nullCount", "type", "Field", "encodeField", "decodeField", "fieldFromJSON", "encodeSchema", "decodeSchema", "schemaFromJSON", "encodeRecordBatch", "decodeRecordBatch", "recordBatchFromJSON", "encodeDictionaryBatch", "decodeDictionaryBatch", "dictionaryBatchFromJSON", "encodeFieldNode", "decodeFieldNode", "encodeBufferRegion", "decodeBufferRegion", "_schema", "dictionaries", "fields", "decodeSchemaFields", "decodeCustomMetadata", "batch", "decodeFieldNodes", "decodeBuffers", "f", "i", "j", "n", "bufferRegions", "schema", "decodeFieldChildren", "field", "children", "keys", "dictType", "dictMeta", "decodeFieldType", "decodeIndexType", "Int32", "Dictionary", "parent", "entry", "key", "_type", "Int_", "typeId", "Type", "Null", "Binary", "Utf8", "Bool", "List", "Struct", "t", "Int", "FloatingPoint", "Float", "Decimal", "Date", "Date_", "Time", "Time_", "Timestamp", "Timestamp_", "Interval", "Interval_", "Union", "Union_", "FixedSizeBinary", "FixedSizeList", "Map", "Map_", "fieldOffsets", "fieldsVectorOffset", "metadataOffset", "k", "v", "val", "KeyValue", "platformIsLittleEndian", "Endianness", "nameOffset", "typeOffset", "dictionaryOffset", "DataType", "instance", "childOffsets", "childrenVectorOffset", "recordBatch", "nodesVectorOffset", "b_", "buffersVectorOffset", "dictionaryBatch", "dataOffset", "node", "Buffer", "buffer", "invalidMessageType", "type", "MessageHeader", "nullMessage", "invalidMessageMetadata", "expected", "actual", "invalidMessageBodyLength", "MessageReader", "source", "ByteStream", "r", "ITERATOR_DONE", "value", "bodyLength", "buf", "toUint8Array", "throwIfNull", "message", "schema", "PADDING", "bb", "ByteBuffer", "len", "metadataLength", "Message", "AsyncMessageReader", "byteLength", "AsyncByteStream", "isFileHandle", "AsyncRandomAccessFile", "JSONMessageReader", "ArrowJSON", "_json", "batch", "_bodyLength", "flattenDataSources", "xs", "buffers", "column", "MAGIC_STR", "MAGIC", "i", "checkForMagicArrowString", "buffer", "index", "magicLength", "magicAndPadding", "magicX2AndPadding", "RecordBatchReader", "_RecordBatchReader", "ReadableInterop", "impl", "value", "schema", "options", "opening", "isPromise", "index", "adapters_default", "writableStrategy", "readableStrategy", "source", "isArrowJSON", "fromArrowJSON", "isFileHandle", "fromFileHandle", "__awaiter", "isFetchResponse", "isReadableDOMStream", "isReadableNodeStream", "isAsyncIterable", "fromAsyncByteStream", "AsyncByteStream", "fromByteStream", "ByteStream", "readAllSync", "readAllAsync", "isIterable", "isIteratorResult", "RecordBatchStreamReader", "_impl", "__asyncGenerator", "__await", "__yieldStar", "__asyncDelegator", "__asyncValues", "AsyncRecordBatchStreamReader", "batches", "_d", "_e", "_f", "_a", "_c", "batch", "RecordBatchFileReader", "AsyncRecordBatchFileReader", "RecordBatchReaderImpl", "dictionaries", "header", "body", "children", "data", "makeData", "Struct", "RecordBatch", "id", "isDelta", "dictionary", "type", "Vector", "types", "VectorLoader", "RecordBatchStreamReaderImpl", "JSONMessageReader", "MessageReader", "shouldAutoDestroy", "ITERATOR_DONE", "message", "reader", "buffer", "vector", "_InternalEmptyPlaceholderRecordBatch", "AsyncRecordBatchStreamReaderImpl", "AsyncMessageReader", "RecordBatchFileReaderImpl", "RandomAccessFile", "block", "MessageHeader", "_handle", "offset", "magicAndPadding", "length", "Footer_", "AsyncRecordBatchFileReaderImpl", "rest", "byteLength", "AsyncRandomAccessFile", "_super", "RecordBatchJSONReaderImpl", "JSONVectorLoader", "self", "bytes", "magicLength", "checkForMagicArrowString", "size", "file", "magicX2AndPadding", "VectorAssembler", "_VectorAssembler", "Visitor", "args", "unwrap", "nodes", "node", "RecordBatch", "assembler", "data", "Vector", "type", "DataType", "length", "nullCount", "addBuffer", "truncateBitmap", "FieldNode", "_null", "values", "byteLength", "BufferRegion", "assembleUnion", "typeIds", "valueOffsets", "UnionMode", "assembleNestedVector", "maxChildTypeId", "x", "y", "childLengths", "childOffsets", "shiftedOffsets", "unshiftedOffsets", "rebaseValueOffsets", "typeId", "shift", "index", "child", "childIndex", "numChildren", "childLength", "assembleBoolVector", "packBools", "assembleFlatVector", "assembleFlatListVector", "firstOffset", "lastOffset", "assembleListVector", "_", "i", "RecordBatchWriter", "ReadableInterop", "options", "writableStrategy", "readableStrategy", "AsyncByteQueue", "isObject", "sync", "input", "isPromise", "x", "isAsyncIterable", "writeAllAsync", "writeAll", "reason", "sink", "schema", "isWritableDOMStream", "isWritableNodeStream", "compareSchemas", "payload", "Table", "RecordBatch", "_InternalEmptyPlaceholderRecordBatch", "isIterable", "message", "alignment", "a", "buffer", "Message", "flatbufferSize", "prefixSize", "alignedSize", "nPaddingBytes", "MessageHeader", "FileBlock", "chunk", "toUint8Array", "MAGIC", "nBytes", "batch", "byteLength", "nodes", "bufferRegions", "buffers", "VectorAssembler", "recordBatch", "dictionary", "id", "isDelta", "Vector", "dictionaryBatch", "DictionaryBatch", "size", "padding", "i", "n", "offset", "data", "RecordBatchStreamWriter", "_RecordBatchStreamWriter", "writer", "RecordBatchFileWriter", "_RecordBatchFileWriter", "Footer_", "MetadataVersion", "writeAll", "writer", "input", "chunks", "Table", "batch", "writeAllAsync", "batches", "_a", "batches_1", "__asyncValues", "batches_1_1", "_b", "_d", "toDOMStream", "source", "options", "isAsyncIterable", "asyncIterableAsReadableDOMStream", "isIterable", "iterableAsReadableDOMStream", "it", "bm", "hwm", "controller", "next", "buf", "r", "size", "toUint8Array", "builderThroughDOMStream", "options", "BuilderTransform", "readableStrategy", "writableStrategy", "queueingStrategy", "builderOptions", "__rest", "makeBuilder", "chunkLength", "chunkByteLength", "readableHighWaterMark", "writableHighWaterMark", "c", "value", "bufferedSize", "builder", "controller", "chunk", "_a", "recordBatchReaderThroughDOMStream", "writableStrategy", "readableStrategy", "queue", "AsyncByteQueue", "reader", "readable", "controller", "next", "open", "RecordBatchReader", "size", "r", "recordBatchWriterThroughDOMStream", "writableStrategy", "readableStrategy", "writer", "reader", "AsyncByteStream", "readable", "controller", "next", "buf", "size", "tableToIPC", "table", "type", "RecordBatchStreamWriter", "RecordBatchFileWriter", "util", "bn_exports", "int_exports", "bit_exports", "math_exports", "buffer_exports", "vector_exports", "compareSchemas", "compareFields", "compareTypes", "adapters_default", "toDOMStream", "Builder", "builderThroughDOMStream", "RecordBatchReader", "recordBatchReaderThroughDOMStream", "RecordBatchFileReader", "RecordBatchStreamReader", "RecordBatchWriter", "recordBatchWriterThroughDOMStream", "RecordBatchFileWriter", "RecordBatchStreamWriter", "arrowToSQLType", "type", "Type", "dec", "c", "arrowToSQLField", "map_", "name", "t", "AsyncDuckDBDispatcher", "entry", "request", "obj", "p", "conn", "_", "c", "result", "transfer", "infos", "buffer", "import_duckdb_eh", "DuckDBConnection", "bindings", "conn", "callback", "text", "buffer", "reader", "RecordBatchReader", "Table", "header", "resolve", "reject", "e", "iter", "ResultStreamIterator", "query", "stmt", "PreparedStatement", "name", "returns", "func", "table", "options", "tableToIPC", "path", "bufferI8", "connectionId", "statementId", "params", "TEXT_ENCODER", "TEXT_DECODER", "storeError", "mod", "response", "message", "msgBuffer", "heapAddr", "heapArray", "getTypeSize", "ptype", "ptrToArray", "ptr", "heap", "ptrToUint8Array", "n", "ptrToFloat64Array", "callScalarUDF", "runtime", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "udf", "rawDesc", "desc", "ptrs", "buildResolver", "arg", "_a", "validity", "raw", "strings", "stringLengths", "j", "subarray", "str", "row", "tmp", "children", "attr", "child", "resolver", "data", "argResolvers", "i", "resultDataLen", "resultDataPtr", "resultData", "resultValidityPtr", "resultValidity", "rawResultData", "args", "res", "resultLengthsPtr", "resultDataUTF8", "resultLengths", "totalLength", "utf8", "resultStringPtr", "resultStringBuf", "writerOffset", "resultUTF8", "retLen", "retPtr", "retBuffer", "e", "TextDecoderWrapper", "decoder", "data", "decodeText", "failWith", "mod", "msg", "copyBuffer", "begin", "length", "buffer", "copy", "readString", "callSRet", "mod", "funcName", "argTypes", "args", "stackPointer", "response", "status", "data", "dataSize", "dropResponseBuffers", "FileStatistics", "u8array", "f64", "blocks", "index", "out", "TEXT_ENCODER", "DuckDBBindingsBase", "logger", "runtime", "onProgress", "_", "resolve", "x", "config", "s", "d", "n", "callSRet", "readString", "dropResponseBuffers", "version", "text", "res", "conn", "DuckDBConnection", "worker", "copyBuffer", "name", "returns", "func", "decl", "arrowToSQLType", "def", "statement", "params", "buffer", "options", "bufferPtr", "optJSON", "path", "k", "arrowToSQLField", "opt", "infoStr", "info", "url", "proto", "directIO", "TEXT_ENCODER", "ptr", "handle", "protocol", "copy", "file", "enable", "FileStatistics", "DuckDBBrowserBindings", "DuckDBBindingsBase", "logger", "runtime", "mainModuleURL", "pthreadWorkerURL", "path", "prefix", "imports", "success", "handlers", "response", "_a", "request", "contentLengthHdr", "contentLength", "start", "progress", "tracker", "chunk", "ctrl", "now", "p", "ts", "output", "xhr", "url", "error", "e", "buffer", "DuckDB", "DuckDBBrowserBindings", "logger", "runtime", "mainModuleURL", "pthreadWorkerURL", "moduleOverrides", "DuckDBWasm", "import_js_sha256", "getHTTPHost", "config", "url", "bucket", "_a", "httpHost", "offset", "getS3Params", "method", "_b", "_c", "_d", "parsedS3Url", "parseS3Url", "path", "isPathStyleAccess", "uriEncode", "input", "encode_slash", "hexDigit", "result", "ch", "createS3Headers", "params", "payloadParams", "payloadHash", "res", "signedHeaders", "canonicalRequest", "canonicalRequestHashStr", "stringToSign", "signKey", "kDate", "kRegion", "kService", "signingKey", "signature", "createS3HeadersFromS3Config", "contentType", "payload", "addS3Headers", "xhr", "value", "header", "slashPos", "getHTTPUrl", "parsedUrl", "BROWSER_RUNTIME", "mod", "fileId", "cached", "s", "d", "n", "callSRet", "infoStr", "readString", "dropResponseBuffers", "info", "file", "_a", "_mod", "feature", "flags", "xhr", "getHTTPUrl", "addS3Headers", "data", "src", "result", "contentLength", "error", "e", "contentLength2", "handle", "buffer", "failWith", "pathPtr", "pathLen", "path", "globalInfo", "xhr2", "_fileId", "newSize", "buf", "bytes", "location", "_b", "sliced", "out", "input", "fromPtr", "fromLen", "toPtr", "toLen", "from", "to", "key", "value", "_pathPtr", "_pathLen", "response", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "callScalarUDF", "WebWorker", "AsyncDuckDBDispatcher", "response", "transfer", "mainModuleURL", "pthreadWorkerURL", "progress", "DuckDB", "BROWSER_RUNTIME", "registerWorker", "api", "event"]
4
+ "sourcesContent": ["\nvar DuckDB = (() => {\n var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;\n if (typeof __filename !== 'undefined') _scriptDir = _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};Module[\"inspect\"]=()=>\"[Emscripten Module object]\"}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!=\"undefined\"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf(\"blob:\")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,\"\").lastIndexOf(\"/\")+1)}else{scriptDirectory=\"\"}{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;function assert(condition,text){if(!condition){abort(text)}}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 __ATMAIN__=[];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 preMain(){callRuntimeCallbacks(__ATMAIN__)}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++;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module[\"monitorRunDependencies\"]){Module[\"monitorRunDependencies\"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}function abort(what){if(Module[\"onAbort\"]){Module[\"onAbort\"](what)}what=\"Aborted(\"+what+\")\";err(what);ABORT=true;EXITSTATUS=1;what+=\". Build with -sASSERTIONS for more info.\";if(runtimeInitialized){___trap()}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=\"./duckdb-eh.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\"){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))}}return Promise.resolve().then(()=>getBinarySync(binaryFile))}function instantiateArrayBuffer(binaryFile,imports,receiver){return getBinaryPromise(binaryFile).then(binary=>WebAssembly.instantiate(binary,imports)).then(instance=>instance).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)&&!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[\"fa\"];updateMemoryViews();addOnInit(wasmExports[\"ga\"]);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;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}};var convertI32PairToI53Checked=(lo,hi)=>hi+2097152>>>0<4194305-!!lo?(lo>>>0)+hi*4294967296:NaN;function ___syscall__newselect(nfds,readfds,writefds,exceptfds,timeout){readfds>>>=0;writefds>>>=0;exceptfds>>>=0;timeout>>>=0;var total=0;var srcReadLow=readfds?HEAP32[readfds>>>2>>>0]:0,srcReadHigh=readfds?HEAP32[readfds+4>>>2>>>0]:0;var srcWriteLow=writefds?HEAP32[writefds>>>2>>>0]:0,srcWriteHigh=writefds?HEAP32[writefds+4>>>2>>>0]:0;var srcExceptLow=exceptfds?HEAP32[exceptfds>>>2>>>0]:0,srcExceptHigh=exceptfds?HEAP32[exceptfds+4>>>2>>>0]:0;var dstReadLow=0,dstReadHigh=0;var dstWriteLow=0,dstWriteHigh=0;var dstExceptLow=0,dstExceptHigh=0;var allLow=(readfds?HEAP32[readfds>>>2>>>0]:0)|(writefds?HEAP32[writefds>>>2>>>0]:0)|(exceptfds?HEAP32[exceptfds>>>2>>>0]:0);var allHigh=(readfds?HEAP32[readfds+4>>>2>>>0]:0)|(writefds?HEAP32[writefds+4>>>2>>>0]:0)|(exceptfds?HEAP32[exceptfds+4>>>2>>>0]:0);var check=function(fd,low,high,val){return fd<32?low&val:high&val};for(var fd=0;fd<nfds;fd++){var mask=1<<fd%32;if(!check(fd,allLow,allHigh,mask)){continue}var stream=SYSCALLS.getStreamFromFD(fd);var flags=SYSCALLS.DEFAULT_POLLMASK;if(stream.stream_ops.poll){var timeoutInMillis=-1;if(timeout){var tv_sec=readfds?HEAP32[timeout>>>2>>>0]:0,tv_usec=readfds?HEAP32[timeout+8>>>2>>>0]:0;timeoutInMillis=(tv_sec+tv_usec/1e6)*1e3}flags=stream.stream_ops.poll(stream,timeoutInMillis)}if(flags&1&&check(fd,srcReadLow,srcReadHigh,mask)){fd<32?dstReadLow=dstReadLow|mask:dstReadHigh=dstReadHigh|mask;total++}if(flags&4&&check(fd,srcWriteLow,srcWriteHigh,mask)){fd<32?dstWriteLow=dstWriteLow|mask:dstWriteHigh=dstWriteHigh|mask;total++}if(flags&2&&check(fd,srcExceptLow,srcExceptHigh,mask)){fd<32?dstExceptLow=dstExceptLow|mask:dstExceptHigh=dstExceptHigh|mask;total++}}if(readfds){HEAP32[readfds>>>2>>>0]=dstReadLow;HEAP32[readfds+4>>>2>>>0]=dstReadHigh}if(writefds){HEAP32[writefds>>>2>>>0]=dstWriteLow;HEAP32[writefds+4>>>2>>>0]=dstWriteHigh}if(exceptfds){HEAP32[exceptfds>>>2>>>0]=dstExceptLow;HEAP32[exceptfds+4>>>2>>>0]=dstExceptHigh}return total}function SOCKFS(){abort(\"missing function: $SOCKFS\")}SOCKFS.stub=true;function FS(){abort(\"missing function: $FS\")}FS.stub=true;var getSocketFromFD=fd=>{var socket=SOCKFS.getSocket(fd);if(!socket)throw new FS.ErrnoError(8);return socket};var inetNtop4=addr=>(addr&255)+\".\"+(addr>>8&255)+\".\"+(addr>>16&255)+\".\"+(addr>>24&255);var inetNtop6=ints=>{var str=\"\";var word=0;var longest=0;var lastzero=0;var zstart=0;var len=0;var i=0;var parts=[ints[0]&65535,ints[0]>>16,ints[1]&65535,ints[1]>>16,ints[2]&65535,ints[2]>>16,ints[3]&65535,ints[3]>>16];var hasipv4=true;var v4part=\"\";for(i=0;i<5;i++){if(parts[i]!==0){hasipv4=false;break}}if(hasipv4){v4part=inetNtop4(parts[6]|parts[7]<<16);if(parts[5]===-1){str=\"::ffff:\";str+=v4part;return str}if(parts[5]===0){str=\"::\";if(v4part===\"0.0.0.0\")v4part=\"\";if(v4part===\"0.0.0.1\")v4part=\"1\";str+=v4part;return str}}for(word=0;word<8;word++){if(parts[word]===0){if(word-lastzero>1){len=0}lastzero=word;len++}if(len>longest){longest=len;zstart=word-longest+1}}for(word=0;word<8;word++){if(longest>1){if(parts[word]===0&&word>=zstart&&word<zstart+longest){if(word===zstart){str+=\":\";if(zstart===0)str+=\":\"}continue}}str+=Number(_ntohs(parts[word]&65535)).toString(16);str+=word<7?\":\":\"\"}return str};var readSockaddr=(sa,salen)=>{var family=HEAP16[sa>>>1>>>0];var port=_ntohs(HEAPU16[sa+2>>>1>>>0]);var addr;switch(family){case 2:if(salen!==16){return{errno:28}}addr=HEAP32[sa+4>>>2>>>0];addr=inetNtop4(addr);break;case 10:if(salen!==28){return{errno:28}}addr=[HEAP32[sa+8>>>2>>>0],HEAP32[sa+12>>>2>>>0],HEAP32[sa+16>>>2>>>0],HEAP32[sa+20>>>2>>>0]];addr=inetNtop6(addr);break;default:return{errno:5}}return{family:family,addr:addr,port:port}};var inetPton4=str=>{var b=str.split(\".\");for(var i=0;i<4;i++){var tmp=Number(b[i]);if(isNaN(tmp))return null;b[i]=tmp}return(b[0]|b[1]<<8|b[2]<<16|b[3]<<24)>>>0};var jstoi_q=str=>parseInt(str);var inetPton6=str=>{var words;var w,offset,z;var valid6regx=/^((?=.*::)(?!.*::.+::)(::)?([\\dA-F]{1,4}:(:|\\b)|){5}|([\\dA-F]{1,4}:){6})((([\\dA-F]{1,4}((?!\\3)::|:\\b|$))|(?!\\2\\3)){2}|(((2[0-4]|1\\d|[1-9])?\\d|25[0-5])\\.?\\b){4})$/i;var parts=[];if(!valid6regx.test(str)){return null}if(str===\"::\"){return[0,0,0,0,0,0,0,0]}if(str.startsWith(\"::\")){str=str.replace(\"::\",\"Z:\")}else{str=str.replace(\"::\",\":Z:\")}if(str.indexOf(\".\")>0){str=str.replace(new RegExp(\"[.]\",\"g\"),\":\");words=str.split(\":\");words[words.length-4]=jstoi_q(words[words.length-4])+jstoi_q(words[words.length-3])*256;words[words.length-3]=jstoi_q(words[words.length-2])+jstoi_q(words[words.length-1])*256;words=words.slice(0,words.length-2)}else{words=str.split(\":\")}offset=0;z=0;for(w=0;w<words.length;w++){if(typeof words[w]==\"string\"){if(words[w]===\"Z\"){for(z=0;z<8-words.length+1;z++){parts[w+z]=0}offset=z-1}else{parts[w+offset]=_htons(parseInt(words[w],16))}}else{parts[w+offset]=words[w]}}return[parts[1]<<16|parts[0],parts[3]<<16|parts[2],parts[5]<<16|parts[4],parts[7]<<16|parts[6]]};var DNS={address_map:{id:1,addrs:{},names:{}},lookup_name(name){var res=inetPton4(name);if(res!==null){return name}res=inetPton6(name);if(res!==null){return name}var addr;if(DNS.address_map.addrs[name]){addr=DNS.address_map.addrs[name]}else{var id=DNS.address_map.id++;assert(id<65535,\"exceeded max address mappings of 65535\");addr=\"172.29.\"+(id&255)+\".\"+(id&65280);DNS.address_map.names[addr]=name;DNS.address_map.addrs[name]=addr}return addr},lookup_addr(addr){if(DNS.address_map.names[addr]){return DNS.address_map.names[addr]}return null}};var getSocketAddress=(addrp,addrlen,allowNull)=>{if(allowNull&&addrp===0)return null;var info=readSockaddr(addrp,addrlen);if(info.errno)throw new FS.ErrnoError(info.errno);info.addr=DNS.lookup_addr(info.addr)||info.addr;return info};function ___syscall_bind(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.bind(sock,info.addr,info.port);return 0}function ___syscall_connect(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);var info=getSocketAddress(addr,addrlen);sock.sock_ops.connect(sock,info.addr,info.port);return 0}function ___syscall_faccessat(dirfd,path,amode,flags){path>>>=0}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)}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);function ___syscall_getdents64(fd,dirp,count){dirp>>>=0;count>>>=0}var zeroMemory=(address,size)=>{HEAPU8.fill(0,address,address+size);return address};var writeSockaddr=(sa,family,addr,port,addrlen)=>{switch(family){case 2:addr=inetPton4(addr);zeroMemory(sa,16);if(addrlen){HEAP32[addrlen>>>2>>>0]=16}HEAP16[sa>>>1>>>0]=family;HEAP32[sa+4>>>2>>>0]=addr;HEAP16[sa+2>>>1>>>0]=_htons(port);break;case 10:addr=inetPton6(addr);zeroMemory(sa,28);if(addrlen){HEAP32[addrlen>>>2>>>0]=28}HEAP32[sa>>>2>>>0]=family;HEAP32[sa+8>>>2>>>0]=addr[0];HEAP32[sa+12>>>2>>>0]=addr[1];HEAP32[sa+16>>>2>>>0]=addr[2];HEAP32[sa+20>>>2>>>0]=addr[3];HEAP16[sa+2>>>1>>>0]=_htons(port);break;default:return 5}return 0};function ___syscall_getpeername(fd,addr,addrlen,d1,d2,d3){addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);if(!sock.daddr){return-53}var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(sock.daddr),sock.dport,addrlen);return 0}function ___syscall_getsockopt(fd,level,optname,optval,optlen,d1){optval>>>=0;optlen>>>=0;var sock=getSocketFromFD(fd);if(level===1){if(optname===4){HEAP32[optval>>>2>>>0]=sock.error;HEAP32[optlen>>>2>>>0]=4;sock.error=null;return 0}}return-50}function ___syscall_ioctl(fd,op,varargs){varargs>>>=0;SYSCALLS.varargs=varargs;return 0}function ___syscall_lstat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_mkdirat(dirfd,path,mode){path>>>=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_recvfrom(fd,buf,len,flags,addr,addrlen){buf>>>=0;len>>>=0;addr>>>=0;addrlen>>>=0;var sock=getSocketFromFD(fd);var msg=sock.sock_ops.recvmsg(sock,len);if(!msg)return 0;if(addr){var errno=writeSockaddr(addr,sock.family,DNS.lookup_name(msg.addr),msg.port,addrlen)}HEAPU8.set(msg.buffer,buf>>>0);return msg.buffer.byteLength}function ___syscall_renameat(olddirfd,oldpath,newdirfd,newpath){oldpath>>>=0;newpath>>>=0}function ___syscall_rmdir(path){path>>>=0}function ___syscall_sendto(fd,message,length,flags,addr,addr_len){message>>>=0;length>>>=0;addr>>>=0;addr_len>>>=0}var ___syscall_socket=(domain,type,protocol)=>{};function ___syscall_stat64(path,buf){path>>>=0;buf>>>=0}function ___syscall_unlinkat(dirfd,path,flags){path>>>=0}var nowIsMonotonic=true;var __emscripten_get_now_is_monotonic=()=>nowIsMonotonic;var _abort=()=>{abort(\"\")};function _duckdb_web_fs_directory_create(path,pathLen){return globalThis.DUCKDB_RUNTIME.createDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkDirectory(Module,path,pathLen)}function _duckdb_web_fs_directory_list_files(path,pathLen){return globalThis.DUCKDB_RUNTIME.listDirectoryEntries(Module,path,pathLen)}function _duckdb_web_fs_directory_remove(path,pathLen){return globalThis.DUCKDB_RUNTIME.removeDirectory(Module,path,pathLen)}function _duckdb_web_fs_file_close(fileId){return globalThis.DUCKDB_RUNTIME.closeFile(Module,fileId)}function _duckdb_web_fs_file_exists(path,pathLen){return globalThis.DUCKDB_RUNTIME.checkFile(Module,path,pathLen)}function _duckdb_web_fs_file_get_last_modified_time(fileId){return globalThis.DUCKDB_RUNTIME.getLastFileModificationTime(Module,fileId)}function _duckdb_web_fs_file_move(from,fromLen,to,toLen){return globalThis.DUCKDB_RUNTIME.moveFile(Module,from,fromLen,to,toLen)}function _duckdb_web_fs_file_open(fileId,flags){return globalThis.DUCKDB_RUNTIME.openFile(Module,fileId,flags)}function _duckdb_web_fs_file_read(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.readFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_file_truncate(fileId,newSize){return globalThis.DUCKDB_RUNTIME.truncateFile(Module,fileId,newSize)}function _duckdb_web_fs_file_write(fileId,buf,size,location){return globalThis.DUCKDB_RUNTIME.writeFile(Module,fileId,buf,size,location)}function _duckdb_web_fs_get_default_data_protocol(Module){return globalThis.DUCKDB_RUNTIME.getDefaultDataProtocol(Module)}function _duckdb_web_fs_glob(path,pathLen){return globalThis.DUCKDB_RUNTIME.glob(Module,path,pathLen)}function _duckdb_web_test_platform_feature(feature){return globalThis.DUCKDB_RUNTIME.testPlatformFeature(Module,feature)}function _duckdb_web_udf_scalar_call(funcId,descPtr,descSize,ptrsPtr,ptrsSize,response){return globalThis.DUCKDB_RUNTIME.callScalarUDF(Module,funcId,descPtr,descSize,ptrsPtr,ptrsSize,response)}var _emscripten_date_now=()=>Date.now();var getHeapMax=()=>4294901760;function _emscripten_get_heap_max(){return getHeapMax()}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 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>>>0]=str.charCodeAt(i)}HEAP8[buffer>>>0>>>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 _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>>>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_pread(fd,iov,iovcnt,offset_low,offset_high,pnum){iov>>>=0;iovcnt>>>=0;var offset=convertI32PairToI53Checked(offset_low,offset_high);pnum>>>=0;return 52}function _fd_pwrite(fd,iov,iovcnt,offset_low,offset_high,pnum){iov>>>=0;iovcnt>>>=0;var offset=convertI32PairToI53Checked(offset_low,offset_high);pnum>>>=0;return 52}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 _fd_sync=fd=>52;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}function _getaddrinfo(node,service,hint,out){node>>>=0;service>>>=0;hint>>>=0;out>>>=0;var addr=0;var port=0;var flags=0;var family=0;var type=0;var proto=0;var ai;function allocaddrinfo(family,type,proto,canon,addr,port){var sa,salen,ai;var errno;salen=family===10?28:16;addr=family===10?inetNtop6(addr):inetNtop4(addr);sa=_malloc(salen);errno=writeSockaddr(sa,family,addr,port);assert(!errno);ai=_malloc(32);HEAP32[ai+4>>>2>>>0]=family;HEAP32[ai+8>>>2>>>0]=type;HEAP32[ai+12>>>2>>>0]=proto;HEAPU32[ai+24>>>2>>>0]=canon;HEAPU32[ai+20>>>2>>>0]=sa;if(family===10){HEAP32[ai+16>>>2>>>0]=28}else{HEAP32[ai+16>>>2>>>0]=16}HEAP32[ai+28>>>2>>>0]=0;return ai}if(hint){flags=HEAP32[hint>>>2>>>0];family=HEAP32[hint+4>>>2>>>0];type=HEAP32[hint+8>>>2>>>0];proto=HEAP32[hint+12>>>2>>>0]}if(type&&!proto){proto=type===2?17:6}if(!type&&proto){type=proto===17?2:1}if(proto===0){proto=6}if(type===0){type=1}if(!node&&!service){return-2}if(flags&~(1|2|4|1024|8|16|32)){return-1}if(hint!==0&&HEAP32[hint>>>2>>>0]&2&&!node){return-1}if(flags&32){return-2}if(type!==0&&type!==1&&type!==2){return-7}if(family!==0&&family!==2&&family!==10){return-6}if(service){service=UTF8ToString(service);port=parseInt(service,10);if(isNaN(port)){if(flags&1024){return-2}return-8}}if(!node){if(family===0){family=2}if((flags&1)===0){if(family===2){addr=_htonl(2130706433)}else{addr=[0,0,0,1]}}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}node=UTF8ToString(node);addr=inetPton4(node);if(addr!==null){if(family===0||family===2){family=2}else if(family===10&&flags&8){addr=[0,0,_htonl(65535),addr];family=10}else{return-2}}else{addr=inetPton6(node);if(addr!==null){if(family===0||family===10){family=10}else{return-2}}}if(addr!=null){ai=allocaddrinfo(family,type,proto,node,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}if(flags&4){return-2}node=DNS.lookup_name(node);addr=inetPton4(node);if(family===0){family=2}else if(family===10){addr=[0,0,_htonl(65535),addr]}ai=allocaddrinfo(family,type,proto,null,addr,port);HEAPU32[out>>>2>>>0]=ai;return 0}var initRandomFill=()=>{if(typeof crypto==\"object\"&&typeof crypto[\"getRandomValues\"]==\"function\"){return view=>crypto.getRandomValues(view)}else if(ENVIRONMENT_IS_NODE){try{var crypto_module=require(\"crypto\");var randomFillSync=crypto_module[\"randomFillSync\"];if(randomFillSync){return view=>crypto_module[\"randomFillSync\"](view)}var randomBytes=crypto_module[\"randomBytes\"];return view=>(view.set(randomBytes(view.byteLength)),view)}catch(e){}}abort(\"initRandomDevice\")};var randomFill=view=>(randomFill=initRandomFill())(view);function _getentropy(buffer,size){buffer>>>=0;size>>>=0;randomFill(HEAPU8.subarray(buffer>>>0,buffer+size>>>0));return 0}function _getnameinfo(sa,salen,node,nodelen,serv,servlen,flags){sa>>>=0;node>>>=0;serv>>>=0;var info=readSockaddr(sa,salen);if(info.errno){return-6}var port=info.port;var addr=info.addr;var overflowed=false;if(node&&nodelen){var lookup;if(flags&1||!(lookup=DNS.lookup_addr(addr))){if(flags&8){return-2}}else{addr=lookup}var numBytesWrittenExclNull=stringToUTF8(addr,node,nodelen);if(numBytesWrittenExclNull+1>=nodelen){overflowed=true}}if(serv&&servlen){port=\"\"+port;var numBytesWrittenExclNull=stringToUTF8(port,serv,servlen);if(numBytesWrittenExclNull+1>=servlen){overflowed=true}}if(overflowed){return-12}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};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 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\":date=>getWeekBasedYear(date),\"%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)}var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var _proc_exit=code=>{EXITSTATUS=code;if(!keepRuntimeAlive()){if(Module[\"onExit\"])Module[\"onExit\"](code);ABORT=true}quit_(code,new ExitStatus(code))};var exitJS=(status,implicit)=>{EXITSTATUS=status;_proc_exit(status)};var handleException=e=>{if(e instanceof ExitStatus||e==\"unwind\"){return EXITSTATUS}quit_(1,e)};var getCFunc=ident=>{var func=Module[\"_\"+ident];return func};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={\"string\":str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return ret},\"array\":arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType===\"string\"){return UTF8ToString(ret)}if(returnType===\"boolean\")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret};var wasmImports={Z:___syscall__newselect,ba:___syscall_bind,aa:___syscall_connect,V:___syscall_faccessat,a:___syscall_fcntl64,U:___syscall_fstat64,v:___syscall_ftruncate64,P:___syscall_getdents64,X:___syscall_getpeername,Y:___syscall_getsockopt,o:___syscall_ioctl,R:___syscall_lstat64,Q:___syscall_mkdirat,S:___syscall_newfstatat,p:___syscall_openat,_:___syscall_recvfrom,N:___syscall_renameat,i:___syscall_rmdir,$:___syscall_sendto,l:___syscall_socket,T:___syscall_stat64,j:___syscall_unlinkat,q:__emscripten_get_now_is_monotonic,c:_abort,F:_duckdb_web_fs_directory_create,G:_duckdb_web_fs_directory_exists,D:_duckdb_web_fs_directory_list_files,E:_duckdb_web_fs_directory_remove,g:_duckdb_web_fs_file_close,A:_duckdb_web_fs_file_exists,u:_duckdb_web_fs_file_get_last_modified_time,B:_duckdb_web_fs_file_move,I:_duckdb_web_fs_file_open,d:_duckdb_web_fs_file_read,H:_duckdb_web_fs_file_truncate,h:_duckdb_web_fs_file_write,J:_duckdb_web_fs_get_default_data_protocol,z:_duckdb_web_fs_glob,f:_duckdb_web_test_platform_feature,L:_duckdb_web_udf_scalar_call,r:_emscripten_date_now,s:_emscripten_get_heap_max,k:_emscripten_get_now,da:_emscripten_memcpy_js,ea:_emscripten_resize_heap,C:_environ_get,K:_environ_sizes_get,b:_fd_close,ca:_fd_fdstat_get,x:_fd_pread,w:_fd_pwrite,n:_fd_read,y:_fd_seek,O:_fd_sync,e:_fd_write,m:_getaddrinfo,M:_getentropy,W:_getnameinfo,t:_strftime_l};var wasmExports=createWasm();var ___wasm_call_ctors=()=>(___wasm_call_ctors=wasmExports[\"ga\"])();var _main=Module[\"_main\"]=(a0,a1)=>(_main=Module[\"_main\"]=wasmExports[\"ha\"])(a0,a1);var _duckdb_web_fs_glob_add_path=Module[\"_duckdb_web_fs_glob_add_path\"]=a0=>(_duckdb_web_fs_glob_add_path=Module[\"_duckdb_web_fs_glob_add_path\"]=wasmExports[\"ja\"])(a0);var _duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=()=>(_duckdb_web_clear_response=Module[\"_duckdb_web_clear_response\"]=wasmExports[\"ka\"])();var _duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=a0=>(_duckdb_web_fail_with=Module[\"_duckdb_web_fail_with\"]=wasmExports[\"la\"])(a0);var _duckdb_web_reset=Module[\"_duckdb_web_reset\"]=a0=>(_duckdb_web_reset=Module[\"_duckdb_web_reset\"]=wasmExports[\"ma\"])(a0);var _duckdb_web_connect=Module[\"_duckdb_web_connect\"]=()=>(_duckdb_web_connect=Module[\"_duckdb_web_connect\"]=wasmExports[\"na\"])();var _duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=a0=>(_duckdb_web_disconnect=Module[\"_duckdb_web_disconnect\"]=wasmExports[\"oa\"])(a0);var _duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=()=>(_duckdb_web_flush_files=Module[\"_duckdb_web_flush_files\"]=wasmExports[\"pa\"])();var _duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=a0=>(_duckdb_web_flush_file=Module[\"_duckdb_web_flush_file\"]=wasmExports[\"qa\"])(a0);var _duckdb_web_open=Module[\"_duckdb_web_open\"]=(a0,a1)=>(_duckdb_web_open=Module[\"_duckdb_web_open\"]=wasmExports[\"ra\"])(a0,a1);var _duckdb_web_get_global_file_info=Module[\"_duckdb_web_get_global_file_info\"]=(a0,a1)=>(_duckdb_web_get_global_file_info=Module[\"_duckdb_web_get_global_file_info\"]=wasmExports[\"sa\"])(a0,a1);var _duckdb_web_collect_file_stats=Module[\"_duckdb_web_collect_file_stats\"]=(a0,a1,a2)=>(_duckdb_web_collect_file_stats=Module[\"_duckdb_web_collect_file_stats\"]=wasmExports[\"ta\"])(a0,a1,a2);var _duckdb_web_export_file_stats=Module[\"_duckdb_web_export_file_stats\"]=(a0,a1)=>(_duckdb_web_export_file_stats=Module[\"_duckdb_web_export_file_stats\"]=wasmExports[\"ua\"])(a0,a1);var _duckdb_web_fs_drop_file=Module[\"_duckdb_web_fs_drop_file\"]=(a0,a1)=>(_duckdb_web_fs_drop_file=Module[\"_duckdb_web_fs_drop_file\"]=wasmExports[\"va\"])(a0,a1);var _duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=a0=>(_duckdb_web_fs_drop_files=Module[\"_duckdb_web_fs_drop_files\"]=wasmExports[\"wa\"])(a0);var _duckdb_web_fs_glob_file_infos=Module[\"_duckdb_web_fs_glob_file_infos\"]=(a0,a1)=>(_duckdb_web_fs_glob_file_infos=Module[\"_duckdb_web_fs_glob_file_infos\"]=wasmExports[\"xa\"])(a0,a1);var _duckdb_web_fs_get_file_info_by_id=Module[\"_duckdb_web_fs_get_file_info_by_id\"]=(a0,a1,a2)=>(_duckdb_web_fs_get_file_info_by_id=Module[\"_duckdb_web_fs_get_file_info_by_id\"]=wasmExports[\"ya\"])(a0,a1,a2);var _duckdb_web_fs_get_file_info_by_name=Module[\"_duckdb_web_fs_get_file_info_by_name\"]=(a0,a1,a2)=>(_duckdb_web_fs_get_file_info_by_name=Module[\"_duckdb_web_fs_get_file_info_by_name\"]=wasmExports[\"za\"])(a0,a1,a2);var _duckdb_web_fs_register_file_url=Module[\"_duckdb_web_fs_register_file_url\"]=(a0,a1,a2,a3,a4)=>(_duckdb_web_fs_register_file_url=Module[\"_duckdb_web_fs_register_file_url\"]=wasmExports[\"Aa\"])(a0,a1,a2,a3,a4);var _duckdb_web_fs_register_file_buffer=Module[\"_duckdb_web_fs_register_file_buffer\"]=(a0,a1,a2,a3)=>(_duckdb_web_fs_register_file_buffer=Module[\"_duckdb_web_fs_register_file_buffer\"]=wasmExports[\"Ba\"])(a0,a1,a2,a3);var _duckdb_web_copy_file_to_buffer=Module[\"_duckdb_web_copy_file_to_buffer\"]=(a0,a1)=>(_duckdb_web_copy_file_to_buffer=Module[\"_duckdb_web_copy_file_to_buffer\"]=wasmExports[\"Ca\"])(a0,a1);var _duckdb_web_copy_file_to_path=Module[\"_duckdb_web_copy_file_to_path\"]=(a0,a1,a2)=>(_duckdb_web_copy_file_to_path=Module[\"_duckdb_web_copy_file_to_path\"]=wasmExports[\"Da\"])(a0,a1,a2);var _duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=a0=>(_duckdb_web_get_version=Module[\"_duckdb_web_get_version\"]=wasmExports[\"Ea\"])(a0);var _duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=()=>(_duckdb_web_get_feature_flags=Module[\"_duckdb_web_get_feature_flags\"]=wasmExports[\"Fa\"])();var _duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=(a0,a1)=>(_duckdb_web_tokenize=Module[\"_duckdb_web_tokenize\"]=wasmExports[\"Ga\"])(a0,a1);var _duckdb_web_udf_scalar_create=Module[\"_duckdb_web_udf_scalar_create\"]=(a0,a1,a2)=>(_duckdb_web_udf_scalar_create=Module[\"_duckdb_web_udf_scalar_create\"]=wasmExports[\"Ha\"])(a0,a1,a2);var _duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=(a0,a1,a2)=>(_duckdb_web_prepared_create=Module[\"_duckdb_web_prepared_create\"]=wasmExports[\"Ia\"])(a0,a1,a2);var _duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=(a0,a1,a2)=>(_duckdb_web_prepared_close=Module[\"_duckdb_web_prepared_close\"]=wasmExports[\"Ja\"])(a0,a1,a2);var _duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=(a0,a1,a2,a3)=>(_duckdb_web_prepared_run=Module[\"_duckdb_web_prepared_run\"]=wasmExports[\"Ka\"])(a0,a1,a2,a3);var _duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=(a0,a1,a2,a3)=>(_duckdb_web_prepared_send=Module[\"_duckdb_web_prepared_send\"]=wasmExports[\"La\"])(a0,a1,a2,a3);var _duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=(a0,a1,a2)=>(_duckdb_web_query_run=Module[\"_duckdb_web_query_run\"]=wasmExports[\"Ma\"])(a0,a1,a2);var _duckdb_web_pending_query_start=Module[\"_duckdb_web_pending_query_start\"]=(a0,a1,a2)=>(_duckdb_web_pending_query_start=Module[\"_duckdb_web_pending_query_start\"]=wasmExports[\"Na\"])(a0,a1,a2);var _duckdb_web_pending_query_poll=Module[\"_duckdb_web_pending_query_poll\"]=(a0,a1,a2)=>(_duckdb_web_pending_query_poll=Module[\"_duckdb_web_pending_query_poll\"]=wasmExports[\"Oa\"])(a0,a1,a2);var _duckdb_web_pending_query_cancel=Module[\"_duckdb_web_pending_query_cancel\"]=(a0,a1)=>(_duckdb_web_pending_query_cancel=Module[\"_duckdb_web_pending_query_cancel\"]=wasmExports[\"Pa\"])(a0,a1);var _duckdb_web_query_fetch_results=Module[\"_duckdb_web_query_fetch_results\"]=(a0,a1)=>(_duckdb_web_query_fetch_results=Module[\"_duckdb_web_query_fetch_results\"]=wasmExports[\"Qa\"])(a0,a1);var _duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=(a0,a1,a2)=>(_duckdb_web_get_tablenames=Module[\"_duckdb_web_get_tablenames\"]=wasmExports[\"Ra\"])(a0,a1,a2);var _duckdb_web_insert_arrow_from_ipc_stream=Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"]=(a0,a1,a2,a3,a4)=>(_duckdb_web_insert_arrow_from_ipc_stream=Module[\"_duckdb_web_insert_arrow_from_ipc_stream\"]=wasmExports[\"Sa\"])(a0,a1,a2,a3,a4);var _duckdb_web_insert_csv_from_path=Module[\"_duckdb_web_insert_csv_from_path\"]=(a0,a1,a2,a3)=>(_duckdb_web_insert_csv_from_path=Module[\"_duckdb_web_insert_csv_from_path\"]=wasmExports[\"Ta\"])(a0,a1,a2,a3);var _duckdb_web_insert_json_from_path=Module[\"_duckdb_web_insert_json_from_path\"]=(a0,a1,a2,a3)=>(_duckdb_web_insert_json_from_path=Module[\"_duckdb_web_insert_json_from_path\"]=wasmExports[\"Ua\"])(a0,a1,a2,a3);var ___errno_location=()=>(___errno_location=wasmExports[\"__errno_location\"])();var _htonl=a0=>(_htonl=wasmExports[\"Va\"])(a0);var _htons=a0=>(_htons=wasmExports[\"Wa\"])(a0);var _ntohs=a0=>(_ntohs=wasmExports[\"Xa\"])(a0);var _malloc=Module[\"_malloc\"]=a0=>(_malloc=Module[\"_malloc\"]=wasmExports[\"Ya\"])(a0);var _free=Module[\"_free\"]=a0=>(_free=Module[\"_free\"]=wasmExports[\"Za\"])(a0);var ___trap=()=>(___trap=wasmExports[\"_a\"])();var stackSave=()=>(stackSave=wasmExports[\"$a\"])();var stackRestore=a0=>(stackRestore=wasmExports[\"ab\"])(a0);var stackAlloc=a0=>(stackAlloc=wasmExports[\"bb\"])(a0);function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper_p=f=>()=>f()>>>0;var makeWrapper_pp=f=>a0=>f(a0)>>>0;wasmExports[\"__errno_location\"]=makeWrapper_p(wasmExports[\"__errno_location\"]);wasmExports[\"Ya\"]=makeWrapper_pp(wasmExports[\"Ya\"]);wasmExports[\"$a\"]=makeWrapper_p(wasmExports[\"$a\"]);wasmExports[\"bb\"]=makeWrapper_pp(wasmExports[\"bb\"]);return wasmExports}Module[\"stackAlloc\"]=stackAlloc;Module[\"stackSave\"]=stackSave;Module[\"stackRestore\"]=stackRestore;Module[\"ccall\"]=ccall;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,argv);exitJS(ret,true);return ret}catch(e){return handleException(e)}}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();preMain();readyPromiseResolve(Module);if(Module[\"onRuntimeInitialized\"])Module[\"onRuntimeInitialized\"]();if(shouldRunNow)callMain();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()()}}var shouldRunNow=true;if(Module[\"noInitialRun\"])shouldRunNow=false;run();\n\n\n return moduleArg.ready\n}\n\n);\n})();\nif (typeof exports === 'object' && typeof module === 'object')\n module.exports = DuckDB;\nelse if (typeof define === 'function' && define['amd'])\n define([], () => DuckDB);\n", "/**\n * [js-sha256]{@link https://github.com/emn178/js-sha256}\n *\n * @version 0.9.0\n * @author Chen, Yi-Cyuan [emn178@gmail.com]\n * @copyright Chen, Yi-Cyuan 2014-2017\n * @license MIT\n */\n/*jslint bitwise: true */\n(function () {\n 'use strict';\n\n var ERROR = 'input is invalid type';\n var WINDOW = typeof window === 'object';\n var root = WINDOW ? window : {};\n if (root.JS_SHA256_NO_WINDOW) {\n WINDOW = false;\n }\n var WEB_WORKER = !WINDOW && typeof self === 'object';\n var NODE_JS = !root.JS_SHA256_NO_NODE_JS && typeof process === 'object' && process.versions && process.versions.node;\n if (NODE_JS) {\n root = global;\n } else if (WEB_WORKER) {\n root = self;\n }\n var COMMON_JS = !root.JS_SHA256_NO_COMMON_JS && typeof module === 'object' && module.exports;\n var AMD = typeof define === 'function' && define.amd;\n var ARRAY_BUFFER = !root.JS_SHA256_NO_ARRAY_BUFFER && typeof ArrayBuffer !== 'undefined';\n var HEX_CHARS = '0123456789abcdef'.split('');\n var EXTRA = [-2147483648, 8388608, 32768, 128];\n var SHIFT = [24, 16, 8, 0];\n var K = [\n 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,\n 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3, 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,\n 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,\n 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,\n 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13, 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,\n 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,\n 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,\n 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208, 0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2\n ];\n var OUTPUT_TYPES = ['hex', 'array', 'digest', 'arrayBuffer'];\n\n var blocks = [];\n\n if (root.JS_SHA256_NO_NODE_JS || !Array.isArray) {\n Array.isArray = function (obj) {\n return Object.prototype.toString.call(obj) === '[object Array]';\n };\n }\n\n if (ARRAY_BUFFER && (root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW || !ArrayBuffer.isView)) {\n ArrayBuffer.isView = function (obj) {\n return typeof obj === 'object' && obj.buffer && obj.buffer.constructor === ArrayBuffer;\n };\n }\n\n var createOutputMethod = function (outputType, is224) {\n return function (message) {\n return new Sha256(is224, true).update(message)[outputType]();\n };\n };\n\n var createMethod = function (is224) {\n var method = createOutputMethod('hex', is224);\n if (NODE_JS) {\n method = nodeWrap(method, is224);\n }\n method.create = function () {\n return new Sha256(is224);\n };\n method.update = function (message) {\n return method.create().update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createOutputMethod(type, is224);\n }\n return method;\n };\n\n var nodeWrap = function (method, is224) {\n var crypto = eval(\"require('crypto')\");\n var Buffer = eval(\"require('buffer').Buffer\");\n var algorithm = is224 ? 'sha224' : 'sha256';\n var nodeMethod = function (message) {\n if (typeof message === 'string') {\n return crypto.createHash(algorithm).update(message, 'utf8').digest('hex');\n } else {\n if (message === null || message === undefined) {\n throw new Error(ERROR);\n } else if (message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n }\n }\n if (Array.isArray(message) || ArrayBuffer.isView(message) ||\n message.constructor === Buffer) {\n return crypto.createHash(algorithm).update(new Buffer(message)).digest('hex');\n } else {\n return method(message);\n }\n };\n return nodeMethod;\n };\n\n var createHmacOutputMethod = function (outputType, is224) {\n return function (key, message) {\n return new HmacSha256(key, is224, true).update(message)[outputType]();\n };\n };\n\n var createHmacMethod = function (is224) {\n var method = createHmacOutputMethod('hex', is224);\n method.create = function (key) {\n return new HmacSha256(key, is224);\n };\n method.update = function (key, message) {\n return method.create(key).update(message);\n };\n for (var i = 0; i < OUTPUT_TYPES.length; ++i) {\n var type = OUTPUT_TYPES[i];\n method[type] = createHmacOutputMethod(type, is224);\n }\n return method;\n };\n\n function Sha256(is224, sharedMemory) {\n if (sharedMemory) {\n blocks[0] = blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n this.blocks = blocks;\n } else {\n this.blocks = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];\n }\n\n if (is224) {\n this.h0 = 0xc1059ed8;\n this.h1 = 0x367cd507;\n this.h2 = 0x3070dd17;\n this.h3 = 0xf70e5939;\n this.h4 = 0xffc00b31;\n this.h5 = 0x68581511;\n this.h6 = 0x64f98fa7;\n this.h7 = 0xbefa4fa4;\n } else { // 256\n this.h0 = 0x6a09e667;\n this.h1 = 0xbb67ae85;\n this.h2 = 0x3c6ef372;\n this.h3 = 0xa54ff53a;\n this.h4 = 0x510e527f;\n this.h5 = 0x9b05688c;\n this.h6 = 0x1f83d9ab;\n this.h7 = 0x5be0cd19;\n }\n\n this.block = this.start = this.bytes = this.hBytes = 0;\n this.finalized = this.hashed = false;\n this.first = true;\n this.is224 = is224;\n }\n\n Sha256.prototype.update = function (message) {\n if (this.finalized) {\n return;\n }\n var notString, type = typeof message;\n if (type !== 'string') {\n if (type === 'object') {\n if (message === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && message.constructor === ArrayBuffer) {\n message = new Uint8Array(message);\n } else if (!Array.isArray(message)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(message)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n notString = true;\n }\n var code, index = 0, i, length = message.length, blocks = this.blocks;\n\n while (index < length) {\n if (this.hashed) {\n this.hashed = false;\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n\n if (notString) {\n for (i = this.start; index < length && i < 64; ++index) {\n blocks[i >> 2] |= message[index] << SHIFT[i++ & 3];\n }\n } else {\n for (i = this.start; index < length && i < 64; ++index) {\n code = message.charCodeAt(index);\n if (code < 0x80) {\n blocks[i >> 2] |= code << SHIFT[i++ & 3];\n } else if (code < 0x800) {\n blocks[i >> 2] |= (0xc0 | (code >> 6)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else if (code < 0xd800 || code >= 0xe000) {\n blocks[i >> 2] |= (0xe0 | (code >> 12)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (message.charCodeAt(++index) & 0x3ff));\n blocks[i >> 2] |= (0xf0 | (code >> 18)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 12) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | ((code >> 6) & 0x3f)) << SHIFT[i++ & 3];\n blocks[i >> 2] |= (0x80 | (code & 0x3f)) << SHIFT[i++ & 3];\n }\n }\n }\n\n this.lastByteIndex = i;\n this.bytes += i - this.start;\n if (i >= 64) {\n this.block = blocks[16];\n this.start = i - 64;\n this.hash();\n this.hashed = true;\n } else {\n this.start = i;\n }\n }\n if (this.bytes > 4294967295) {\n this.hBytes += this.bytes / 4294967296 << 0;\n this.bytes = this.bytes % 4294967296;\n }\n return this;\n };\n\n Sha256.prototype.finalize = function () {\n if (this.finalized) {\n return;\n }\n this.finalized = true;\n var blocks = this.blocks, i = this.lastByteIndex;\n blocks[16] = this.block;\n blocks[i >> 2] |= EXTRA[i & 3];\n this.block = blocks[16];\n if (i >= 56) {\n if (!this.hashed) {\n this.hash();\n }\n blocks[0] = this.block;\n blocks[16] = blocks[1] = blocks[2] = blocks[3] =\n blocks[4] = blocks[5] = blocks[6] = blocks[7] =\n blocks[8] = blocks[9] = blocks[10] = blocks[11] =\n blocks[12] = blocks[13] = blocks[14] = blocks[15] = 0;\n }\n blocks[14] = this.hBytes << 3 | this.bytes >>> 29;\n blocks[15] = this.bytes << 3;\n this.hash();\n };\n\n Sha256.prototype.hash = function () {\n var a = this.h0, b = this.h1, c = this.h2, d = this.h3, e = this.h4, f = this.h5, g = this.h6,\n h = this.h7, blocks = this.blocks, j, s0, s1, maj, t1, t2, ch, ab, da, cd, bc;\n\n for (j = 16; j < 64; ++j) {\n // rightrotate\n t1 = blocks[j - 15];\n s0 = ((t1 >>> 7) | (t1 << 25)) ^ ((t1 >>> 18) | (t1 << 14)) ^ (t1 >>> 3);\n t1 = blocks[j - 2];\n s1 = ((t1 >>> 17) | (t1 << 15)) ^ ((t1 >>> 19) | (t1 << 13)) ^ (t1 >>> 10);\n blocks[j] = blocks[j - 16] + s0 + blocks[j - 7] + s1 << 0;\n }\n\n bc = b & c;\n for (j = 0; j < 64; j += 4) {\n if (this.first) {\n if (this.is224) {\n ab = 300032;\n t1 = blocks[0] - 1413257819;\n h = t1 - 150054599 << 0;\n d = t1 + 24177077 << 0;\n } else {\n ab = 704751109;\n t1 = blocks[0] - 210244248;\n h = t1 - 1521486534 << 0;\n d = t1 + 143694565 << 0;\n }\n this.first = false;\n } else {\n s0 = ((a >>> 2) | (a << 30)) ^ ((a >>> 13) | (a << 19)) ^ ((a >>> 22) | (a << 10));\n s1 = ((e >>> 6) | (e << 26)) ^ ((e >>> 11) | (e << 21)) ^ ((e >>> 25) | (e << 7));\n ab = a & b;\n maj = ab ^ (a & c) ^ bc;\n ch = (e & f) ^ (~e & g);\n t1 = h + s1 + ch + K[j] + blocks[j];\n t2 = s0 + maj;\n h = d + t1 << 0;\n d = t1 + t2 << 0;\n }\n s0 = ((d >>> 2) | (d << 30)) ^ ((d >>> 13) | (d << 19)) ^ ((d >>> 22) | (d << 10));\n s1 = ((h >>> 6) | (h << 26)) ^ ((h >>> 11) | (h << 21)) ^ ((h >>> 25) | (h << 7));\n da = d & a;\n maj = da ^ (d & b) ^ ab;\n ch = (h & e) ^ (~h & f);\n t1 = g + s1 + ch + K[j + 1] + blocks[j + 1];\n t2 = s0 + maj;\n g = c + t1 << 0;\n c = t1 + t2 << 0;\n s0 = ((c >>> 2) | (c << 30)) ^ ((c >>> 13) | (c << 19)) ^ ((c >>> 22) | (c << 10));\n s1 = ((g >>> 6) | (g << 26)) ^ ((g >>> 11) | (g << 21)) ^ ((g >>> 25) | (g << 7));\n cd = c & d;\n maj = cd ^ (c & a) ^ da;\n ch = (g & h) ^ (~g & e);\n t1 = f + s1 + ch + K[j + 2] + blocks[j + 2];\n t2 = s0 + maj;\n f = b + t1 << 0;\n b = t1 + t2 << 0;\n s0 = ((b >>> 2) | (b << 30)) ^ ((b >>> 13) | (b << 19)) ^ ((b >>> 22) | (b << 10));\n s1 = ((f >>> 6) | (f << 26)) ^ ((f >>> 11) | (f << 21)) ^ ((f >>> 25) | (f << 7));\n bc = b & c;\n maj = bc ^ (b & d) ^ cd;\n ch = (f & g) ^ (~f & h);\n t1 = e + s1 + ch + K[j + 3] + blocks[j + 3];\n t2 = s0 + maj;\n e = a + t1 << 0;\n a = t1 + t2 << 0;\n }\n\n this.h0 = this.h0 + a << 0;\n this.h1 = this.h1 + b << 0;\n this.h2 = this.h2 + c << 0;\n this.h3 = this.h3 + d << 0;\n this.h4 = this.h4 + e << 0;\n this.h5 = this.h5 + f << 0;\n this.h6 = this.h6 + g << 0;\n this.h7 = this.h7 + h << 0;\n };\n\n Sha256.prototype.hex = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,\n h6 = this.h6, h7 = this.h7;\n\n var hex = HEX_CHARS[(h0 >> 28) & 0x0F] + HEX_CHARS[(h0 >> 24) & 0x0F] +\n HEX_CHARS[(h0 >> 20) & 0x0F] + HEX_CHARS[(h0 >> 16) & 0x0F] +\n HEX_CHARS[(h0 >> 12) & 0x0F] + HEX_CHARS[(h0 >> 8) & 0x0F] +\n HEX_CHARS[(h0 >> 4) & 0x0F] + HEX_CHARS[h0 & 0x0F] +\n HEX_CHARS[(h1 >> 28) & 0x0F] + HEX_CHARS[(h1 >> 24) & 0x0F] +\n HEX_CHARS[(h1 >> 20) & 0x0F] + HEX_CHARS[(h1 >> 16) & 0x0F] +\n HEX_CHARS[(h1 >> 12) & 0x0F] + HEX_CHARS[(h1 >> 8) & 0x0F] +\n HEX_CHARS[(h1 >> 4) & 0x0F] + HEX_CHARS[h1 & 0x0F] +\n HEX_CHARS[(h2 >> 28) & 0x0F] + HEX_CHARS[(h2 >> 24) & 0x0F] +\n HEX_CHARS[(h2 >> 20) & 0x0F] + HEX_CHARS[(h2 >> 16) & 0x0F] +\n HEX_CHARS[(h2 >> 12) & 0x0F] + HEX_CHARS[(h2 >> 8) & 0x0F] +\n HEX_CHARS[(h2 >> 4) & 0x0F] + HEX_CHARS[h2 & 0x0F] +\n HEX_CHARS[(h3 >> 28) & 0x0F] + HEX_CHARS[(h3 >> 24) & 0x0F] +\n HEX_CHARS[(h3 >> 20) & 0x0F] + HEX_CHARS[(h3 >> 16) & 0x0F] +\n HEX_CHARS[(h3 >> 12) & 0x0F] + HEX_CHARS[(h3 >> 8) & 0x0F] +\n HEX_CHARS[(h3 >> 4) & 0x0F] + HEX_CHARS[h3 & 0x0F] +\n HEX_CHARS[(h4 >> 28) & 0x0F] + HEX_CHARS[(h4 >> 24) & 0x0F] +\n HEX_CHARS[(h4 >> 20) & 0x0F] + HEX_CHARS[(h4 >> 16) & 0x0F] +\n HEX_CHARS[(h4 >> 12) & 0x0F] + HEX_CHARS[(h4 >> 8) & 0x0F] +\n HEX_CHARS[(h4 >> 4) & 0x0F] + HEX_CHARS[h4 & 0x0F] +\n HEX_CHARS[(h5 >> 28) & 0x0F] + HEX_CHARS[(h5 >> 24) & 0x0F] +\n HEX_CHARS[(h5 >> 20) & 0x0F] + HEX_CHARS[(h5 >> 16) & 0x0F] +\n HEX_CHARS[(h5 >> 12) & 0x0F] + HEX_CHARS[(h5 >> 8) & 0x0F] +\n HEX_CHARS[(h5 >> 4) & 0x0F] + HEX_CHARS[h5 & 0x0F] +\n HEX_CHARS[(h6 >> 28) & 0x0F] + HEX_CHARS[(h6 >> 24) & 0x0F] +\n HEX_CHARS[(h6 >> 20) & 0x0F] + HEX_CHARS[(h6 >> 16) & 0x0F] +\n HEX_CHARS[(h6 >> 12) & 0x0F] + HEX_CHARS[(h6 >> 8) & 0x0F] +\n HEX_CHARS[(h6 >> 4) & 0x0F] + HEX_CHARS[h6 & 0x0F];\n if (!this.is224) {\n hex += HEX_CHARS[(h7 >> 28) & 0x0F] + HEX_CHARS[(h7 >> 24) & 0x0F] +\n HEX_CHARS[(h7 >> 20) & 0x0F] + HEX_CHARS[(h7 >> 16) & 0x0F] +\n HEX_CHARS[(h7 >> 12) & 0x0F] + HEX_CHARS[(h7 >> 8) & 0x0F] +\n HEX_CHARS[(h7 >> 4) & 0x0F] + HEX_CHARS[h7 & 0x0F];\n }\n return hex;\n };\n\n Sha256.prototype.toString = Sha256.prototype.hex;\n\n Sha256.prototype.digest = function () {\n this.finalize();\n\n var h0 = this.h0, h1 = this.h1, h2 = this.h2, h3 = this.h3, h4 = this.h4, h5 = this.h5,\n h6 = this.h6, h7 = this.h7;\n\n var arr = [\n (h0 >> 24) & 0xFF, (h0 >> 16) & 0xFF, (h0 >> 8) & 0xFF, h0 & 0xFF,\n (h1 >> 24) & 0xFF, (h1 >> 16) & 0xFF, (h1 >> 8) & 0xFF, h1 & 0xFF,\n (h2 >> 24) & 0xFF, (h2 >> 16) & 0xFF, (h2 >> 8) & 0xFF, h2 & 0xFF,\n (h3 >> 24) & 0xFF, (h3 >> 16) & 0xFF, (h3 >> 8) & 0xFF, h3 & 0xFF,\n (h4 >> 24) & 0xFF, (h4 >> 16) & 0xFF, (h4 >> 8) & 0xFF, h4 & 0xFF,\n (h5 >> 24) & 0xFF, (h5 >> 16) & 0xFF, (h5 >> 8) & 0xFF, h5 & 0xFF,\n (h6 >> 24) & 0xFF, (h6 >> 16) & 0xFF, (h6 >> 8) & 0xFF, h6 & 0xFF\n ];\n if (!this.is224) {\n arr.push((h7 >> 24) & 0xFF, (h7 >> 16) & 0xFF, (h7 >> 8) & 0xFF, h7 & 0xFF);\n }\n return arr;\n };\n\n Sha256.prototype.array = Sha256.prototype.digest;\n\n Sha256.prototype.arrayBuffer = function () {\n this.finalize();\n\n var buffer = new ArrayBuffer(this.is224 ? 28 : 32);\n var dataView = new DataView(buffer);\n dataView.setUint32(0, this.h0);\n dataView.setUint32(4, this.h1);\n dataView.setUint32(8, this.h2);\n dataView.setUint32(12, this.h3);\n dataView.setUint32(16, this.h4);\n dataView.setUint32(20, this.h5);\n dataView.setUint32(24, this.h6);\n if (!this.is224) {\n dataView.setUint32(28, this.h7);\n }\n return buffer;\n };\n\n function HmacSha256(key, is224, sharedMemory) {\n var i, type = typeof key;\n if (type === 'string') {\n var bytes = [], length = key.length, index = 0, code;\n for (i = 0; i < length; ++i) {\n code = key.charCodeAt(i);\n if (code < 0x80) {\n bytes[index++] = code;\n } else if (code < 0x800) {\n bytes[index++] = (0xc0 | (code >> 6));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else if (code < 0xd800 || code >= 0xe000) {\n bytes[index++] = (0xe0 | (code >> 12));\n bytes[index++] = (0x80 | ((code >> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n } else {\n code = 0x10000 + (((code & 0x3ff) << 10) | (key.charCodeAt(++i) & 0x3ff));\n bytes[index++] = (0xf0 | (code >> 18));\n bytes[index++] = (0x80 | ((code >> 12) & 0x3f));\n bytes[index++] = (0x80 | ((code >> 6) & 0x3f));\n bytes[index++] = (0x80 | (code & 0x3f));\n }\n }\n key = bytes;\n } else {\n if (type === 'object') {\n if (key === null) {\n throw new Error(ERROR);\n } else if (ARRAY_BUFFER && key.constructor === ArrayBuffer) {\n key = new Uint8Array(key);\n } else if (!Array.isArray(key)) {\n if (!ARRAY_BUFFER || !ArrayBuffer.isView(key)) {\n throw new Error(ERROR);\n }\n }\n } else {\n throw new Error(ERROR);\n }\n }\n\n if (key.length > 64) {\n key = (new Sha256(is224, true)).update(key).array();\n }\n\n var oKeyPad = [], iKeyPad = [];\n for (i = 0; i < 64; ++i) {\n var b = key[i] || 0;\n oKeyPad[i] = 0x5c ^ b;\n iKeyPad[i] = 0x36 ^ b;\n }\n\n Sha256.call(this, is224, sharedMemory);\n\n this.update(iKeyPad);\n this.oKeyPad = oKeyPad;\n this.inner = true;\n this.sharedMemory = sharedMemory;\n }\n HmacSha256.prototype = new Sha256();\n\n HmacSha256.prototype.finalize = function () {\n Sha256.prototype.finalize.call(this);\n if (this.inner) {\n this.inner = false;\n var innerHash = this.array();\n Sha256.call(this, this.is224, this.sharedMemory);\n this.update(this.oKeyPad);\n this.update(innerHash);\n Sha256.prototype.finalize.call(this);\n }\n };\n\n var exports = createMethod();\n exports.sha256 = exports;\n exports.sha224 = createMethod(true);\n exports.sha256.hmac = createHmacMethod();\n exports.sha224.hmac = createHmacMethod(true);\n\n if (COMMON_JS) {\n module.exports = exports;\n } else {\n root.sha256 = exports.sha256;\n root.sha224 = exports.sha224;\n if (AMD) {\n define(function () {\n return exports;\n });\n }\n }\n})();\n", "import { AsyncDuckDBDispatcher, WorkerResponseVariant, WorkerRequestVariant } from '../parallel';\nimport { DuckDB } from '../bindings/bindings_browser_eh';\nimport { DuckDBBindings } from '../bindings';\nimport { BROWSER_RUNTIME } from '../bindings/runtime_browser';\nimport { InstantiationProgress } from '../bindings/progress';\n\n/** The duckdb worker API for web workers */\nclass WebWorker extends AsyncDuckDBDispatcher {\n /** Post a response back to the main thread */\n protected postMessage(response: WorkerResponseVariant, transfer: ArrayBuffer[]) {\n globalThis.postMessage(response, transfer);\n }\n\n /** Instantiate the wasm module */\n protected async instantiate(\n mainModuleURL: string,\n pthreadWorkerURL: string | null,\n progress: (p: InstantiationProgress) => void,\n ): Promise<DuckDBBindings> {\n const bindings = new DuckDB(this, BROWSER_RUNTIME, mainModuleURL, pthreadWorkerURL);\n return await bindings.instantiate(progress);\n }\n}\n\n/** Register the worker */\nexport function registerWorker(): void {\n const api = new WebWorker();\n globalThis.onmessage = async (event: MessageEvent<WorkerRequestVariant>) => {\n await api.onMessage(event.data);\n };\n}\n\nregisterWorker();\n", "/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "export const int32 = new Int32Array(2);\nexport const float32 = new Float32Array(int32.buffer);\nexport const float64 = new Float64Array(int32.buffer);\nexport const isLittleEndian = new Uint16Array(new Uint8Array([1, 0]).buffer)[0] === 1;\n", "export var Encoding;\n(function (Encoding) {\n Encoding[Encoding[\"UTF8_BYTES\"] = 1] = \"UTF8_BYTES\";\n Encoding[Encoding[\"UTF16_STRING\"] = 2] = \"UTF16_STRING\";\n})(Encoding || (Encoding = {}));\n", "import { FILE_IDENTIFIER_LENGTH, SIZEOF_INT } from \"./constants.js\";\nimport { int32, isLittleEndian, float32, float64 } from \"./utils.js\";\nimport { Encoding } from \"./encoding.js\";\nexport class ByteBuffer {\n /**\n * Create a new ByteBuffer with a given array of bytes (`Uint8Array`)\n */\n constructor(bytes_) {\n this.bytes_ = bytes_;\n this.position_ = 0;\n this.text_decoder_ = new TextDecoder();\n }\n /**\n * Create and allocate a new ByteBuffer with a given size.\n */\n static allocate(byte_size) {\n return new ByteBuffer(new Uint8Array(byte_size));\n }\n clear() {\n this.position_ = 0;\n }\n /**\n * Get the underlying `Uint8Array`.\n */\n bytes() {\n return this.bytes_;\n }\n /**\n * Get the buffer's position.\n */\n position() {\n return this.position_;\n }\n /**\n * Set the buffer's position.\n */\n setPosition(position) {\n this.position_ = position;\n }\n /**\n * Get the buffer's capacity.\n */\n capacity() {\n return this.bytes_.length;\n }\n readInt8(offset) {\n return this.readUint8(offset) << 24 >> 24;\n }\n readUint8(offset) {\n return this.bytes_[offset];\n }\n readInt16(offset) {\n return this.readUint16(offset) << 16 >> 16;\n }\n readUint16(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8;\n }\n readInt32(offset) {\n return this.bytes_[offset] | this.bytes_[offset + 1] << 8 | this.bytes_[offset + 2] << 16 | this.bytes_[offset + 3] << 24;\n }\n readUint32(offset) {\n return this.readInt32(offset) >>> 0;\n }\n readInt64(offset) {\n return BigInt.asIntN(64, BigInt(this.readUint32(offset)) + (BigInt(this.readUint32(offset + 4)) << BigInt(32)));\n }\n readUint64(offset) {\n return BigInt.asUintN(64, BigInt(this.readUint32(offset)) + (BigInt(this.readUint32(offset + 4)) << BigInt(32)));\n }\n readFloat32(offset) {\n int32[0] = this.readInt32(offset);\n return float32[0];\n }\n readFloat64(offset) {\n int32[isLittleEndian ? 0 : 1] = this.readInt32(offset);\n int32[isLittleEndian ? 1 : 0] = this.readInt32(offset + 4);\n return float64[0];\n }\n writeInt8(offset, value) {\n this.bytes_[offset] = value;\n }\n writeUint8(offset, value) {\n this.bytes_[offset] = value;\n }\n writeInt16(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n }\n writeUint16(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n }\n writeInt32(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n }\n writeUint32(offset, value) {\n this.bytes_[offset] = value;\n this.bytes_[offset + 1] = value >> 8;\n this.bytes_[offset + 2] = value >> 16;\n this.bytes_[offset + 3] = value >> 24;\n }\n writeInt64(offset, value) {\n this.writeInt32(offset, Number(BigInt.asIntN(32, value)));\n this.writeInt32(offset + 4, Number(BigInt.asIntN(32, value >> BigInt(32))));\n }\n writeUint64(offset, value) {\n this.writeUint32(offset, Number(BigInt.asUintN(32, value)));\n this.writeUint32(offset + 4, Number(BigInt.asUintN(32, value >> BigInt(32))));\n }\n writeFloat32(offset, value) {\n float32[0] = value;\n this.writeInt32(offset, int32[0]);\n }\n writeFloat64(offset, value) {\n float64[0] = value;\n this.writeInt32(offset, int32[isLittleEndian ? 0 : 1]);\n this.writeInt32(offset + 4, int32[isLittleEndian ? 1 : 0]);\n }\n /**\n * Return the file identifier. Behavior is undefined for FlatBuffers whose\n * schema does not include a file_identifier (likely points at padding or the\n * start of a the root vtable).\n */\n getBufferIdentifier() {\n if (this.bytes_.length < this.position_ + SIZEOF_INT +\n FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: ByteBuffer is too short to contain an identifier.');\n }\n let result = \"\";\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\n result += String.fromCharCode(this.readInt8(this.position_ + SIZEOF_INT + i));\n }\n return result;\n }\n /**\n * Look up a field in the vtable, return an offset into the object, or 0 if the\n * field is not present.\n */\n __offset(bb_pos, vtable_offset) {\n const vtable = bb_pos - this.readInt32(bb_pos);\n return vtable_offset < this.readInt16(vtable) ? this.readInt16(vtable + vtable_offset) : 0;\n }\n /**\n * Initialize any Table-derived type to point to the union at the given offset.\n */\n __union(t, offset) {\n t.bb_pos = offset + this.readInt32(offset);\n t.bb = this;\n return t;\n }\n /**\n * Create a JavaScript string from UTF-8 data stored inside the FlatBuffer.\n * This allocates a new string and converts to wide chars upon each access.\n *\n * To avoid the conversion to string, pass Encoding.UTF8_BYTES as the\n * \"optionalEncoding\" argument. This is useful for avoiding conversion when\n * the data will just be packaged back up in another FlatBuffer later on.\n *\n * @param offset\n * @param opt_encoding Defaults to UTF16_STRING\n */\n __string(offset, opt_encoding) {\n offset += this.readInt32(offset);\n const length = this.readInt32(offset);\n offset += SIZEOF_INT;\n const utf8bytes = this.bytes_.subarray(offset, offset + length);\n if (opt_encoding === Encoding.UTF8_BYTES)\n return utf8bytes;\n else\n return this.text_decoder_.decode(utf8bytes);\n }\n /**\n * Handle unions that can contain string as its member, if a Table-derived type then initialize it,\n * if a string then return a new one\n *\n * WARNING: strings are immutable in JS so we can't change the string that the user gave us, this\n * makes the behaviour of __union_with_string different compared to __union\n */\n __union_with_string(o, offset) {\n if (typeof o === 'string') {\n return this.__string(offset);\n }\n return this.__union(o, offset);\n }\n /**\n * Retrieve the relative offset stored at \"offset\"\n */\n __indirect(offset) {\n return offset + this.readInt32(offset);\n }\n /**\n * Get the start of data of a vector whose offset is stored at \"offset\" in this object.\n */\n __vector(offset) {\n return offset + this.readInt32(offset) + SIZEOF_INT; // data starts after the length\n }\n /**\n * Get the length of a vector whose offset is stored at \"offset\" in this object.\n */\n __vector_len(offset) {\n return this.readInt32(offset + this.readInt32(offset));\n }\n __has_identifier(ident) {\n if (ident.length != FILE_IDENTIFIER_LENGTH) {\n throw new Error('FlatBuffers: file identifier must be length ' +\n FILE_IDENTIFIER_LENGTH);\n }\n for (let i = 0; i < FILE_IDENTIFIER_LENGTH; i++) {\n if (ident.charCodeAt(i) != this.readInt8(this.position() + SIZEOF_INT + i)) {\n return false;\n }\n }\n return true;\n }\n /**\n * A helper function for generating list for obj api\n */\n createScalarList(listAccessor, listLength) {\n const ret = [];\n for (let i = 0; i < listLength; ++i) {\n const val = listAccessor(i);\n if (val !== null) {\n ret.push(val);\n }\n }\n return ret;\n }\n /**\n * A helper function for generating list for obj api\n * @param listAccessor function that accepts an index and return data at that index\n * @param listLength listLength\n * @param res result list\n */\n createObjList(listAccessor, listLength) {\n const ret = [];\n for (let i = 0; i < listLength; ++i) {\n const val = listAccessor(i);\n if (val !== null) {\n ret.push(val.unpack());\n }\n }\n return ret;\n }\n}\n", "import { ByteBuffer } from \"./byte-buffer.js\";\nimport { SIZEOF_SHORT, SIZE_PREFIX_LENGTH, SIZEOF_INT, FILE_IDENTIFIER_LENGTH } from \"./constants.js\";\nexport class Builder {\n /**\n * Create a FlatBufferBuilder.\n */\n constructor(opt_initial_size) {\n /** Minimum alignment encountered so far. */\n this.minalign = 1;\n /** The vtable for the current table. */\n this.vtable = null;\n /** The amount of fields we're actually using. */\n this.vtable_in_use = 0;\n /** Whether we are currently serializing a table. */\n this.isNested = false;\n /** Starting offset of the current struct/table. */\n this.object_start = 0;\n /** List of offsets of all vtables. */\n this.vtables = [];\n /** For the current vector being built. */\n this.vector_num_elems = 0;\n /** False omits default values from the serialized data */\n this.force_defaults = false;\n this.string_maps = null;\n this.text_encoder = new TextEncoder();\n let initial_size;\n if (!opt_initial_size) {\n initial_size = 1024;\n }\n else {\n initial_size = opt_initial_size;\n }\n /**\n * @type {ByteBuffer}\n * @private\n */\n this.bb = ByteBuffer.allocate(initial_size);\n this.space = initial_size;\n }\n clear() {\n this.bb.clear();\n this.space = this.bb.capacity();\n this.minalign = 1;\n this.vtable = null;\n this.vtable_in_use = 0;\n this.isNested = false;\n this.object_start = 0;\n this.vtables = [];\n this.vector_num_elems = 0;\n this.force_defaults = false;\n this.string_maps = null;\n }\n /**\n * In order to save space, fields that are set to their default value\n * don't get serialized into the buffer. Forcing defaults provides a\n * way to manually disable this optimization.\n *\n * @param forceDefaults true always serializes default values\n */\n forceDefaults(forceDefaults) {\n this.force_defaults = forceDefaults;\n }\n /**\n * Get the ByteBuffer representing the FlatBuffer. Only call this after you've\n * called finish(). The actual data starts at the ByteBuffer's current position,\n * not necessarily at 0.\n */\n dataBuffer() {\n return this.bb;\n }\n /**\n * Get the bytes representing the FlatBuffer. Only call this after you've\n * called finish().\n */\n asUint8Array() {\n return this.bb.bytes().subarray(this.bb.position(), this.bb.position() + this.offset());\n }\n /**\n * Prepare to write an element of `size` after `additional_bytes` have been\n * written, e.g. if you write a string, you need to align such the int length\n * field is aligned to 4 bytes, and the string data follows it directly. If all\n * you need to do is alignment, `additional_bytes` will be 0.\n *\n * @param size This is the of the new element to write\n * @param additional_bytes The padding size\n */\n prep(size, additional_bytes) {\n // Track the biggest thing we've ever aligned to.\n if (size > this.minalign) {\n this.minalign = size;\n }\n // Find the amount of alignment needed such that `size` is properly\n // aligned after `additional_bytes`\n const align_size = ((~(this.bb.capacity() - this.space + additional_bytes)) + 1) & (size - 1);\n // Reallocate the buffer if needed.\n while (this.space < align_size + size + additional_bytes) {\n const old_buf_size = this.bb.capacity();\n this.bb = Builder.growByteBuffer(this.bb);\n this.space += this.bb.capacity() - old_buf_size;\n }\n this.pad(align_size);\n }\n pad(byte_size) {\n for (let i = 0; i < byte_size; i++) {\n this.bb.writeInt8(--this.space, 0);\n }\n }\n writeInt8(value) {\n this.bb.writeInt8(this.space -= 1, value);\n }\n writeInt16(value) {\n this.bb.writeInt16(this.space -= 2, value);\n }\n writeInt32(value) {\n this.bb.writeInt32(this.space -= 4, value);\n }\n writeInt64(value) {\n this.bb.writeInt64(this.space -= 8, value);\n }\n writeFloat32(value) {\n this.bb.writeFloat32(this.space -= 4, value);\n }\n writeFloat64(value) {\n this.bb.writeFloat64(this.space -= 8, value);\n }\n /**\n * Add an `int8` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int8` to add the buffer.\n */\n addInt8(value) {\n this.prep(1, 0);\n this.writeInt8(value);\n }\n /**\n * Add an `int16` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int16` to add the buffer.\n */\n addInt16(value) {\n this.prep(2, 0);\n this.writeInt16(value);\n }\n /**\n * Add an `int32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int32` to add the buffer.\n */\n addInt32(value) {\n this.prep(4, 0);\n this.writeInt32(value);\n }\n /**\n * Add an `int64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `int64` to add the buffer.\n */\n addInt64(value) {\n this.prep(8, 0);\n this.writeInt64(value);\n }\n /**\n * Add a `float32` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `float32` to add the buffer.\n */\n addFloat32(value) {\n this.prep(4, 0);\n this.writeFloat32(value);\n }\n /**\n * Add a `float64` to the buffer, properly aligned, and grows the buffer (if necessary).\n * @param value The `float64` to add the buffer.\n */\n addFloat64(value) {\n this.prep(8, 0);\n this.writeFloat64(value);\n }\n addFieldInt8(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt8(value);\n this.slot(voffset);\n }\n }\n addFieldInt16(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt16(value);\n this.slot(voffset);\n }\n }\n addFieldInt32(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addInt32(value);\n this.slot(voffset);\n }\n }\n addFieldInt64(voffset, value, defaultValue) {\n if (this.force_defaults || value !== defaultValue) {\n this.addInt64(value);\n this.slot(voffset);\n }\n }\n addFieldFloat32(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat32(value);\n this.slot(voffset);\n }\n }\n addFieldFloat64(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addFloat64(value);\n this.slot(voffset);\n }\n }\n addFieldOffset(voffset, value, defaultValue) {\n if (this.force_defaults || value != defaultValue) {\n this.addOffset(value);\n this.slot(voffset);\n }\n }\n /**\n * Structs are stored inline, so nothing additional is being added. `d` is always 0.\n */\n addFieldStruct(voffset, value, defaultValue) {\n if (value != defaultValue) {\n this.nested(value);\n this.slot(voffset);\n }\n }\n /**\n * Structures are always stored inline, they need to be created right\n * where they're used. You'll get this assertion failure if you\n * created it elsewhere.\n */\n nested(obj) {\n if (obj != this.offset()) {\n throw new TypeError('FlatBuffers: struct must be serialized inline.');\n }\n }\n /**\n * Should not be creating any other object, string or vector\n * while an object is being constructed\n */\n notNested() {\n if (this.isNested) {\n throw new TypeError('FlatBuffers: object serialization must not be nested.');\n }\n }\n /**\n * Set the current vtable at `voffset` to the current location in the buffer.\n */\n slot(voffset) {\n if (this.vtable !== null)\n this.vtable[voffset] = this.offset();\n }\n /**\n * @returns Offset relative to the end of the buffer.\n */\n offset() {\n return this.bb.capacity() - this.space;\n }\n /**\n * Doubles the size of the backing ByteBuffer and copies the old data towards\n * the end of the new buffer (since we build the buffer backwards).\n *\n * @param bb The current buffer with the existing data\n * @returns A new byte buffer with the old data copied\n * to it. The data is located at the end of the buffer.\n *\n * uint8Array.set() formally takes {Array<number>|ArrayBufferView}, so to pass\n * it a uint8Array we need to suppress the type check:\n * @suppress {checkTypes}\n */\n static growByteBuffer(bb) {\n const old_buf_size = bb.capacity();\n // Ensure we don't grow beyond what fits in an int.\n if (old_buf_size & 0xC0000000) {\n throw new Error('FlatBuffers: cannot grow buffer beyond 2 gigabytes.');\n }\n const new_buf_size = old_buf_size << 1;\n const nbb = ByteBuffer.allocate(new_buf_size);\n nbb.setPosition(new_buf_size - old_buf_size);\n nbb.bytes().set(bb.bytes(), new_buf_size - old_buf_size);\n return nbb;\n }\n /**\n * Adds on offset, relative to where it will be written.\n *\n * @param offset The offset to add.\n */\n addOffset(offset) {\n this.prep(SIZEOF_INT, 0); // Ensure alignment is already done.\n this.writeInt32(this.offset() - offset + SIZEOF_INT);\n }\n /**\n * Start encoding a new object in the buffer. Users will not usually need to\n * call this directly. The FlatBuffers compiler will generate helper methods\n * that call this method internally.\n */\n startObject(numfields) {\n this.notNested();\n if (this.vtable == null) {\n this.vtable = [];\n }\n this.vtable_in_use = numfields;\n for (let i = 0; i < numfields; i++) {\n this.vtable[i] = 0; // This will push additional elements as needed\n }\n this.isNested = true;\n this.object_start = this.offset();\n }\n /**\n * Finish off writing the object that is under construction.\n *\n * @returns The offset to the object inside `dataBuffer`\n */\n endObject() {\n if (this.vtable == null || !this.isNested) {\n throw new Error('FlatBuffers: endObject called without startObject');\n }\n this.addInt32(0);\n const vtableloc = this.offset();\n // Trim trailing zeroes.\n let i = this.vtable_in_use - 1;\n // eslint-disable-next-line no-empty\n for (; i >= 0 && this.vtable[i] == 0; i--) { }\n const trimmed_size = i + 1;\n // Write out the current vtable.\n for (; i >= 0; i--) {\n // Offset relative to the start of the table.\n this.addInt16(this.vtable[i] != 0 ? vtableloc - this.vtable[i] : 0);\n }\n const standard_fields = 2; // The fields below:\n this.addInt16(vtableloc - this.object_start);\n const len = (trimmed_size + standard_fields) * SIZEOF_SHORT;\n this.addInt16(len);\n // Search for an existing vtable that matches the current one.\n let existing_vtable = 0;\n const vt1 = this.space;\n outer_loop: for (i = 0; i < this.vtables.length; i++) {\n const vt2 = this.bb.capacity() - this.vtables[i];\n if (len == this.bb.readInt16(vt2)) {\n for (let j = SIZEOF_SHORT; j < len; j += SIZEOF_SHORT) {\n if (this.bb.readInt16(vt1 + j) != this.bb.readInt16(vt2 + j)) {\n continue outer_loop;\n }\n }\n existing_vtable = this.vtables[i];\n break;\n }\n }\n if (existing_vtable) {\n // Found a match:\n // Remove the current vtable.\n this.space = this.bb.capacity() - vtableloc;\n // Point table to existing vtable.\n this.bb.writeInt32(this.space, existing_vtable - vtableloc);\n }\n else {\n // No match:\n // Add the location of the current vtable to the list of vtables.\n this.vtables.push(this.offset());\n // Point table to current vtable.\n this.bb.writeInt32(this.bb.capacity() - vtableloc, this.offset() - vtableloc);\n }\n this.isNested = false;\n return vtableloc;\n }\n /**\n * Finalize a buffer, poiting to the given `root_table`.\n */\n finish(root_table, opt_file_identifier, opt_size_prefix) {\n const size_prefix = opt_size_prefix ? SIZE_PREFIX_LENGTH : 0;\n if (opt_file_identifier) {\n const file_identifier = opt_file_identifier;\n this.prep(this.minalign, SIZEOF_INT +\n FILE_IDENTIFIER_LENGTH + size_prefix);\n if (file_identifier.length != FILE_IDENTIFIER_LENGTH) {\n throw new TypeError('FlatBuffers: file identifier must be length ' +\n FILE_IDENTIFIER_LENGTH);\n }\n for (let i = FILE_IDENTIFIER_LENGTH - 1; i >= 0; i--) {\n this.writeInt8(file_identifier.charCodeAt(i));\n }\n }\n this.prep(this.minalign, SIZEOF_INT + size_prefix);\n this.addOffset(root_table);\n if (size_prefix) {\n this.addInt32(this.bb.capacity() - this.space);\n }\n this.bb.setPosition(this.space);\n }\n /**\n * Finalize a size prefixed buffer, pointing to the given `root_table`.\n */\n finishSizePrefixed(root_table, opt_file_identifier) {\n this.finish(root_table, opt_file_identifier, true);\n }\n /**\n * This checks a required field has been set in a given table that has\n * just been constructed.\n */\n requiredField(table, field) {\n const table_start = this.bb.capacity() - table;\n const vtable_start = table_start - this.bb.readInt32(table_start);\n const ok = field < this.bb.readInt16(vtable_start) &&\n this.bb.readInt16(vtable_start + field) != 0;\n // If this fails, the caller will show what field needs to be set.\n if (!ok) {\n throw new TypeError('FlatBuffers: field ' + field + ' must be set');\n }\n }\n /**\n * Start a new array/vector of objects. Users usually will not call\n * this directly. The FlatBuffers compiler will create a start/end\n * method for vector types in generated code.\n *\n * @param elem_size The size of each element in the array\n * @param num_elems The number of elements in the array\n * @param alignment The alignment of the array\n */\n startVector(elem_size, num_elems, alignment) {\n this.notNested();\n this.vector_num_elems = num_elems;\n this.prep(SIZEOF_INT, elem_size * num_elems);\n this.prep(alignment, elem_size * num_elems); // Just in case alignment > int.\n }\n /**\n * Finish off the creation of an array and all its elements. The array must be\n * created with `startVector`.\n *\n * @returns The offset at which the newly created array\n * starts.\n */\n endVector() {\n this.writeInt32(this.vector_num_elems);\n return this.offset();\n }\n /**\n * Encode the string `s` in the buffer using UTF-8. If the string passed has\n * already been seen, we return the offset of the already written string\n *\n * @param s The string to encode\n * @return The offset in the buffer where the encoded string starts\n */\n createSharedString(s) {\n if (!s) {\n return 0;\n }\n if (!this.string_maps) {\n this.string_maps = new Map();\n }\n if (this.string_maps.has(s)) {\n return this.string_maps.get(s);\n }\n const offset = this.createString(s);\n this.string_maps.set(s, offset);\n return offset;\n }\n /**\n * Encode the string `s` in the buffer using UTF-8. If a Uint8Array is passed\n * instead of a string, it is assumed to contain valid UTF-8 encoded data.\n *\n * @param s The string to encode\n * @return The offset in the buffer where the encoded string starts\n */\n createString(s) {\n if (s === null || s === undefined) {\n return 0;\n }\n let utf8;\n if (s instanceof Uint8Array) {\n utf8 = s;\n }\n else {\n utf8 = this.text_encoder.encode(s);\n }\n this.addInt8(0);\n this.startVector(1, utf8.length, 1);\n this.bb.setPosition(this.space -= utf8.length);\n for (let i = 0, offset = this.space, bytes = this.bb.bytes(); i < utf8.length; i++) {\n bytes[offset++] = utf8[i];\n }\n return this.endVector();\n }\n /**\n * A helper function to pack an object\n *\n * @returns offset of obj\n */\n createObjectOffset(obj) {\n if (obj === null) {\n return 0;\n }\n if (typeof obj === 'string') {\n return this.createString(obj);\n }\n else {\n return obj.pack(this);\n }\n }\n /**\n * A helper function to pack a list of object\n *\n * @returns list of offsets of each non null object\n */\n createObjectOffsetList(list) {\n const ret = [];\n for (let i = 0; i < list.length; ++i) {\n const val = list[i];\n if (val !== null) {\n ret.push(this.createObjectOffset(val));\n }\n else {\n throw new TypeError('FlatBuffers: Argument for createObjectOffsetList cannot contain null.');\n }\n }\n return ret;\n }\n createStructOffsetList(list, startFunc) {\n startFunc(this, list.length);\n this.createObjectOffsetList(list.slice().reverse());\n return this.endVector();\n }\n}\n", null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, "import * as arrow from 'apache-arrow';\n\nexport interface SQLType {\n /// The sql type\n sqlType: string;\n /// Is nullable?\n nullable?: boolean;\n /// Decimal precision\n precision?: number;\n /// Decimal scaling\n scale?: number;\n /// Timezone\n timezone?: string;\n /// Byte width (FixedSizeBinary)\n byteWidth?: number;\n /// Key type\n keyType?: SQLType;\n /// Value type\n valueType?: SQLType;\n /// Fields\n fields?: SQLField[];\n}\n\nexport function arrowToSQLType(type: arrow.DataType): SQLType {\n switch (type.typeId) {\n case arrow.Type.Binary:\n return { sqlType: 'binary' };\n case arrow.Type.Bool:\n return { sqlType: 'bool' };\n case arrow.Type.Date:\n return { sqlType: 'date' };\n case arrow.Type.DateDay:\n return { sqlType: 'date32[d]' };\n case arrow.Type.DateMillisecond:\n return { sqlType: 'date64[ms]' };\n case arrow.Type.Decimal: {\n const dec = type as arrow.Decimal;\n return { sqlType: 'decimal', precision: dec.precision, scale: dec.scale };\n }\n case arrow.Type.Float:\n return { sqlType: 'float' };\n case arrow.Type.Float16:\n return { sqlType: 'float16' };\n case arrow.Type.Float32:\n return { sqlType: 'float32' };\n case arrow.Type.Float64:\n return { sqlType: 'float64' };\n case arrow.Type.Int:\n return { sqlType: 'int32' };\n case arrow.Type.Int16:\n return { sqlType: 'int16' };\n case arrow.Type.Int32:\n return { sqlType: 'int32' };\n case arrow.Type.Int64:\n return { sqlType: 'int64' };\n case arrow.Type.Uint16:\n return { sqlType: 'uint16' };\n case arrow.Type.Uint32:\n return { sqlType: 'uint32' };\n case arrow.Type.Uint64:\n return { sqlType: 'uint64' };\n case arrow.Type.Uint8:\n return { sqlType: 'uint8' };\n case arrow.Type.IntervalDayTime:\n return { sqlType: 'interval[dt]' };\n case arrow.Type.IntervalYearMonth:\n return { sqlType: 'interval[m]' };\n case arrow.Type.List: {\n const list = type as arrow.List;\n return {\n sqlType: 'list',\n valueType: arrowToSQLType(list.valueType),\n };\n }\n case arrow.Type.FixedSizeBinary: {\n const bin = type as arrow.FixedSizeBinary;\n return { sqlType: 'fixedsizebinary', byteWidth: bin.byteWidth };\n }\n case arrow.Type.Null:\n return { sqlType: 'null' };\n case arrow.Type.Utf8:\n return { sqlType: 'utf8' };\n case arrow.Type.Struct: {\n const struct_ = type as arrow.Struct;\n return {\n sqlType: 'struct',\n fields: struct_.children.map(c => arrowToSQLField(c.name, c.type)),\n };\n }\n case arrow.Type.Map: {\n const map_ = type as arrow.Map_;\n return {\n sqlType: 'map',\n keyType: arrowToSQLType(map_.keyType),\n valueType: arrowToSQLType(map_.valueType),\n };\n }\n case arrow.Type.Time:\n return { sqlType: 'time[s]' };\n case arrow.Type.TimeMicrosecond:\n return { sqlType: 'time[us]' };\n case arrow.Type.TimeMillisecond:\n return { sqlType: 'time[ms]' };\n case arrow.Type.TimeNanosecond:\n return { sqlType: 'time[ns]' };\n case arrow.Type.TimeSecond:\n return { sqlType: 'time[s]' };\n case arrow.Type.Timestamp: {\n const ts = type as arrow.Timestamp;\n return { sqlType: 'timestamp', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampSecond: {\n const ts = type as arrow.TimestampSecond;\n return { sqlType: 'timestamp[s]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampMicrosecond: {\n const ts = type as arrow.TimestampMicrosecond;\n return { sqlType: 'timestamp[us]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampNanosecond: {\n const ts = type as arrow.TimestampNanosecond;\n return { sqlType: 'timestamp[ns]', timezone: ts.timezone || undefined };\n }\n case arrow.Type.TimestampMillisecond: {\n const ts = type as arrow.TimestampMillisecond;\n return { sqlType: 'timestamp[ms]', timezone: ts.timezone || undefined };\n }\n }\n throw new Error(`unsupported arrow type: ${type.toString()}`);\n}\n\nexport type SQLField = SQLType & { name: string };\n\nexport function arrowToSQLField(name: string, type: arrow.DataType): SQLField {\n const t = arrowToSQLType(type) as SQLField;\n t.name = name;\n return t;\n}\n", "import { DuckDBBindings } from '../bindings';\nimport { WorkerResponseVariant, WorkerRequestVariant, WorkerRequestType, WorkerResponseType } from './worker_request';\nimport { Logger, LogEntryVariant } from '../log';\nimport { InstantiationProgress } from '../bindings/progress';\n\nexport abstract class AsyncDuckDBDispatcher implements Logger {\n /** The bindings */\n protected _bindings: DuckDBBindings | null = null;\n /** The next message id */\n protected _nextMessageId = 0;\n\n /** Instantiate the wasm module */\n protected abstract instantiate(\n mainModule: string,\n pthreadWorker: string | null,\n progress: (p: InstantiationProgress) => void,\n ): Promise<DuckDBBindings>;\n /** Post a response to the main thread */\n protected abstract postMessage(response: WorkerResponseVariant, transfer: ArrayBuffer[]): void;\n\n /** Send log entry to the main thread */\n public log(entry: LogEntryVariant): void {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: 0,\n type: WorkerResponseType.LOG,\n data: entry,\n },\n [],\n );\n }\n\n /** Send plain OK without further data */\n protected sendOK(request: WorkerRequestVariant): void {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.OK,\n data: null,\n },\n [],\n );\n }\n\n /** Fail with an error */\n protected failWith(request: WorkerRequestVariant, e: Error): void {\n // Workaround for Firefox not being able to perform structured-clone on Native Errors\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1556604\n const obj: any = {\n name: e.name,\n message: e.message,\n stack: e.stack || undefined,\n };\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.ERROR,\n data: obj,\n },\n [],\n );\n return;\n }\n\n /** Process a request from the main thread */\n public async onMessage(request: WorkerRequestVariant): Promise<void> {\n // First process those requests that don't need bindings\n switch (request.type) {\n case WorkerRequestType.PING:\n this.sendOK(request);\n return;\n case WorkerRequestType.INSTANTIATE:\n if (this._bindings != null) {\n this.failWith(request, new Error('duckdb already initialized'));\n }\n try {\n this._bindings = await this.instantiate(request.data[0], request.data[1], p => {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.INSTANTIATE_PROGRESS,\n data: p,\n },\n [],\n );\n });\n this.sendOK(request);\n } catch (e: any) {\n console.log(e);\n this._bindings = null;\n this.failWith(request, e);\n }\n return;\n default:\n break;\n }\n\n // Bindings not initialized?\n if (!this._bindings) {\n return this.failWith(request, new Error('duckdb is not initialized'));\n }\n\n // Catch every exception and forward it as error message to the main thread\n try {\n switch (request.type) {\n case WorkerRequestType.GET_VERSION:\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.VERSION_STRING,\n data: this._bindings.getVersion(),\n },\n [],\n );\n break;\n case WorkerRequestType.GET_FEATURE_FLAGS:\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FEATURE_FLAGS,\n data: this._bindings.getFeatureFlags(),\n },\n [],\n );\n break;\n case WorkerRequestType.RESET:\n this._bindings.reset();\n this.sendOK(request);\n break;\n\n case WorkerRequestType.OPEN:\n this._bindings.open(request.data);\n this.sendOK(request);\n break;\n case WorkerRequestType.DROP_FILE:\n this._bindings.dropFile(request.data);\n this.sendOK(request);\n break;\n case WorkerRequestType.DROP_FILES:\n this._bindings.dropFiles();\n this.sendOK(request);\n break;\n case WorkerRequestType.FLUSH_FILES:\n this._bindings.flushFiles();\n this.sendOK(request);\n break;\n case WorkerRequestType.CONNECT: {\n const conn = this._bindings.connect();\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.CONNECTION_INFO,\n data: conn.useUnsafe((_, c) => c),\n },\n [],\n );\n break;\n }\n case WorkerRequestType.DISCONNECT:\n this._bindings.disconnect(request.data);\n this.sendOK(request);\n break;\n case WorkerRequestType.CREATE_PREPARED: {\n const result = this._bindings.createPrepared(request.data[0], request.data[1]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.PREPARED_STATEMENT_ID,\n data: result,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.CLOSE_PREPARED: {\n this._bindings.closePrepared(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.RUN_PREPARED: {\n const result = this._bindings.runPrepared(request.data[0], request.data[1], request.data[2]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.RUN_QUERY: {\n const result = this._bindings.runQuery(request.data[0], request.data[1]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.SEND_PREPARED: {\n const result = this._bindings.sendPrepared(request.data[0], request.data[1], request.data[2]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_HEADER,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.START_PENDING_QUERY: {\n const result = this._bindings.startPendingQuery(request.data[0], request.data[1]);\n const transfer = [];\n if (result) {\n transfer.push(result.buffer);\n }\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_HEADER_OR_NULL,\n data: result,\n },\n transfer,\n );\n break;\n }\n case WorkerRequestType.POLL_PENDING_QUERY: {\n const result = this._bindings.pollPendingQuery(request.data);\n const transfer = [];\n if (result) {\n transfer.push(result.buffer);\n }\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_HEADER_OR_NULL,\n data: result,\n },\n transfer,\n );\n break;\n }\n case WorkerRequestType.CANCEL_PENDING_QUERY: {\n const result = this._bindings.cancelPendingQuery(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.SUCCESS,\n data: result,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.FETCH_QUERY_RESULTS: {\n const result = this._bindings.fetchQueryResults(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.QUERY_RESULT_CHUNK,\n data: result,\n },\n [result.buffer],\n );\n break;\n }\n case WorkerRequestType.GET_TABLE_NAMES: {\n const result = this._bindings.getTableNames(request.data[0], request.data[1]);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.TABLE_NAMES,\n data: result,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.GLOB_FILE_INFOS: {\n const infos = this._bindings.globFiles(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FILE_INFOS,\n data: infos,\n },\n [],\n );\n break;\n }\n\n case WorkerRequestType.REGISTER_FILE_URL:\n this._bindings.registerFileURL(request.data[0], request.data[1], request.data[2], request.data[3]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.REGISTER_FILE_BUFFER:\n this._bindings.registerFileBuffer(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.REGISTER_FILE_HANDLE:\n this._bindings.registerFileHandle(\n request.data[0],\n request.data[1],\n request.data[2],\n request.data[3],\n );\n this.sendOK(request);\n break;\n\n case WorkerRequestType.COPY_FILE_TO_PATH:\n this._bindings.copyFileToPath(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.COPY_FILE_TO_BUFFER: {\n const buffer = this._bindings.copyFileToBuffer(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FILE_BUFFER,\n data: buffer,\n },\n [],\n );\n break;\n }\n case WorkerRequestType.COLLECT_FILE_STATISTICS:\n this._bindings.collectFileStatistics(request.data[0], request.data[1]);\n this.sendOK(request);\n break;\n\n case WorkerRequestType.EXPORT_FILE_STATISTICS: {\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.FILE_STATISTICS,\n data: this._bindings.exportFileStatistics(request.data),\n },\n [],\n );\n break;\n }\n case WorkerRequestType.INSERT_ARROW_FROM_IPC_STREAM: {\n this._bindings.insertArrowFromIPCStream(request.data[0], request.data[1], request.data[2]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.INSERT_CSV_FROM_PATH: {\n this._bindings.insertCSVFromPath(request.data[0], request.data[1], request.data[2]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.INSERT_JSON_FROM_PATH: {\n this._bindings.insertJSONFromPath(request.data[0], request.data[1], request.data[2]);\n this.sendOK(request);\n break;\n }\n case WorkerRequestType.TOKENIZE: {\n const result = this._bindings.tokenize(request.data);\n this.postMessage(\n {\n messageId: this._nextMessageId++,\n requestId: request.messageId,\n type: WorkerResponseType.SCRIPT_TOKENS,\n data: result,\n },\n [],\n );\n break;\n }\n }\n } catch (e: any) {\n console.log(e);\n return this.failWith(request, e);\n }\n }\n}\n", "import DuckDBWasm from './duckdb-eh.js';\nimport { DuckDBBrowserBindings } from './bindings_browser_base';\nimport { DuckDBModule } from './duckdb_module';\nimport { DuckDBRuntime } from './runtime';\nimport { Logger } from '../log';\n\n/** DuckDB bindings for the browser */\nexport class DuckDB extends DuckDBBrowserBindings {\n /** Constructor */\n public constructor(\n logger: Logger,\n runtime: DuckDBRuntime,\n mainModuleURL: string,\n pthreadWorkerURL: string | null = null,\n ) {\n super(logger, runtime, mainModuleURL, pthreadWorkerURL);\n }\n\n /** Instantiate the bindings */\n protected instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule> {\n return DuckDBWasm({\n ...moduleOverrides,\n instantiateWasm: this.instantiateWasm.bind(this),\n locateFile: this.locateFile.bind(this),\n });\n }\n}\n\nexport default DuckDB;\n", "import * as arrow from 'apache-arrow';\nimport { DuckDBBindings } from './bindings_interface';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from './insert_options';\n\n/** A thin helper to bind the connection id and talk record batches */\nexport class DuckDBConnection {\n /** The bindings */\n protected _bindings: DuckDBBindings;\n /** The connection handle */\n protected _conn: number;\n\n /** Constructor */\n constructor(bindings: DuckDBBindings, conn: number) {\n this._bindings = bindings;\n this._conn = conn;\n }\n\n /** Close a connection */\n public close(): void {\n this._bindings.disconnect(this._conn);\n }\n\n /** Brave souls may use this function to consume the underlying connection id */\n public useUnsafe<R>(callback: (bindings: DuckDBBindings, conn: number) => R) {\n return callback(this._bindings, this._conn);\n }\n\n /** Run a query */\n public query<T extends { [key: string]: arrow.DataType } = any>(text: string): arrow.Table<T> {\n const buffer = this._bindings.runQuery(this._conn, text);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return new arrow.Table(reader);\n }\n\n /** Send a query */\n public async send<T extends { [key: string]: arrow.DataType } = any>(\n text: string,\n ): Promise<arrow.RecordBatchStreamReader<T>> {\n let header = this._bindings.startPendingQuery(this._conn, text);\n while (header == null) {\n header = await new Promise((resolve, reject) => {\n try {\n resolve(this._bindings.pollPendingQuery(this._conn));\n } catch (e: any) {\n console.log(e);\n reject(e);\n }\n });\n }\n const iter = new ResultStreamIterator(this._bindings, this._conn, header);\n const reader = arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isSync());\n console.assert(reader.isStream());\n return reader;\n }\n\n /** Cancel a query that was sent earlier */\n public cancelSent(): boolean {\n return this._bindings.cancelPendingQuery(this._conn);\n }\n\n /** Get table names */\n public getTableNames(query: string): string[] {\n return this._bindings.getTableNames(this._conn, query);\n }\n\n /** Create a prepared statement */\n public prepare<T extends { [key: string]: arrow.DataType } = any>(text: string): PreparedStatement {\n const stmt = this._bindings.createPrepared(this._conn, text);\n return new PreparedStatement<T>(this._bindings, this._conn, stmt);\n }\n\n /** Create a scalar function */\n public createScalarFunction(name: string, returns: arrow.DataType, func: (...args: any[]) => void): void {\n this._bindings.createScalarFunction(this._conn, name, returns, func);\n }\n\n /** Insert an arrow table */\n public insertArrowTable(table: arrow.Table, options: ArrowInsertOptions): void {\n\tconst buffer = arrow.tableToIPC(table, 'stream');\n this.insertArrowFromIPCStream(buffer, options);\n }\n /** Insert an arrow table from an ipc stream */\n public insertArrowFromIPCStream(buffer: Uint8Array, options: ArrowInsertOptions): void {\n this._bindings.insertArrowFromIPCStream(this._conn, buffer, options);\n }\n\n /** Inesrt csv file from path */\n public insertCSVFromPath(path: string, options: CSVInsertOptions): void {\n this._bindings.insertCSVFromPath(this._conn, path, options);\n }\n /** Insert json file from path */\n public insertJSONFromPath(path: string, options: JSONInsertOptions): void {\n this._bindings.insertJSONFromPath(this._conn, path, options);\n }\n}\n\n/** A result stream iterator */\nexport class ResultStreamIterator implements Iterable<Uint8Array> {\n /** First chunk? */\n _first: boolean;\n /** Reached end of stream? */\n _depleted: boolean;\n\n constructor(protected bindings: DuckDBBindings, protected conn: number, protected header: Uint8Array) {\n this._first = true;\n this._depleted = false;\n }\n\n next(): IteratorResult<Uint8Array> {\n if (this._first) {\n this._first = false;\n return { done: false, value: this.header };\n }\n if (this._depleted) {\n return { done: true, value: null };\n }\n const bufferI8 = this.bindings.fetchQueryResults(this.conn);\n this._depleted = bufferI8.length == 0;\n return {\n done: this._depleted,\n value: bufferI8,\n };\n }\n\n [Symbol.iterator]() {\n return this;\n }\n}\n\n/** A thin helper to bind the prepared statement id*/\nexport class PreparedStatement<T extends { [key: string]: arrow.DataType } = any> {\n /** The bindings */\n protected readonly bindings: DuckDBBindings;\n /** The connection id */\n protected readonly connectionId: number;\n /** The statement id */\n protected readonly statementId: number;\n\n /** Constructor */\n constructor(bindings: DuckDBBindings, connectionId: number, statementId: number) {\n this.bindings = bindings;\n this.connectionId = connectionId;\n this.statementId = statementId;\n }\n\n /** Close a prepared statement */\n public close() {\n this.bindings.closePrepared(this.connectionId, this.statementId);\n }\n\n /** Run a prepared statement */\n public query(...params: any[]): arrow.Table<T> {\n const buffer = this.bindings.runPrepared(this.connectionId, this.statementId, params);\n const reader = arrow.RecordBatchReader.from<T>(buffer);\n console.assert(reader.isSync());\n console.assert(reader.isFile());\n return new arrow.Table(reader as arrow.RecordBatchFileReader);\n }\n\n /** Send a prepared statement */\n public send(...params: any[]): arrow.RecordBatchStreamReader<T> {\n const header = this.bindings.sendPrepared(this.connectionId, this.statementId, params);\n const iter = new ResultStreamIterator(this.bindings, this.connectionId, header);\n const reader = arrow.RecordBatchReader.from<T>(iter);\n console.assert(reader.isSync());\n console.assert(reader.isStream());\n return reader as arrow.RecordBatchStreamReader;\n }\n}\n", "import { DuckDBRuntime } from './runtime';\nimport { DuckDBModule } from './duckdb_module';\n\nconst TEXT_ENCODER = new TextEncoder();\nconst TEXT_DECODER = new TextDecoder('utf-8');\n\nfunction storeError(mod: DuckDBModule, response: number, message: string) {\n const msgBuffer = TEXT_ENCODER.encode(message);\n const heapAddr = mod._malloc(msgBuffer.byteLength);\n const heapArray = mod.HEAPU8.subarray(heapAddr, heapAddr + msgBuffer.byteLength);\n heapArray.set(msgBuffer);\n mod.HEAPF64[(response >> 3) + 0] = 1;\n mod.HEAPF64[(response >> 3) + 1] = heapAddr;\n mod.HEAPF64[(response >> 3) + 2] = heapArray.byteLength;\n}\n\nfunction getTypeSize(ptype: string) {\n switch (ptype) {\n case 'UINT8':\n case 'INT8':\n return 1;\n case 'INT32':\n case 'FLOAT':\n return 4;\n case 'INT64':\n case 'UINT64':\n case 'DOUBLE':\n case 'VARCHAR':\n return 8;\n default:\n return 0;\n }\n}\n\nfunction ptrToArray(mod: DuckDBModule, ptr: number, ptype: string, n: number) {\n const heap = mod.HEAPU8.subarray(ptr, ptr + n * getTypeSize(ptype));\n switch (ptype) {\n case 'UINT8':\n return new Uint8Array(heap.buffer, heap.byteOffset, n);\n case 'INT8':\n return new Int8Array(heap.buffer, heap.byteOffset, n);\n case 'INT32':\n return new Int32Array(heap.buffer, heap.byteOffset, n);\n case 'FLOAT':\n return new Float32Array(heap.buffer, heap.byteOffset, n);\n case 'DOUBLE':\n return new Float64Array(heap.buffer, heap.byteOffset, n);\n case 'VARCHAR':\n return new Float64Array(heap.buffer, heap.byteOffset, n);\n default:\n return new Array<string | undefined | null>(0); // cough\n }\n}\n\nfunction ptrToUint8Array(mod: DuckDBModule, ptr: number, n: number) {\n const heap = mod.HEAPU8.subarray(ptr, ptr + n);\n return new Uint8Array(heap.buffer, heap.byteOffset, n);\n}\nfunction ptrToFloat64Array(mod: DuckDBModule, ptr: number, n: number) {\n const heap = mod.HEAPU8.subarray(ptr, ptr + n * 8);\n return new Float64Array(heap.buffer, heap.byteOffset, n);\n}\n\ninterface ArgumentTypeDescription {\n name?: string;\n sqlType: string;\n physicalType: string;\n validityBuffer?: number;\n dataBuffer?: number;\n lengthBuffer?: number;\n children?: ArgumentTypeDescription[];\n}\n\ninterface ReturnTypeDescription {\n sqlType: string;\n physicalType: string;\n}\n\ninterface SchemaDescription {\n rows: number;\n args: ArgumentTypeDescription[];\n ret: ReturnTypeDescription;\n}\n\ntype ArgumentResolver = (row: number) => any | null;\n\n// this is called from webdb.cc/CallScalarUDFFunction, changes here need to be matched there\nexport function callScalarUDF(\n runtime: DuckDBRuntime,\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n) {\n try {\n const udf = runtime._udfFunctions.get(funcId);\n if (!udf) {\n storeError(mod, response, 'Unknown UDF with id: ' + funcId);\n return;\n }\n const rawDesc = TEXT_DECODER.decode(mod.HEAPU8.subarray(descPtr, descPtr + descSize));\n const desc = JSON.parse(rawDesc) as SchemaDescription;\n const ptrs = ptrToFloat64Array(mod, ptrsPtr, ptrsSize / 8);\n\n const buildResolver = (arg: ArgumentTypeDescription): ArgumentResolver => {\n let validity: Uint8Array | null = null;\n if (arg.validityBuffer !== undefined) {\n validity = ptrToUint8Array(mod, ptrs[arg.validityBuffer] as number, desc.rows);\n }\n switch (arg.physicalType) {\n case 'VARCHAR': {\n if (arg.dataBuffer === null || arg.dataBuffer === undefined) {\n throw new Error('malformed data view, expected data buffer for VARCHAR argument');\n }\n if (arg.lengthBuffer === null || arg.lengthBuffer === undefined) {\n throw new Error('malformed data view, expected data length buffer for VARCHAR argument');\n }\n const raw = ptrToArray(mod, ptrs[arg.dataBuffer] as number, arg.physicalType, desc.rows);\n const strings: (string | null)[] = [];\n const stringLengths = ptrToFloat64Array(mod, ptrs[arg.lengthBuffer] as number, desc.rows);\n for (let j = 0; j < desc.rows; ++j) {\n if (validity != null && !validity[j]) {\n strings.push(null);\n continue;\n }\n const subarray = mod.HEAPU8.subarray(\n raw[j] as number,\n (raw[j] as number) + (stringLengths[j] as number),\n );\n const str = TEXT_DECODER.decode(subarray);\n strings.push(str);\n }\n return (row: number) => strings[row];\n }\n case 'STRUCT': {\n const tmp: any = {};\n const children: ArgumentResolver[] = [];\n for (let j = 0; j < (arg.children?.length || 0); ++j) {\n const attr = arg.children![j];\n const child = buildResolver(attr);\n children.push((row: number) => {\n tmp[attr.name!] = child(row);\n });\n }\n if (validity != null) {\n return (row: number) => {\n if (!validity![row]) {\n return null;\n }\n for (const resolver of children) {\n resolver(row);\n }\n return tmp;\n };\n } else {\n return (row: number) => {\n for (const resolver of children) {\n resolver(row);\n }\n return tmp;\n };\n }\n }\n default: {\n if (arg.dataBuffer === undefined) {\n throw new Error(\n 'malformed data view, expected data buffer for argument of type: ' + arg.physicalType,\n );\n }\n const data = ptrToArray(mod, ptrs[arg.dataBuffer] as number, arg.physicalType, desc.rows);\n if (validity != null) {\n return (row: number) => (!validity![row] ? null : data[row]);\n } else {\n return (row: number) => data[row];\n }\n }\n }\n };\n\n // Translate argument data\n const argResolvers = [];\n for (let i = 0; i < desc.args.length; ++i) {\n argResolvers.push(buildResolver(desc.args[i]));\n }\n\n // Prepare result buffers\n // TODO: we probably do not want to recreate those every time\n const resultDataLen = desc.rows * getTypeSize(desc.ret.physicalType);\n const resultDataPtr = mod._malloc(resultDataLen);\n const resultData = ptrToArray(mod, resultDataPtr, desc.ret.physicalType, desc.rows);\n const resultValidityPtr = mod._malloc(desc.rows);\n const resultValidity = ptrToUint8Array(mod, resultValidityPtr, desc.rows);\n if (resultData.length == 0 || resultValidity.length == 0) {\n storeError(mod, response, \"Can't create physical arrays for result\");\n return;\n }\n let rawResultData = resultData;\n if (desc.ret.physicalType == 'VARCHAR') {\n rawResultData = new Array<string | undefined | null>(desc.rows);\n }\n\n // Call the function\n const args = [];\n for (let i = 0; i < desc.args.length; ++i) {\n args.push(null);\n }\n for (let i = 0; i < desc.rows; ++i) {\n for (let j = 0; j < desc.args.length; ++j) {\n args[j] = argResolvers[j](i);\n }\n const res = udf.func(...args);\n rawResultData[i] = res;\n resultValidity[i] = res === undefined || res === null ? 0 : 1;\n }\n\n // Encode return values\n let resultLengthsPtr = 0;\n switch (desc.ret.physicalType) {\n case 'VARCHAR': {\n // Allocate result buffers\n const resultDataUTF8 = new Array<Uint8Array>(0); // cough\n resultLengthsPtr = mod._malloc(desc.rows * getTypeSize('DOUBLE'));\n const resultLengths = ptrToFloat64Array(mod, resultLengthsPtr, desc.rows);\n\n // TODO: We need two loops to figure out the total length but maybe we can avoid the double allocation\n let totalLength = 0;\n for (let row = 0; row < desc.rows; ++row) {\n const utf8 = TEXT_ENCODER.encode((rawResultData as (string | null | undefined)[])[row] || '');\n resultDataUTF8.push(utf8);\n resultLengths[row] = utf8.length;\n totalLength += utf8.length;\n }\n\n // We malloc a buffer for the strings to live in for now\n const resultStringPtr = mod._malloc(totalLength);\n const resultStringBuf = mod.HEAPU8.subarray(resultStringPtr, resultStringPtr + totalLength);\n\n // Now copy all the strings to the new buffer back to back\n let writerOffset = 0;\n for (let row = 0; row < desc.rows; ++row) {\n resultData[row] = writerOffset;\n const resultUTF8 = resultDataUTF8[row];\n const writer = resultStringBuf.subarray(writerOffset, writerOffset + resultUTF8.length);\n writer.set(resultUTF8);\n writerOffset += resultUTF8.length;\n }\n }\n }\n\n // Need to store three pointers, data, validity and length\n const retLen = 3 * 8;\n const retPtr = mod._malloc(retLen);\n const retBuffer = ptrToFloat64Array(mod, retPtr, 3);\n retBuffer[0] = resultDataPtr;\n retBuffer[1] = resultValidityPtr;\n retBuffer[2] = resultLengthsPtr;\n\n // Pack response\n mod.HEAPF64[(response >> 3) + 0] = 0;\n mod.HEAPF64[(response >> 3) + 1] = retPtr;\n mod.HEAPF64[(response >> 3) + 2] = 0;\n } catch (e: any) {\n storeError(mod, response, e.toString());\n }\n}\n", "import { DuckDBModule } from './duckdb_module';\nimport { UDFFunction } from './udf_function';\nimport * as udf_rt from './udf_runtime';\n\n/** Wrapper for TextDecoder to support shared array buffers */\nfunction TextDecoderWrapper(): (input?: BufferSource) => string {\n const decoder = new TextDecoder();\n return (data: any) => {\n if (typeof SharedArrayBuffer !== 'undefined' && data.buffer instanceof SharedArrayBuffer) {\n data = new Uint8Array(data);\n }\n return decoder.decode(data);\n };\n}\n/** Helper to decode text */\nexport const decodeText = TextDecoderWrapper();\n\n/** Copy a buffer */\nexport function failWith(mod: DuckDBModule, msg: string): void {\n console.error(`FAIL WITH: ${msg}`);\n mod.ccall('duckdb_web_fail_with', null, ['string'], [msg]);\n}\n\n/** Copy a buffer */\nexport function copyBuffer(mod: DuckDBModule, begin: number, length: number): Uint8Array {\n const buffer = mod.HEAPU8.subarray(begin, begin + length);\n const copy = new Uint8Array(new ArrayBuffer(buffer.byteLength));\n copy.set(buffer);\n return copy;\n}\n\n/** Decode a string */\nexport function readString(mod: DuckDBModule, begin: number, length: number): string {\n return decodeText(mod.HEAPU8.subarray(begin, begin + length));\n}\n\n/** The data protocol */\nexport enum DuckDBDataProtocol {\n BUFFER = 0,\n NODE_FS = 1,\n BROWSER_FILEREADER = 2,\n BROWSER_FSACCESS = 3,\n HTTP = 4,\n S3 = 5,\n}\n\n/** File flags for opening files*/\nexport enum FileFlags {\n //! Open file with read access\n FILE_FLAGS_READ = 1 << 0,\n //! Open file with write access\n FILE_FLAGS_WRITE = 1 << 1,\n //! Use direct IO when reading/writing to the file\n FILE_FLAGS_DIRECT_IO = 1 << 2,\n //! Create file if not exists, can only be used together with WRITE\n FILE_FLAGS_FILE_CREATE = 1 << 3,\n //! Always create a new file. If a file exists, the file is truncated. Cannot be used together with CREATE.\n FILE_FLAGS_FILE_CREATE_NEW = 1 << 4,\n //! Open file in append mode\n FILE_FLAGS_APPEND = 1 << 5,\n}\n\n/** Configuration for the AWS S3 Filesystem */\nexport interface S3Config {\n region?: string;\n endpoint?: string;\n accessKeyId?: string;\n secretAccessKey?: string;\n sessionToken?: string;\n}\n\n/** An info for a file registered with DuckDB */\nexport interface DuckDBFileInfo {\n cacheEpoch: number;\n fileId: number;\n fileName: string;\n dataProtocol: DuckDBDataProtocol;\n dataUrl: string | null;\n allowFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\n/** Global info for all files registered with DuckDB */\nexport interface DuckDBGlobalFileInfo {\n cacheEpoch: number;\n allowFullHttpReads?: boolean;\n s3Config?: S3Config;\n}\n\n/** Call a function with packed response buffer */\nexport function callSRet(\n mod: DuckDBModule,\n funcName: string,\n argTypes: Array<Emscripten.JSType>,\n args: Array<any>,\n): [number, number, number] {\n const stackPointer = mod.stackSave();\n\n // Allocate the packed response buffer\n const response = mod.stackAlloc(3 * 8);\n argTypes.unshift('number');\n args.unshift(response);\n\n // Do the call\n mod.ccall(funcName, null, argTypes, args);\n\n // Read the response\n const status = mod.HEAPF64[(response >> 3) + 0];\n const data = mod.HEAPF64[(response >> 3) + 1];\n const dataSize = mod.HEAPF64[(response >> 3) + 2];\n\n // Restore the stack\n mod.stackRestore(stackPointer);\n return [status, data, dataSize];\n}\n\n/** Drop response buffers */\nexport function dropResponseBuffers(mod: DuckDBModule): void {\n mod.ccall('duckdb_web_clear_response', null, [], []);\n}\n\n/** The duckdb runtime */\nexport interface DuckDBRuntime {\n _files?: Map<string, any>;\n _udfFunctions: Map<number, UDFFunction>;\n\n // Test a platform feature\n testPlatformFeature(mod: DuckDBModule, feature: number): boolean;\n\n // File APIs with dedicated file identifier\n getDefaultDataProtocol(mod: DuckDBModule): number;\n openFile(mod: DuckDBModule, fileId: number, flags: FileFlags): void;\n syncFile(mod: DuckDBModule, fileId: number): void;\n closeFile(mod: DuckDBModule, fileId: number): void;\n getLastFileModificationTime(mod: DuckDBModule, fileId: number): number;\n truncateFile(mod: DuckDBModule, fileId: number, newSize: number): void;\n readFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;\n writeFile(mod: DuckDBModule, fileId: number, buffer: number, bytes: number, location: number): number;\n\n // File APIs with path parameter\n removeDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n checkDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n createDirectory(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n listDirectoryEntries(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n glob(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n moveFile(mod: DuckDBModule, fromPtr: number, fromLen: number, toPtr: number, toLen: number): void;\n checkFile(mod: DuckDBModule, pathPtr: number, pathLen: number): boolean;\n removeFile(mod: DuckDBModule, pathPtr: number, pathLen: number): void;\n\n // Call a scalar UDF function\n callScalarUDF(\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void;\n}\n\nexport const DEFAULT_RUNTIME: DuckDBRuntime = {\n _udfFunctions: new Map(),\n\n testPlatformFeature: (_mod: DuckDBModule, _feature: number): boolean => false,\n getDefaultDataProtocol: (_mod: DuckDBModule): number => DuckDBDataProtocol.BUFFER,\n openFile: (_mod: DuckDBModule, _fileId: number, flags: FileFlags): void => {},\n syncFile: (_mod: DuckDBModule, _fileId: number): void => {},\n closeFile: (_mod: DuckDBModule, _fileId: number): void => {},\n getLastFileModificationTime: (_mod: DuckDBModule, _fileId: number): number => {\n return 0;\n },\n truncateFile: (_mod: DuckDBModule, _fileId: number, _newSize: number): void => {},\n readFile: (_mod: DuckDBModule, _fileId: number, _buffer: number, _bytes: number, _location: number): number => {\n return 0;\n },\n writeFile: (_mod: DuckDBModule, _fileId: number, _buffer: number, _bytes: number, _location: number): number => {\n return 0;\n },\n\n removeDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n checkDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n createDirectory: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n listDirectoryEntries: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n glob: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n moveFile: (_mod: DuckDBModule, _fromPtr: number, _fromLen: number, _toPtr: number, _toLen: number): void => {},\n checkFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): boolean => {\n return false;\n },\n removeFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number): void => {},\n callScalarUDF: (\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void => {\n udf_rt.callScalarUDF(DEFAULT_RUNTIME, mod, response, funcId, descPtr, descSize, ptrsPtr, ptrsSize);\n },\n};\n", "export interface FileBlockStatistics {\n /** The file reads cold */\n file_reads_cold: number;\n /** The file reads aheads */\n file_reads_ahead: number;\n /** The file reads cached */\n file_reads_cached: number;\n /** The file writes */\n file_writes: number;\n /** The page accesses */\n page_accesses: number;\n /** The page loads */\n page_loads: number;\n}\n\n/** The file block statistics */\nexport class FileStatistics {\n /** The cold file reads */\n public totalFileReadsCold: number;\n /** The file readaheads */\n public totalFileReadsAhead: number;\n /** The cached file reads */\n public totalFileReadsCached: number;\n /** The file writes */\n public totalFileWrites: number;\n /** The page accesses */\n public totalPageAccesses: number;\n /** The page loads */\n public totalPageLoads: number;\n /** The blocks */\n public blockSize: number;\n /** The blocks */\n public blockStats: Uint8Array;\n\n constructor(u8array: Uint8Array) {\n const f64 = new Float64Array(u8array.buffer, u8array.byteOffset, u8array.byteLength / 8);\n const blocks = new Uint8Array(new ArrayBuffer(u8array.byteLength));\n blocks.set(u8array.subarray(7 * 8));\n this.totalFileReadsCold = f64[0];\n this.totalFileReadsAhead = f64[1];\n this.totalFileReadsCached = f64[2];\n this.totalFileWrites = f64[3];\n this.totalPageAccesses = f64[4];\n this.totalPageLoads = f64[5];\n this.blockSize = f64[6];\n this.blockStats = blocks;\n }\n\n /** The block stats */\n public getBlockStats(index: number, out?: FileBlockStatistics): FileBlockStatistics {\n out = out || {\n file_reads_cold: 0,\n file_reads_ahead: 0,\n file_reads_cached: 0,\n file_writes: 0,\n page_accesses: 0,\n page_loads: 0,\n };\n out.file_writes = this.blockStats[index * 3 + 0] & 0b1111;\n out.file_reads_cold = this.blockStats[index * 3 + 0] >> 4;\n out.file_reads_ahead = this.blockStats[index * 3 + 1] & 0b1111;\n out.file_reads_cached = this.blockStats[index * 3 + 1] >> 4;\n out.page_accesses = this.blockStats[index * 3 + 1] & 0b1111;\n out.page_loads = this.blockStats[index * 3 + 1] >> 4;\n return out;\n }\n}\n", "import { DuckDBModule, PThread } from './duckdb_module';\nimport { DuckDBConfig } from './config';\nimport { Logger } from '../log';\nimport { InstantiationProgress } from './progress';\nimport { DuckDBBindings } from './bindings_interface';\nimport { DuckDBConnection } from './connection';\nimport { StatusCode } from '../status';\nimport { dropResponseBuffers, DuckDBRuntime, readString, callSRet, copyBuffer, DuckDBDataProtocol } from './runtime';\nimport { CSVInsertOptions, JSONInsertOptions, ArrowInsertOptions } from './insert_options';\nimport { ScriptTokens } from './tokens';\nimport { FileStatistics } from './file_stats';\nimport { arrowToSQLField, arrowToSQLType } from '../json_typedef';\nimport { WebFile } from './web_file';\nimport { UDFFunction, UDFFunctionDeclaration } from './udf_function';\nimport * as arrow from 'apache-arrow';\n\nconst TEXT_ENCODER = new TextEncoder();\n\ndeclare global {\n // eslint-disable-next-line no-var\n var DUCKDB_RUNTIME: any;\n}\n\n/** A DuckDB Feature */\nexport enum DuckDBFeature {\n WASM_EXCEPTIONS = 1 << 0,\n WASM_THREADS = 1 << 1,\n WASM_SIMD = 1 << 2,\n WASM_BULK_MEMORY = 1 << 3,\n EMIT_BIGINT = 1 << 4,\n}\n\n/** The proxy for either the browser- order node-based DuckDB API */\nexport abstract class DuckDBBindingsBase implements DuckDBBindings {\n /** The logger */\n protected readonly _logger: Logger;\n /** Backend-dependent native-glue code for DuckDB */\n protected readonly _runtime: DuckDBRuntime;\n /** The instance */\n protected _instance: DuckDBModule | null = null;\n /** The loading promise */\n protected _initPromise: Promise<void> | null = null;\n /** The resolver for the open promise (called by onRuntimeInitialized) */\n protected _initPromiseResolver: () => void = () => {};\n /** The next UDF id */\n protected _nextUDFId: number;\n\n constructor(logger: Logger, runtime: DuckDBRuntime) {\n this._logger = logger;\n this._runtime = runtime;\n this._nextUDFId = 1;\n }\n\n /** Get the logger */\n public get logger(): Logger {\n return this._logger;\n }\n /** Get the instance */\n public get mod(): DuckDBModule {\n return this._instance!;\n }\n /** Get the instance */\n public get pthread(): PThread | null {\n return this.mod.PThread || null;\n }\n\n /** Instantiate the module */\n protected abstract instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule>;\n /** Instantiate the module */\n protected onInstantiationProgress: ((p: InstantiationProgress) => void)[] = [];\n /** Instantiate the database */\n public async instantiate(onProgress: (progress: InstantiationProgress) => void = _ => {}): Promise<this> {\n // Already opened?\n if (this._instance != null) {\n return this;\n }\n // Open in progress?\n if (this._initPromise != null) {\n this.onInstantiationProgress.push(onProgress);\n await this._initPromise;\n }\n // Create a promise that we can await\n this._initPromise = new Promise(resolve => {\n this._initPromiseResolver = resolve;\n });\n // Register progress handler\n this.onInstantiationProgress = [onProgress];\n // Initialize duckdb\n this._instance = await this.instantiateImpl({\n print: console.log.bind(console),\n printErr: console.log.bind(console),\n onRuntimeInitialized: this._initPromiseResolver,\n });\n // Wait for onRuntimeInitialized\n await this._initPromise;\n this._initPromise = null;\n // Remove own progress callback\n this.onInstantiationProgress = this.onInstantiationProgress.filter(x => x != onProgress);\n return this;\n }\n /** Open a database with a config */\n public open(config: DuckDBConfig): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_open', ['string'], [JSON.stringify(config)]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Reset the database */\n public reset(): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_reset', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Get the version */\n public getVersion(): string {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_get_version', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const version = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return version;\n }\n /** Get the feature flags */\n public getFeatureFlags(): number {\n return this.mod.ccall('duckdb_web_get_feature_flags', 'number', [], []);\n }\n\n /** Tokenize a script */\n public tokenize(text: string): ScriptTokens {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_tokenize', ['string'], [text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return JSON.parse(res) as ScriptTokens;\n }\n\n /** Connect to database */\n public connect(): DuckDBConnection {\n const conn = this.mod.ccall('duckdb_web_connect', 'number', [], []);\n return new DuckDBConnection(this, conn);\n }\n /** Disconnect from database */\n public disconnect(conn: number): void {\n this.mod.ccall('duckdb_web_disconnect', null, ['number'], [conn]);\n if (this.pthread) {\n for (const worker of [...this.pthread.runningWorkers, ...this.pthread.unusedWorkers]) {\n worker.postMessage({\n cmd: 'dropUDFFunctions',\n connectionId: conn,\n });\n }\n }\n }\n\n /** Send a query and return the full result */\n public runQuery(conn: number, text: string): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_run', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /**\n * Start a pending query asynchronously.\n * This method returns either the arrow ipc schema or null.\n * On null, the query has to be executed using `pollPendingQuery` until that returns != null.\n * Results can then be fetched using `fetchQueryResults`\n */\n public startPendingQuery(conn: number, text: string): Uint8Array | null {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_pending_query_start', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n if (d == 0) {\n return null;\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Poll a pending query */\n public pollPendingQuery(conn: number): Uint8Array | null {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_pending_query_poll', ['number'], [conn]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n if (d == 0) {\n return null;\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Cancel a pending query */\n public cancelPendingQuery(conn: number): boolean {\n return this.mod.ccall('duckdb_web_pending_query_cancel', 'boolean', ['number'], [conn]);\n }\n /** Fetch query results */\n public fetchQueryResults(conn: number): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_query_fetch_results', ['number'], [conn]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n /** Get table names */\n public getTableNames(conn: number, text: string): string[] {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_get_tablenames', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return JSON.parse(res) as string[];\n }\n\n /** Create a scalar function */\n public createScalarFunction(\n conn: number,\n name: string,\n returns: arrow.DataType,\n func: (...args: any[]) => void,\n ): void {\n const decl: UDFFunctionDeclaration = {\n functionId: this._nextUDFId,\n name: name,\n returnType: arrowToSQLType(returns),\n };\n const def: UDFFunction = {\n functionId: decl.functionId,\n connectionId: conn,\n name: name,\n returnType: returns,\n func,\n };\n this._nextUDFId += 1;\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_udf_scalar_create',\n ['number', 'string'],\n [conn, JSON.stringify(decl)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n globalThis.DUCKDB_RUNTIME._udfFunctions = (globalThis.DUCKDB_RUNTIME._udfFunctions || new Map()).set(\n def.functionId,\n def,\n );\n if (this.pthread) {\n for (const worker of [...this.pthread.runningWorkers, ...this.pthread.unusedWorkers]) {\n worker.postMessage({\n cmd: 'registerUDFFunction',\n udf: def,\n });\n }\n }\n }\n\n /** Prepare a statement and return its identifier */\n public createPrepared(conn: number, text: string): number {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_prepared_create', ['number', 'string'], [conn, text]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n return d;\n }\n\n /** Close a prepared statement */\n public closePrepared(conn: number, statement: number): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_prepared_close', ['number', 'number'], [conn, statement]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n\n /** Execute a prepared statement and return the full result */\n public runPrepared(conn: number, statement: number, params: any[]): Uint8Array {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_run',\n ['number', 'number', 'string'],\n [conn, statement, JSON.stringify(params)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n\n /** Execute a prepared statement and stream the result */\n public sendPrepared(conn: number, statement: number, params: any[]): Uint8Array {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_prepared_send',\n ['number', 'number', 'string'],\n [conn, statement, JSON.stringify(params)],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const res = copyBuffer(this.mod, d, n);\n dropResponseBuffers(this.mod);\n return res;\n }\n\n /** Insert record batches from an arrow ipc stream */\n public insertArrowFromIPCStream(conn: number, buffer: Uint8Array, options?: ArrowInsertOptions): void {\n if (buffer.length == 0) return;\n // Store buffer\n const bufferPtr = this.mod._malloc(buffer.length);\n const bufferOfs = this.mod.HEAPU8.subarray(bufferPtr, bufferPtr + buffer.length);\n bufferOfs.set(buffer);\n const optJSON = options ? JSON.stringify(options) : '';\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_arrow_from_ipc_stream',\n ['number', 'number', 'number', 'string'],\n [conn, bufferPtr, buffer.length, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n\n /** Insert csv from path */\n public insertCSVFromPath(conn: number, path: string, options: CSVInsertOptions): void {\n // Stringify options\n if (options.columns !== undefined) {\n options.columnsFlat = [];\n for (const k in options.columns) {\n options.columnsFlat.push(arrowToSQLField(k, options.columns[k]));\n }\n }\n const opt = { ...options } as any;\n opt.columns = opt.columnsFlat;\n delete opt.columnsFlat;\n const optJSON = JSON.stringify(opt);\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_csv_from_path',\n ['number', 'string', 'string'],\n [conn, path, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Insert json from path */\n public insertJSONFromPath(conn: number, path: string, options: JSONInsertOptions): void {\n // Stringify options\n if (options.columns !== undefined) {\n options.columnsFlat = [];\n for (const k in options.columns) {\n options.columnsFlat.push(arrowToSQLField(k, options.columns[k]));\n }\n }\n const opt = { ...options } as any;\n opt.columns = opt.columnsFlat;\n delete opt.columnsFlat;\n const optJSON = JSON.stringify(opt);\n\n // Call wasm function\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_insert_json_from_path',\n ['number', 'string', 'string'],\n [conn, path, optJSON],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Glob file infos */\n public globFiles(path: string): WebFile[] {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_glob_file_infos', ['string'], [path]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const infoStr = readString(this.mod, d, n);\n dropResponseBuffers(this.mod);\n const info = JSON.parse(infoStr) as WebFile[];\n if (info == null) {\n return [];\n }\n return info;\n }\n /** Register a file object URL */\n public registerFileURL(name: string, url: string, proto: DuckDBDataProtocol, directIO = false): void {\n if (url === undefined) {\n url = name;\n }\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_url',\n ['string', 'string'],\n [name, url, proto, directIO],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Register file text */\n public registerFileText(name: string, text: string): void {\n const buffer = TEXT_ENCODER.encode(text);\n this.registerFileBuffer(name, buffer);\n }\n /** Register a file buffer */\n public registerFileBuffer(name: string, buffer: Uint8Array): void {\n const ptr = this.mod._malloc(buffer.length);\n const dst = this.mod.HEAPU8.subarray(ptr, ptr + buffer.length);\n dst.set(buffer);\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_buffer',\n ['string', 'number', 'number'],\n [name, ptr, buffer.length],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Register a file object URL */\n public registerFileHandle<HandleType>(\n name: string,\n handle: HandleType,\n protocol: DuckDBDataProtocol,\n directIO: boolean,\n ): void {\n const [s, d, n] = callSRet(\n this.mod,\n 'duckdb_web_fs_register_file_url',\n ['string', 'string', 'number', 'boolean'],\n [name, name, protocol, directIO],\n );\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n globalThis.DUCKDB_RUNTIME._files = (globalThis.DUCKDB_RUNTIME._files || new Map()).set(name, handle);\n if (this.pthread) {\n for (const worker of this.pthread.runningWorkers) {\n worker.postMessage({\n cmd: 'registerFileHandle',\n fileName: name,\n fileHandle: handle,\n });\n }\n for (const worker of this.pthread.unusedWorkers) {\n worker.postMessage({\n cmd: 'dropFileHandle',\n fileName: name,\n });\n }\n }\n }\n /** Drop file */\n public dropFile(name: string): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_drop_file', ['string'], [name]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Drop files */\n public dropFiles(): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_fs_drop_files', [], []);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Flush all files */\n public flushFiles(): void {\n this.mod.ccall('duckdb_web_flush_files', null, [], []);\n }\n /** Write a file to a path */\n public copyFileToPath(name: string, path: string): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_copy_file_to_path', ['string', 'string'], [name, path]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n dropResponseBuffers(this.mod);\n }\n /** Write a file to a buffer */\n public copyFileToBuffer(name: string): Uint8Array {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_copy_file_to_buffer', ['string'], [name]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n const buffer = this.mod.HEAPU8.subarray(d, d + n);\n const copy = new Uint8Array(buffer.length);\n copy.set(buffer);\n dropResponseBuffers(this.mod);\n return copy;\n }\n\n /** Enable tracking of file statistics */\n public collectFileStatistics(file: string, enable: boolean): void {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_collect_file_stats', ['string', 'boolean'], [file, enable]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n }\n /** Export file statistics */\n public exportFileStatistics(file: string): FileStatistics {\n const [s, d, n] = callSRet(this.mod, 'duckdb_web_export_file_stats', ['string'], [file]);\n if (s !== StatusCode.SUCCESS) {\n throw new Error(readString(this.mod, d, n));\n }\n return new FileStatistics(this.mod.HEAPU8.subarray(d, d + n));\n }\n}\n", "import { DuckDBModule } from './duckdb_module';\nimport { DuckDBBindingsBase } from './bindings_base';\nimport { DuckDBRuntime } from './runtime';\nimport { LogLevel, LogTopic, LogOrigin, LogEvent } from '../log';\nimport { Logger } from '../log';\nimport { InstantiationProgress } from '.';\n\n/** DuckDB bindings for the browser */\nexport abstract class DuckDBBrowserBindings extends DuckDBBindingsBase {\n /** The path of the wasm module */\n protected readonly mainModuleURL: string;\n /** The path of the pthread worker script */\n protected readonly pthreadWorkerURL: string | null;\n\n /** Constructor */\n public constructor(logger: Logger, runtime: DuckDBRuntime, mainModuleURL: string, pthreadWorkerURL: string | null) {\n super(logger, runtime);\n this.mainModuleURL = mainModuleURL;\n this.pthreadWorkerURL = pthreadWorkerURL;\n }\n\n /** Locate a file */\n protected locateFile(path: string, prefix: string): string {\n if (path.endsWith('.wasm')) {\n return this.mainModuleURL;\n }\n if (path.endsWith('.worker.js')) {\n if (!this.pthreadWorkerURL) {\n throw new Error('Missing DuckDB worker URL!');\n }\n return this.pthreadWorkerURL!;\n }\n throw new Error(`WASM instantiation requested unexpected file: prefix=${prefix} path=${path}`);\n }\n\n /** Instantiate the wasm module */\n protected instantiateWasm(\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n imports: any,\n success: (instance: WebAssembly.Instance, module: WebAssembly.Module) => void,\n ): Emscripten.WebAssemblyExports {\n // We rely on the following here:\n //\n // ...when a Request object is created using the Request.Request constructor,\n // the value of the mode property for that Request is set to cors.\n // [ref: MDN]\n //\n // Cloudflare throws when mode: 'cors' is set\n //\n globalThis.DUCKDB_RUNTIME = this._runtime;\n const handlers = this.onInstantiationProgress;\n\n // Does the browser support streaming instantiation?\n if (WebAssembly.instantiateStreaming) {\n // Does the browser support transform streams?\n if (typeof TransformStream === 'function') {\n const fetchWithProgress = async () => {\n // Try to determine file size\n const request = new Request(this.mainModuleURL);\n const response = await fetch(request);\n const contentLengthHdr = response.headers.get('content-length');\n const contentLength = contentLengthHdr ? parseInt(contentLengthHdr, 10) || 0 : 0;\n\n // Transform the stream\n const start = new Date();\n const progress: InstantiationProgress = {\n startedAt: start,\n updatedAt: start,\n bytesTotal: contentLength || 0,\n bytesLoaded: 0,\n };\n const tracker = {\n transform(chunk: any, ctrl: TransformStreamDefaultController) {\n progress.bytesLoaded += chunk.byteLength;\n const now = new Date();\n if (now.getTime() - progress.updatedAt.getTime() < 20) {\n progress.updatedAt = now;\n ctrl.enqueue(chunk);\n return;\n }\n for (const p of handlers) {\n p(progress);\n }\n ctrl.enqueue(chunk);\n },\n };\n const ts = new TransformStream(tracker);\n return new Response(response.body?.pipeThrough(ts), response);\n };\n // Instantiate streaming\n const response = fetchWithProgress();\n WebAssembly.instantiateStreaming(response, imports).then(output => {\n success(output.instance, output.module);\n });\n } else {\n console.warn('instantiating without progress handler since transform streams are unavailable');\n const request = new Request(this.mainModuleURL);\n WebAssembly.instantiateStreaming(fetch(request), imports).then(output => {\n success(output.instance, output.module);\n });\n }\n } else if (typeof XMLHttpRequest == 'function') {\n // Otherwise we fall back to XHRs\n const xhr = new XMLHttpRequest();\n const url = this.mainModuleURL;\n const start = new Date();\n const progress: InstantiationProgress = {\n startedAt: start,\n updatedAt: start,\n bytesTotal: 0,\n bytesLoaded: 0,\n };\n xhr.open('GET', url);\n xhr.responseType = 'arraybuffer';\n xhr.onerror = error => {\n this.logger.log({\n timestamp: new Date(),\n level: LogLevel.ERROR,\n origin: LogOrigin.BINDINGS,\n topic: LogTopic.INSTANTIATE,\n event: LogEvent.ERROR,\n value: 'Failed to load WASM: ' + error,\n });\n throw new Error(error.toString());\n };\n xhr.onprogress = e => {\n progress.bytesTotal = e.total;\n progress.bytesLoaded = e.loaded;\n const now = new Date();\n if (now.getTime() - progress.updatedAt.getTime() < 20) {\n progress.updatedAt = now;\n return;\n }\n for (const p of handlers) {\n p(progress);\n }\n };\n xhr.onload = () => {\n WebAssembly.instantiate(xhr.response, imports)\n .then(output => {\n success(output.instance, output.module);\n })\n .catch(error => {\n this.logger.log({\n timestamp: new Date(),\n level: LogLevel.ERROR,\n origin: LogOrigin.BINDINGS,\n topic: LogTopic.INSTANTIATE,\n event: LogEvent.ERROR,\n value: 'Failed to instantiate WASM: ' + error,\n });\n throw new Error(error);\n });\n };\n xhr.send();\n } else {\n console.warn('instantiating with manual fetch since streaming instantiation and xhrs are unavailable');\n const run = async () => {\n const request = new Request(this.mainModuleURL);\n const response = await fetch(request);\n const buffer = await response.arrayBuffer();\n WebAssembly.instantiate(buffer, imports).then(output => {\n success(output.instance, output.module);\n });\n };\n run();\n }\n return [];\n }\n\n /// Instantiation must be done by the browser variants\n protected abstract instantiateImpl(moduleOverrides: Partial<DuckDBModule>): Promise<DuckDBModule>;\n}\n", "import {S3Config} from \"../bindings\";\nimport {sha256} from \"js-sha256\";\n\nexport interface S3Params {\n url: string,\n query: string,\n host: string,\n region: string,\n service: string,\n method: string,\n accessKeyId: string,\n secretAccessKey: string,\n sessionToken: string,\n dateNow: string,\n datetimeNow: string\n}\n\nexport interface S3PayloadParams {\n contentHash: string | null,\n contentType: string | null\n}\n\nconst getHTTPHost = function (config : S3Config | undefined, url : string, bucket : string) : string {\n if (config?.endpoint?.startsWith(\"http\")) {\n // Endpoint is a full url, we append the bucket\n const httpHost = `${config?.endpoint}`;\n const offset = httpHost.indexOf(\"://\")+3;\n return httpHost.substring(offset);\n } else if (config?.endpoint) {\n // Endpoint is not a full url and the https://{bucket}.{domain} format will be used\n return `${bucket}.${config?.endpoint}`;\n } else {\n // Default aws s3 url\n return `${bucket}.s3.amazonaws.com`;\n }\n}\n\nexport function getS3Params (config : S3Config | undefined, url: string, method : string) : S3Params {\n const parsedS3Url = parseS3Url(url);\n\n // when using S3 path-style access, the signed URL should also include the bucket name, \n // as it is present in the HTTP URL path.\n // See: https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-bucket-intro.html#path-style-url-ex\n let path = parsedS3Url.path;\n if (isPathStyleAccess(config)) {\n path = `/${parsedS3Url.bucket}${path}`;\n }\n return {\n url: path,\n query: \"\",\n host: getHTTPHost(config, url, parsedS3Url.bucket),\n region: (config?.region) ?? \"\",\n service: \"s3\",\n method: method,\n accessKeyId: (config?.accessKeyId) ?? \"\",\n secretAccessKey: (config?.secretAccessKey) ?? \"\",\n sessionToken: (config?.sessionToken) ?? \"\",\n dateNow: new Date().toISOString().replace(/-/g,'').split('T')[0],\n datetimeNow: new Date().toISOString().replace(/-/g,'').replace(/:/g,'').split('.')[0]+ 'Z',\n };\n}\n\nexport function uriEncode(input : string, encode_slash = false) {\n // https://docs.aws.amazon.com/AmazonS3/latest/API/sigv4-query-string-auth.html\n\n const hexDigit = \"0123456789ABCDEF\";\n let result = \"\";\n\n for (let i = 0; i < input.length; i++) {\n const ch : string = input[i];\n\n if ((ch >= 'A' && ch <= 'Z') || (ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9') || ch == '_' ||\n ch == '-' || ch == '~' || ch == '.') {\n result += ch;\n } else if (ch == '/') {\n if (encode_slash) {\n result += \"%2F\";\n } else {\n result += ch;\n }\n } else {\n result += \"%\";\n result += hexDigit[ch.charCodeAt(0) >> 4];\n result += hexDigit[ch.charCodeAt(0) & 15];\n }\n }\n return result;\n}\n\nexport function createS3Headers(params: S3Params, payloadParams : S3PayloadParams | null = null) : Map<string, string> {\n // this is the sha256 of the empty string, its useful since we have no payload for GET requests\n const payloadHash = (payloadParams?.contentHash) ?? \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\";\n\n const res = new Map<string, string>();\n // res.set(\"host\", params.host)\n res.set(\"x-amz-date\", params.datetimeNow);\n res.set(\"x-amz-content-sha256\", payloadHash);\n\n if (params.sessionToken) {\n res.set(\"x-amz-security-token\", params.sessionToken);\n }\n\n // construct string to sign\n let signedHeaders = \"\";\n if (payloadParams?.contentType) {\n signedHeaders += \"content-type;\";\n }\n signedHeaders += \"host;x-amz-content-sha256;x-amz-date\";\n if (params.sessionToken) {\n signedHeaders += \";x-amz-security-token\";\n }\n\n let canonicalRequest = params.method + \"\\n\" + uriEncode(params.url) + \"\\n\" + params.query;\n if (payloadParams?.contentType) {\n canonicalRequest += \"\\ncontent-type:\" + payloadParams?.contentType;\n }\n canonicalRequest += \"\\nhost:\" + params.host +\n \"\\nx-amz-content-sha256:\" + payloadHash + \"\\nx-amz-date:\" + params.datetimeNow;\n if (params.sessionToken && params.sessionToken.length > 0) {\n canonicalRequest += \"\\nx-amz-security-token:\" + params.sessionToken;\n }\n\n canonicalRequest += \"\\n\\n\" + signedHeaders + \"\\n\" + payloadHash;\n const canonicalRequestHashStr = sha256(canonicalRequest);\n\n const stringToSign = \"AWS4-HMAC-SHA256\\n\" + params.datetimeNow + \"\\n\" + params.dateNow + \"/\" + params.region + \"/\" + params.service +\n \"/aws4_request\\n\" + canonicalRequestHashStr;\n\n // ts-ignore's because library can accept array buffer as key, but TS arg is incorrect\n const signKey = \"AWS4\" + params.secretAccessKey;\n const kDate = sha256.hmac.arrayBuffer(signKey, params.dateNow);\n\n // Note, js-sha256 has a bug in the TS interface that only supports strings as keys, while we need a bytearray\n // as key. PR is open but unmerged: https://github.com/emn178/js-sha256/pull/25\n // eslint-disable-next-line\n // @ts-ignore\n const kRegion = sha256.hmac.arrayBuffer(kDate, params.region);\n // eslint-disable-next-line\n // @ts-ignore\n const kService = sha256.hmac.arrayBuffer(kRegion, params.service,);\n // eslint-disable-next-line\n // @ts-ignore\n const signingKey = sha256.hmac.arrayBuffer(kService, \"aws4_request\");\n // eslint-disable-next-line\n // @ts-ignore\n const signature = sha256.hmac(signingKey, stringToSign);\n\n res.set(\"Authorization\", \"AWS4-HMAC-SHA256 Credential=\" + params.accessKeyId + \"/\" + params.dateNow + \"/\" + params.region + \"/\" +\n params.service + \"/aws4_request, SignedHeaders=\" + signedHeaders +\n \", Signature=\" + signature);\n\n return res;\n}\n\nconst createS3HeadersFromS3Config = function (config : S3Config | undefined, url : string, method : string, contentType: string | null = null, payload : Uint8Array | null = null) : Map<string, string> {\n const params = getS3Params(config, url, method);\n const payloadParams = {\n contentType: contentType,\n contentHash: payload ? sha256.hex(payload!) : null\n } as S3PayloadParams;\n return createS3Headers(params, payloadParams);\n}\n\nexport function addS3Headers(xhr: XMLHttpRequest, config : S3Config | undefined, url : string, method: string, contentType: string | null = null, payload : Uint8Array | null = null) {\n if (config?.accessKeyId || config?.sessionToken) {\n const headers = createS3HeadersFromS3Config(config, url, method, contentType, payload);\n headers.forEach((value: string, header: string) => {\n xhr.setRequestHeader(header, value);\n });\n\n if (contentType) {\n xhr.setRequestHeader(\"content-type\", contentType);\n }\n }\n}\n\nexport function parseS3Url (url: string) : {bucket : string, path : string} {\n if (url.indexOf(\"s3://\") != 0) {\n throw new Error(\"URL needs to start with s3://\");\n }\n const slashPos = url.indexOf('/', 5);\n\n if (slashPos == -1) {\n throw new Error(\"URL needs to contain a '/' after the host\");\n }\n\n const bucket = url.substring(5, slashPos);\n if (!bucket) {\n throw new Error(\"URL needs to contain a bucket name\");\n }\n const path = url.substring(slashPos);\n if (!path) {\n throw new Error(\"URL needs to contain key\");\n }\n\n return {bucket: bucket, path: path}\n}\n\nfunction isPathStyleAccess(config : S3Config | undefined) : boolean {\n if (config?.endpoint?.startsWith(\"http\")) {\n return true\n }\n return false\n}\n\nexport function getHTTPUrl(config : S3Config | undefined, url : string) : string {\n const parsedUrl = parseS3Url(url);\n if (isPathStyleAccess(config)) {\n // Endpoint is a full url, we append the bucket\n return `${config?.endpoint}/${parsedUrl.bucket}` + parsedUrl.path;\n }\n return 'https://' + getHTTPHost(config, url, parsedUrl.bucket) + parsedUrl.path;\n}", "import { StatusCode } from '../status';\nimport { addS3Headers, getHTTPUrl } from '../utils';\n\nimport {\n callSRet,\n dropResponseBuffers,\n DuckDBDataProtocol,\n DuckDBFileInfo,\n DuckDBGlobalFileInfo,\n DuckDBRuntime,\n failWith,\n FileFlags,\n readString,\n} from './runtime';\nimport { DuckDBModule } from './duckdb_module';\nimport * as udf from './udf_runtime';\n\nexport const BROWSER_RUNTIME: DuckDBRuntime & {\n _fileInfoCache: Map<number, DuckDBFileInfo>;\n _globalFileInfo: DuckDBGlobalFileInfo | null;\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null;\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null;\n} = {\n _files: new Map<string, any>(),\n _fileInfoCache: new Map<number, DuckDBFileInfo>(),\n _udfFunctions: new Map(),\n _globalFileInfo: null,\n\n getFileInfo(mod: DuckDBModule, fileId: number): DuckDBFileInfo | null {\n try {\n const cached = BROWSER_RUNTIME._fileInfoCache.get(fileId);\n const [s, d, n] = callSRet(\n mod,\n 'duckdb_web_fs_get_file_info_by_id',\n ['number', 'number'],\n [fileId, cached?.cacheEpoch || 0],\n );\n if (s !== StatusCode.SUCCESS) {\n return null;\n } else if (n === 0) {\n // Epoch is up to date\n return cached!;\n }\n const infoStr = readString(mod, d, n);\n dropResponseBuffers(mod);\n const info = JSON.parse(infoStr);\n if (info == null) {\n return null;\n }\n const file = { ...info, blob: null } as DuckDBFileInfo;\n BROWSER_RUNTIME._fileInfoCache.set(fileId, file);\n return file;\n } catch (e: any) {\n console.log(e);\n return null;\n }\n },\n\n getGlobalFileInfo(mod: DuckDBModule): DuckDBGlobalFileInfo | null {\n try {\n const [s, d, n] = callSRet(\n mod,\n 'duckdb_web_get_global_file_info',\n ['number'],\n [BROWSER_RUNTIME._globalFileInfo?.cacheEpoch || 0],\n );\n if (s !== StatusCode.SUCCESS) {\n return null;\n } else if (n === 0) {\n // Epoch is up to date\n return BROWSER_RUNTIME._globalFileInfo!;\n }\n const infoStr = readString(mod, d, n);\n dropResponseBuffers(mod);\n const info = JSON.parse(infoStr);\n if (info == null) {\n return null;\n }\n BROWSER_RUNTIME._globalFileInfo = { ...info, blob: null } as DuckDBGlobalFileInfo;\n\n return BROWSER_RUNTIME._globalFileInfo;\n } catch (e: any) {\n console.log(e);\n return null;\n }\n },\n\n testPlatformFeature: (_mod: DuckDBModule, feature: number): boolean => {\n switch (feature) {\n case 1:\n return typeof BigInt64Array !== 'undefined';\n default:\n console.warn(`test for unknown feature: ${feature}`);\n return false;\n }\n },\n\n getDefaultDataProtocol(mod: DuckDBModule): number {\n return DuckDBDataProtocol.BROWSER_FILEREADER;\n },\n\n openFile: (mod: DuckDBModule, fileId: number, flags: FileFlags): number => {\n try {\n BROWSER_RUNTIME._fileInfoCache.delete(fileId);\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3: {\n if (flags & FileFlags.FILE_FLAGS_READ && flags & FileFlags.FILE_FLAGS_WRITE) {\n throw new Error(\n `Opening file ${file.fileName} failed: cannot open file with both read and write flags set`,\n );\n } else if (flags & FileFlags.FILE_FLAGS_APPEND) {\n throw new Error(\n `Opening file ${file.fileName} failed: appending to HTTP/S3 files is not supported`,\n );\n } else if (flags & FileFlags.FILE_FLAGS_WRITE) {\n // We send a HEAD request to try to determine if we can write to data_url\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n xhr.open('HEAD', file.dataUrl!, false);\n }\n xhr.send(null);\n\n // Expect 200 for existing files that we will overwrite or 404 for non-existent files can be created\n if (xhr.status != 200 && xhr.status != 404) {\n throw new Error(\n `Opening file ${file.fileName} failed: Unexpected return status from server (${xhr.status})`,\n );\n } else if (\n xhr.status == 404 &&\n !(flags & FileFlags.FILE_FLAGS_FILE_CREATE || flags & FileFlags.FILE_FLAGS_FILE_CREATE_NEW)\n ) {\n throw new Error(\n `Opening file ${file.fileName} failed: Cannot write to non-existent file without FILE_FLAGS_FILE_CREATE or FILE_FLAGS_FILE_CREATE_NEW flag.`,\n );\n }\n // Return an empty buffer that can be used to buffer the writes to this s3/http file\n const data = mod._malloc(1);\n const src = new Uint8Array();\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n } else if (flags != FileFlags.FILE_FLAGS_READ) {\n throw new Error(`Opening file ${file.fileName} failed: unsupported file flags: ${flags}`);\n }\n\n // Supports ranges?\n let contentLength = null;\n let error: any | null = null;\n try {\n // Send a dummy HEAD request with range protocol\n // -> good IFF status is 206 and contentLenght is present\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('HEAD', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'HEAD');\n } else {\n xhr.open('HEAD', file.dataUrl!, false);\n }\n xhr.setRequestHeader('Range', `bytes=0-`);\n xhr.send(null);\n\n // Supports range requests\n contentLength = xhr.getResponseHeader('Content-Length');\n if (contentLength !== null && xhr.status == 206) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +contentLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n } catch (e: any) {\n error = e;\n console.warn(`HEAD request with range header failed: ${e}`);\n }\n\n // Try to fallback to full read?\n if (file.allowFullHttpReads) {\n if ((contentLength !== null) && (+contentLength > 1)) {\n // 2. Send a dummy GET range request querying the first byte of the file\n // -> good IFF status is 206 and contentLenght2 is 1\n // -> otherwise, iff 200 and contentLenght2 == contentLenght\n // we just downloaded the file, save it and move further\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.setRequestHeader('Range', `bytes=0-0`);\n xhr.send(null);\n const contentLength2 = xhr.getResponseHeader('Content-Length');\n\n if (xhr.status == 206 && contentLength2 !== null && +contentLength2 == 1) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = +contentLength;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n if (xhr.status == 200 && contentLength2 !== null && +contentLength2 == +contentLength) {\n console.warn(`fall back to full HTTP read for: ${file.dataUrl}`);\n const data = mod._malloc(xhr.response.byteLength);\n const src = new Uint8Array(xhr.response, 0, xhr.response.byteLength);\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n }\n }\n console.warn(`falling back to full HTTP read for: ${file.dataUrl}`);\n // 3. Send non-range request\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.send(null);\n\n // Return buffer\n if (xhr.status == 200) {\n const data = mod._malloc(xhr.response.byteLength);\n const src = new Uint8Array(xhr.response, 0, xhr.response.byteLength);\n mod.HEAPU8.set(src, data);\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = xhr.response.byteLength;\n mod.HEAPF64[(result >> 3) + 1] = data;\n return result;\n }\n }\n\n // Raise error?\n if (error != null) {\n throw new Error(`Reading file ${file.fileName} failed with error: ${error}`);\n }\n return 0;\n }\n // File reader File\n case DuckDBDataProtocol.BROWSER_FILEREADER: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (handle) {\n const result = mod._malloc(2 * 8);\n mod.HEAPF64[(result >> 3) + 0] = handle.size;\n mod.HEAPF64[(result >> 3) + 1] = 0;\n return result;\n }\n\n // Fall back to empty buffered file in the browser\n console.warn(`Buffering missing file: ${file.fileName}`);\n const result = mod._malloc(2 * 8);\n const buffer = mod._malloc(1); // malloc(0) is allowed to return a nullptr\n mod.HEAPF64[(result >> 3) + 0] = 1;\n mod.HEAPF64[(result >> 3) + 1] = buffer;\n return result;\n }\n }\n } catch (e: any) {\n // TODO (samansmink): this path causes the WASM code to hang\n console.error(e.toString());\n failWith(mod, e.toString());\n }\n return 0;\n },\n glob: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n try {\n const path = readString(mod, pathPtr, pathLen);\n // Starts with http?\n // Try a HTTP HEAD request\n if (path.startsWith('http') || path.startsWith('s3://')) {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr.open('HEAD', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr.open('HEAD', path!, false);\n }\n xhr.send(null);\n if (xhr.status != 200 && xhr.status !== 206) {\n // Pre-signed resources on S3 in common configurations fail on any HEAD request\n // https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/s3-example-presigned-urls.html\n // so we need (if enabled) to bump to a ranged GET\n if (!BROWSER_RUNTIME.getGlobalFileInfo(mod)?.allowFullHttpReads) {\n failWith(mod, `HEAD request failed: ${path}, with full http reads are disabled`);\n return;\n }\n const xhr2 = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr2.open('GET', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr2, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr2.open('GET', path!, false);\n }\n xhr2.setRequestHeader('Range', `bytes=0-0`);\n xhr2.send(null);\n if (xhr2.status != 200 && xhr2.status !== 206) {\n failWith(mod, `HEAD and GET requests failed: ${path}`);\n return;\n }\n const contentLength = xhr2.getResponseHeader('Content-Length');\n if (contentLength && (+contentLength > 1)) {\n console.warn(`Range request for ${path} did not return a partial response: ${xhr2.status} \"${xhr2.statusText}\"`);\n }\n }\n mod.ccall('duckdb_web_fs_glob_add_path', null, ['string'], [path]);\n }\n } catch (e: any) {\n console.log(e);\n failWith(mod, e.toString());\n return 0;\n }\n },\n checkFile: (mod: DuckDBModule, pathPtr: number, pathLen: number): boolean => {\n try {\n const path = readString(mod, pathPtr, pathLen);\n // Starts with http or S3?\n // Try a HTTP HEAD request\n if (path.startsWith('http') || path.startsWith('s3://')) {\n // Send a dummy range request querying the first byte of the file\n const xhr = new XMLHttpRequest();\n if (path.startsWith('s3://')) {\n const globalInfo = BROWSER_RUNTIME.getGlobalFileInfo(mod);\n xhr.open('HEAD', getHTTPUrl(globalInfo?.s3Config, path), false);\n addS3Headers(xhr, globalInfo?.s3Config, path, 'HEAD');\n } else {\n xhr.open('HEAD', path!, false);\n }\n xhr.send(null);\n return xhr.status == 206 || xhr.status == 200;\n }\n } catch (e: any) {\n console.log(e);\n return false;\n }\n return false;\n },\n syncFile: (_mod: DuckDBModule, _fileId: number) => {},\n closeFile: (mod: DuckDBModule, fileId: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n BROWSER_RUNTIME._fileInfoCache.delete(fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.BUFFER:\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3:\n break;\n case DuckDBDataProtocol.NODE_FS:\n case DuckDBDataProtocol.BROWSER_FILEREADER:\n // XXX Remove from registry\n return;\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n return handle.flush();\n }\n }\n },\n truncateFile: (mod: DuckDBModule, fileId: number, newSize: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n failWith(mod, `Cannot truncate a http file`);\n return;\n case DuckDBDataProtocol.S3:\n failWith(mod, `Cannot truncate an s3 file`);\n return;\n case DuckDBDataProtocol.BUFFER:\n case DuckDBDataProtocol.NODE_FS:\n case DuckDBDataProtocol.BROWSER_FILEREADER:\n failWith(mod, `truncateFile not implemented`);\n return;\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n return handle.truncate(newSize);\n }\n }\n return 0;\n },\n readFile(mod: DuckDBModule, fileId: number, buf: number, bytes: number, location: number) {\n if (bytes == 0) {\n // Be robust to empty reads\n return 0;\n }\n try {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n // File reading from BLOB or HTTP MUST be done with range requests.\n // We have to check in OPEN if such file supports range requests and upgrade to BUFFER if not.\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3: {\n if (!file.dataUrl) {\n throw new Error(`Missing data URL for file ${fileId}`);\n }\n try {\n const xhr = new XMLHttpRequest();\n if (file.dataProtocol == DuckDBDataProtocol.S3) {\n xhr.open('GET', getHTTPUrl(file?.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file?.s3Config, file.dataUrl!, 'GET');\n } else {\n xhr.open('GET', file.dataUrl!, false);\n }\n xhr.responseType = 'arraybuffer';\n xhr.setRequestHeader('Range', `bytes=${location}-${location + bytes - 1}`);\n xhr.send(null);\n if (\n xhr.status == 206 /* Partial content */ ||\n (xhr.status == 200 && bytes == xhr.response.byteLength && location == 0)\n ) {\n const src = new Uint8Array(xhr.response, 0, Math.min(xhr.response.byteLength, bytes));\n mod.HEAPU8.set(src, buf);\n return src.byteLength;\n } else if (xhr.status == 200) {\n // TODO: here we are actually throwing away all non-relevant bytes, but this is still better than failing\n // proper solution would require notifying duckdb-wasm cache, while we are piggybackign on browser cache\n console.warn(`Range request for ${file.dataUrl} did not return a partial response: ${xhr.status} \"${xhr.statusText}\"`);\n const src = new Uint8Array(xhr.response, location, Math.min(xhr.response.byteLength-location, bytes));\n mod.HEAPU8.set(src, buf);\n return src.byteLength;\n } else {\n throw new Error(\n `Range request for ${file.dataUrl} did returned non-success status: ${xhr.status} \"${xhr.statusText}\"`,\n );\n }\n } catch (e) {\n console.log(e);\n throw new Error(`Range request for ${file.dataUrl} failed with error: ${e}\"`);\n }\n }\n case DuckDBDataProtocol.BROWSER_FILEREADER: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No HTML5 file registered with name: ${file.fileName}`);\n }\n const sliced = handle!.slice(location, location + bytes);\n const data = new Uint8Array(new FileReaderSync().readAsArrayBuffer(sliced));\n mod.HEAPU8.set(data, buf);\n return data.byteLength;\n }\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n const out = mod.HEAPU8.subarray(buf, buf + bytes);\n return handle.read(out, { at: location });\n }\n }\n return 0;\n } catch (e: any) {\n console.log(e);\n failWith(mod, e.toString());\n return 0;\n }\n },\n writeFile: (mod: DuckDBModule, fileId: number, buf: number, bytes: number, location: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.HTTP:\n failWith(mod, 'Cannot write to HTTP file');\n return 0;\n case DuckDBDataProtocol.S3: {\n const buffer = mod.HEAPU8.subarray(buf, buf + bytes);\n const xhr = new XMLHttpRequest();\n xhr.open('PUT', getHTTPUrl(file?.s3Config, file.dataUrl!), false);\n addS3Headers(xhr, file?.s3Config, file.dataUrl!, 'PUT', '', buffer);\n xhr.send(buffer);\n if (xhr.status !== 200) {\n failWith(mod, 'Failed writing file: HTTP ' + xhr.status);\n return 0;\n }\n return bytes;\n }\n case DuckDBDataProtocol.BROWSER_FILEREADER:\n failWith(mod, 'cannot write using the html5 file reader api');\n return 0;\n case DuckDBDataProtocol.BROWSER_FSACCESS: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw new Error(`No OPFS access handle registered with name: ${file.fileName}`);\n }\n const input = mod.HEAPU8.subarray(buf, buf + bytes);\n return handle.write(input, { at: location });\n }\n }\n return 0;\n },\n getLastFileModificationTime: (mod: DuckDBModule, fileId: number) => {\n const file = BROWSER_RUNTIME.getFileInfo(mod, fileId);\n switch (file?.dataProtocol) {\n case DuckDBDataProtocol.BROWSER_FILEREADER: {\n const handle = BROWSER_RUNTIME._files?.get(file.fileName);\n if (!handle) {\n throw Error(`No handle available for file: ${file.fileName}`);\n }\n return 0;\n }\n\n case DuckDBDataProtocol.HTTP:\n case DuckDBDataProtocol.S3:\n return new Date().getTime();\n }\n return 0;\n },\n checkDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`checkDirectory: ${path}`);\n return false;\n },\n createDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`createDirectory: ${path}`);\n },\n removeDirectory: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`removeDirectory: ${path}`);\n },\n listDirectoryEntries: (mod: DuckDBModule, pathPtr: number, pathLen: number) => {\n const path = readString(mod, pathPtr, pathLen);\n console.log(`listDirectoryEntries: ${path}`);\n return false;\n },\n moveFile: (mod: DuckDBModule, fromPtr: number, fromLen: number, toPtr: number, toLen: number) => {\n const from = readString(mod, fromPtr, fromLen);\n const to = readString(mod, toPtr, toLen);\n const handle = BROWSER_RUNTIME._files?.get(from);\n if (handle !== undefined) {\n BROWSER_RUNTIME._files!.delete(handle);\n BROWSER_RUNTIME._files!.set(to, handle);\n }\n for (const [key, value] of BROWSER_RUNTIME._fileInfoCache?.entries() || []) {\n if (value.dataUrl == from) {\n BROWSER_RUNTIME._fileInfoCache.delete(key);\n break;\n }\n }\n return true;\n },\n removeFile: (_mod: DuckDBModule, _pathPtr: number, _pathLen: number) => {},\n callScalarUDF: (\n mod: DuckDBModule,\n response: number,\n funcId: number,\n descPtr: number,\n descSize: number,\n ptrsPtr: number,\n ptrsSize: number,\n ): void => {\n udf.callScalarUDF(BROWSER_RUNTIME, mod, response, funcId, descPtr, descSize, ptrsPtr, ptrsSize);\n },\n};\n\nexport default BROWSER_RUNTIME;\n"],
5
+ "mappings": "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",
6
+ "names": ["require_duckdb_eh", "__commonJSMin", "exports", "module", "DuckDB", "_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", "assert", "condition", "text", "HEAP8", "HEAPU8", "HEAP16", "HEAPU16", "HEAP32", "HEAPU32", "HEAPF32", "HEAPF64", "updateMemoryViews", "b", "__ATPRERUN__", "__ATINIT__", "__ATMAIN__", "__ATPOSTRUN__", "runtimeInitialized", "preRun", "addOnPreRun", "callRuntimeCallbacks", "initRuntime", "preMain", "postRun", "addOnPostRun", "cb", "addOnInit", "runDependencies", "runDependencyWatcher", "dependenciesFulfilled", "addRunDependency", "id", "removeRunDependency", "callback", "what", "___trap", "e", "dataURIPrefix", "isDataURI", "wasmBinaryFile", "getBinarySync", "file", "getBinaryPromise", "binaryFile", "response", "instantiateArrayBuffer", "imports", "receiver", "instance", "reason", "instantiateAsync", "result", "createWasm", "info", "wasmImports", "receiveInstance", "wasmExports", "applySignatureConversions", "receiveInstantiationResult", "tempDouble", "tempI64", "ExitStatus", "callbacks", "noExitRuntime", "UTF8Decoder", "UTF8ArrayToString", "heapOrArray", "idx", "maxBytesToRead", "endIdx", "endPtr", "str", "u0", "u1", "u2", "ch", "UTF8ToString", "ptr", "SYSCALLS", "convertI32PairToI53Checked", "lo", "hi", "___syscall__newselect", "nfds", "readfds", "writefds", "exceptfds", "timeout", "total", "srcReadLow", "srcReadHigh", "srcWriteLow", "srcWriteHigh", "srcExceptLow", "srcExceptHigh", "dstReadLow", "dstReadHigh", "dstWriteLow", "dstWriteHigh", "dstExceptLow", "dstExceptHigh", "allLow", "allHigh", "check", "fd", "low", "high", "val", "mask", "stream", "flags", "timeoutInMillis", "tv_sec", "tv_usec", "SOCKFS", "FS", "getSocketFromFD", "socket", "inetNtop4", "addr", "inetNtop6", "ints", "word", "longest", "lastzero", "zstart", "len", "i", "parts", "hasipv4", "v4part", "_ntohs", "readSockaddr", "sa", "salen", "family", "port", "inetPton4", "tmp", "jstoi_q", "inetPton6", "words", "w", "offset", "z", "valid6regx", "_htons", "DNS", "name", "res", "getSocketAddress", "addrp", "addrlen", "allowNull", "___syscall_bind", "d1", "d2", "d3", "sock", "___syscall_connect", "___syscall_faccessat", "dirfd", "amode", "___syscall_fcntl64", "cmd", "varargs", "___syscall_fstat64", "buf", "___syscall_ftruncate64", "length_low", "length_high", "length", "stringToUTF8Array", "heap", "outIdx", "maxBytesToWrite", "startIdx", "u", "stringToUTF8", "outPtr", "___syscall_getdents64", "dirp", "count", "zeroMemory", "address", "size", "writeSockaddr", "___syscall_getpeername", "errno", "___syscall_getsockopt", "level", "optname", "optval", "optlen", "___syscall_ioctl", "op", "___syscall_lstat64", "___syscall_mkdirat", "mode", "___syscall_newfstatat", "___syscall_openat", "___syscall_recvfrom", "msg", "___syscall_renameat", "olddirfd", "oldpath", "newdirfd", "newpath", "___syscall_rmdir", "___syscall_sendto", "message", "addr_len", "___syscall_socket", "domain", "type", "protocol", "___syscall_stat64", "___syscall_unlinkat", "nowIsMonotonic", "__emscripten_get_now_is_monotonic", "_abort", "_duckdb_web_fs_directory_create", "pathLen", "_duckdb_web_fs_directory_exists", "_duckdb_web_fs_directory_list_files", "_duckdb_web_fs_directory_remove", "_duckdb_web_fs_file_close", "fileId", "_duckdb_web_fs_file_exists", "_duckdb_web_fs_file_get_last_modified_time", "_duckdb_web_fs_file_move", "from", "fromLen", "to", "toLen", "_duckdb_web_fs_file_open", "_duckdb_web_fs_file_read", "location", "_duckdb_web_fs_file_truncate", "newSize", "_duckdb_web_fs_file_write", "_duckdb_web_fs_get_default_data_protocol", "_duckdb_web_fs_glob", "_duckdb_web_test_platform_feature", "feature", "_duckdb_web_udf_scalar_call", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "_emscripten_date_now", "getHeapMax", "_emscripten_get_heap_max", "_emscripten_get_now", "_emscripten_memcpy_js", "dest", "src", "num", "growMemory", "pages", "_emscripten_resize_heap", "requestedSize", "oldSize", "maxHeapSize", "alignUp", "multiple", "cutDown", "overGrownHeapSize", "replacement", "ENV", "getExecutableName", "getEnvStrings", "lang", "env", "x", "strings", "stringToAscii", "buffer", "_environ_get", "__environ", "environ_buf", "bufSize", "string", "_environ_sizes_get", "penviron_count", "penviron_buf_size", "_fd_close", "_fd_fdstat_get", "pbuf", "rightsBase", "rightsInheriting", "_fd_pread", "iov", "iovcnt", "offset_low", "offset_high", "pnum", "_fd_pwrite", "_fd_read", "_fd_seek", "whence", "newOffset", "_fd_sync", "printCharBuffers", "printChar", "curr", "_fd_write", "j", "_getaddrinfo", "node", "service", "hint", "proto", "ai", "allocaddrinfo", "canon", "_malloc", "_htonl", "initRandomFill", "view", "crypto_module", "randomFillSync", "randomBytes", "randomFill", "_getentropy", "_getnameinfo", "nodelen", "serv", "servlen", "overflowed", "lookup", "numBytesWrittenExclNull", "isLeapYear", "year", "arraySum", "array", "index", "sum", "MONTH_DAYS_LEAP", "MONTH_DAYS_REGULAR", "addDays", "date", "days", "newDate", "leap", "currentMonth", "daysInCurrentMonth", "lengthBytesUTF8", "c", "intArrayFromString", "stringy", "dontAddNull", "u8array", "numBytesWritten", "writeArrayToMemory", "_strftime", "s", "maxsize", "format", "tm", "tm_zone", "pattern", "EXPANSION_RULES_1", "rule", "WEEKDAYS", "MONTHS", "leadingSomething", "value", "digits", "character", "leadingNulls", "compareByDay", "date1", "date2", "sgn", "compare", "getFirstWeekStartDate", "janFourth", "getWeekBasedYear", "thisDate", "janFourthThisYear", "janFourthNextYear", "firstWeekStartThisYear", "firstWeekStartNextYear", "EXPANSION_RULES_2", "twelveHour", "jan1", "dec31", "off", "ahead", "bytes", "_strftime_l", "loc", "runtimeKeepaliveCounter", "keepRuntimeAlive", "_proc_exit", "code", "exitJS", "implicit", "handleException", "getCFunc", "ident", "func", "stringToUTF8OnStack", "stackAlloc", "ccall", "returnType", "argTypes", "args", "opts", "toC", "arr", "convertReturnValue", "cArgs", "stack", "converter", "stackSave", "onDone", "stackRestore", "___wasm_call_ctors", "_main", "a0", "a1", "_duckdb_web_fs_glob_add_path", "_duckdb_web_clear_response", "_duckdb_web_fail_with", "_duckdb_web_reset", "_duckdb_web_connect", "_duckdb_web_disconnect", "_duckdb_web_flush_files", "_duckdb_web_flush_file", "_duckdb_web_open", "_duckdb_web_get_global_file_info", "_duckdb_web_collect_file_stats", "a2", "_duckdb_web_export_file_stats", "_duckdb_web_fs_drop_file", "_duckdb_web_fs_drop_files", "_duckdb_web_fs_glob_file_infos", "_duckdb_web_fs_get_file_info_by_id", "_duckdb_web_fs_get_file_info_by_name", "_duckdb_web_fs_register_file_url", "a3", "a4", "_duckdb_web_fs_register_file_buffer", "_duckdb_web_copy_file_to_buffer", "_duckdb_web_copy_file_to_path", "_duckdb_web_get_version", "_duckdb_web_get_feature_flags", "_duckdb_web_tokenize", "_duckdb_web_udf_scalar_create", "_duckdb_web_prepared_create", "_duckdb_web_prepared_close", "_duckdb_web_prepared_run", "_duckdb_web_prepared_send", "_duckdb_web_query_run", "_duckdb_web_pending_query_start", "_duckdb_web_pending_query_poll", "_duckdb_web_pending_query_cancel", "_duckdb_web_query_fetch_results", "_duckdb_web_get_tablenames", "_duckdb_web_insert_arrow_from_ipc_stream", "_duckdb_web_insert_csv_from_path", "_duckdb_web_insert_json_from_path", "___errno_location", "_free", "makeWrapper_p", "f", "makeWrapper_pp", "calledRun", "runCaller", "run", "callMain", "entryFunction", "argc", "argv", "doRun", "shouldRunNow", "require_sha256", "__commonJSMin", "obj", "outputType", "is224", "message", "method", "i", "type", "key", "sharedMemory", "notString", "code", "index", "length", "blocks", "a", "b", "c", "d", "e", "f", "g", "h", "j", "s0", "s1", "maj", "t1", "t2", "ch", "ab", "da", "cd", "bc", "h0", "h1", "h2", "h3", "h4", "h5", "h6", "h7", "hex", "arr", "buffer", "dataView", "bytes", "oKeyPad", "iKeyPad", "innerHash", "duckdb_browser_eh_worker_exports", "__export", "registerWorker", "__rest", "s", "e", "t", "p", "__awaiter", "thisArg", "_arguments", "P", "generator", "adopt", "value", "resolve", "reject", "fulfilled", "step", "e", "rejected", "result", "__values", "o", "s", "m", "i", "__await", "v", "__asyncGenerator", "thisArg", "_arguments", "generator", "g", "q", "verb", "n", "a", "b", "resume", "step", "e", "settle", "r", "fulfill", "reject", "value", "f", "__asyncDelegator", "o", "i", "p", "__asyncValues", "m", "__values", "resolve", "d", "buffer_exports", "__export", "compareArrayLike", "joinUint8Arrays", "memcpy", "rebaseValueOffsets", "toArrayBufferView", "toArrayBufferViewAsyncIterator", "toArrayBufferViewIterator", "toBigInt64Array", "toBigUint64Array", "toFloat32Array", "toFloat32ArrayAsyncIterator", "toFloat32ArrayIterator", "toFloat64Array", "toFloat64ArrayAsyncIterator", "toFloat64ArrayIterator", "toInt16Array", "toInt16ArrayAsyncIterator", "toInt16ArrayIterator", "toInt32Array", "toInt32ArrayAsyncIterator", "toInt32ArrayIterator", "toInt8Array", "toInt8ArrayAsyncIterator", "toInt8ArrayIterator", "toUint16Array", "toUint16ArrayAsyncIterator", "toUint16ArrayIterator", "toUint32Array", "toUint32ArrayAsyncIterator", "toUint32ArrayIterator", "toUint8Array", "toUint8ArrayAsyncIterator", "toUint8ArrayIterator", "toUint8ClampedArray", "toUint8ClampedArrayAsyncIterator", "toUint8ClampedArrayIterator", "decoder", "decodeUtf8", "buffer", "encoder", "encodeUtf8", "value", "isNumber", "x", "isBoolean", "isFunction", "isObject", "isPromise", "isIterable", "x", "isObject", "isFunction", "isAsyncIterable", "isArrowJSON", "isIteratorResult", "x", "isObject", "isFileHandle", "x", "isObject", "isFunction", "isNumber", "isFetchResponse", "x", "isObject", "isReadableDOMStream", "isReadableInterop", "isWritableDOMStream", "isFunction", "isWritableNodeStream", "isBoolean", "isReadableNodeStream", "isFlatbuffersByteBuffer", "SharedArrayBuf", "collapseContiguousByteRanges", "chunks", "result", "xOffset", "yOffset", "xLen", "yLen", "x", "y", "i", "j", "n", "memcpy", "target", "source", "targetByteOffset", "sourceByteLength", "targetByteLength", "dst", "src", "joinUint8Arrays", "size", "byteLength", "b", "sliced", "buffer", "offset", "index", "length", "toArrayBufferView", "ArrayBufferViewCtor", "input", "value", "isIteratorResult", "encodeUtf8", "isFlatbuffersByteBuffer", "toInt8Array", "toInt16Array", "toInt32Array", "toBigInt64Array", "toUint8Array", "toUint16Array", "toUint32Array", "toBigUint64Array", "toFloat32Array", "toFloat64Array", "toUint8ClampedArray", "pump", "iterator", "toArrayBufferViewIterator", "ArrayCtor", "wrap", "buffers", "isIterable", "__yieldStar", "it", "r", "toInt8ArrayIterator", "toInt16ArrayIterator", "toInt32ArrayIterator", "toUint8ArrayIterator", "toUint16ArrayIterator", "toUint32ArrayIterator", "toFloat32ArrayIterator", "toFloat64ArrayIterator", "toUint8ClampedArrayIterator", "toArrayBufferViewAsyncIterator", "isPromise", "__await", "__asyncDelegator", "__asyncValues", "__asyncGenerator", "emit", "isAsyncIterable", "toInt8ArrayAsyncIterator", "toInt16ArrayAsyncIterator", "toInt32ArrayAsyncIterator", "toUint8ArrayAsyncIterator", "toUint16ArrayAsyncIterator", "toUint32ArrayAsyncIterator", "toFloat32ArrayAsyncIterator", "toFloat64ArrayAsyncIterator", "toUint8ClampedArrayAsyncIterator", "rebaseValueOffsets", "valueOffsets", "compareArrayLike", "a", "adapters_default", "source", "pump", "fromIterable", "fromAsyncIterable", "fromDOMStream", "stream", "fromNodeStream", "options", "iterator", "done", "threw", "buffers", "buffer", "cmd", "size", "bufferLength", "byteRange", "joinUint8Arrays", "it", "toUint8ArrayIterator", "e", "__await", "toUint8ArrayAsyncIterator", "AdaptiveByteReader", "toUint8Array", "reason", "reader", "result", "onEvent", "event", "handler", "_", "resolve", "r", "events", "err", "x", "cleanup", "reject", "evt", "fn", "destroy", "MetadataVersion", "UnionMode", "Precision", "DateUnit", "TimeUnit", "IntervalUnit", "MessageHeader", "Type", "BufferType", "vector_exports", "__export", "clampIndex", "clampRange", "createElementComparator", "valueToString", "x", "_", "y", "bn_exports", "__export", "BN", "bigNumToBigInt", "bigNumToString", "isArrowBigNumSymbol", "isArrowBigNumSymbol", "BigNum", "x", "xs", "toArrayBufferView", "bigNumToString", "bigNumToNumber", "hint", "bigNumToBigInt", "SignedBigNum", "args", "UnsignedBigNum", "DecimalBigNum", "bn", "buffer", "byteOffset", "length", "signed", "words", "negative", "number", "i", "word", "a", "bigIntArray", "unsignedBigNumToString", "array", "carry", "elem", "updated", "negated", "digits", "base64", "base32", "checks", "n", "BN", "_BN", "num", "isSigned", "bigIntToNumber", "number", "DataType", "_DataType", "x", "Type", "UnionMode", "_a", "proto", "Null", "_b", "Int_", "isSigned", "bitWidth", "_c", "Int8", "Int_", "Int16", "Int32", "Int64", "Uint8", "Uint16", "Uint32", "Uint64", "Float", "DataType", "precision", "Type", "Precision", "_d", "proto", "Float16", "Float32", "Float64", "Binary", "_e", "Utf8", "_f", "Bool", "_g", "Decimal", "scale", "bitWidth", "_h", "Date_", "unit", "DateUnit", "_j", "Time_", "DataType", "unit", "bitWidth", "Type", "TimeUnit", "_k", "proto", "Timestamp_", "DataType", "unit", "timezone", "Type", "TimeUnit", "_l", "proto", "Interval_", "DataType", "unit", "Type", "IntervalUnit", "_m", "proto", "List", "DataType", "child", "Type", "_o", "proto", "Struct", "children", "f", "_p", "Union_", "mode", "typeIds", "typeIdToChildIndex", "typeId", "idx", "x", "_q", "FixedSizeBinary", "DataType", "byteWidth", "Type", "_r", "proto", "FixedSizeList", "listSize", "child", "_s", "Map_", "keysSorted", "f", "_t", "getId", "atomicDictionaryId", "Dictionary", "dictionary", "indices", "id", "isOrdered", "bigIntToNumber", "_u", "strideForType", "type", "Visitor", "nodes", "args", "node", "x", "throwIfNotFound", "getVisitFn", "typeId", "getVisitFnByTypeId", "_node", "_args", "visitor", "Type", "DataType", "inferDType", "dtype", "fn", "type", "bitWidth", "isSigned", "Precision", "TimeUnit", "DateUnit", "IntervalUnit", "UnionMode", "math_exports", "__export", "float64ToUint16", "uint16ToFloat64", "f64", "u32", "h", "expo", "sigf", "sign", "d", "SetVisitor", "Visitor", "wrapSet", "fn", "data", "_1", "_2", "setEpochMsToDays", "index", "epochMs", "setEpochMsToMillisecondsLong", "setEpochMsToMicrosecondsLong", "setEpochMsToNanosecondsLong", "setVariableWidthBytes", "values", "valueOffsets", "value", "x", "y", "setBool", "offset", "val", "idx", "setInt", "setFloat", "setFloat16", "float64ToUint16", "setAnyFloat", "Precision", "setDateDay", "setDateMillisecond", "setFixedSizeBinary", "stride", "setBinary", "setUtf8", "encodeUtf8", "setDate", "DateUnit", "setTimestampSecond", "setTimestampMillisecond", "setTimestampMicrosecond", "setTimestampNanosecond", "setTimestamp", "TimeUnit", "setTimeSecond", "setTimeMillisecond", "setTimeMicrosecond", "setTimeNanosecond", "setTime", "setDecimal", "setList", "set", "instance", "itr", "end", "setMap", "entries", "_setStructArrayValue", "o", "v", "c", "_", "i", "_setStructVectorValue", "_setStructMapValue", "f", "_setStructObjectValue", "setStruct", "childSetters", "Vector", "setUnion", "UnionMode", "setDenseUnion", "setSparseUnion", "childIndex", "child", "setDictionary", "_a", "setIntervalValue", "IntervalUnit", "setIntervalDayTime", "setIntervalYearMonth", "setFixedSizeList", "kParent", "kRowIndex", "StructRow", "parent", "rowIndex", "StructRowProxyHandler", "i", "keys", "json", "j", "n", "instance", "key", "val", "valueToString", "StructRowIterator", "data", "row", "f", "idx", "GetVisitor", "Visitor", "wrapGet", "fn", "data", "_1", "epochDaysToMs", "index", "epochMillisecondsLongToMs", "epochMicrosecondsLongToMs", "epochNanosecondsLongToMs", "epochMillisecondsToDate", "epochMs", "epochDaysToDate", "epochMillisecondsLongToDate", "getNull", "_data", "_index", "getVariableWidthBytes", "values", "valueOffsets", "x", "y", "getBool", "offset", "idx", "getDateDay", "getDateMillisecond", "getNumeric", "stride", "getFloat16", "uint16ToFloat64", "getBigInts", "getFixedSizeBinary", "getBinary", "getUtf8", "bytes", "decodeUtf8", "getInt", "getFloat", "type", "Precision", "getDate", "DateUnit", "getTimestampSecond", "getTimestampMillisecond", "getTimestampMicrosecond", "getTimestampNanosecond", "getTimestamp", "TimeUnit", "getTimeSecond", "getTimeMillisecond", "getTimeMicrosecond", "getTimeNanosecond", "getTime", "getDecimal", "BN", "getList", "children", "begin", "end", "slice", "Vector", "getMap", "child", "MapRow", "getStruct", "StructRow", "getUnion", "UnionMode", "getDenseUnion", "getSparseUnion", "childIndex", "instance", "getDictionary", "_a", "getInterval", "IntervalUnit", "getIntervalDayTime", "getIntervalYearMonth", "interval", "int32s", "getFixedSizeList", "kKeys", "kVals", "MapRow", "slice", "Vector", "MapRowProxyHandler", "MapRowIterator", "keys", "vals", "json", "n", "instance", "key", "val", "valueToString", "i", "row", "idx", "clampIndex", "source", "index", "then", "length", "adjust", "tmp", "clampRange", "begin", "end", "len", "lhs", "rhs", "isNaNFast", "value", "createElementComparator", "search", "valueOfSearch", "compareArrayLike", "createMapComparator", "createArrayLikeComparator", "Vector", "createVectorComparator", "createObjectComparator", "comparators", "i", "createSubElementsComparator", "v", "allowEmpty", "keys", "n", "compareArray", "compareObject", "MapRow", "StructRow", "compareVector", "arr", "vec", "obj", "lKeyItr", "rKeyItr", "rValItr", "rVal", "lKey", "rKey", "bit_exports", "__export", "BitIterator", "getBit", "getBool", "packBools", "popcnt_array", "popcnt_bit_range", "popcnt_uint32", "setBool", "truncateBitmap", "_data", "_index", "byte", "bit", "bytes", "index", "value", "offset", "length", "bitmap", "alignedSize", "values", "xs", "i", "b", "begin", "context", "get", "data", "lhs", "rhs", "sum", "rhsInside", "lhsInside", "arr", "byteOffset", "byteLength", "cnt", "pos", "view", "len", "uint32", "kUnknownNullCount", "Data", "_Data", "byteLength", "valueOffsets", "values", "nullBitmap", "typeIds", "child", "nullCount", "popcnt_bit_range", "type", "offset", "length", "buffers", "children", "dictionary", "buffer", "strideForType", "index", "pos", "value", "bit", "val", "stride", "typeId", "childStride", "newLength", "Type", "bitmap", "truncateBitmap", "BufferType", "arr", "MakeDataVisitor", "_MakeDataVisitor", "Visitor", "props", "toUint8Array", "data", "toArrayBufferView", "toInt32Array", "len", "DataType", "Vector", "makeData", "ChunkedIterator", "numChunks", "getChunkIterator", "next", "computeChunkNullCounts", "chunks", "nullCount", "chunk", "computeChunkOffsets", "offsets", "index", "sliceChunks", "begin", "end", "slices", "i", "n", "offset", "length", "from", "to", "binarySearch", "idx", "fn", "lhs", "mid", "rhs", "isChunkedValid", "data", "wrapChunkedCall1", "chunkedFn", "j", "wrapChunkedCall2", "_2", "value", "result", "wrapChunkedIndexOf", "indexOf", "_1", "chunkedIndexOf", "chunkIndex", "fromIndex", "total", "element", "IndexOfVisitor", "Visitor", "nullIndexOf", "data", "searchElement", "indexOfNull", "fromIndex", "nullBitmap", "i", "isValid", "BitIterator", "getBool", "indexOfValue", "get", "instance", "compare", "createElementComparator", "n", "indexOfUnion", "IteratorVisitor", "Visitor", "vectorIterator", "vector", "type", "Type", "Int_", "Time_", "Float", "Precision", "ChunkedIterator", "chunkIndex", "data", "offset", "length", "inner", "VectorIterator", "instance", "sum", "x", "y", "GetByteLengthVisitor", "Visitor", "____", "_", "data", "TimeUnit", "i", "total", "child", "instance", "_a", "getUtf8ByteLength", "valueOffsets", "index", "getBinaryByteLength", "getListByteLength", "stride", "children", "start", "end", "visit", "slice", "size", "idx", "len", "getFixedSizeListByteLength", "getUnionByteLength", "UnionMode", "getDenseUnionByteLength", "getSparseUnionByteLength", "type", "typeIds", "childIndex", "visitorsByTypeId", "vectorPrototypesByTypeId", "Vector", "_Vector", "input", "data", "x", "Data", "type", "_b", "get", "set", "indexOf", "byteLength", "unchunkedData", "index", "isChunkedValid", "value", "computeChunkOffsets", "strideForType", "_d", "_c", "computeChunkNullCounts", "Type", "element", "offset", "instance", "others", "begin", "end", "clampRange", "_offsets", "sliceChunks", "length", "stride", "ArrayType", "memo", "values", "chunk_length", "name", "f", "children", "DataType", "dictionary", "MemoizedVector", "newData", "cloned", "_a", "proto", "typeIds", "T", "typeId", "wrapChunkedCall1", "wrapChunkedCall2", "wrapChunkedIndexOf", "_MemoizedVector", "vector", "slice", "cache", "cachedValue", "createIsValidFunction", "nullValues", "value", "fnBody", "noNaNs", "x", "valueToCase", "valueToString", "roundLengthUpToNearest64Bytes", "len", "BPE", "sliceOrExtendArray", "arr", "memcpy", "BufferBuilder", "buffer", "stride", "index", "value", "extra", "length", "reserved", "array", "newLength", "DataBufferBuilder", "BitmapBufferBuilder", "data", "idx", "val", "byte", "bit", "cur", "OffsetsBufferBuilder", "offset", "Builder", "options", "type", "nulls", "strideForType", "BitmapBufferBuilder", "createIsValidFunction", "Vector", "size", "_offsets", "_values", "_nulls", "_typeIds", "children", "child", "value", "index", "valid", "name", "data", "typeIds", "nullBitmap", "valueOffsets", "length", "nullCount", "makeData", "_a", "_b", "_c", "_d", "FixedWidthBuilder", "opts", "DataBufferBuilder", "values", "VariableWidthBuilder", "OffsetsBufferBuilder", "pending", "current", "MapRow", "kKeys", "isValid", "pendingLength", "Block", "i", "bb", "builder", "offset", "metaDataLength", "bodyLength", "int32", "float32", "float64", "isLittleEndian", "Encoding", "ByteBuffer", "_ByteBuffer", "bytes_", "byte_size", "position", "offset", "int32", "float32", "isLittleEndian", "float64", "value", "result", "i", "bb_pos", "vtable_offset", "vtable", "opt_encoding", "length", "utf8bytes", "Encoding", "o", "ident", "listAccessor", "listLength", "ret", "val", "Builder", "_Builder", "opt_initial_size", "initial_size", "ByteBuffer", "forceDefaults", "size", "additional_bytes", "align_size", "old_buf_size", "byte_size", "i", "value", "voffset", "defaultValue", "obj", "bb", "new_buf_size", "nbb", "offset", "numfields", "vtableloc", "trimmed_size", "standard_fields", "len", "existing_vtable", "vt1", "outer_loop", "vt2", "j", "root_table", "opt_file_identifier", "opt_size_prefix", "size_prefix", "file_identifier", "table", "field", "table_start", "vtable_start", "elem_size", "num_elems", "alignment", "s", "utf8", "bytes", "list", "ret", "val", "startFunc", "KeyValue", "_KeyValue", "i", "bb", "obj", "optionalEncoding", "offset", "builder", "keyOffset", "valueOffset", "MetadataVersion", "Endianness", "DictionaryKind", "Int", "_Int", "i", "bb", "obj", "offset", "builder", "bitWidth", "isSigned", "DictionaryEncoding", "_DictionaryEncoding", "i", "bb", "obj", "offset", "Int", "DictionaryKind", "builder", "id", "indexTypeOffset", "isOrdered", "dictionaryKind", "Binary", "_Binary", "i", "bb", "obj", "builder", "Bool", "_Bool", "i", "bb", "obj", "builder", "DateUnit", "Date", "_Date", "i", "bb", "obj", "offset", "DateUnit", "builder", "unit", "Decimal", "_Decimal", "i", "bb", "obj", "offset", "builder", "precision", "scale", "bitWidth", "TimeUnit", "FixedSizeBinary", "_FixedSizeBinary", "i", "bb", "obj", "offset", "builder", "byteWidth", "FixedSizeList", "_FixedSizeList", "i", "bb", "obj", "offset", "builder", "listSize", "Precision", "FloatingPoint", "_FloatingPoint", "i", "bb", "obj", "offset", "Precision", "builder", "precision", "IntervalUnit", "Interval", "_Interval", "i", "bb", "obj", "offset", "IntervalUnit", "builder", "unit", "List", "_List", "i", "bb", "obj", "builder", "Map", "_Map", "i", "bb", "obj", "offset", "builder", "keysSorted", "Null", "_Null", "i", "bb", "obj", "builder", "Struct_", "_Struct_", "i", "bb", "obj", "builder", "Time", "_Time", "i", "bb", "obj", "offset", "TimeUnit", "builder", "unit", "bitWidth", "Timestamp", "_Timestamp", "i", "bb", "obj", "offset", "TimeUnit", "optionalEncoding", "builder", "unit", "timezoneOffset", "UnionMode", "Union", "_Union", "i", "bb", "obj", "offset", "UnionMode", "index", "builder", "mode", "typeIdsOffset", "data", "numElems", "Utf8", "_Utf8", "i", "bb", "obj", "builder", "Type", "Field", "_Field", "i", "bb", "obj", "optionalEncoding", "offset", "Type", "DictionaryEncoding", "index", "KeyValue", "builder", "nameOffset", "nullable", "typeType", "typeOffset", "dictionaryOffset", "childrenOffset", "data", "numElems", "customMetadataOffset", "Schema", "_Schema", "i", "bb", "obj", "offset", "Endianness", "index", "Field", "KeyValue", "builder", "endianness", "fieldsOffset", "data", "numElems", "customMetadataOffset", "featuresOffset", "Footer", "_Footer", "i", "bb", "obj", "offset", "MetadataVersion", "Schema", "index", "Block", "KeyValue", "builder", "version", "schemaOffset", "dictionariesOffset", "numElems", "recordBatchesOffset", "customMetadataOffset", "data", "Schema", "_Schema", "fields", "metadata", "dictionaries", "generateDictionaryMap", "f", "i", "fieldNames", "names", "fieldIndices", "args", "other", "curFields", "mergeMaps", "newFields", "f2", "newDictionaries", "Field", "_Field", "name", "type", "nullable", "m1", "m2", "DataType", "Builder", "ByteBuffer", "Footer_", "buf", "toUint8Array", "footer", "Footer", "schema", "Schema", "OffHeapFooter", "b", "schemaOffset", "rb", "FileBlock", "recordBatchesOffset", "db", "dictionaryBatchesOffset", "MetadataVersion", "version", "recordBatches", "dictionaryBatches", "block", "i", "index", "OffHeapFooter", "Footer_", "schema", "_footer", "index", "fileBlock", "FileBlock", "_FileBlock", "block", "b", "metaDataLength", "offset", "bodyLength", "Block", "bigIntToNumber", "ITERATOR_DONE", "ArrowJSON", "_json", "ReadableInterop", "writable", "options", "duplex", "AsyncQueue", "r", "reason", "value", "resolvers", "adapters_default", "_", "size", "_args", "resolve", "reject", "AsyncByteQueue", "AsyncQueue", "value", "toUint8Array", "sync", "decodeUtf8", "joinUint8Arrays", "__awaiter", "buffers", "byteLength", "_d", "_e", "__asyncValues", "_f", "_a", "_c", "chunk", "ByteStream", "source", "ByteStreamSource", "adapters_default", "size", "AsyncByteStream", "_AsyncByteStream", "AsyncByteStreamSource", "isReadableNodeStream", "isReadableDOMStream", "isFetchResponse", "isIterable", "isPromise", "isAsyncIterable", "reason", "cmd", "ITERATOR_DONE", "r", "result", "RandomAccessFile", "ByteStream", "buffer", "byteLength", "toUint8Array", "position", "byteOffset", "nBytes", "size", "buf", "end", "value", "AsyncRandomAccessFile", "AsyncByteStream", "file", "__awaiter", "pos", "offset", "bytesRead", "f", "int_exports", "__export", "BaseInt64", "Int128", "Int64", "Uint64", "intAsHex", "value", "kInt32DecimalDigits", "kPowersOfTen", "BaseInt64", "buffer", "other", "L", "R", "product", "sum", "Uint64", "_Uint64", "val", "out_buffer", "num", "str", "length", "out", "posn", "group", "chunk", "multiple", "values", "data", "i", "n", "left", "right", "Int64", "_Int64", "this_high", "other_high", "negate", "Int128", "_Int128", "L0", "L1", "L2", "L3", "R0", "R1", "R2", "R3", "sums", "VectorLoader", "Visitor", "bytes", "nodes", "buffers", "dictionaries", "node", "Field", "type", "length", "makeData", "nullCount", "UnionMode", "buffer", "_type", "offset", "JSONVectorLoader", "sources", "packBools", "toArrayBufferView", "DataType", "Int64", "DateUnit", "Int128", "binaryDataFromJSON", "encodeUtf8", "x", "values", "joined", "data", "i", "BinaryBuilder", "VariableWidthBuilder", "opts", "BufferBuilder", "size", "index", "value", "toUint8Array", "pending", "pendingLength", "offsets", "data", "offset", "length", "BoolBuilder", "Builder", "options", "BitmapBufferBuilder", "index", "value", "DateBuilder", "FixedWidthBuilder", "setDate", "DateDayBuilder", "setDateDay", "DateMillisecondBuilder", "setDateMillisecond", "DecimalBuilder", "FixedWidthBuilder", "setDecimal", "DictionaryBuilder", "Builder", "type", "nulls", "hashFn", "Dictionary", "makeBuilder", "value", "index", "valid", "indices", "keysToIndices", "key", "idx", "prev", "curr", "data", "val", "FixedSizeBinaryBuilder", "FixedWidthBuilder", "setFixedSizeBinary", "FixedSizeListBuilder", "Builder", "index", "value", "child", "start", "i", "n", "name", "childIndex", "FixedSizeList", "Field", "FloatBuilder", "FixedWidthBuilder", "index", "value", "Float16Builder", "float64ToUint16", "Float32Builder", "Float64Builder", "IntervalBuilder", "FixedWidthBuilder", "setIntervalValue", "IntervalDayTimeBuilder", "setIntervalDayTime", "IntervalYearMonthBuilder", "setIntervalYearMonth", "IntBuilder", "FixedWidthBuilder", "index", "value", "Int8Builder", "Int16Builder", "Int32Builder", "Int64Builder", "Uint8Builder", "Uint16Builder", "Uint32Builder", "Uint64Builder", "ListBuilder", "VariableWidthBuilder", "opts", "OffsetsBufferBuilder", "child", "name", "List", "Field", "pending", "offsets", "index", "value", "v", "n", "start", "i", "MapBuilder", "VariableWidthBuilder", "index", "value", "row", "pending", "current", "child", "name", "Map_", "Field", "offsets", "idx", "end", "val", "NullBuilder", "Builder", "index", "value", "valid", "StructBuilder", "Builder", "index", "value", "children", "type", "_", "i", "f", "valid", "child", "name", "childIndex", "Struct", "Field", "TimestampBuilder", "FixedWidthBuilder", "setTimestamp", "TimestampSecondBuilder", "setTimestampSecond", "TimestampMillisecondBuilder", "setTimestampMillisecond", "TimestampMicrosecondBuilder", "setTimestampMicrosecond", "TimestampNanosecondBuilder", "setTimestampNanosecond", "TimeBuilder", "FixedWidthBuilder", "setTime", "TimeSecondBuilder", "setTimeSecond", "TimeMillisecondBuilder", "setTimeMillisecond", "TimeMicrosecondBuilder", "setTimeMicrosecond", "TimeNanosecondBuilder", "setTimeNanosecond", "UnionBuilder", "Builder", "options", "DataBufferBuilder", "value", "childTypeId", "index", "childIndex", "child", "name", "children", "mode", "typeIds", "fields", "Field", "Union_", "builder", "offset", "SparseUnionBuilder", "DenseUnionBuilder", "id", "denseIndex", "Utf8Builder", "VariableWidthBuilder", "opts", "BufferBuilder", "size", "index", "value", "encodeUtf8", "pending", "pendingLength", "BinaryBuilder", "GetBuilderCtor", "Visitor", "NullBuilder", "BoolBuilder", "IntBuilder", "Int8Builder", "Int16Builder", "Int32Builder", "Int64Builder", "Uint8Builder", "Uint16Builder", "Uint32Builder", "Uint64Builder", "FloatBuilder", "Float16Builder", "Float32Builder", "Float64Builder", "Utf8Builder", "BinaryBuilder", "FixedSizeBinaryBuilder", "DateBuilder", "DateDayBuilder", "DateMillisecondBuilder", "TimestampBuilder", "TimestampSecondBuilder", "TimestampMillisecondBuilder", "TimestampMicrosecondBuilder", "TimestampNanosecondBuilder", "TimeBuilder", "TimeSecondBuilder", "TimeMillisecondBuilder", "TimeMicrosecondBuilder", "TimeNanosecondBuilder", "DecimalBuilder", "ListBuilder", "StructBuilder", "UnionBuilder", "DenseUnionBuilder", "SparseUnionBuilder", "DictionaryBuilder", "IntervalBuilder", "IntervalDayTimeBuilder", "IntervalYearMonthBuilder", "FixedSizeListBuilder", "MapBuilder", "instance", "TypeComparator", "Visitor", "schema", "other", "fields", "others", "f", "field", "compareConstructor", "type", "compareAny", "compareInt", "compareFloat", "compareFixedSizeBinary", "compareDate", "compareTimestamp", "compareTime", "compareList", "instance", "compareStruct", "compareUnion", "x", "i", "compareDictionary", "compareInterval", "compareFixedSizeList", "compareMap", "compareSchemas", "compareFields", "compareTypes", "makeBuilder", "options", "type", "builder", "instance", "children", "defaultOptions", "getChildOptions", "_", "i", "name", "index", "field", "opts", "distributeVectorsIntoRecordBatches", "schema", "vecs", "uniformlyDistributeChunksAcrossRecordBatches", "v", "cols", "fields", "batches", "memo", "n", "c", "numBatches", "batchLength", "i", "numColumns", "child", "children", "distributeChildren", "makeData", "Struct", "data", "RecordBatch", "columns", "nullBitmapSize", "length", "field", "_a", "Table", "_Table", "args", "Schema", "schema", "offsets", "unwrap", "x", "RecordBatch", "Data", "Struct", "v", "keys", "vecs", "k", "Vector", "i", "Field", "batches", "distributeVectorsIntoRecordBatches", "_c", "_b", "batch", "compareSchemas", "computeChunkOffsets", "data", "numRows", "computeChunkNullCounts", "index", "value", "element", "offset", "instance", "others", "begin", "end", "clampRange", "sliceChunks", "chunk", "name", "f", "type", "empty", "makeData", "child", "Null", "fields", "field", "children", "_", "columnNames", "nameToIndex", "m", "columnName", "columnIndices", "other", "indices", "oldToNew", "memo", "f2", "newIdx", "columns", "j", "_a", "proto", "wrapChunkedCall1", "isChunkedValid", "Type", "wrapChunkedCall2", "wrapChunkedIndexOf", "RecordBatch", "_RecordBatch", "args", "Schema", "makeData", "Struct", "f", "Data", "ensureSameLengthData", "obj", "fields", "children", "length", "memo", "name", "i", "Field", "schema", "data", "collectDictionaries", "index", "instance", "value", "element", "offset", "Vector", "others", "Table", "begin", "end", "slice", "_b", "child", "Null", "field", "columnNames", "type", "columnIndices", "subset", "_a", "proto", "chunks", "maxLength", "max", "col", "nullBitmapSize", "idx", "chunk", "dictionaries", "n", "DataType", "_InternalEmptyPlaceholderRecordBatch", "BodyCompressionMethod", "CompressionType", "BodyCompression", "_BodyCompression", "i", "bb", "obj", "offset", "CompressionType", "BodyCompressionMethod", "builder", "codec", "method", "Buffer", "i", "bb", "builder", "offset", "length", "FieldNode", "i", "bb", "builder", "length", "null_count", "RecordBatch", "_RecordBatch", "i", "bb", "obj", "offset", "index", "FieldNode", "Buffer", "BodyCompression", "builder", "length", "nodesOffset", "numElems", "buffersOffset", "compressionOffset", "DictionaryBatch", "_DictionaryBatch", "i", "bb", "obj", "offset", "RecordBatch", "builder", "id", "dataOffset", "isDelta", "MessageHeader", "Message", "_Message", "i", "bb", "obj", "offset", "MetadataVersion", "MessageHeader", "index", "KeyValue", "builder", "version", "headerType", "headerOffset", "bodyLength", "customMetadataOffset", "data", "numElems", "TypeAssembler", "Visitor", "node", "builder", "_node", "b", "Null", "Int", "FloatingPoint", "Binary", "Bool", "Utf8", "Decimal", "Date", "Time", "timezone", "Timestamp", "Interval", "List", "Struct_", "Union", "typeIds", "indexType", "DictionaryEncoding", "FixedSizeBinary", "FixedSizeList", "Map", "instance", "schemaFromJSON", "_schema", "dictionaries", "Schema", "schemaFieldsFromJSON", "customMetadataFromJSON", "recordBatchFromJSON", "b", "RecordBatch", "fieldNodesFromJSON", "buffersFromJSON", "dictionaryBatchFromJSON", "DictionaryBatch", "f", "Field", "fieldChildrenFromJSON", "_field", "xs", "fieldNodes", "column", "FieldNode", "nullCountFromJSON", "buffers", "i", "BufferRegion", "validity", "sum", "val", "fieldFromJSON", "id", "keys", "field", "dictMeta", "type", "dictType", "typeFromJSON", "indexTypeFromJSON", "Int32", "Dictionary", "_metadata", "_type", "Int_", "children", "typeId", "Null", "Binary", "Utf8", "Bool", "List", "Struct", "t", "Float", "Precision", "Decimal", "Date_", "DateUnit", "Time_", "TimeUnit", "Timestamp_", "Interval_", "IntervalUnit", "Union_", "UnionMode", "FixedSizeBinary", "FixedSizeList", "Map_", "Builder", "ByteBuffer", "Message", "_Message", "msg", "headerType", "message", "MetadataVersion", "messageHeaderFromJSON", "buf", "toUint8Array", "_message", "bodyLength", "version", "decodeMessageHeader", "b", "headerOffset", "Schema", "RecordBatch", "DictionaryBatch", "header", "MessageHeader", "bigIntToNumber", "length", "nodes", "buffers", "data", "id", "isDelta", "BufferRegion", "offset", "FieldNode", "nullCount", "type", "Field", "encodeField", "decodeField", "fieldFromJSON", "encodeSchema", "decodeSchema", "schemaFromJSON", "encodeRecordBatch", "decodeRecordBatch", "recordBatchFromJSON", "encodeDictionaryBatch", "decodeDictionaryBatch", "dictionaryBatchFromJSON", "encodeFieldNode", "decodeFieldNode", "encodeBufferRegion", "decodeBufferRegion", "_schema", "dictionaries", "fields", "decodeSchemaFields", "decodeCustomMetadata", "batch", "decodeFieldNodes", "decodeBuffers", "f", "i", "j", "n", "bufferRegions", "schema", "decodeFieldChildren", "field", "children", "keys", "dictType", "dictMeta", "decodeFieldType", "decodeIndexType", "Int32", "Dictionary", "parent", "entry", "key", "_type", "Int_", "typeId", "Type", "Null", "Binary", "Utf8", "Bool", "List", "Struct", "t", "Int", "FloatingPoint", "Float", "Decimal", "Date", "Date_", "Time", "Time_", "Timestamp", "Timestamp_", "Interval", "Interval_", "Union", "Union_", "FixedSizeBinary", "FixedSizeList", "Map", "Map_", "fieldOffsets", "fieldsVectorOffset", "metadataOffset", "k", "v", "val", "KeyValue", "platformIsLittleEndian", "Endianness", "nameOffset", "typeOffset", "dictionaryOffset", "DataType", "instance", "childOffsets", "childrenVectorOffset", "recordBatch", "nodesVectorOffset", "b_", "buffersVectorOffset", "dictionaryBatch", "dataOffset", "node", "Buffer", "buffer", "invalidMessageType", "type", "MessageHeader", "nullMessage", "invalidMessageMetadata", "expected", "actual", "invalidMessageBodyLength", "MessageReader", "source", "ByteStream", "r", "ITERATOR_DONE", "value", "bodyLength", "buf", "toUint8Array", "throwIfNull", "message", "schema", "PADDING", "bb", "ByteBuffer", "len", "metadataLength", "Message", "AsyncMessageReader", "byteLength", "AsyncByteStream", "isFileHandle", "AsyncRandomAccessFile", "JSONMessageReader", "ArrowJSON", "_json", "batch", "_bodyLength", "flattenDataSources", "xs", "buffers", "column", "MAGIC_STR", "MAGIC", "i", "checkForMagicArrowString", "buffer", "index", "magicLength", "magicAndPadding", "magicX2AndPadding", "RecordBatchReader", "_RecordBatchReader", "ReadableInterop", "impl", "value", "schema", "options", "opening", "isPromise", "index", "adapters_default", "writableStrategy", "readableStrategy", "source", "isArrowJSON", "fromArrowJSON", "isFileHandle", "fromFileHandle", "__awaiter", "isFetchResponse", "isReadableDOMStream", "isReadableNodeStream", "isAsyncIterable", "fromAsyncByteStream", "AsyncByteStream", "fromByteStream", "ByteStream", "readAllSync", "readAllAsync", "isIterable", "isIteratorResult", "RecordBatchStreamReader", "_impl", "__asyncGenerator", "__await", "__yieldStar", "__asyncDelegator", "__asyncValues", "AsyncRecordBatchStreamReader", "batches", "_d", "_e", "_f", "_a", "_c", "batch", "RecordBatchFileReader", "AsyncRecordBatchFileReader", "RecordBatchReaderImpl", "dictionaries", "header", "body", "children", "data", "makeData", "Struct", "RecordBatch", "id", "isDelta", "dictionary", "type", "Vector", "types", "VectorLoader", "RecordBatchStreamReaderImpl", "JSONMessageReader", "MessageReader", "shouldAutoDestroy", "ITERATOR_DONE", "message", "reader", "buffer", "vector", "_InternalEmptyPlaceholderRecordBatch", "AsyncRecordBatchStreamReaderImpl", "AsyncMessageReader", "RecordBatchFileReaderImpl", "RandomAccessFile", "block", "MessageHeader", "_handle", "offset", "magicAndPadding", "length", "Footer_", "AsyncRecordBatchFileReaderImpl", "rest", "byteLength", "AsyncRandomAccessFile", "_super", "RecordBatchJSONReaderImpl", "JSONVectorLoader", "self", "bytes", "magicLength", "checkForMagicArrowString", "size", "file", "magicX2AndPadding", "VectorAssembler", "_VectorAssembler", "Visitor", "args", "unwrap", "nodes", "node", "RecordBatch", "assembler", "data", "Vector", "type", "DataType", "length", "nullCount", "addBuffer", "truncateBitmap", "FieldNode", "_null", "values", "byteLength", "BufferRegion", "assembleUnion", "typeIds", "valueOffsets", "UnionMode", "assembleNestedVector", "maxChildTypeId", "x", "y", "childLengths", "childOffsets", "shiftedOffsets", "unshiftedOffsets", "rebaseValueOffsets", "typeId", "shift", "index", "child", "childIndex", "numChildren", "childLength", "assembleBoolVector", "packBools", "assembleFlatVector", "assembleFlatListVector", "firstOffset", "lastOffset", "assembleListVector", "_", "i", "RecordBatchWriter", "ReadableInterop", "options", "writableStrategy", "readableStrategy", "AsyncByteQueue", "isObject", "sync", "input", "isPromise", "x", "isAsyncIterable", "writeAllAsync", "writeAll", "reason", "sink", "schema", "isWritableDOMStream", "isWritableNodeStream", "compareSchemas", "payload", "Table", "RecordBatch", "_InternalEmptyPlaceholderRecordBatch", "isIterable", "message", "alignment", "a", "buffer", "Message", "flatbufferSize", "prefixSize", "alignedSize", "nPaddingBytes", "MessageHeader", "FileBlock", "chunk", "toUint8Array", "MAGIC", "nBytes", "batch", "byteLength", "nodes", "bufferRegions", "buffers", "VectorAssembler", "recordBatch", "dictionary", "id", "isDelta", "Vector", "dictionaryBatch", "DictionaryBatch", "size", "padding", "i", "n", "offset", "data", "RecordBatchStreamWriter", "_RecordBatchStreamWriter", "writer", "RecordBatchFileWriter", "_RecordBatchFileWriter", "Footer_", "MetadataVersion", "writeAll", "writer", "input", "chunks", "Table", "batch", "writeAllAsync", "batches", "_a", "batches_1", "__asyncValues", "batches_1_1", "_b", "_d", "toDOMStream", "source", "options", "isAsyncIterable", "asyncIterableAsReadableDOMStream", "isIterable", "iterableAsReadableDOMStream", "it", "bm", "hwm", "controller", "next", "buf", "r", "size", "toUint8Array", "builderThroughDOMStream", "options", "BuilderTransform", "readableStrategy", "writableStrategy", "queueingStrategy", "builderOptions", "__rest", "makeBuilder", "chunkLength", "chunkByteLength", "readableHighWaterMark", "writableHighWaterMark", "c", "value", "bufferedSize", "builder", "controller", "chunk", "_a", "recordBatchReaderThroughDOMStream", "writableStrategy", "readableStrategy", "queue", "AsyncByteQueue", "reader", "readable", "controller", "next", "open", "RecordBatchReader", "size", "r", "recordBatchWriterThroughDOMStream", "writableStrategy", "readableStrategy", "writer", "reader", "AsyncByteStream", "readable", "controller", "next", "buf", "size", "tableToIPC", "table", "type", "RecordBatchStreamWriter", "RecordBatchFileWriter", "util", "bn_exports", "int_exports", "bit_exports", "math_exports", "buffer_exports", "vector_exports", "compareSchemas", "compareFields", "compareTypes", "adapters_default", "toDOMStream", "Builder", "builderThroughDOMStream", "RecordBatchReader", "recordBatchReaderThroughDOMStream", "RecordBatchFileReader", "RecordBatchStreamReader", "RecordBatchWriter", "recordBatchWriterThroughDOMStream", "RecordBatchFileWriter", "RecordBatchStreamWriter", "arrowToSQLType", "type", "Type", "dec", "c", "arrowToSQLField", "map_", "name", "t", "AsyncDuckDBDispatcher", "entry", "request", "obj", "p", "conn", "_", "c", "result", "transfer", "infos", "buffer", "import_duckdb_eh", "DuckDBConnection", "bindings", "conn", "callback", "text", "buffer", "reader", "RecordBatchReader", "Table", "header", "resolve", "reject", "e", "iter", "ResultStreamIterator", "query", "stmt", "PreparedStatement", "name", "returns", "func", "table", "options", "tableToIPC", "path", "bufferI8", "connectionId", "statementId", "params", "TEXT_ENCODER", "TEXT_DECODER", "storeError", "mod", "response", "message", "msgBuffer", "heapAddr", "heapArray", "getTypeSize", "ptype", "ptrToArray", "ptr", "heap", "ptrToUint8Array", "n", "ptrToFloat64Array", "callScalarUDF", "runtime", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "udf", "rawDesc", "desc", "ptrs", "buildResolver", "arg", "_a", "validity", "raw", "strings", "stringLengths", "j", "subarray", "str", "row", "tmp", "children", "attr", "child", "resolver", "data", "argResolvers", "i", "resultDataLen", "resultDataPtr", "resultData", "resultValidityPtr", "resultValidity", "rawResultData", "args", "res", "resultLengthsPtr", "resultDataUTF8", "resultLengths", "totalLength", "utf8", "resultStringPtr", "resultStringBuf", "writerOffset", "resultUTF8", "retLen", "retPtr", "retBuffer", "e", "TextDecoderWrapper", "decoder", "data", "decodeText", "failWith", "mod", "msg", "copyBuffer", "begin", "length", "buffer", "copy", "readString", "callSRet", "mod", "funcName", "argTypes", "args", "stackPointer", "response", "status", "data", "dataSize", "dropResponseBuffers", "FileStatistics", "u8array", "f64", "blocks", "index", "out", "TEXT_ENCODER", "DuckDBBindingsBase", "logger", "runtime", "onProgress", "_", "resolve", "x", "config", "s", "d", "n", "callSRet", "readString", "dropResponseBuffers", "version", "text", "res", "conn", "DuckDBConnection", "worker", "copyBuffer", "name", "returns", "func", "decl", "arrowToSQLType", "def", "statement", "params", "buffer", "options", "bufferPtr", "optJSON", "path", "k", "arrowToSQLField", "opt", "infoStr", "info", "url", "proto", "directIO", "TEXT_ENCODER", "ptr", "handle", "protocol", "copy", "file", "enable", "FileStatistics", "DuckDBBrowserBindings", "DuckDBBindingsBase", "logger", "runtime", "mainModuleURL", "pthreadWorkerURL", "path", "prefix", "imports", "success", "handlers", "response", "_a", "request", "contentLengthHdr", "contentLength", "start", "progress", "tracker", "chunk", "ctrl", "now", "p", "ts", "output", "xhr", "url", "error", "e", "buffer", "DuckDB", "DuckDBBrowserBindings", "logger", "runtime", "mainModuleURL", "pthreadWorkerURL", "moduleOverrides", "DuckDBWasm", "import_js_sha256", "getHTTPHost", "config", "url", "bucket", "_a", "httpHost", "offset", "getS3Params", "method", "_b", "_c", "_d", "parsedS3Url", "parseS3Url", "path", "isPathStyleAccess", "uriEncode", "input", "encode_slash", "hexDigit", "result", "ch", "createS3Headers", "params", "payloadParams", "payloadHash", "res", "signedHeaders", "canonicalRequest", "canonicalRequestHashStr", "stringToSign", "signKey", "kDate", "kRegion", "kService", "signingKey", "signature", "createS3HeadersFromS3Config", "contentType", "payload", "addS3Headers", "xhr", "value", "header", "slashPos", "getHTTPUrl", "parsedUrl", "BROWSER_RUNTIME", "mod", "fileId", "cached", "s", "d", "n", "callSRet", "infoStr", "readString", "dropResponseBuffers", "info", "file", "_a", "_mod", "feature", "flags", "xhr", "getHTTPUrl", "addS3Headers", "data", "src", "result", "contentLength", "error", "e", "contentLength2", "handle", "buffer", "failWith", "pathPtr", "pathLen", "path", "globalInfo", "xhr2", "_fileId", "newSize", "buf", "bytes", "location", "_b", "sliced", "out", "input", "fromPtr", "fromLen", "toPtr", "toLen", "from", "to", "key", "value", "_pathPtr", "_pathLen", "response", "funcId", "descPtr", "descSize", "ptrsPtr", "ptrsSize", "callScalarUDF", "WebWorker", "AsyncDuckDBDispatcher", "response", "transfer", "mainModuleURL", "pthreadWorkerURL", "progress", "DuckDB", "BROWSER_RUNTIME", "registerWorker", "api", "event"]
7
7
  }